I don’t want to come off as antagonistic (I acknowledge I’m the problem…), but after reading through all the messages in this thread and its predecessor, I still don’t understand why CoreCLR is so exciting for me as a developer who primarily ships on mobile (with increasing focus on Web). We use IL2CPP exclusively because our platforms have to, use Burst, Collections, Mathematics and the job system extensively (but not ECS), and frequently write C++ when HPC# isn’t a fit.
Somewhere along the line, I heard “2x faster for your generic C# code,” which sounded great, but if that’s “2x faster in the editor” (since we don’t have a Mono build), then that’s “just” a workflow improvement.
I completely understand the benefits of CoreCLR aligning Unity more closely with Microsoft, potentially reducing costs for the platform. There’s also the theoretical benefit of “more stuff working on more platforms,” but in the real world, I doubt the Azure CosmosDB libraries (just picking a random non-Unity-aware .NET library that loves using every modern .net feature because it can) will magically start working in a Unity Web build. In practice, most .net libraries are excluded from Unity web because of dependencies on System.Net or System.Threading, rather than by language features (or have I missed the whole point and the whole framework including System.Net, Threading, etc starts to work on all Unity platforms with CoreCLR and .net framework 8?)
Having new standards like System.Numerics.Vectors is “nice”, but we’ve got Unity.Mathematics with Burst (and in fact, for burst jobs that are CPU-so-debuggable versions of your compute shaders, System.Numerics results in more code diffs between CPU/GPU so it’s a slight workflow step back.)
There may be some awesome language or framework features that offer direct programming benefits I’m unaware of, but 30 years of C++ have made me cynical about new language features.
I want to be told I’m wrong. Can someone explain to me in very concrete terms why I should be excited about this move? Just to be clear, I’m not saying Unity shouldn’t transition to CoreCLR - in fact it must transition because the platform needs to be viable going forward. I just want to understand whether I, as a programmer using Unity, should be excited, or see it as a necessary transition that maybe also brings some workflow / standard alignment benefits.