3 ms·
But you need to remember that it's only been three years since you could use the latest C# version in Unity. Before that change you were stuck with an absymally
by cyber_kinetist 5y ago
But you need to remember that it's only been three years since you could use the latest C# version in Unity. Before that change you were stuck with an absymally old NET runtime (Mono from 2011) that only supported C# 3 (with a few C# 4/5 features), and had an incredibly bad garbage collector (Boehm stop-the-world GC) that would cause lots of headaches. Lots of good stuff like LINQ was discouraged in Unity because of the GC issues, and Unity C# was quite different from "normal" C# (with all its hacks and workarounds). The ancient Mono runtime was all because of licensing issues with Novell/Xamarin (Novell developed the Mono runtime until it got bought by Xamarin) - Xamarin probably asked for an enormous sum for the relicensing, and Unity refused it, resulting in Unity unable to update Mono for 6 years.
If Microsoft hadn't bought Xamarin and rereleased Mono with a more permissive license than AGPL (so that Unity can finally update their Mono runtime), then Unity would have really met its downfall. If this (stealth) partnership between Microsoft and Unity didn't happen, I expect a lot of developers to have already moved on to Unreal/Godot in much faster rates.