Unity glossary.
Short definitions for the words used in Unity and cybersecurity.
A
Addressables
Addressables is Unity's system for loading assets by address instead of by file. It builds on AssetBundles and manages where they come from.
Anti-Cheat
An anti-cheat is a runtime tool. It checks at game start, and again while the game runs, that the game is intact and that no cheat is in use.
Assembly-CSharp
Assembly-CSharp is the default assembly for your game scripts. Every script not covered by an assembly definition compiles into it.
Assembly-CSharp-firstpass
Assembly-CSharp-firstpass is the predefined assembly for scripts in the Plugins and Standard Assets folders. Unity compiles it before Assembly-CSharp.
AssetBundle
An AssetBundle is an archive of Unity assets built separately from the player. The game downloads or loads it at runtime.
Attribute
An attribute is a marker you attach to code in square brackets. Unity and build tools read these markers to decide how to treat the code.
B
Brotli
Brotli is a compression format. Unity uses it to shrink a WebGL build, usually smaller than Gzip, when the host and the browser both support it.
Build Signing
Build signing attaches a cryptographic signature to your player. The platform uses it to check who built the app and that it was not changed.
C
Code Injection
Code injection loads foreign code into a running game. Once inside, that code runs with the same access as the game itself.
Code Stripping
Code stripping removes managed code the game never calls. Unity does it at build time to shrink the player.
Compiler
A compiler turns source code into something a machine can run. In a Unity project the C# compiler produces IL, and IL2CPP adds a second compile step to native code.
CoreCLR
CoreCLR is the runtime of modern .NET. Unity is moving its managed runtime from Mono to CoreCLR.
D
Debugger
A debugger attaches to a running program to pause it, step through code, and read or change values. It is a development tool and an analysis tool.
Decompiler
A decompiler turns compiled code back into source a person can read. For .NET it turns IL back into C#.
Development Build
A development build is a player with debugging turned on. It is meant for testing, not for release.
G
global-metadata.dat
global-metadata.dat is the metadata file an IL2CPP build ships. It holds the type names, method names, and string literals the native code still needs.
globalgamemanagers
globalgamemanagers is a file in a Unity player that holds project settings. It lists the scenes, enabled modules, and basic product information.
Gzip
Gzip is a compression format. Unity uses it to shrink a WebGL build before the browser downloads it.
H
Hash
A hash is a fixed-size fingerprint of data. Change one byte in the input and the hash changes completely.
I
L
LZ4
LZ4 is a fast compression method. Unity uses it for AssetBundles and player data when load time matters more than the smallest file.
LZ4HC
LZ4HC is LZ4 with a slower, tighter compressor. Unity uses it when you want a smaller chunk-based file and still want fast loading.
LZMA
LZMA is a compression method. Unity uses it as the default for AssetBundles when you want the smallest download.
M
Managed Assembly
A managed assembly is a .NET DLL. It contains IL and metadata, and a Mono or CoreCLR player ships it as is.
Metadata
Metadata is the data in an assembly that describes the code. It records every type, method, field, and name so the runtime can find them.
Mono
Mono is a Unity scripting backend. It ships your C# as managed assemblies and runs them with a just-in-time compiler on the player's device.
O
Obfuscation
Obfuscation is a build-time tool. It rewrites the game before you ship so modifying the code and reverse engineering it are harder.
P
P/Invoke
P/Invoke is how C# calls a function in a native library. You declare the function with DllImport and call it like any other method.
PlayerPrefs
PlayerPrefs is Unity's simple key-value store for local settings. It writes plain values to the device.
R
Reflection
Reflection lets code inspect and call types and members by name while the game runs. It reads the metadata of an assembly.
Reverse Engineering
Reverse engineering is working out how a shipped build functions without its source. It combines decompiling, debugging, and reading data files.
S
Scripting Backend
The scripting backend is the Player setting that decides how your C# runs on the device. The choices are Mono and IL2CPP.
Server Authority
Server authority means the server decides the value that counts. The client only reports and displays.
U
Unsafe Code
Unsafe code is C# that works with raw pointers. Unity only compiles it when you turn on Allow unsafe code in the Player settings.