- Edited
Hello there!
I'm a Unity dev working for a small indie game studio. After Unity's recent announcement, we're considering switching engines. Since we mainly make 2D games, Godot might be a good choice.
The only thing that makes us hesitate is the fact that in Godot a lot seems to be solved via magic strings. GetNode<CollisionShape2D>("CollisionShape2D")
for example or var map = load("res://Scenes/Maps/MapaDePrueba.tscn").instance().
Why are strings used here? This produces errors that can only be discovered at runtime which leads to very brittle code.
What if the resource path changes? What if desigers change the node name or the structure of a node tree?
So my question is: How refactor-friendly is Godot really? Is it possible that larger projects quickly become unmanageable?
I would prefer an honest answer to a biased one, because a lot depends on the decision to change the engine. Thank you very much!