Mono

Definition

With Mono, the build keeps the managed assemblies the C# compiler produced, such as Assembly-CSharp.dll, in the Managed folder of the player. The Mono runtime loads them at start and compiles IL to machine code while the game runs. Build times are short and iteration is fast, which is why it is common during development and on desktop.

Relevance

Mono keeps iteration fast. Scripts compile to IL, and the player turns that IL into machine code when the game runs. The same assemblies ship inside the player, and the runtime compiles their methods as they are called.

Example

A Windows build with the Mono backend has a Managed folder next to the executable. Assembly-CSharp.dll in that folder is the compiled game scripts. The first time TakeDamage runs, the runtime compiles that method from IL to machine code.

Connected