Going beyond the out of the box features

Extend the entity library

Add attributes and events to an existing entity to define a new entity type.

Create a smart entity with its own behavior to ease your scenario creation.

Create a radically new entity by composing existing ones into a compound entity.

Save an entity to the entity library for further use in another project.

Extend the task library

Modify an existing task or create a new one writing a code snippet in Lua scripting language.

Create a radically new task by composing existing ones into a compound task.

Save a task to the task library for further use in another project.

Develop add-ons

The C++ SDK is what you need to add entirely new features to the Editor or Player. It offers many ways to extend or customize the standard features by developing new plugins. The following non-exhaustive list presents the most usual goals targeted by plugin developers:

Customize the Editor with dedicated buttons, shortcuts, GUIs, etc.

Create your own C++ entities.

Integrate existing simulation models.

Extend rendering features with custom 3D models, effect shaders, etc.

Support particular interaction devices.

Support additional asset formats.

Build a connection between the Player or the Editor and an external system based on a dedicated protocol.