← Back to context

Comment by Rohansi

3 hours ago

I disagree with your assertion that games running in a browser are not performant enough. WebAssembly being ~45% slower than native sounds scary, sure, but that's basically what you can expect from using any non-native language anyway. So if Unity is performant enough where all C# code has similar overhead then it should all be fine.

Plus not all games are AAA.

Unity doesn't use C# for everything. Notably the game engine itself is not C# but C++. C# is essentially just the scripting language.

You're also ignoring the overhead of WASM -> WebGPU -> native graphics API, not to mention how much harder it is to develop and debug that platform than it is a native one.

  • Unity is just an example. And depending on the game you may actually be doing heavy work in "just the scripting language" instead of the engine. XNA, MonoGame, Love2D, etc. are all frameworks rather than game engines so they're absolutely doing typical engine work in the scripting language, if you need a different example.

    > You're also ignoring the overhead of WASM -> WebGPU -> native graphics API

    Wine -> DXVK -> native graphics API works great for many people. I can't imagine it having significantly worse performance characteristics, especially when WebGPU is closer to the native graphics API than DirectX on Linux is.

    > not to mention how much harder it is to develop and debug that platform than it is a native one.

    But why? You still have access to a debugger.