Commands

Commands provide lightweight remote procedure call (RPC) style communication over the RTI. An application can advertise named operations that other applications can discover and execute without requiring a dedicated message type for every operation.

Each command has a name, a description, and an optional set of arguments. Arguments use the common Parameter definition, allowing tools to present suitable input fields and explain which values are required. When executing a command, the caller sends the command name and argument values. If it includes a transaction ID, the receiving application returns a response with the same ID, indicating success or failure and optionally providing a message and return values.

Commands are exchanged on the rti/commands channel. They can also be addressed to a particular RTI client, or scoped to an entity by using a channel such as rti/commands/<entity id>. This makes the same mechanism useful for application-level operations—such as asking the Recorder to perform a maintenance action—and object-level operations—such as telling a simulated entity to perform an action.

The CLI can list and execute advertised commands. The Unity integration can discover command handler methods on components and expose them as application or entity commands; it also shows registered commands in the Unity editor for convenient testing.

Commands and their standard channel are defined in the RTI contract and included in the RTI client libraries.


Copyright © Inhumate AB 2026