Ну, если вы не возражаете против перехода с C # на C ++, вы можете проверить HGE . Это немного на старой стороне, но очень прост в использовании и расширении. Если вы захотите немного поискать по форумам, вы найдете его порты для DirectX 9 и, возможно, OpenGL (это было давно). По умолчанию он не поддерживает такие вещи, как шейдеры. Он включает в себя звук и вход, но не обнаруживает физику или столкновение. Для этого всегда есть Bullet или Box2D. Для пошаговой игры или простой игры в реальном времени, которая может даже не понадобиться.
Насколько GUI идет, его встроенный GUI является мусором, но вы можете интегрировать CEGUI в него. CEGUI на самом деле довольно легко распространить на разные системы рендеринга, даже если его оформление может быть громоздким. Реализация для HGE - два файла, и они довольно короткие.
Clanlib также может быть чем-то, что вы хотите изучить. Я не использовал это лично, но это, кажется, довольно сильный и включает довольно простой компонент GUI. Это также активно развивается, в то время как HGE не обновлялся в течение нескольких лет.