Remix.run Logo
LeFantome 20 hours ago

Well, if they port to .NET (CoreCLR), that will move them to the MS GC.

Rohansi 19 hours ago | parent [-]

Yes, but it also puts them in an awkward situation! They recommend (or even require, for some platforms) using IL2CPP for release builds which will still use Boehm GC and not run as quick as CoreCLR.

DoctorOW 8 hours ago | parent [-]

Do they still need IL2CPP if they have AOT? The goal was always to be able to have cross-platform native binaries right?

WorldMaker 6 hours ago | parent | next [-]

In theory yes, IL2CPP doesn't need to exist with modern .NET AOT support. In practice, per quotes in the article Unity may have a bit of a sunk cost issue and has no plans to support .NET AOT, only IL2CPP.

Some of that sunk cost may be the above mentioned pointer issue and not enough current plans for a smarter FFI interface between C++ and C#.

Rohansi 5 hours ago | parent | prev [-]

Unfortunately they do still need IL2CPP because Unity took a different direction than .NET: most reflection still works with IL2CPP but does not with .NET AOT. Switching would be a huge breaking change for everyone, including Unity.

Platform support is also still better with IL2CPP but .NET is catching up.