Under Construction

The Blog

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

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

Garbage Collection

This article explains how Garbage Collection works in Unity, why GC spikes can cause brief frame hitches, and where hidden allocations come from in everyday code, including boxing, string concatenation, LINQ, lambdas, foreach, coroutines, and repeated component lookups. It also shows how to use Unity Profiler and Memory Profiler to find garbage, then reduce it with practical techniques like object pooling, ArrayPool, caching, pre-allocation, and struct-based data, while comparing Incremental GC with Stop-the-World GC and ending with a practical performance checklist.

Minh Khoa
35 min
192
48
Unity
Jun 16, 2026

Unity Particle System Component: from the basics to enough to use

This article is a practical, beginner-friendly guide to Unity Particle System in Unity 6, covering everything from the basic idea of particles and when to use the built-in system versus Visual Effect Graph, to how each major module works in the Inspector. It explains Main, Emission, Shape, Velocity/Force/Noise, color and size over lifetime, collision, triggers, sub emitters, texture sheet animation, lights, trails, custom data, Renderer settings, and the Particle System Force Field component, then finishes with scripting examples, common VFX recipes like smoke, sparks, dust, and hit effects, plus debug and performance tips for mobile-style game VFX.

Minh Khoa
45 min
130
48
Unity
Jun 9, 2026

Architecture UI In Unity: MVC, MVP & MVVM

This article explains UI architecture in Unity and why UI and logic often become tangled. It introduces the principles of Separation of Concerns, then compares MVC, MVP, and MVVM with their data flow, strengths, and weaknesses. The post also gives practical guidance on when to use each pattern for screens, popups, and widgets, and highlights common anti-patterns such as circular references, fat views, anemic presenters, and over-engineered ViewModels.

Minh Khoa
16 min
237
41
Unity
Jun 6, 2026

The Difference Between C# and Unity Engine Object

This article explains the key difference between C# System.Object and UnityEngine.Object in Unity, showing how managed C# wrappers and native C++ objects affect destruction and null checks. It covers Unity’s “fake null” behavior, why Destroy() can still lead to MissingReferenceException, and why developers should use classic null checks instead of ?. or ?? with UnityEngine.Object.

Minh Khoa
20 min
258
39
Unity
Jun 6, 2026

Dot Product (Dot)

This article explains how to use Vector3.Dot in Unity to quickly determine whether a Player is in front of or behind an Enemy, especially for Action/Stealth gameplay such as normal attacks versus backstabs. It covers the dot product range, the need to normalize vectors, how to set up the enemy forward vector and the enemy-to-player vector, and how to use a threshold for fairer assassination detection. It also adds a senior-level anti-exploit tip: check whether the Player is actually facing the Enemy so players cannot abuse positioning and hit detection. The article ends by noting that Vector3.Dot can also be used for shield blocking, stealth vision, enemy field of view, and other combat systems.

Minh Khoa
13 min
213
23
Unity
Jun 6, 2026

The Difference URP & HDRP

This article explains the main differences between Unity’s URP and HDRP. URP is presented as the lightweight, high-performance choice for mobile, WebGL, Nintendo Switch, VR, 2D, indie, and stylized games, while HDRP is described as the high-end pipeline for photorealistic visuals, advanced lighting, and AAA or ArchViz projects on PC and consoles. It also compares their goals, platform support, lighting, materials, learning curve, and project size, and recommends choosing URP by default unless a project clearly needs HDRP’s visual fidelity.

Minh Khoa
15 min
114
39
Previous
Page 4 of 8
Next