DMG Forge
ArticlesUnity TipsGamesAssets WIPCoursesAbout
ArticlesUnity TipsGamesAssets WIPCoursesAboutFree resources
LV 10 XP
Free resources
Now building:Me and M.A.X

DMG Forge

Unity tips, articles, assets, and devlogs for creators who want to build and finish.

AchievementsSavedSkill tree

Game Dev Articles

Aug 18, 2026 · 8 min read · DMG Forge

Unity Dev Tools Glossary of Terms: Essential Vocabulary for Professional Development

Why You Need This Glossary: Stop Losing Time to Terminology Gaps Unity's documentation assumes you already know its vocabulary. That assumption costs you hours when you hit a term like "Managed Stripping Level" or "Bu...

Unity Dev Tools Glossary of Terms: Essential Vocabulary for Professional Development

Why You Need This Glossary: Stop Losing Time to Terminology Gaps

Unity's documentation assumes you already know its vocabulary. That assumption costs you hours when you hit a term like "Managed Stripping Level" or "Burst Compilation" mid-sprint and have to context-switch into research mode. This unity dev tools glossary of terms exists to close that gap fast, with definitions that map directly to decisions you make in the Inspector, the Player Settings, and your build pipeline.

This isn't a dictionary padded with theory. Every term here connects to a real setting, a real error message, or a real performance number you'll see in the Profiler. Skim it once, bookmark it, and come back when a term blocks your progress instead of guessing at what it does.

Addressables and Asset Management: Decoupling References from Reality

Addressables gives you a content catalog that decouples asset references from their physical location. Instead of a hard scene reference to a prefab, you get a string-based address resolved at runtime through the Addressables system. This means you can move assets between local builds and remote CDN delivery without touching code.

Key terms you'll run into:

  • Address: The string key used to load an asset, independent of its file path.
  • Content Catalog: The JSON manifest mapping addresses to actual asset locations, generated on build.
  • Group: A collection of addressable assets that share build and load settings, including whether they ship locally or remotely.
  • Asset Bundle: The underlying packaged format Addressables builds on top of. If you're still shipping asset bundles by hand, you're accumulating technical debt that Addressables was built to eliminate.
  • Remote Build Path: Where your catalog and bundles get uploaded for content delivery outside the app binary.

If you're managing more than a handful of scenes or DLC-style content, hand-rolled AssetBundle management is a liability. Addressables isn't optional infrastructure at scale-it's the baseline.

Scripting Backend and IL2CPP: What Execution Model You're Actually Using

Your Scripting Backend setting, found in Player Settings under Other Settings, determines whether your C# gets JIT-compiled (Mono) or ahead-of-time compiled to native code through IL2CPP. This isn't a cosmetic toggle. It changes your build's performance profile, platform compatibility, and debugging workflow.

  • Mono: Just-in-time compilation at runtime. Faster iteration, weaker performance ceiling, and unavailable on iOS and most console platforms due to JIT restrictions.
  • IL2CPP: Converts your IL bytecode to C++, then compiles that to native machine code ahead of time. Required for iOS, console targets, and most performance-sensitive shipping builds.
  • AOT Compilation: The step where IL2CPP generates native code before runtime. Anything relying on runtime code generation (certain reflection patterns, some third-party libraries) will fail silently or throw at runtime if it wasn't accounted for at AOT time.
  • Managed to Native Bridge: The interop layer that lets your managed C# calls talk to native platform APIs after IL2CPP conversion.

If you're still developing exclusively on Mono and only switching to IL2CPP right before a release candidate, you're deferring a class of bugs-reflection failures, missing generic instantiations-to the worst possible moment. Build and test on IL2CPP early and often.

Managed Stripping Level and Code Elimination: Controlling What Ships

Managed Stripping Level controls how aggressively Unity removes unused managed code from your IL2CPP build. It sits in Player Settings, and it directly trades binary size against runtime risk. Get it wrong and you either ship bloated binaries or crash on code paths that got stripped incorrectly.

The levels you'll choose between:

  • Disabled: No stripping. Largest binary, safest for compatibility, rarely justified in a shipping build.
  • Low: Removes obviously unused assemblies but leaves most code intact.
  • Medium: More aggressive removal of unused methods and classes, the common default for shipping builds.
  • High: Maximum stripping, smallest binary, highest risk of removing code reached only through reflection.

Related term: link.xml. This file tells the stripper what to preserve explicitly, overriding its default heuristics. If your project uses reflection-heavy libraries (JSON serializers, dependency injection frameworks), you need a link.xml entry for them or you will hit MissingMethodException in builds that worked fine in the Editor.

Test every stripping level change on an actual device build, not just in the Editor. The Editor doesn't strip anything, so it can't catch stripping-related failures.

Profiler Markers and Deep Profiling: Making Invisible Performance Visible

