Unity3d does too many things (except new versions of C# :P) and ties to itself. There should be a direct C# -> WebAssembly compiler in future.