Getting Started
Introduction
Quick Start
Get Help
Features
Project Architecture
Serialization Pipeline
Content Browser
Details
Editor Pawn
Play Mode
Undo/Redo
Global Access
How to
Serialize class
Customize Details
Migrate
Blueprints in UE do not have automatic access to all the properties of objects, so I developed a pipeline to serialize objects using blueprints. My serialization method is based on wrapping properties with JSON objects. This allows the developer to store, load, and pass properties around the system without knowing their type.
The Quiet Rinetime Editor contains a ready-made serialization pipeline that allows you to edit object properties anonymously, duplicate, cache, save, and load objects. To embed the desired class into this pipeline, create a blueprint inherited from BP_MarshalBase.
Choose the appropriate marshaller parent class:
- Object: BP_MarshalBase
- Actor: BP_MarshalActor
- ActorComponent: BP_MarshalActorComponent
- Material: BP_MarshalMaterialBase
Then override the following functions to serialize the properties and functions of the class you need:
- Get Property Value - Returns a JSON object with wrapped property value by name.
- Set Property Value - Unpacks the value from the incoming JSON object and assigns it to the object.
- Serialize Object - Makes a JSON object containing all serialized properties of the object.
- Collect Properties - Prepares data for the property editor (Details).
- Call Action - Calls events or functions on an object by name.
- Restore Object (optional) - Reads properties from a JSON object and calls ‘Set Property Value.’ You can override the function to implement a specific behavior.
Examples: