C# is Unity's main programming language, now there's this for Unreal, and Godot 3.0 will also have C# support. Is C# becoming the lingua franca of modern game engines?
Mono for Unreal Engine
21–30 of 98 posts
Re: Mono for Unreal Engine
#22C# is Unity's main programming language, now there's this for Unreal, and Godot 3.0 will also have C# support. Is C# becoming the lingua franca of modern game engines?
I would certainly hope not. C# implementations are terrible for lots of games on not-Windows. The version of Mono that has been included with Unity is particularly bad with respect to stop-the-world garbage collection pauses.
Re: Mono for Unreal Engine
#23Earlier quoted context omitted.
C# has value types, it takes some careful coding to avoid GC stutters, but imo not nearly as careful as C++
Uh, what? C++ doesn’t have garbage collection. Did I misread this comment?
In both languages you have to be conscientious of types of allocations.
Re: Mono for Unreal Engine
#24C# is Unity's main programming language, now there's this for Unreal, and Godot 3.0 will also have C# support. Is C# becoming the lingua franca of modern game engines?
I would certainly hope not. C# implementations are terrible for lots of games on not-Windows. The version of Mono that has been included with Unity is particularly bad with respect to stop-the-world garbage collection pauses.
Re: Mono for Unreal Engine
#25Earlier quoted context omitted.
C# has value types, it takes some careful coding to avoid GC stutters, but imo not nearly as careful as C++
Uh, what? C++ doesn’t have garbage collection. Did I misread this comment?
Re: Mono for Unreal Engine
#26Earlier quoted context omitted.
I would certainly hope not. C# implementations are terrible for lots of games on not-Windows. The version of Mono that has been included with Unity is particularly bad with respect to stop-the-world garbage collection pauses.
Do you know if this is still true with the newer "concurrent" garbage collector in more recent Mono versions? I work on an audio player app rather than games, but also have problems with the GC in Mono on IOS. We're hopeful that eventually they'll go away, but haven't tried again recently.
It's hard to emphasize how bad the Unity Mono GC is. It's a Mark-and-Sweep garbage collector, which is like the simplest-yet-least performant approach to GC there is. Nearly every other GC in production use in other stacks is better.
Re: Mono for Unreal Engine
#27C# is Unity's main programming language, now there's this for Unreal, and Godot 3.0 will also have C# support. Is C# becoming the lingua franca of modern game engines?
I would certainly hope not. C# implementations are terrible for lots of games on not-Windows. The version of Mono that has been included with Unity is particularly bad with respect to stop-the-world garbage collection pauses.
Re: Mono for Unreal Engine
#28Earlier quoted context omitted.
Uh, what? C++ doesn’t have garbage collection. Did I misread this comment?
I read that as "[C#] takes some careful coding (to avoid GC stutters) but not nearly as careful as C++ [requires in general]".
Whether that tradeoff is the one to make probably depends a lot on what kind of game you are making.
Re: Mono for Unreal Engine
#29Earlier quoted context omitted.
I would certainly hope not. C# implementations are terrible for lots of games on not-Windows. The version of Mono that has been included with Unity is particularly bad with respect to stop-the-world garbage collection pauses.
The version of Mono that is shipped with Unity is bad specifically for licensing reasons, there is no technical cause.
Re: Mono for Unreal Engine
#30C# is Unity's main programming language, now there's this for Unreal, and Godot 3.0 will also have C# support. Is C# becoming the lingua franca of modern game engines?
I dabbled with the Daydream Google VR NDK C++ sample app and did a demo app for myself of simple shapes moving around. While I could do simple things, I couldn't imagine doing the type of games others have done on the platform (or Oculus, or Vive) without Unity. For most people the question will be, why reinvent the wheel?
I don't know if C# will be the lingua franca of modern game engines, but for the foreseeable future, I think it will be the lingua franca of VR.