На тему C# и того, что с++ нинужин: берём Unity 3d, которое типа на шарпах. Пишем все там на шарпах, мышкой накидываем игру и говорим собрать бандл под html5/webgl
Что имеем в итоге? Оно компилит в .net IL, потом получившееся транслирует в C++, а потом уже clang’ом это компилирует в webasm.