Remix.run Logo
MindSpunk 18 hours ago

CoreCLR doesn't help on console platforms because you can't ship the JIT runtime. To my knowledge CoreCLR's AOT solution won't work because of SDK and build requirements for shipping builds on consoles. I believe some consoles require that all shipped native code must have been compiled with the SDK compiler. Even if you fork the CoreCLR AOT system so you can build for the consoles (the code can't be open because of NDAs) you wouldn't be allowed to ship the binary. IL2CPP is the only path forward there. CoreCLR is only viable on PC.

CyanLite2 18 hours ago | parent | next [-]

Simply not true, this info is outdated by a decade.

CoreCLR NativeAOT is already shipping real games on Nintendo, PS5, and Xbox.

JIT isn't allowed on iPhones either, and this is what NativeAOT solves. Also, .NET is moving WASM support to CoreCLR (rather than mono) in an upcoming version as well.

MindSpunk 17 hours ago | parent [-]

Do you have examples? As far as I'm aware based on current info there's at least one current console vendor that requires all native code to be generated by their SDK.

neonsunset 16 hours ago | parent [-]

Just don't ship to PlayStation and discourage others until Sony changes (is forced to) policy.

pjmlp 12 hours ago | parent [-]

Capcom does, and they are quite happy with it.

pjmlp 12 hours ago | parent | prev [-]

Yes, it does, Capcom is using it for their Playstation 5 games, like Devil May Cry.

"RE:2023 C# 8.0 / .NET Support for Game Code, and the Future"

https://www.youtube.com/watch?v=tDUY90yIC7U

As always, it is a matter of having the skill to deliver, instead of GC phobia.

MindSpunk 8 hours ago | parent [-]

If I'm interpreting that correctly they're using an IL2CPP compilation system that hooks into Roslyn and not using .NET Core's AOT technology. It's possible to ship C# on consoles, obviously, because Unity already does it with their own IL2CPP backend that's stuck on the old .NET versions. My point is that CoreCLR can't be used because of console certification requirements. I certainly wasn't commenting on C# as language for games. I think C# is, as of late, becoming a very powerful language for games with all the Span and similar tools to minimize GC pressure.