Seats and Roles

Vortex® simulators comes in many different forms, ranging from an application running on a PC to complex, multiple touchscreen hardware configurations. However, each simulator retains the same basic concept of seats, roles and nodes.

These concepts are essential in understanding how hardware resources (e.g., CPU, displays, motion platforms) and software components (e.g., extensions, modules) are used as building blocks of the complete simulator, as configured in the Application Setup (.vxc) file.

To understand what roles and seats do, one must also understand modules and extensions:

A simple simulator could consist of a single computer running one simulation application. Most desktop or laptop computers with a compatible graphics card can easily run Vortex Studio Editor. For example, a simple Application Setup file need only include the following minimum requirements:

The case above consists of one node, requiring only one computer to perform all its tasks: the computation of dynamics data (handled by the Dynamics Engine module), and the display of the simulation (handled by the Graphics module which communicates with the graphics card of the computer, allowing the user to visualize the simulation).

However, most simulators are actually more complex than the example above, and a single computer does not have the necessary hardware and software resources to ensure that simulation performances are satisfactory. In these cases, the information is processed and shared through a network of different computers running synchronized Vortex simulation applications (called nodes), each having a specific job to perform.

The concepts of seat and role are especially important in a distributed simulation scenario, as they provide a way to switch a set of devices used by a user on a seat, a set of hardware nodes, to a different role without the need to configure each extension separately.

The Application Setup file defines the seats and nodes. Roles can be defined in content documents and the Application Setup file:

Nodes are then assigned to various computers on the network using the Vortex Studio Director, where the simulator can then be launched.


A role represents the viewpoint which can operate a specific equipment, avatar, camera or complete specific tasks using a seat. A simulator can be used simultaneously by several people, each interacting and playing a role. These roles are usually defined in the content (mechanism or scene):

The purpose of a role is to ensure that the extensions are used only by the person to which they are intended, e.g., the driving controls of excavator #1 will not conflict with excavator #2, or the crane operator will not hear the same ambient noise as the signaler on the ground. This is why the role needs to control certain extensions. When a role controls an extension, it is not managed by other roles.

A role does not need to be part of the content (vehicle or scene). A good example of this is the instructor, not driving or taking part in the actual simulation, but present in every scene. In this case, the role should be defined in the Application Setup (.vxc) file.

Examples of a role include: excavator operator, crane operator, ROV operator, Humvee driver, signaler avatar, slinger avatar, instructor avatar, operator avatar.

To add a role:

  1. Select Simulation in the Toolbox.
  2. Double-click Role to add one.
  3. In the role's Properties panel, enter a name for the role.
  4. To add an extension to the role, click Add Extension; then click an extension in the Explorer view, followed by the button.
If a role appears grayed out and in italics in the Explorer panel, then it is not currently enabled.


A seat represents a software node or multiple software nodes that are coupled together along with hardware devices to provide a simulation experience to one user.

A seat refers to a physical location on the simulator, e.g., the operator's chair and its associated hardware. A seat can only contain modules that exist in the current Application Setup (.vxc) file.

The concept of seats allows the use of different controls on one or more specific nodes, thus allowing the assignment of different roles to a specific seat, while keeping the same communication with the hardware. For example, a motion platform is controlled by its module, which needs to be added to the seat. The motion platform will always be present physically, whatever the role applied to the seat.

To create a seat:

  1. From the Vortex Studio Home page, click Open. Open the setup file player.vxc; the default location is C:/CM Labs/Vortex Studio X.x/resources/config where X.x is the version number.
  2. Select Basics in the Toolbox.
  3. Double-click Seat to add a seat to the Explorer panel. Give it an appropriate name via its Properties panel.
  4. Select Modules from the Toolbox, and double-click modules that you want to add to seats in order to include them in the Explorer panel.
  5. Select the seat in the Explorer panel.
    1. In its Properties panel, under Modules, click the + button.
    2. Drag the desired module from the Explorer panel into the newly added row.
    3. Repeat this process to add more modules if necessary.
  6. Select a seat in the Explorer panel.
    1. In its Properties panel, under Devices, click the + button.
    2. Drag the desired device from the Explorer panel into the newly added row.
    3. Repeat this process to add more devices if necessary. (See Tandem Simulators.)
  7. In the seat parameters, you can select to automatically apply the first role loaded (Apply First Role checkbox) in the seat or set a list of "preferred roles" in order of preference. Those two options are mutually exclusive: if Apply First Role is set, the Preferred Roles list is ignored. If none of this selection logic is applicable, then a seat can be assigned to a role later by code or using the Vortex Studio Player role and seat interface.
  8. If you do want to create a list of preferred roles, press the + button in the Preferred Roles section of the Properties panel to create a list of the roles expected to be in the content of the simulator. The name of each role should be <role owner name>.<role name> (e.g., Tank.Gunner, Tank.Driver, Scene.Instructor).
  9. Save the file.

In the Player, you will see the new seat ("Viewer") and the default "Desktop" seat. You can now select a role to the seats.

You can also create additional viewpoints that can be assigned a camera or role.
See also
Setup User Guide