GUS - Godot Universal Serializer 2

An asset by Daylily
The page banner background of a mountain and forest
GUS - Godot Universal Serializer 2 thumbnail image
GUS - Godot Universal Serializer 2 thumbnail image
GUS - Godot Universal Serializer 2 thumbnail image
GUS - Godot Universal Serializer 2 hero image

Quick Information

0 ratings
GUS - Godot Universal Serializer 2 icon image
Daylily
GUS - Godot Universal Serializer 2

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.

Supported Engine Version
4.0
Version String
v2.1.4
License Version
MIT
Support Level
community
Modified Date
1 year ago
Git URL
Issue URL

GUS - Godot Universal Serializer 2.1.3 - Godot的通用序列化器 - V2.1.3(Godot 4.0 RC1)

README Image text

中文文档 <- 点击这里。

A Godot's universal serializer for size optimization.
Support all data types except Object, RID, Callable and Signal in Godot 4.x.

Feature:

  1. Without losing type information. Need not type detection and forced typce conversion in cross end transfer,just like local parameter transfer.
  2. Integer are variable length serialization.
  3. 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.
  4. 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:

  1. Download released plugin, install and enable this plugin just like other plugin( If the version is not match, please compile by yourselves).
  2. Modify properties of autoload which named GUS as you require.
  3. Pass variable which without Object, OID, Callable, Signal into GUS.var_to_bytes() and get the serialized data, than send to network peer.
  4. 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:

  1. The properties of autoload GUS between all network peers should keep the same.
  2. Array and Dictionary should not contain Object, RID, Callable and Signal.
  3. Currently unsupport Godot 4.x which compiled with typeof double real_t.
  4. Currently just support platform windows.

TODO:

  1. If I find the way to bind static method for GDScript, I will get rid of the autoload GUS.
  2. Compile linux and osx version( but I encounter error which I can't handle it).
  3. Compile typeof double real_t version to support custom Godot( but I encounter error which I can't handle it, too).
  4. Deal Object, RID, Callable and Signal.

How to compile:

  1. Follow offical tutorial to set up you develop enviroment.
  2. Clone this repository (recursive).
  3. Navigate to godot-cpp folder, and run command as below :
cd godot-cpp
scons
  1. Navigate to root folder, and run command as below :
scons
  1. 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

0 ratings

Your Rating

Headline must be at least 3 characters but not more than 50
Review must be at least 5 characters but not more than 500
Please sign in to add a review

Quick Information

0 ratings
GUS - Godot Universal Serializer 2 icon image
Daylily
GUS - Godot Universal Serializer 2

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.

Supported Engine Version
4.0
Version String
v2.1.4
License Version
MIT
Support Level
community
Modified Date
1 year ago
Git URL
Issue URL

Open Source

Released under the AGPLv3 license

Plug and Play

Browse assets directly from Godot

Community Driven

Created by developers for developers