The blog

Unity notes from the trenches

Unity tutorials, architecture patterns, and hard-won lessons from 12 years of shipping games.

Terminal window running Unity CLI commands: unity editors --installed and unity open

Unity CLI: The Complete Guide to Unity's New Command-Line Tool

A complete guide to the new Unity CLI: installing editors, builds, tests, licensing, the Pipeline package, MCP agents, and CI pipelines, from weeks of beta testing.

UnityUnity CLIAutomationCI/CD
RefSafe Pro — project validation and reference safety for Unity

RefSafe Pro: Catch Missing References in Unity Before They Catch You

RefSafe Pro finds missing scripts, broken references and unused assets in every Unity scene, prefab and ScriptableObject, with one-click fixes and CI support.

UnityEditor ToolsRefSafe ProAsset Store
Native SDK to Unity — bridges, C# APIs, and UPM packages

How to Integrate a Native Android/iOS SDK into Unity

How I bring native-only Android and iOS SDKs into Unity: the bridge, a clean C# API, UPM packaging, and the pitfalls behind most mystery crashes.

UnityNative PluginsAndroidiOS
Unity build pipeline stages on GitHub Actions: push, test, build, release

Unity CI/CD With GitHub Actions: Builds That Happen While You Sleep

Setting up Unity CI/CD on GitHub Actions: license activation, Library caching, test gates, multi-platform matrices, and the traps I hit along the way.

UnityCI/CDAutomation
Isometric diagram of Unity Addressables layers: catalog, groups, bundles, and assets

Unity Addressables: What I Wish I'd Known Before Migrating

A field guide to Unity Addressables: why Resources doesn't scale, how groups and bundles shape memory, release discipline, and the editor-only traps.

UnityAddressablesMemory
Rising memory usage graph from a Unity game session ending in an out-of-memory crash

Finding a Unity Memory Leak: From First Crash to Fix

A real Unity memory leak hunt: Memory Profiler snapshots and diffs, static events that keep dead objects alive, and the native memory that never unloads.

UnityMemoryDebugging
Before and after comparison of Unity script compile times with assembly definitions

Unity Assembly Definitions: How I Cut Compiles to 4 Seconds

A practical guide to Unity assembly definitions: how script compilation really works, splitting Assembly-CSharp safely, and the mistakes that make it slower.

UnityCompile TimesWorkflow
Unity prefab variant inheritance tree showing overridden and inherited properties

Unity Prefab Variants and Nested Prefabs That Don't Break

How Unity prefab variants and nested prefabs really work: override precedence, the Apply All trap, and a prefab structure that survives production.

UnityPrefabsWorkflow
Five Unity problems that eat entire weeks

The 5 Unity Problems That Eat Entire Weeks (and How to Fix Them)

Why Unity games work in the editor but break in the build, how to cut build size safely, refactor without breaking references, and survive scene merge conflicts.

UnityDebuggingBuild PipelineBest Practices
Fixing a slow Unity editor

Unity Editor Slow? Fix Imports, Domain Reloads and Compiles

Where Unity editor time actually goes: asset imports, domain reloads, and script compilation, plus the settings and habits that bring iteration speed back.

UnityEditorPerformanceProductivity
Unity silent failures: None in the Inspector can mean gone

Unity's Silent Failures: Why 'None' in the Inspector Can Mean 'Gone'

How Unity serialization works under the hood: fileID and GUID internals, why deleted references look unassigned, and how UnityEvents and Addressables break silently.

UnitySerializationDebugging
Unity scene merge conflicts survival guide

Unity Scene Merge Conflicts: A Survival Guide for Teams

How Unity teams avoid scene merge conflicts: UnityYAMLMerge setup, prefab-first workflows, additive scene splitting, and CI checks that catch bad merges.

UnityTeamsVersion ControlGit
Refactoring a Unity project without breaking references

How to Refactor a Unity Project Without Breaking Everything

Meta files, GUIDs, FormerlySerializedAs, and assembly definitions: how to rename, move, and restructure a Unity project while keeping every reference intact.

UnityRefactoringBest Practices
How to reduce Unity build size

How to Reduce Unity Build Size (Without Deleting the Wrong Thing)

A practical guide to shrinking Unity builds: reading the Editor.log build report, fixing texture and audio imports, hunting duplicates, and knowing what ships.

UnityBuild PipelineOptimisationMobile
Unity works in the editor but breaks in the build

Unity Works in the Editor but Not in the Build? Here's Where to Look

IL2CPP stripping, case sensitivity, missing scenes, and editor-only code: a diagnostic guide for Unity games that run fine in the editor but fail in the build.

UnityDebuggingBuild PipelineIL2CPP
Event-Based Architecture in Unity

Creating Event-Based Architecture in Unity with Event Args

Build a decoupled health system in Unity with C# events, a custom EventArgs class and a small EventBus, plus the unsubscribe and domain reload traps to avoid.

UnityScriptingEvent-based architecture
Scriptable Objects in Unity

10 Ways to Use Scriptable Objects in Unity

Ten uses for ScriptableObjects in Unity, from game data and event channels to audio cues and object pools, with working code and the gotchas to avoid.

UnityScriptableObject
Send emails from Unity

2 Best Ways to Send Emails from Unity

Two plugin-free ways to send email from Unity: open the player's mail app with mailto, or send it yourself over SMTP. Working code, Gmail setup, and the catch.

UnityScriptingEmailsSMTP