Hacker News new | ask | show | jobs
by terramex 1980 days ago
Do many desktop Unity games use IL2Cpp nowadays?

I've hacked and modded a few in the past, but they were all using Mono, so dnSpy could easily decompile them back into source code.

3 comments

>When building a project using IL2CPP, Unity converts IL code from scripts and assemblies to C++, before creating a native binary file (.exe, apk, .xap, for example) for your chosen platform. Some of the uses for IL2CPP include increasing the performance, security, and platform compatibility of your Unity projects.

Mono runtime will load your assembly and bind it with all the pinvoke stuff and JIT.

IL2cpp will take the IL code from your assemblies and convert it to C++ when making the binary, AOT.

IL2cpp is the preferred way to make sure your game supports the most platforms.

> IL2cpp is the preferred way to make sure your game supports the most platforms.

Yup, using Mono for iterating due to better build times is pretty common while using il2cpp for production releases.

ARM 64 bit can't even be targeted by Mono so unless you're keen to exhaust the address space il2cpp is the way to go.

Hi! I've looked around a few games and more often than not they are using il2cpp. I've also noticed that newer versions of games that used to run mono are now using il2cpp.
+1 datapoint: I've decompiled several to find out how they work, and found most use mono. Maybe it depends how indie your game is?

My dcompilation writeups can be found here: https://www.boristhebrave.com/category/level-generation/