← Back Choosing the Right Engine for My New Project

Choosing the Right Engine for My New Project

17/1/2026

This is the first project which I will share on this blog.

I won’t go too deep into what the game is about just yet, that’s for another article. For now, I want to focus on something more fundamental: how I chose the game engine for this project.

What I can share is that I’m making a visual novel with UI-heavy mechanics. Think dating sims, but I’m still on the fence about including actual romance. The point is: lots of menus, stats, events, choices, and screens the player will interact with constantly.

At first glance, the answer feels obvious.

Visual novel?
Ren’Py.
Case closed. 🔨

…Except it’s not that simple.

Why Not Just Use a VN Engine?

I’ve worked with niche engines before, tools designed for very specific genres, including visual novels. And while they do make certain things easy, I often end up fighting the engine when I want to do something slightly outside its intended scope.

Instead of focusing on writing, designing systems, or experimenting with mechanics, I’m busy bending the engine to my will.

That’s why I usually gravitate toward engine-agnostic tools. Engines that don’t assume what kind of game you’re making. If I need something niche, chances are there’s already a plugin or add-on that handles it.

So that leaves the usual suspects:

  • Unity
  • Unreal Engine
  • Godot
  • Ren’Py (still fair to include)
  • …and even web frameworks, if we’re being honest

Now the real question becomes: how do I choose?

Defining My Requirements First

Before picking any engine, I wrote down what I actually need.

Genre & Gameplay Loop

  • Visual novel / dating sim–style experience
  • Heavy UI usage
  • Complex event & choice systems
  • Stat management (affection, time, flags, etc.)
  • Possible mini-games down the line

Technical Needs

  • 2D-focused engine
  • Comfortable with UI-heavy projects
  • Strong event-driven architecture
  • Data-driven design
  • Free (important)
  • No insane learning curve

With those constraints in mind, one engine consistently scored higher than the rest.

Godot.

Why Godot?

1. 2D First, Not 2D as an Afterthought

Unreal Engine is incredible, especially for high-end 3D, but for 2D?
Yeah… not its strong suit.

That narrows the field to:

  • Unity
  • Godot
  • Ren’Py
  • Web-based solutions

For a UI-heavy 2D game, Unreal just doesn’t make sense.

2. Event-Driven Architecture (This One Matters a Lot)

This might come from my background in web development, but I strongly prefer event-driven design.

I like systems where:

  • One thing emits an event
  • Multiple systems react
  • Everything stays decoupled

Sure, most engines support events, but I’m not talking about basic callbacks. I want complex, scalable, system-level event flow.

Godot’s signal system is genuinely amazing.

It feels like a WhatsApp group for your game systems:
one message goes out, everyone subscribed hears it.

Clean.
Decoupled.
Performant.
And deeply integrated into the editor, so setup is fast and visual.

Unity can absolutely do this too, but it’s more verbose. You end up writing more boilerplate just to emit and listen to events.

Web frameworks? JavaScript is event-driven by nature. DOM events are mature and powerful, no doubt.

Ren’Py, on the other hand, is very limited here. No real event bus, no pub-sub system—mostly just Python callbacks. It works, but it’s basic.

3. Data-Driven Design Is Non-Negotiable

This part is huge for me.

I want:

  • To develop systems without story content
  • To write story content without touching code
  • To debug mechanics without UI
  • To tweak narrative flow without opening the engine

A good data-driven approach lets me do all of that.

Most engines can technically support this, even Ren’Py, but Godot’s Resources (and Unity’s ScriptableObjects) take it to another level.

Being able to edit structured data directly in a visual editor is a massive win. It keeps systems clean and iteration fast.

4. UI Customization

No surprises here.

Godot’s UI system is excellent.
Web-based UI is also top-tier.

Ren’Py is… fine, but limited.
Unity can do it, but again, more setup.

For a game where UI is basically half the experience, this matters a lot.

Final Thoughts

Overall, Godot consistently scores higher for my specific needs compared to the other options.

This isn’t about which engine is “the best.”
It’s about which engine fits the project.

Sometimes, even an engine made specifically for your genre won’t actually support what you want to build. And sometimes, something that isn’t even a game engine~like a web framework~can outperform traditional tools in certain areas.

Pick the tool that works with you, not against you.

For this project, that tool is Godot.

Comments