Reflection Contexts in O3DE
Use the Open 3D Engine (O3DE) reflection system to make a component’s C++ objects available for serialization and manipulation by editors, and for scripting systems to invoke a component’s methods and events at runtime.
For these purposes, O3DE provides the following reflection contexts:
- Serialization context – Enables persistence of a component’s data through reflection of C++ objects.
- Edit context – Exposes a component’s serialized C++ data for editing in O3DE Editor.
- Behavior context – Exposes a component’s methods, properties, and events through reflection to scripting systems such as Script Canvas and Lua. You can use these script bindings at runtime to invoke a component’s methods, events, and event handlers.
All of these reflection contexts use the C++ builder design pattern .
Reflecting a Component for Serialization and Editing
Learn how to reflect Open 3D Engine (O3DE) components in C++.
Serialization Context
Use the serialization context in Open 3D Engine (O3DE) to provide persistence for C++ objects or O3DE types.
Edit Context
Use the edit context to expose parameters for editing in O3DE Editor, the content creation environment for Open 3D Engine (O3DE).
Behavior Context
Use the behavior context in Open 3D Engine (O3DE) to make runtime code accessible to scripting systems such as Script Canvas and Lua.