4 ms·
Unity is definitely a huge reason that C# has continued to grow outside the enterprise-y space. It's unfortunate that they're still stuck on their old fork of
by TillE 3y ago
Unity is definitely a huge reason that C# has continued to grow outside the enterprise-y space.
It's unfortunate that they're still stuck on their old fork of Mono, because Microsoft's tooling (and their runtime) is really good. You can write a C# game in Godot now and seamlessly use the Visual Studio debugger without any janky plugin.
- ClimaxGravely 3y agoHave you had trouble debugging unity with VS in the past? I can't recall ever having any issues personally.
- qwytw 3y ago> stuck on their old fork of Mono Didn't they switch to .NET Core years ago? Of course for many platforms you have to use their CPP transpiler which complicates some things that might be possible in normal C#.
- gentleman11 3y agoOur project is .net 2. You can opt for .net 4 but there are issues that come up and we don’t want that headache until things become smooth
- NekkoDroid 3y agoTo clarify: what you are talking about is .NET Standard 2.X and .NET Framework 4.X Unity currently does not support .NET (Core) at all.
- chrisdirkis 3y agoThey're in the process of swapping out their Mono fork for a modern Core fork, which I believe they're planning on upstreaming changes to too. A few years ago, someone demonstrated a 1-week hackathon version of a game build running on Core, and recently (2023-12), someone on the forum noted that they have an internal Editor running on Core. Most modern large games use IL2CPP, the C++ transpiler; it's a requirement on iOS, nearly a requirement on Android, and almost certainly a requirement on consoles. Perf is often nicer and it's harder to mod/hack, which some devs like. Sibling poster notes different .Net compatibility settings. Modern Unity versions allow you to be in either .Net 4.6(ish) mode or .Net Standard 2.0/2.1 mode. The latter comports more with Core's APIs, though is pretty old at this point. And, since we're on similar topics, Unity currently supports C# 9.0, minus a few minor features[1]. This is a massive improvement compared to a few years ago, where we were stuck with C# 4 or 6, and means you can write pretty modern and performant C#. Especially notable is Span support, a way of representing (basically) non-owning array slices. [1] https://docs.unity3d.com/2023.3/Documentation/Manual/CSharpCompiler.html https://docs.unity3d.com/2023.3/Documentation/Manual/CSharpC...
- sanktanglia 3y agoFunny enough moving to il2cpp made it even easier to hack/mod/access since now all class info and offsets and other info are exposed, easily with full type info. I'm just about done with a lib that can fully read all of the il2cpp related data externally, it's been a fun project