How do you view Technical Debt and Migration ? Research questions

Hi everyone,

I’m a computer engineering student at UFRJ, Brazil. I’m
writing a research paper on “technical debt introduced by game engine
migration”, using the Godot 3 → 4 transition as the case study.

  • Why I’m asking here

I’ve been analysing public Godot repositories on GitHub. Some projects migrated during the 4.0
betas, back in mid-2022. Others took more time — one well-known project
crossed over in February 2024, another only in April 2026. And a real
number of actively maintained projects are still happily on 3.6 today,
by choice.

The commit history tells me “when” people migrated. It cannot tell me
“why”. That part only you know, and it’s the part that actually
matters for the paper.

  • Questions: answer any subset, in any depth
  1. Did you migrate a project from Godot 3 to 4? Roughly when, and
    how long after you first considered it?
  2. If you waited — what were you waiting for? Addon/plugin support,
    a specific bug fix, time, a stable release, something else?
  3. What finally triggered the decision to migrate (or the decision
    to stay on 3.x)?
  4. How did --convert-3to4 migration tool do? What did it handle cleanly, and what
    did you end up fixing by hand?
  5. What did you have to break, hack, disable, or leave as a TODO to
    get the migration shipped? (Disabled tests, commented-out features,
    temporary workarounds — this is the “debt” part of my study, and where i will get the most off)
  6. If you’re still on 3.x: is that a problem you intend to fix, or
    a perfectly fine place to be? I’d like to hear the case for
    staying.
  7. What was missing? Docs, tooling, addon ecosystem, migration
    guides, community answers — what would have made it easier?
  • What happens with your answers

Responses will be used anonymously and in aggregate in an academic
paper. I won’t quote anyone by name or handle without asking you first
in a reply. If you’d rather not be quoted at all, just say so and I’ll
only count your answer in the totals.

If approved i’ll post the results and a link to the preprint back in this thread
when it’s done - this community produced the data, so it should get the
findings back.

Thanks for reading, and thanks for any time you can spare on this.

Not a direct answer to your questions, but:

I believe that released games should be on a long-term support (LTS) release of Godot. Using a LTS release means that the game will continue to get engine bug fixes and compatibility without having to deal with new features that the new bugs and incompatibilities that always accompany new features. I don’t want to add new features to already-released games, but I do want to be able to make bug fix releases, and I do want to include engine bug fixes along with my own bug fixes, so LTS releases are perfect for me.

The latest LTS release of Godot is version 3.6.3, which just came out a few days ago. There are AFAIK no current plans for a LTS release in the 4.x version series. It probably will happen eventually, but it could take years. I would therefore strongly consider using using version 3.6.3 for starting new Godot games, especially for smaller games. For bigger games, I would use the latest 4.x release and keep upgrading during development, but in the hope that a LTS 4.x release happens before my game is finished.

Its a perfect answer, the main goal is not getting a specific answer for each of the questions, its just to get this kind of insight.
Thank you for your time to answer.