Let me be real with you. I was a Unity diehard. Six years of projects, a graveyard of half-finished games, and enough C# to fill a library. Then I tried Godot 'just to see what the fuss was about.' Three months later, I've shipped more than I did in the past two years. Here's my honest, unfiltered experience.
The Moment Everything Changed
It wasn't the Unity pricing controversy that pushed me—though that didn't help. It was a Tuesday afternoon when Unity decided to crash for the 47th time that week on my 2019 MacBook. I was working on a simple 2D platformer. Nothing fancy. And I thought: 'Why does this feel so heavy?'
I downloaded Godot. 40 megabytes. It opened in 2 seconds. I had a character moving on screen in 15 minutes. Not because I'm smart, but because Godot just... makes sense.
What Actually Surprised Me
1. The 'Everything is a Node' Philosophy
In Unity, you have GameObjects with Components. Sounds simple until you're 50 hours in and your scene hierarchy looks like a conspiracy board. In Godot, everything is a node. Your player? A node. The sprite? A child node. The collision? Another child node. It's nodes all the way down, and somehow that makes MORE sense.
My Player Scene in Godot:
├── CharacterBody2D (Player)
│ ├── Sprite2D
│ ├── CollisionShape2D
│ ├── AnimationPlayer
│ └── AudioStreamPlayer2D
Unity equivalent required:
- GameObject with Transform
- SpriteRenderer (Component)
- Rigidbody2D (Component)
- Collider2D (Component)
- Animator (Component)
- AudioSource (Component)
- PlayerController.cs (Script)
- AnimatorController (Asset)
- Multiple Animation Clips (Assets)2. GDScript is Actually Fun to Write
I scoffed at GDScript. 'A custom language? Why not just use C#?' Then I wrote my first script. No semicolons. No curly braces everywhere. Type hints when I want them. It reads like Python but runs like it was made for games—because it was.
# This is my entire player movement script
extends CharacterBody2D
@export var speed: float = 200.0
@export var jump_force: float = -400.0
func _physics_process(delta):
# Gravity
if not is_on_floor():
velocity.y += 980 * delta
# Jump
if Input.is_action_just_pressed("jump") and is_on_floor():
velocity.y = jump_force
# Move
velocity.x = Input.get_axis("left", "right") * speed
move_and_slide()That's it. That's a working player controller. In Unity, I'd need a script three times this length, plus references to the Rigidbody, plus null checks, plus...
3. The Export Process Doesn't Make Me Want to Cry
Unity builds: Go get coffee. Come back. It's still building. Godot builds: I blinked and it was done. My simple 2D game exports to Windows in about 8 seconds. The executable is 30MB. Not 300MB. Thirty.
What I Actually Miss from Unity
I'm not going to pretend Godot is perfect. Here's what I genuinely miss:
- The Asset Store: Unity's marketplace is massive. Godot's is growing but smaller. Sometimes you just want to buy a solution.
- Cinemachine: Unity's camera system is incredible. Godot's cameras work fine, but Cinemachine was chef's kiss for dynamic shots.
- Third-party tutorials: Unity has a decade of YouTube tutorials. Godot has fewer, though the quality is often better.
- Tilemap features: Unity's Tilemap got really good. Godot's is functional but missing some niceties like rule tiles (though plugins exist).
The Real Reason I'm Staying
Here's the thing nobody talks about: I'm actually finishing games now.
With Unity, I'd spend hours fighting the engine. Waiting for compiles. Debugging mysterious crashes. Wrestling with prefab overrides. In Godot, I spend that time making my game. The friction is gone.
In three months, I've prototyped 4 games and shipped 1 to itch.io. In my last two years with Unity, I shipped zero. The math is clear.
Should YOU Switch?
Honestly? Maybe not. Here's my take:
- Switch if: You're making 2D games, you value open-source, you're tired of waiting for Unity to load, or you just want to try something new.
- Stay with Unity if: You're deep into a project, you need specific assets, you're doing high-end 3D, or your team already knows Unity.
- Try both: Download Godot (it's 40MB, it takes 30 seconds). Make a simple project. See how it feels. You might be surprised.
Final Thoughts
I'm not here to bash Unity. It's a powerful engine that's made incredible games. But for me—a solo indie dev with limited time and older hardware—Godot removed the barriers between my ideas and playable games.
The best engine is the one that gets out of your way and lets you create. For me, that's Godot. For you, it might be something else. But if you're curious, give it a try. The download is smaller than most Unity assets.
