Glossary

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

  • IL

    IL is the bytecode inside a .NET assembly. The C# compiler produces it, and the runtime or IL2CPP turns it into machine code.

  • IL2CPP

    IL2CPP is a Unity scripting backend. It turns your compiled C# into C++ and then into a native binary before the game ships.

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.