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 .