0.12 Patch Notes
September 9th 2025
Intro
A new version of GD-Sync is now available for download. Version 0.12 introduces requested features and crucial bug fixes.
Bug Fixes
Some bugs have been resolved:
- Typed Array/Dictionary Support:
Previously typed arrays and dictionaries did not work when using GDSync.call_func or GDSync.sync_var. Remote function calls did not arrive and variables would not sync. Our server network has now been upgraded to Godot 4.4 for proper typed array and dictionary support, resolving the issue.
PropertySynchronizer Dictionary Synchronization:
The PropertySynchronizer contained a bug where it did not sync dictionaries properly. It was unable to detect when a dictionary changed and thus causing it to never synchronize it. This bug has now been resolved and dictionaries are now properly supported by the PropertySynchronizer.
Multiplayer Instantiate Bug:
The GDSync.multiplayer_instantiate function contained a bug that would stop it from working after leaving and rejoining a lobby. This bug has been fixed and the function should now work properly when joining multiple lobbies within the same session.
Location-based Voice Chat:
When enabling 2D or 3D audio output on the VoiceChat Node, the sound would emit from the center of the scene instead of properly following players. This bug has been resolved and location-based voice chat should now properly follow players.
Improvements & Additions
This new version comes with some new features and changes:
- Multiplayer Queue Free:
A new function, GDSync.multiplayer_queue_free, has been implemented. It allows you to easily delete Nodes on all clients.
Set Host:
A new function, GDSync.set_host, has been implemented. You can now manually override which client is the lobby host. Only the current host is able to call this function so they can transfer their role to another client.
Change Lobby Name:
A new function, GDSync.lobby_change_name, has been implemented. This function allows you to change the name of a lobby after it has been created. It will emit the signal GDSync.lobby_name_changed if successful. If it fails, the signal GDSync.lobby_name_change_failed is emitted instead.
Call Func All:
A new function, GDSync.call_func_all, has been implemented. It works exactly the same as GDSync.call_func, except this new version also calls the target function for the caller as well.
Connection Reliability Improvements:
Multiple users reported that players from specific regions were unable to connect using GD-Sync. This issue was most likely due to those regions blocking/filtering UDP traffic. If connecting using UDP fails, the plugin will now automatically switch to TCP and attempt to connect again. This should allow the plugin to circumvent certain filters and blocks that specific countries/ISPs have set in place.
SynchronizedRigidBody3D Improvements:
The experimental SychronizedRigidBody3D Node has received some improvements which should make physics synchronization more reliable, smoother and use less data transfer.
Upgrading
Upgrading to version 0.12 can be done right from the configuration menu (Project -> Tools -> GD-Sync). It is also possible to download the plugin directly from our GitHub.
Looking Forward
Please let us know if you encounter any issues in version 0.12. For feature requests or bug reports, please visit our support page!
Thank you for using GD-Sync. Your feedback is crucial to our continuous improvement.