4 ms·
I disagree. I believe there are enough game developers out there who enjoy using C# that would look for it in their next game engine. If Unity is gone it would
by Rohansi 1y ago
I disagree. I believe there are enough game developers out there who enjoy using C# that would look for it in their next game engine. If Unity is gone it would leave a large hole to fill.
The upside is Unity's C# support is the worst available in any game engine. It's stuck on an old C#/.NET version, .NET (Core) runs C# code 2-5x faster than Mono (and IL2CPP) [1], and its garbage collector is slower than the one Mono ships with (which is also slower than .NET).
[1] https://xoofx.github.io/blog/2018/04/06/porting-unity-to-coreclr/#performance-with-coreclr https://xoofx.github.io/blog/2018/04/06/porting-unity-to-cor...
- pjmlp 1y agoI have been long enough around, not to be as hopeful, however I loved being proven wrong on this one. Note that Native AOT doesn't do consoles, and Godot can't target them with C#, it is also why they've problems with targeting Web. Also Native AOT, and proper C# still lack some of Burst (HPC#) capabilities.
- Rohansi 1y agoYes, consoles, phones, and web are the hard ones to support due to a lack of JIT support. That's going to take some time to resolve. Especially since Native AOT is much more restrictive than IL2CPP. IMO Burst was a mistake. C# running under .NET runs significantly faster without needing to write code differently. And if you need to go even faster you can write code differently to make use of modern C# features to boost performance rather than relying on a secondary compiler that only allows a subset of C#.
- pjmlp 1y agoOn the contrary, I was there when game devs took some convincing that C / Object Pascal compilers were getting good enough over Assembly, even if some inline Assembly was still required in hot paths. When the whole C vs C++ quality of code generation debates started, that were the genesis for Matt Goldbolt while still working at the games industry, to have created Compiler Explorer as means to shutdown discussions regarding C++'s adoption, which nonethless persist to this day, especially in the Handmade community. Burst was necessary, to have industry legends like Mike Acton come and join Unity, despite their strong opinions against C++.
- Rohansi 1y agoBurst is an impressive piece of tech but it really only exists because both Mono and IL2CPP are shockingly slow. Mike Acton worked under DOTS which is the only place you'd actually see the benefits of Burst. The 99% (or more) of Unity games not using DOTS can barely use it because of its limitations. They are left to suffer with poor performance. If you haven't seen it before you should check out the kind of code IL2CPP generates. Literally starts almost every function with a branch. https://www.jacksondunstan.com/articles/4533 https://www.jacksondunstan.com/articles/4533 (2018 but still the same today!)