Install Asset
Install via Godot
To maintain one source of truth, Godot Asset Library is just a mirror of the old asset library so you can download directly on Godot via the integrated asset library browser
Quick Information
Current is fit for 4.2 stable.Old versions can be found in the github repo's relese page.A Godot's universal serializer for size optimization.Support all data types except Object, RID, Callable and Signal in Godot 4.x.Feature:Without losing type information. Need not type detection and forced typce conversion in cross end transfer,just like local parameter transfer.Integer are variable length serialization.The serialized data size is smaller than JSON text to utf8 and the native serialization method var_to_bytes(). GUS is especially suitable for the serialization of structured small data transfer in multiplayer games.GDExtension plugin, high performance.You can run the EditorScript which named GUS_benchmark.gd to view the contrast between GUS, Native, and JSON.How to use:Download release plugin, install this plugin just like other plugin.Pass variable which without Object, OID, Callable, Signal into GUS.var_to_bytes() and get the serialized data, than send to network peer.After the remote network peer obtains the serialized data, passe it into GUS.bytes_to_var() to get the same variable as before serialization.Be careful:Array and Dictionary should not contain Object, RID, Callable and Signal.Currently just support platform windows.Click `View Files` to see more benchmark results.
GUS - Godot Universal Serializer 2.1.3 - Godot的通用序列化器 - V2.1.3(Godot 4.0 RC1)
中文文档 <- 点击这里。
A Godot's universal serializer for size optimization.
Support all data types except Object, RID, Callable and Signal in Godot 4.x.
Feature:
- Without losing type information. Need not type detection and forced typce conversion in cross end transfer,just like local parameter transfer.
- Integer are variable length serialization.
- The serialized data size is smaller than JSON text to utf8 and the native serialization method
var_to_bytes().GUS is especially suitable for the serialization of structured small data transfer in multiplayer games. - GDExtension plugin, high performance.
You can run the EditorScript which named GUS_benchmark.gd to view the contrast between GUS, Native, and JSON.
How to use:
- Download released plugin, install
and enablethis plugin just like other plugin( If the version is not match, please compile by yourselves). Modify properties of autoload which namedGUSas you require.- Pass variable which without
Object,OID,Callable,SignalintoGUS.var_to_bytes()and get the serialized data, than send to network peer. - After the remote network peer obtains the serialized data, passe it into
GUS.bytes_to_var()to get the same variable as before serialization.
Be careful:
The properties of autoloadGUSbetween all network peers should keep the same.ArrayandDictionaryshould not containObject,RID,CallableandSignal.Currently unsupport Godot 4.x which compiled withtypeof double real_t.- Currently just support platform
windows.
TODO:
If I find the way to bind static method forGDScript, I will get rid of the autoloadGUS.- Compile
linuxandosxversion( but I encounter error which I can't handle it). Compiletypeof double real_tversion to support custom Godot( but I encounter error which I can't handle it, too).- Deal
Object,RID,CallableandSignal.
How to compile:
- Follow offical tutorial to set up you develop enviroment.
- Clone this repository (recursive).
- Navigate to
godot-cppfolder, and run command as below :
cd godot-cpp
scons
- Navigate to root folder, and run command as below :
scons
- Now, you can get the addon which be located at
\demo\addons\com.daylily_zeleen.godot_universal_serializer.
Current is fit for 4.2 stable.
Old versions can be found in the github repo's relese page.
A Godot's universal serializer for size optimization.
Support all data types except Object, RID, Callable and Signal in Godot 4.x.
Feature:
Without losing type information. Need not type detection and forced typce conversion in cross end transfer,just like local parameter transfer.
Integer are variable length serialization.
The serialized data size is smaller than JSON text to utf8 and the native serialization method var_to_bytes(). GUS is especially suitable for the serialization of structured small data transfer in multiplayer games.
GDExtension plugin, high performance.
You can run the EditorScript which named GUS_benchmark.gd to view the contrast between GUS, Native, and JSON.
How to use:
Download release plugin, install this plugin just like other plugin.
Pass variable which without Object, OID, Callable, Signal into GUS.var_to_bytes() and get the serialized data, than send to network peer.
After the remote network peer obtains the serialized data, passe it into GUS.bytes_to_var() to get the same variable as before serialization.
Be careful:
Array and Dictionary should not contain Object, RID, Callable and Signal.
Currently just support platform windows.
Click `View Files` to see more benchmark results.
Reviews
Quick Information
Current is fit for 4.2 stable.Old versions can be found in the github repo's relese page.A Godot's universal serializer for size optimization.Support all data types except Object, RID, Callable and Signal in Godot 4.x.Feature:Without losing type information. Need not type detection and forced typce conversion in cross end transfer,just like local parameter transfer.Integer are variable length serialization.The serialized data size is smaller than JSON text to utf8 and the native serialization method var_to_bytes(). GUS is especially suitable for the serialization of structured small data transfer in multiplayer games.GDExtension plugin, high performance.You can run the EditorScript which named GUS_benchmark.gd to view the contrast between GUS, Native, and JSON.How to use:Download release plugin, install this plugin just like other plugin.Pass variable which without Object, OID, Callable, Signal into GUS.var_to_bytes() and get the serialized data, than send to network peer.After the remote network peer obtains the serialized data, passe it into GUS.bytes_to_var() to get the same variable as before serialization.Be careful:Array and Dictionary should not contain Object, RID, Callable and Signal.Currently just support platform windows.Click `View Files` to see more benchmark results.