1. SynergyXR Knowledge Base
  2. SynergyXR Procedure Builder

What are Operations in a Procedure?

Get an overview of all Operations in Procedures and how they determine what a user must do to proceed through a Procedure.

Introduction

Users can add Steps using either the blue ‘+’ at the bottom of a step group, or by accessing the Step menu by clicking the 3-dot menu on the top-right side of each Step. The user has the option to "Add step before" or "Add step after" from this menu. In addition, users can select "Play from step" to test the Procedure starting from the selected Step instead of having to "Play from start". Finally, users can delete a Step through this menu:

Each Step contains at least one Operation that defines what the trainee must do to complete the Step and proceed to the next Step in the Procedure. In case more than one Operation is defined in a Step, the trainee must complete all the Operations but can do so in any arbitrary order.
SynergyXR provides the following Operations:

Grab and place

Useful when the trainee must pick up an object and place it somewhere else. This operation can be used to re-parent objects, which is useful if the placement should result in the two objects being attached – in an assembly operation for example.

The following parameters can be set by the user:

  • Object: The object the trainee must grab and place somewhere else. Drag and drop a reference to this object from the Object hierarchy.
  • New parent: Defines the new parent of the "Object". The Operation will result in the "Object" becoming a child object to the "New parent" object.
  • Place at original position: Places the "Object" back at the position it was original placed in the scene. Can be used as an alternative to defining a "New parent" and adjusting "Position" and "Rotation" – useful when making an assembly training: import the complete assembled model – disassemble use object using the "Transform object" Actions on each individual object – and then define a series of Steps asking the trainee to assemble the model using "Grab and place" with this parameter set.
  • Position: The position relative to the "New parent". Used to adjust the position of the "Object" – either by typing numbers directly into the input field or by dragging the 3D gizmo in the scene.
  • Rotation: The rotation relative to the "New parent". Used to adjust the rotation of the "Object" – either by typing numbers directly into the input field or by dragging the 3D gizmo in the scene.

There are also a few noteworthy parameters hidden under the "Show more" button:

  • Operation Override Settings: Allows users to override the default settings for guidance. These changes only apply for the individual Step where they are defined. For changes across Steps, use the Operation called "Override Settings":
    • Object highlight: Normally this setting is set to "show". If changing to "hide" the geometry highlight of the object at its starting location is hidden. This highlight is only shown if the “Object Indicator Ring” is set to "hide".
    • Object indicator ring: Normally this is set to "show". If set to "hide" the ring indicator of the Object is hidden.
    • Destination highlight: Normally this is set to "show". If set to "hide" the Object destination of the object will be hidden.
    • Destination line: Normally this is set to "show". If set to "hide" the line between the Object and the Object destination location is hidden.
    • Highlights visible through geometry: Normally this is set to "false". If changing to "true", the trainee experiences x-ray vision so all highlights are shown through other objects.
  • Release anywhere: Allows the trainee to release the grabbed "Object" anywhere. This can be useful if the specific destination position is not important.
  • Socket size: In a Procedure, a "Socket" is the area within which you need to drop the Object for it to snap into place. Using this parameter, users can adjust the size of the "Socket" to make it either smaller requiring even more precise "Grab and place" Operations, or larger to make it easier for trainees to complete the Operation.
  • Socket offset position: Used to offset the position of the "Socket" a bit to make it easier to drop the Object correctly. It is not advised to move the "Socket" away from the drop position – only adjust it slightly.
  • Socket offset rotation: Used to offset the rotation of the "Socket" a bit to make it easier to drop the Object correctly.
  • Non-VR rotation: Used to rotate the Object for a better visual orientation on 2D devices like PC and iPhone. Copy-paste values from the "Rotation" parameter for a good starting point. A white ghost outline of the Object is shown to guide the user in setting this parameter appropriately.

Look at

Useful when the trainee must look at an object for a specific period of time – for example when checking a warning light. The following parameters can be set by the user:

  • Target: The Object that the trainee must look at.

There are also a few noteworthy parameters hidden under the "Show more" button:

  • Duration: Define the duration in seconds, the trainee must keep looking at the Object. This overrides the default 1 second duration.
  • Highlight offset: Enables the user to move the position of the highlight ring to target the specific point the trainee must look at.
  • Progress indicator height offset: A progress indicator with an icon of an eye is always placed above the highlight ring. This parameter allows the user to adjust the height of the ring.

Move inside area

Useful when the trainee must move inside an area or 3D volume in the scene. This Operation is often used in Events for example to trigger danger zones the trainee should not walk into during the Procedure.

The following parameters can be set by the user:

  • Target: Defines the target collider the trainee must walk into. N.B. the parent Target Reference of the collider should have the Layer setting "Ignore collisions".

There are also a few noteworthy parameters hidden under the "Show more" button:

  • Area is outside target: Allows the user to define the inverse area of the Target. Useful when defining the "Deactivate operation" of an Event.

Move or rotate object

Useful when the trainee must perform an axis-constraint move or rotate of an object. Useful when rotating a valve or sliding a handle. The following parameters can be set by the user:

  • Object: Defines the object the trainee must grab and either move or rotate.
  • Mode: Choose between "Move" and "Rotate". Combinations are currently not supported.
  • Rotation type: Choose between ‘Wrist’ (trainee only need to rotate their wrist) and ‘Drag’ (trainee must rotate an object around a pivot point). This parameter is only valid if ‘Mode: Rotation’ is selected.
  • Axis: Defines the axis the object move must be performed along or the axis the object must be rotated around.
  • Distance: How far (in cm) the object must be moved for "Mode: Move", or the number of degrees the object must be rotated for "Mode: Rotate".
  • Hand pose type: Defines how the trainee’s VR hand is animated when performing the Operation. Choose between "idle", "point", "pinch suggest", "pinch", "grab suggest", "grab", "grab pen", "grab eraser", "grab laser pointer" and "grab tablet".
