Common Technical and Design Mistakes Indie Teams Make in Unity

We've assessed dozens of Unity projects. The same patterns appear repeatedly. These aren't beginner mistakes - they're traps that experienced developers fall into because they seem reasonable until they aren't.

MISTAKE 01

Treating the Editor as the Target Platform

The game runs fine in the editor. It performs terribly in a build. Different code paths, different memory management, different shader compilation. We've seen 2x performance differences between editor and build.

Test builds regularly. On actual target hardware, not just your development machine. Problems found in a build a week before launch can't be fixed in time.

MISTAKE 02

The Singleton Epidemic

GameManager.Instance. AudioManager.Instance. UIManager.Instance. Singletons are easy to create and easy to access from anywhere. They're also hidden dependencies that make code untestable, order-of-initialization bugs, and architectural spaghetti.

Use dependency injection or at least explicit references. When you need to understand what a class depends on, you shouldn't have to grep the entire codebase.

MISTAKE 03

Update() for Everything

Every MonoBehaviour with an Update method costs, whether it's doing anything or not. A scene with 500 enemies, each with Update() that checks "am I dead?" is 500 function calls per frame for checks that could be event-driven.

Use events, callbacks, or polling patterns where appropriate. Batch similar operations. Profile what's actually happening in Update and move what doesn't belong there.

MISTAKE 04

Ignoring Build Size

Steam users care about download size. 50GB for an indie shooter signals either incredible content or terrible asset management. It's usually the latter.

Unused assets in the project folder don't ship, but unused assets in scenes or referenced by used assets do. Uncompressed audio, 4K textures for background elements, imported models at unnecessary polygon counts. Address these before they become embarrassing.

MISTAKE 05

No Asset Pipeline

Artists create assets. Someone imports them manually. Maybe applies the right settings. Maybe not. Three months later, half the textures have incorrect compression and no one knows why some guns feel different than others.

Define import settings with presets. Document the pipeline. Automate what you can with import scripts. Make it impossible to import assets wrong.

MISTAKE 06

Scope Creep as Development Strategy

"What if the guns could have attachments?" "What if we added a crafting system?" "What if there was base building?" Each feature adds scope. Individually reasonable, collectively deadly.

Lock the feature set. Write it down. New features have to justify removing existing ones. If you can't ship what you've committed to, adding more doesn't help.

MISTAKE 07

Physics for Everything

Unity's physics is easy to use. Every object gets a rigidbody and colliders. The scene has 2000 physics objects, fixed update takes 15ms, and the game stutters.

Not everything needs physics. Kinematic objects for things that don't need to interact. Simplified colliders. Layer matrices to prevent pointless collision checks. Physics only for things that actually need it.

MISTAKE 08

No Version Control Strategy

"We use Git" isn't a strategy. Binary assets conflict constantly. Scenes conflict if anyone looks at them. No branching because merging is hell. The result is everyone working in a single branch, stepping on each other.

Use Git LFS for binaries. Use Unity's YAML serialization. Consider Plastic SCM if Git isn't working. Establish branching conventions. Merge regularly.

The Meta-Mistake

The underlying mistake is treating game development like other software development. Games have unique constraints: frame budgets, player perception, entertainment value. Solutions that work for web apps or business software often fail for games.

Game development also has unique pressures: the vision changes as you learn what's fun, content scales non-linearly, and players are unforgiving of technical issues. Expertise in Unity's API isn't the same as expertise in making games.

Want an Expert Review?

We assess Unity projects and identify problems before they become crises. If you're not sure whether your project is on track, let's find out.

REQUEST REVIEW