The Unity Profiler shows you CPU, GPU, memory, and rendering data per frame, but only for the code paths it knows to measure. Profiler Markers are how you extend that visibility into your own methods.

  • Profiler Marker (ProfilerMarker): A lightweight API (Unity.Profiling.ProfilerMarker) you wrap around a code block to name and measure it in the Profiler timeline. Cheap enough to leave in shipping code if used sparingly.
  • Deep Profiling: A mode that instruments every method call automatically, without manual markers. It gives you granular data but adds massive overhead-expect frame times to balloon 10x or more. Use it only for short, targeted sessions, never for sustained profiling.
  • Frame Debugger: A separate tool from the Profiler that steps through individual draw calls in a frame, useful for diagnosing rendering issues markers can't reveal.
  • Memory Profiler Package: A dedicated package for snapshot-based memory analysis, distinct from the runtime Memory module in the base Profiler.

If you're guessing at performance bottlenecks instead of measuring them with markers, you're optimizing blind. A ten-minute session adding markers around your suspect systems saves you from chasing the wrong fix for an afternoon.

Burst Compilation and Job System: Understanding Your Performance Floor

The Job System and Burst Compiler are Unity's answer to multithreaded, high-performance C#. Used correctly, they establish a dramatically lower performance floor than standard MonoBehaviour code. Used incorrectly, they add complexity without payoff.

  • Job System: An API for writing multithreaded code safely, using structs that implement IJob or IJobParallelFor. It handles dependency scheduling and prevents race conditions through Unity's safety system.
  • Burst Compiler: A compiler that translates a subset of C# (Burst-compatible code, mostly value types and blittable data) into highly optimized native machine code, often outperforming standard IL2CPP output by an order of magnitude for math-heavy workloads.
  • NativeArray: An unmanaged, garbage-collector-free array type required for passing data into jobs. It demands explicit disposal-forget to call Dispose() and you'll leak memory the Profiler will flag as a persistent allocation.
  • Blittable Types: Data types with a direct memory layout match between managed and native representations. Burst and jobs require blittable data; reference types and managed strings won't compile in a Burst context.
  • Safety Checks: Unity's runtime guardrails that catch race conditions and invalid memory access in jobs during development. They add overhead and get stripped in release builds, meaning bugs they'd catch in the Editor can slip through if you don't test job code thoroughly pre-release.

If your project has any per-frame work over large collections-physics queries, procedural generation, AI pathing-and you're not using jobs and Burst, you're leaving significant CPU headroom on the table.

Serialization and SerializeField: Why Your Data Persists (or Doesn't)

Unity's serialization system decides what data survives between the Editor and Play mode, between scenes, and into your build. Misunderstanding it is one of the most common sources of "why did my values reset" bugs.

  • SerializeField: An attribute that exposes a private field to the Inspector and includes it in serialization, without making it public. This is the correct way to expose fields for editing while preserving encapsulation.
  • Serializable Attribute: Marks a custom class or struct as eligible for serialization, required if you want nested custom types to show up in the Inspector.
  • ScriptableObject: A serializable asset type that holds data independent of scene instances, ideal for shared configuration data that shouldn't live on a GameObject.
  • Non-Serialized Fields: Public fields marked with [NonSerialized], or types Unity's serializer doesn't support natively-Dictionary is the classic example. Dictionaries don't serialize by default; you need a custom serialization callback or a List-based workaround.
  • ISerializationCallbackReceiver: An interface with OnBeforeSerialize and OnAfterSerialize hooks, used when you need custom logic to convert unsupported data structures into serializable form.

If a field's value resets unexpectedly after a script recompile, check whether it's actually serialized. Public fields and SerializeField-tagged private fields survive; everything else is regenerated from your constructors and default values on every domain reload. That distinction alone resolves a large share of "my data disappeared" tickets before they escalate.

Related Reading

  • How to Get Started with Unity Dev Tools: What Actually Matters
  • Unity Dev Tools Mistakes Beginners Make: A Technical Breakdown
  • Unity Dev Tools Comparison Guide: What Actually Matters Beyond the Defaults

Article complete

XP lands automatically when you reach the end.

Rate this article

Comments

Comments are held for moderation before appearing publicly.

On this page

  1. Why You Need This Glossary: Stop Losing Time to Terminology Gaps
  2. Addressables and Asset Management: Decoupling References from Reality
  3. Scripting Backend and IL2CPP: What Execution Model You're Actually Using
  4. Managed Stripping Level and Code Elimination: Controlling What Ships
  5. Profiler Markers and Deep Profiling: Making Invisible Performance Visible
  6. Burst Compilation and Job System: Understanding Your Performance Floor
  7. Serialization and SerializeField: Why Your Data Persists (or Doesn't)
  8. Related Reading

Author

DDMG ForgeUnity creator & indie dev guide

Related articles

Unity Dev Tools Pricing Guide: What You'll Actually Pay for Production-Grade WorkflowsUnity Dev Tools Buyer's Guide: Essential Tools for Game DevelopmentBest Unity Dev Tools in 2026: What Actually Matters Beyond the Hype