Under Construction

The Blog

Insights, tutorials, and stories from the world of software development.

Join my community?Contact to join
Unity
Jun 6, 2026

Photon Quantum

This article explains Photon Quantum as a deterministic multiplayer engine for Unity built on ECS and predict/rollback networking. It covers the core mental model of separating Quantum simulation from Unity view, how input, commands, events, and signals work, how .qtn DSL, Frame, physics, KCC, and assets fit together, and why Quantum is best for fast, fair competitive games that need rollback rather than simple state sync. It also ends with practical guidance, common pitfalls, and when to choose Quantum over Fusion or PUN.

Minh Khoa
25 min
178
42
Unity
May 25, 2026

UniTask & Related Topics

This article explains what UniTask is and why it is widely used in Unity. It compares UniTask with Coroutine and C# async Task, showing how UniTask reduces GC allocations, supports await for many Unity workflows, works with CancellationToken and multithreading, and integrates well with tools like DOTween and Addressables. It also covers when to use UniTask in real game projects and why it is often a better choice than traditional callbacks, Coroutine, or Task.

Minh Khoa
25 min
223
33
Unity
May 25, 2026

Boxing c#

This article explains boxing and unboxing in C#, why boxing creates heap allocations and GC pressure, and why that can hurt Unity performance. It shows common boxing cases such as Debug.Log, using structs with object, interfaces, generics, LINQ, foreach, and events, then gives practical ways to avoid boxing, check for it with the Unity Profiler, and keep Update-heavy code, Jobs, ECS, and other hot paths GC-free.

Minh Khoa
14 min
237
53
Unity
May 8, 2026

The Complete VContainer

This article is a detailed guide to using VContainer in Unity, from core concepts to real project architecture. It explains why VContainer is a faster, lighter alternative to Zenject, then covers LifetimeScope, Builder, and the main lifetimes: Singleton, Transient, and Scoped. It walks through basic setup, EntryPoint and Unity lifecycle replacement, constructor and method injection, interface registration, scene object registration, and injecting multiple implementations. The article also shows practical factory and prefab spawning patterns, including using IObjectResolver and Func, then explains hierarchical scopes such as ProjectScope, SceneScope, and SubScope for larger games. It ends with anti-patterns to avoid, such as hidden service locator usage, injecting into data classes, and circular dependencies.

Minh Khoa
19 min
74
24
Unity
May 8, 2026

Coding Conventions

This article summarizes common coding conventions for Unity/C# game development, including PascalCase and camelCase naming rules for classes, fields, methods, properties, constants, booleans, events, coroutines, UI components, ScriptableObjects, and prefabs. It also covers file and folder naming, use of namespaces, comments, inspector attributes, regions, and how to avoid magic numbers and magic strings so code stays readable, maintainable, and team-friendly.

Minh Khoa
14 min
201
24
Unity
May 5, 2026

Unity’s Biggest Trap: null That Isn’t Null

This article explains why UnityEngine.Object behaves differently from a normal C# object when it comes to Null and destruction. It breaks down the managed C# world and the native C++ world behind Unity objects, shows how Destroy() removes the native object while the C# wrapper can still remain in memory, and explains Unity’s overloaded == and != operators that create the “Fake Null” effect. It also warns that C# operators like ?. and ?? can bypass Unity’s null check and lead to MissingReferenceException, then recommends using classic null checks, avoiding ?. and ?? with UnityEngine.Object, and using Unity’s implicit boolean check when appropriate.

Minh Khoa
16 min
208
54
Previous
Page 5 of 8
Next