There are also a few noteworthy parameters hidden under the "Show more" button:
  • Dead zone: Allows the trainee to complete the operation without reaching the far end of the Distance. If releasing the move or drag after moving or rotating the Object at least the defined "Distance" minus the defined "Dead zone", the Operation is completed.
  • On progress actions: Allows the user to setup an Action that will progress based on the progress of this Operation. E.g., where the trainee is asked to rotate the handle of a vertical drill, the "On progress action" can be a "Translate object" Action moving the vertical drill synchronous with the handle being rotated.

Move to

Useful when the trainee must move to a specific position in the scene. The following parameters can be set by the user:

  • Position: The position in the 3D scene the user must move to. This is shown by a bright glowing beacon.
There are also a few noteworthy parameters hidden under the ‘Show more’ button:
  • Diameter: The user can change the diameter of the beacon. This changes both the visual representation, and the precision with which the trainee must move to the Position – the trainee must be inside the Diameter to complete this Operation.

Override settings

Enables the user to override the default settings regarding highlighting and guidance visibility in other Operations. This Operation allows for the same parameters to be set as the Operation Override Settings of individual Operations as described in "Grab and place" Operation.

These new settings persist for the duration of the Procedure or until changed again in a subsequent "Override settings" Operation.

This is the only Operation where the user is not asked to make any interactions. The settings are applied automatically, and the Procedure proceeds to the next Step.

Press

Useful when the trainee must press a button, or for simple interaction-based triggers. The following parameters can be set by the user:

  • Target: Defines the object the trainee must interact with. This can be a button, a door handle, or anything that makes sense for the Procedure.
  • Hand pose: Defines how the trainee’s VR hand is animated when performing the press Operation. Choose between: "idle", "point", "pinch suggest", "pinch", "grab suggest", "grab", "grab pen", "grab eraser", "grab laser pointer" and "grab tablet".

There are also a few noteworthy parameters hidden under the "Show more" button:

  • Duration: Defines how long (in seconds) the trainee must press the Target. This overrides the default 0 second duration.
  • Press type: Defines how the trainee must press the button:
    • Press: Requires the trainee to use the trigger button on the VR controller to confirm the press Operation.
    • Touch: Requires the trainee’s hand to intersect with the Object to confirm the press Operation.
    • Press or touch: Gives the trainee the freedom to either press or touch the Object to conform to the press Operation.
    • Grab: Requires the trainee to use the grab button on the VR controller to confirm the press Operation.
    • Distance press: Allows the trainee to confirm the press Operation from a distance. The Distance parameter should be set alongside this option.
  • Axis: Defines the axis the Object must be pressed.
  • Distance: Defines the distance the Object must be pressed. When used in combination with the Axis parameter, the Object will automatically be animated when the trainee presses it – without using a separate Action like the "Transform object".

Reach inside area

Useful when the trainee must reach inside an area. Often used to model errors using Events. Only relevant on platforms tracking the trainee’s hands, e.g., VR. On non-VR platforms, this Operation falls back to the "Move inside area" Operation.

The following parameters can be set by the user:

  • Target: Defines the target collider the trainee must reach into with their hands.
    N.B. the parent Target Reference of the collider should have the Layer setting "Ignore collisions".

There are also a few noteworthy parameters hidden under the "Show more" button:

  • Both hands: The trainee must reach inside the Target with both hands at the same time to complete this Operation.
  • Area is outside target: Allows the user to define the inverse area of the Target. Useful when defining the "Deactivate operation" of an Event.

Use tool

Useful when the trainee must pick up a tool and use it on an object in the scene. The following parameters can be set by the user:

  • Tool: Defines the tool object that the trainee must pick up and use on the Target.
  • Target: Defines the object that the trainee must use the Tool on.
  • Position: The position of the Tool when used on the Target. This parameter is used to adjust the position of the Tool – either by typing numbers directly into the input field or by dragging the 3D gizmo in the scene.
  • Rotation: The rotation of the Tool when used on the Target. This parameter is used to adjust the rotation of the Tool – either by typing numbers directly into the input field or by dragging the 3D gizmo in the scene.
  • Progress indicator height: Adjust the height of the progress indicator icon shown above the Position.
  • Progress indicator icon: Set the icon shown in the progress indicator. Choose between "eye", "hammer", "screwdriver", "wrench", "liquid", "pen", "clean", "hold", "image documentation", "inspect", "location", "press", "send mail", "verbal documentation", "wait timer", "writing document", "measurement" and "key".

There are also a few noteworthy parameters hidden under the "Show more" button:

  • Duration: Defines how long (in seconds) the trainee must hold the Tool on the Target. This overrides the default 1 second duration.
  • Non-VR rotation: Defines the rotation of the Tool when used on the Target on a non-VR platform to ensure the interaction looks more realistic.

Wait

Useful when the trainee must wait for a specific period of time. The following parameters can be set by the user:

  • Wait for: Defines what the trainee must wait for. Choose between "Voice guidance" or "Duration". If "Voice guidance" is chosen, the Operation is automatically completed once the voice guidance has been played for the trainee.
  • Duration: Defines how long (in seconds) the trainee must wait. Only relevant if "Duration" is selected in the "Wait for" parameter.