Upgraded the base Godot version from 4.4 to 4.7. For new features in 4.5–4.7, please check the official Godot page: Godot 4.7, Lights, Camera, Action! – Godot Engine - Support for Node UIDs, which we previously announced in our Producer Letter, is still not implemented. - Fixed an issue where performance degraded when visual script size increased. - Completely changed the processing architecture to a processor-based model. These two changes are significant. If you are currently working on a project, please make sure to take a backup. If your existing projects are affected, please switch your branch to version 1.3.5 using the Steam game version and beta options.
[How to Switch Between Steam Game Version and Beta]
Right-click ACTION GAME MAKER in your Steam library.
Select “Properties” from the submenu.
In the new window, switch to the “Game Beta” tab.
Select the desired version and close the window. The update will start automatically, and the selected version will be applied.
Bug Fixes
Fixed an issue where deleting an InputMap caused ordering errors.
Going forward, InputMaps will be searched by name match, so ordering errors will no longer occur. However, please note that renaming an InputMap will break references.
Fixed an issue where “Add” was not being applied in the scene transition input operation list.
Finally updated! Although there were some issues, it’s great that the developer managed to release the optimization on schedule.
I’m really curious about how much the performance of the restructured visual objects has improved and by what percentage the overhead has been reduced. Unfortunately, there are no video comparisons or performance metrics available.
So I used a method that might not be entirely reliable to test it: I disabled vertical sync in the project and compared the maximum frame rates before and after the update. I wonder if this method is trustworthy?
This performance optimization focuses on addressing the issue where visual scripts become sluggish as their size increases. The improvement has little to no effect on objects that only contain visual scripts with a few states (so there is little difference in samples like the Chicken sample). However, you should notice a difference when placing multiple objects that each contain dozens or hundreds of states.
I’m not sure if this is a clear-cut example, but an object that previously took about 30 seconds to generate in this project was generated instantly. I suspect that previously, generating an object immediately after another would cause noticeable latency. This has been improved in this update.
What if we have objects with a small amount of state, but more than 50 copies of the same object exist simultaneously in the same scene?
Would this result in a performance improvement compared to before?
It wasn’t actually that many.
I think the issue was that two additional objects were generated from that object during creation.
Even adding just one object caused a wait of about two seconds.
(It felt like performance dropped significantly with just one extra object, but)
This isn’t an isolated case; heavy loads often occurred when the number of simultaneous generations was high.
Very good, I support it. Although I’ve also found some bugs when opening the project recently and can only figure out how to handle them gradually, I also noticed that there’s a slight lag when generating object effects. Could this also be due to the version update?
Thanks for sharing these patch notes. The VisualScript fixes look particularly useful, especially the issue with non-unique pasting and non-existent key references. These kinds of fixes can make game development and debugging much smoother. It would be interesting to see what other improvements are planned for future versions.