|
|
|
|
|
by jay_kyburz
1756 days ago
|
|
Juan made it very clear in a follow up tweet that Sega would have had to have made significant changes to the engine in order to ship a game on it. I spent three months working in Godot a few years ago and it was clear even then that there were significant bugs in major systems. If you want to ship on Godot you had better be prepared to roll up your sleeves and dive right down deep into the engine. This is one of the few bugs I logged before finally giving up on the engine. https://github.com/godotengine/godot/issues/32383#issuecomme... The object pooling system reuses references so that your script can't tell when a reference to an object it is holding, changes. They doubled down on the bug by making the behavior in Debug different to a Release build. It's marked closed, but users still report it happening. |
|
The real problem is that you are not properly managing the lifetime of your objects so you have dangling references. Obviously Godot could provide better tooling to help you identify and troubleshoot it, but dangling references like that will cause breakage in basically any runtime environment that makes it possible to have them.
IDs of that sort can be reused in many environments. For example, if you use Unity, .NET GCHandle IDs can be reused in the exact same way.