Just shipped my first Godot game — BigMech, a roguelike mech shooter (Android, iOS soon)

Finished my first Godot project after about 2.5 months of work — a mobile roguelike where you build a mech, pick weapons, and try to survive long enough to take down the boss.

Stack:

- Godot 4.5 - C# / .NET 8

- gdUnit4 for tests, GitHub Actions for CI (headless via xvfb)

- ~150 C# files, ~440 .tres resources for game data

A few things I learned along the way:

- Godot’s resource system (.tres) is great for data-driven design but needs guardrails — I ended up writing a runtime integrity check that caught 26 duplicate IDs from a snake_case → PascalCase migration that had been silently overwriting in production.

- Headless Godot Mono in CI took some fiddling but runs the full test suite (91 tests) in about 500ms.

- Mobile export with C# was smoother than I expected.

Live on Google Play now, iOS in review:

[Play Store link]

Happy to answer questions about the Godot side of things — the CI setup, the resource validation pattern, mobile export gotchas, whatever’s useful.

Are you looking for feedback? I tried the first level a few times, and died miserably after about 2½ minutes each time. Am I missing something?