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.0 stable.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 namedGUS
as you require.- Pass variable which without
Object
,OID
,Callable
,Signal
intoGUS.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 autoloadGUS
between all network peers should keep the same.Array
andDictionary
should not containObject
,RID
,Callable
andSignal
.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
linux
andosx
version( but I encounter error which I can't handle it). Compiletypeof double real_t
version to support custom Godot( but I encounter error which I can't handle it, too).- Deal
Object
,RID
,Callable
andSignal
.
How to compile:
- Follow offical tutorial to set up you develop enviroment.
- Clone this repository (recursive).
- Navigate to
godot-cpp
folder, 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.0 stable.
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.0 stable.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.