Why I Choose Unity as My Main Game Engine
There are a ridiculous number of ways to make a game today. Unity, Unreal, Godot, custom engines, frameworks—the list keeps growing.
I’ve played around with different engines and technologies over the years, but when I actually have an idea for a game and want to start building it, I almost always come back to Unity.
Is Unity the best game engine?
That’s probably an argument that could go on forever.
But for me, Unity is the engine where I can sit down with a stupid idea in my head and potentially have something moving around on the screen that same night.
And honestly, that’s probably the biggest reason I continue using it.
I Already Know How to Get Stuff Done
There’s something to be said about simply knowing your tools.
I’ve spent enough time inside Unity that I generally know where things are, how I want to structure a project, and how to get from an idea to something playable without spending half the night reading documentation.
That doesn’t mean I know everything about Unity. Not even close.
But I know enough that the engine usually gets out of my way.
If I suddenly think, “What if the goat hits a spring, flies across the screen, and splats into the camera?” I don’t want to spend three hours researching how another engine handles physics, animation, scenes, and input.
I want to make the goat fly across the damn screen.
With Unity, I can usually just start building it.
C# Is a Huge Plus
This is probably one of the biggest reasons Unity fits me so well.
I really like C#.
I’ve used C# professionally for years, so when I’m working on a Unity game, the programming side feels extremely natural to me.
Classes, interfaces, events, async code, collections, LINQ, dependency patterns—I’m already comfortable with the language and the ecosystem around it.
That means I can spend more time thinking about the actual game instead of thinking about the programming language.
Need a wanted system?
Write it.
Need pedestrians wandering around?
Write it.
Need an online leaderboard?
Let’s figure it out.
Need a completely unnecessary mechanic that only exists because I thought it would be funny?
Absolutely.
That familiarity makes experimenting incredibly fast, which is especially important when you’re working on games by yourself.
Unity Is Great for Prototyping Weird Ideas
One thing I really enjoy about game development is experimenting.
Not every idea needs to become a giant commercial game. Sometimes I just want to see whether something is fun.
Unity is fantastic for that.
Create a project. Throw some objects into a scene. Add a Rigidbody. Write a couple scripts. Hit Play.
Suddenly you’ve got something.
Maybe it’s terrible.
Maybe it’s surprisingly fun.
Maybe that little prototype turns into the next game you spend way too much time working on.
That quick feedback loop is one of my favorite things about Unity.
It Works for the Games I Want to Make
I’m also not trying to make the next photorealistic AAA game.
The games I enjoy making tend to be smaller, stylized, arcade-like games where the gameplay matters more to me than pushing cutting-edge graphics.
Project City is a perfect example.
There’s a city you can drive around, traffic, pedestrians, police, gangs, weapons, shops, missions, jobs, wanted levels, leaderboards, and a bunch of other systems interacting with each other.
Unity gave me everything I needed to start connecting those pieces together without also needing to build an entire game engine underneath it.
And then I can turn around and use that same engine for something completely different—like a goofy isometric puzzle game about a goat.
That’s pretty awesome.
The Asset Store Is Hard to Ignore
I’m a programmer.
I’m definitely not an artist, animator, sound designer, 3D modeler, UI designer, composer, and every other job that goes into making a video game.
That’s where the Unity Asset Store becomes incredibly valuable.
There are environments, models, animations, shaders, sound effects, music, editor extensions, networking tools, UI systems, and just about anything else you could possibly need.
Obviously, I don’t want to just download a bunch of assets, throw them into a scene, and call it a game.
But using assets as building blocks lets me focus my time on the parts I actually enjoy—programming systems and turning those systems into a game.
For a solo developer, that’s a huge deal.
There’s Also a Massive Amount of Information Out There
Unity has been around for a long time, and that comes with another advantage: somebody has probably already encountered your problem.
If I run into something weird, there’s a good chance somebody has asked about it before.
Documentation, YouTube videos, Stack Overflow posts, Reddit discussions, old forum posts—there is an enormous amount of Unity knowledge floating around online.
Sometimes you’ll find a solution from 2017 that doesn’t work anymore.
Sometimes you’ll find five completely different answers.
And sometimes you’ll find that one random forum comment that solves the problem you’ve been fighting for two hours.
That’s game development.
But having such a large community around the engine definitely helps.
Is Unity Perfect?
Hell no.
Unity has made some questionable decisions over the years. There have been pricing controversies, features that changed direction, systems that were introduced and replaced, and plenty of moments where developers—including myself—have wondered what the hell they were doing.
There are also things other engines simply do better.
Unreal is ridiculously powerful, especially when you’re pushing high-end visuals.
Godot is becoming more impressive all the time, and I completely understand why indie developers are excited about it.
I’ve also messed around with the idea of using frameworks or even building more things myself.
But eventually I come back to the same question:
What am I actually trying to accomplish?
Am I trying to become an expert in every game engine?
Or am I trying to make games?
For me, it’s the second one.
The Best Engine Is the One That Lets You Finish
I think developers sometimes get way too caught up in which programming language, framework, engine, operating system, or tool is supposedly the “best.”
I’ve definitely been guilty of it too.
But the older I get and the more projects I work on, the more I appreciate tools that simply let me get things done.
Unity isn’t perfect.
But I know C#. I know Unity’s workflow. I know how to get an idea onto the screen quickly. And when something stupid pops into my head at 10 PM, I can open Unity and start experimenting instead of spending the night configuring tools.
That’s worth a lot to me.
Maybe someday another engine will completely win me over.
For now, though?
Unity is where I make games.