# Training Builder Menu

**Training Builder** is a **visual** tool that allows VR Experience designers to control the logic in the VR Experience without the need to write any code.  
  
**Training Builder** allows the user to link an **Event** with **Response**(s)  
  
An **Event** is fired when something happens in the experience, for example when the user clicks on a specific object, or when an object collides with another object. A **Response** is a reaction the VR Experience should do when an **Event** takes place.

For example, when the user clicks on Globe Object (Earth\_geo) Scene Node in the Node Triggered **Event**, it starts the rotation sequence (Play Sequence) **Response**, as shown in the following image;

[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2024-01/scaled-1680-/G4pimage.png)](https://simlab-soft.com/help/uploads/images/gallery/2024-01/G4pimage.png)

There is no limit to the number of elements in **Training Builder**. The user can add as many elements as needed in diagrams.   
Each Diagram can have up to 300 elements to keep things organized for big projects. For small projects one diagram should be enough, for larger projects the user needs to organize work by keeping up to 300 elements in each diagram.

  
<span style="text-decoration: underline;">**<span style="color: #0000ff; text-decoration: underline;">[Creating your first VR experience](https://simlab-soft.com/help/link/43#bkmrk-page-title) </span>**</span>can serve as a good first interaction with the **Training Builder** to see it in action:

<iframe allowfullscreen="allowfullscreen" height="314" src="//www.youtube.com/embed/5jt3btClddQ" width="560"></iframe>

  
  
The following video provides more details about using **Training Builder:**   
  
<iframe allowfullscreen="allowfullscreen" height="314" src="//www.youtube.com/embed/vKIfpe1q-K4" width="560"></iframe>

  
  
<span style="color: #3366ff;">[**<span style="text-decoration: underline;">SimLab Academy</span>**](https://youtu.be/IxnOLrPTav0)</span> (in the **Library** panel) under **VR Creation** includes a section dedicated for **Training Builder** tutorials.

[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2023-12/scaled-1680-/r1jimage.png)](https://simlab-soft.com/help/uploads/images/gallery/2023-12/r1jimage.png)

### Variables and Expressions

Using **Training Builder** enables users to add variables and use them in creating VR Experiences. Check this <span style="text-decoration: underline; color: #0000ff;">**[tutorial](https://youtu.be/vKIfpe1q-K4?t=901)**</span> about using variables in Training Builder.

Supported variables are of the following types:

**String Variable:** Stores object names, message data, ..etc  
**Number Variable:** Supports both integer and float numbers. Can be used for calculating, and storing values  
**Time Variable:** Can save time at any stage of the VR Experience

#### String Variables

The initial value can be set to any string in the variable editor in the training builder.  
When used in **Change Variable** response, the string should be surrounded by single quotations **(' ')**

Expression-supported operations include adding strings and substring

#### Number Variables

Initial Value can be set to any float or integer numbers, the following operations are supported for number variables  
**Increment:** Adds one to the current value  
**Decrement:** Subtracts one from the current value  
**Time Difference:** Calculates the difference in seconds (up millisecond precision) between two-time variables  
**Expression:** large number of expressions are supported, list of supported expressions can be found in the following <span style="text-decoration: underline;"><span style="color: #3366ff;">**[link](https://www.simlab-soft.com/3d-products/vr-expressions.aspx?utm_source=Composer&utm_medium=Tooltips&utm_campaign=Tooltips)**</span></span>, The following tutorial shows how expressions can be used in **Training Builder**

<iframe allowfullscreen="allowfullscreen" height="314" src="//www.youtube.com/embed/6hIvMsl5obs" width="560"></iframe>

#### Time Variables

The initial value for all time variables is set to the start time of the VR Experience, at any point of the VR Experience the user can capture the current time and store it in a time variable

#### Variable writer

This tool enables the user to track the value of a variable in the VR Experience

The value of the variable is updated dynamically, so whenever the variable value changes the variable writer will be updated to show the new value of the variable. **Variable Writer** is available under the <span style="color: rgb(35, 111, 161);">**<span style="text-decoration: underline;">[VR Effects Menu](https://simlab-soft.com/help/books/simlab-vr-studio-help/page/vr-effects-media-menu#:~:text=bkmrk%2Dpage%2Dtitle-,VR%20Effects%20/%20Media%20Menu,-This%20menu%20allows)</span>**</span>.

The user can control its size, and place, so it can be aligned on a wall in the scene or on a monitor, user selects which variable to view, the color of the text, and the prefix text.

### Create/Edit Variables

Variables can be created and edited by clicking the **Edit Variables** button at the top right part of the **Training Builder.** It allows the user to view/ delete/ change the initial values of existing variables, or create new variables.

Clicking '+' at the top right corner of the **Edit Variables and Initial Values** dialog will add a new variable. The user can click to change the name of the variable, select its type from the combo box, and set its initial value.

[![image-1640786112008.png](https://simlab-soft.com/help/uploads/images/gallery/2021-12/scaled-1680-/image-1640786112008.png)](https://simlab-soft.com/help/uploads/images/gallery/2021-12/image-1640786112008.png)

#### Inputs

Inputs are entities used as triggers for actions in the **Training Builder** diagram. For example, if multiple nodes in the diagram use a **Scene Node**, it can be used as input and be connected to multiple blocks. Updating the input once will be reflected on all blocks using this input.

[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2023-12/scaled-1680-/x5Oimage.png)](https://simlab-soft.com/help/uploads/images/gallery/2023-12/x5Oimage.png)

<table border="1" id="bkmrk-%C2%A0-inputs-list-%C2%A0-%C2%A0-%C2%A0-" style="border-collapse: collapse; width: 100%; height: 726px;"><tbody><tr style="height: 30px;"><td class="align-center" style="width: 2.6235%; height: 30px;">Icons</td><td class="align-center" style="width: 19.9075%; height: 30px;">Inputs Name</td></tr><tr style="height: 53px;"><td class="align-center" style="width: 2.6235%; height: 53px;">[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2022-09/scaled-1680-/mAsimage.png)](https://simlab-soft.com/help/uploads/images/gallery/2022-09/mAsimage.png)

</td><td class="align-center" style="width: 19.9075%; height: 53px;">Sequence</td></tr><tr style="height: 29px;"><td class="align-center" style="width: 2.6235%; height: 29px;">[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2022-09/scaled-1680-/rU3image.png)](https://simlab-soft.com/help/uploads/images/gallery/2022-09/rU3image.png)

</td><td class="align-center" style="width: 19.9075%; height: 29px;">Scene State</td></tr><tr style="height: 29px;"><td class="align-center" style="width: 2.6235%; height: 29px;">[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2022-09/scaled-1680-/Uc1image.png)](https://simlab-soft.com/help/uploads/images/gallery/2022-09/Uc1image.png)

</td><td class="align-center" style="width: 19.9075%; height: 29px;">Scene Node (object)</td></tr><tr style="height: 29px;"><td class="align-center" style="width: 2.6235%; height: 29px;">[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2022-09/scaled-1680-/B2Iimage.png)](https://simlab-soft.com/help/uploads/images/gallery/2022-09/B2Iimage.png)

</td><td class="align-center" style="width: 19.9075%; height: 29px;">String</td></tr><tr style="height: 29px;"><td class="align-center" style="width: 2.6235%; height: 29px;">[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2022-09/scaled-1680-/7afimage.png)](https://simlab-soft.com/help/uploads/images/gallery/2022-09/7afimage.png)

</td><td class="align-center" style="width: 19.9075%; height: 29px;">Variable</td></tr><tr style="height: 29px;"><td class="align-center" style="width: 2.6235%; height: 29px;">[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2022-09/scaled-1680-/Cx8image.png)](https://simlab-soft.com/help/uploads/images/gallery/2022-09/Cx8image.png)

</td><td class="align-center" style="width: 19.9075%; height: 29px;">Action</td></tr><tr style="height: 29px;"><td class="align-center" style="width: 2.6235%; height: 29px;">[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2022-09/scaled-1680-/nefimage.png)](https://simlab-soft.com/help/uploads/images/gallery/2022-09/nefimage.png)

</td><td class="align-center" style="width: 19.9075%; height: 29px;">Boolean</td></tr><tr><td style="width: 2.6235%;">[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2023-12/scaled-1680-/vHoimage.png)](https://simlab-soft.com/help/uploads/images/gallery/2023-12/vHoimage.png)

</td><td class="align-center" style="width: 19.9075%;">Hand</td></tr></tbody></table>

#### Events

Events are triggered when something happens in the VR Experience.

[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2023-12/scaled-1680-/5NNimage.png)](https://simlab-soft.com/help/uploads/images/gallery/2023-12/5NNimage.png)

The following image shows how to use **Scene Start** Event, which takes place as soon as the VR Experience starts, to play Sound Action **Response**.

[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2024-01/scaled-1680-/CGZimage.png)](https://simlab-soft.com/help/uploads/images/gallery/2024-01/CGZimage.png)

<table border="1" id="bkmrk-icons-events-name-sc" style="border-collapse: collapse; width: 100%; height: 981.487px;"><tbody><tr style="height: 33.9125px;"><td class="align-center" style="width: 1.23457%; height: 33.9125px;">Icons</td><td class="align-center" style="width: 13.8119%; height: 33.9125px;">Events Name</td></tr><tr style="height: 62.1875px;"><td class="align-center" style="width: 1.23457%; height: 62.1875px;">[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2022-09/scaled-1680-/H2himage.png)](https://simlab-soft.com/help/uploads/images/gallery/2022-09/H2himage.png)

</td><td class="align-center" style="width: 13.8119%; height: 62.1875px;">Scene Start</td></tr><tr style="height: 66.2125px;"><td class="align-center" style="width: 1.23457%; height: 66.2125px;">[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2022-09/scaled-1680-/gl8image.png)](https://simlab-soft.com/help/uploads/images/gallery/2022-09/gl8image.png)

</td><td class="align-center" style="width: 13.8119%; height: 66.2125px;">Scene State Applied</td></tr><tr style="height: 65.15px;"><td class="align-center" style="width: 1.23457%; height: 65.15px;">[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2022-09/scaled-1680-/xTeimage.png)](https://simlab-soft.com/help/uploads/images/gallery/2022-09/xTeimage.png)

</td><td class="align-center" style="width: 13.8119%; height: 65.15px;">Sequence Ended</td></tr><tr style="height: 66.2125px;"><td class="align-center" style="width: 1.23457%; height: 66.2125px;">[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2022-09/scaled-1680-/5t3image.png)](https://simlab-soft.com/help/uploads/images/gallery/2022-09/5t3image.png)

</td><td class="align-center" style="width: 13.8119%; height: 66.2125px;">Node Entered Node</td></tr><tr style="height: 66.2125px;"><td class="align-center" style="width: 1.23457%; height: 66.2125px;">[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2022-09/scaled-1680-/5A1image.png)](https://simlab-soft.com/help/uploads/images/gallery/2022-09/5A1image.png)

</td><td class="align-center" style="width: 13.8119%; height: 66.2125px;">Node Exited Node</td></tr><tr style="height: 72.1125px;"><td style="width: 1.23457%; height: 72.1125px;">[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2023-12/scaled-1680-/6WPimage.png)](https://simlab-soft.com/help/uploads/images/gallery/2023-12/6WPimage.png)

</td><td class="align-center" style="width: 13.8119%; height: 72.1125px;">Hand Entered Node</td></tr><tr style="height: 74.675px;"><td style="width: 1.23457%; height: 74.675px;">[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2023-12/scaled-1680-/5SNimage.png)](https://simlab-soft.com/help/uploads/images/gallery/2023-12/5SNimage.png)

</td><td class="align-center" style="width: 13.8119%; height: 74.675px;">Hand Exited Node</td></tr><tr style="height: 68.15px;"><td style="width: 1.23457%; height: 68.15px;">[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2023-12/scaled-1680-/prvimage.png)](https://simlab-soft.com/help/uploads/images/gallery/2023-12/prvimage.png)

</td><td class="align-center" style="width: 13.8119%; height: 68.15px;">Voice Command Recognizer </td></tr><tr style="height: 64.15px;"><td class="align-center" style="width: 1.23457%; height: 64.15px;">[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2022-09/scaled-1680-/7Kyimage.png)](https://simlab-soft.com/help/uploads/images/gallery/2022-09/7Kyimage.png)

</td><td class="align-center" style="width: 13.8119%; height: 64.15px;">Node Triggered</td></tr><tr style="height: 63.15px;"><td class="align-center" style="width: 1.23457%; height: 63.15px;">[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2022-09/scaled-1680-/wvKimage.png)](https://simlab-soft.com/help/uploads/images/gallery/2022-09/wvKimage.png)

</td><td class="align-center" style="width: 13.8119%; height: 63.15px;">Node Grab Started</td></tr><tr style="height: 64.15px;"><td class="align-center" style="width: 1.23457%; height: 64.15px;">[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2022-09/scaled-1680-/GVAimage.png)](https://simlab-soft.com/help/uploads/images/gallery/2022-09/GVAimage.png)

</td><td class="align-center" style="width: 13.8119%; height: 64.15px;">Node Grab Ended</td></tr><tr style="height: 66.1625px;"><td class="align-center" style="width: 1.23457%; height: 66.1625px;">[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2022-09/scaled-1680-/fLLimage.png)](https://simlab-soft.com/help/uploads/images/gallery/2022-09/fLLimage.png)

</td><td class="align-center" style="width: 13.8119%; height: 66.1625px;">Delay</td></tr><tr style="height: 67.15px;"><td style="width: 1.23457%; height: 67.15px;">[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2022-09/scaled-1680-/Nrnimage.png)](https://simlab-soft.com/help/uploads/images/gallery/2022-09/Nrnimage.png)

</td><td class="align-center" style="width: 13.8119%; height: 67.15px;">Grip Pressed</td></tr><tr><td style="width: 1.23457%;">[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2023-12/scaled-1680-/ru8image.png)](https://simlab-soft.com/help/uploads/images/gallery/2023-12/ru8image.png)

</td><td class="align-center" style="width: 13.8119%;">Hand Entered Hand</td></tr><tr><td style="width: 1.23457%;">[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2023-12/scaled-1680-/vjCimage.png)](https://simlab-soft.com/help/uploads/images/gallery/2023-12/vjCimage.png)

</td><td class="align-center" style="width: 13.8119%;">Hand Exited Hand</td></tr><tr><td style="width: 1.23457%;">[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2023-12/scaled-1680-/uxTimage.png)](https://simlab-soft.com/help/uploads/images/gallery/2023-12/uxTimage.png)

</td><td class="align-center" style="width: 13.8119%;">Voice Command Test</td></tr></tbody></table>

To learn more about Grip Press event check this **<span style="text-decoration: underline;">[tutorial](https://youtu.be/2-m_s1rwrLc)</span>**.

#### Responses

Responses are defined reactions to events. To link a **Response** to an event, the user needs to simply connect the Execute channel from the **Event** to the Execute channel of a **Response.** The user can connect the output Execute channel from a Response to the input Execute channel of another response to guarantee the order of execution and to link multiple responses to an **Event.**

[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2023-12/scaled-1680-/KLqimage.png)](https://simlab-soft.com/help/uploads/images/gallery/2023-12/KLqimage.png)

The diagram below shows responses for clicking on an object (Node Triggered)  
1- Play a Sequence  
2- Wait for 2 seconds  
3- Hide an object from the scene

[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2024-01/scaled-1680-/nzximage.png)](https://simlab-soft.com/help/uploads/images/gallery/2024-01/nzximage.png)

<table border="1" id="bkmrk-icons-responses-list" style="border-collapse: collapse; width: 100%; height: 1728.66px;"><tbody><tr style="height: 34.0909px;"><td class="align-center" style="width: 8.89981%; height: 34.0909px;">Icons</td><td class="align-center" style="width: 91.0995%; height: 34.0909px;">Responses List</td></tr><tr style="height: 69.0767px;"><td class="align-center" style="width: 8.89981%; height: 69.0767px;">[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2022-09/scaled-1680-/mjUimage.png)](https://simlab-soft.com/help/uploads/images/gallery/2022-09/mjUimage.png)

</td><td class="align-center" style="width: 91.0995%; height: 69.0767px;">Apply Scene State</td></tr><tr><td style="width: 8.89981%;">[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2022-09/scaled-1680-/KSNimage.png)](https://simlab-soft.com/help/uploads/images/gallery/2022-09/KSNimage.png)

</td><td class="align-center" style="width: 91.0995%;">Change Node Grabbable State</td></tr><tr style="height: 74.2045px;"><td class="align-center" style="width: 8.89981%; height: 74.2045px;">[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2022-09/scaled-1680-/TiKimage.png)](https://simlab-soft.com/help/uploads/images/gallery/2022-09/TiKimage.png)

</td><td class="align-center" style="width: 91.0995%; height: 74.2045px;">Play Sequence</td></tr><tr><td style="width: 8.89981%;">[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2022-09/scaled-1680-/IVAimage.png)](https://simlab-soft.com/help/uploads/images/gallery/2022-09/IVAimage.png)

</td><td class="align-center" style="width: 91.0995%;">Stop Sequence</td></tr><tr style="height: 72.5284px;"><td class="align-center" style="width: 8.89981%; height: 72.5284px;">[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2022-09/scaled-1680-/MFQimage.png)](https://simlab-soft.com/help/uploads/images/gallery/2022-09/MFQimage.png)

</td><td class="align-center" style="width: 91.0995%; height: 72.5284px;">Show/Hide

</td></tr><tr><td style="width: 8.89981%;">[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2022-09/scaled-1680-/DJwimage.png)](https://simlab-soft.com/help/uploads/images/gallery/2022-09/DJwimage.png)

</td><td style="width: 91.0995%;">Show Message Box

</td></tr><tr style="height: 67.8693px;"><td class="align-center" style="width: 8.89981%; height: 67.8693px;">[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2022-09/scaled-1680-/KHIimage.png)](https://simlab-soft.com/help/uploads/images/gallery/2022-09/KHIimage.png)

</td><td class="align-center" style="width: 91.0995%; height: 67.8693px;">Teleport to Camera</td></tr><tr><td style="width: 8.89981%;">[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2022-09/scaled-1680-/jcaimage.png)](https://simlab-soft.com/help/uploads/images/gallery/2022-09/jcaimage.png)

</td><td class="align-center" style="width: 91.0995%;">Change Node Action</td></tr><tr style="height: 69.0767px;"><td class="align-center" style="width: 8.89981%; height: 69.0767px;">[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2022-09/scaled-1680-/WdZimage.png)](https://simlab-soft.com/help/uploads/images/gallery/2022-09/WdZimage.png)

</td><td class="align-center" style="width: 91.0995%; height: 69.0767px;">Sound Action</td></tr><tr><td style="width: 8.89981%;">[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2022-09/scaled-1680-/dZ0image.png)](https://simlab-soft.com/help/uploads/images/gallery/2022-09/dZ0image.png)

</td><td class="align-center" style="width: 91.0995%;">Video Action</td></tr><tr style="height: 68.9915px;"><td style="width: 8.89981%; height: 68.9915px;">[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2022-09/scaled-1680-/mIBimage.png)](https://simlab-soft.com/help/uploads/images/gallery/2022-09/mIBimage.png)

</td><td class="align-center" style="width: 91.0995%; height: 68.9915px;">Report user-defined measurement</td></tr><tr><td style="width: 8.89981%;">[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2022-09/scaled-1680-/G9Simage.png)](https://simlab-soft.com/help/uploads/images/gallery/2022-09/G9Simage.png)

</td><td class="align-center" style="width: 91.0995%;">Active Quiz/Survey </td></tr><tr style="height: 67.7841px;"><td style="width: 8.89981%; height: 67.7841px;">[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2022-09/scaled-1680-/HLAimage.png)](https://simlab-soft.com/help/uploads/images/gallery/2022-09/HLAimage.png)

</td><td class="align-center" style="width: 91.0995%; height: 67.7841px;">Change Equipment State</td></tr><tr><td style="width: 8.89981%;">[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2022-09/scaled-1680-/ImEimage.png)](https://simlab-soft.com/help/uploads/images/gallery/2022-09/ImEimage.png)

</td><td class="align-center" style="width: 91.0995%;">Change Grabbable Sequence </td></tr><tr><td style="width: 8.89981%;">[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2023-12/scaled-1680-/L72image.png)](https://simlab-soft.com/help/uploads/images/gallery/2023-12/L72image.png)

</td><td class="align-center" style="width: 91.0995%;">Enable/Disable Physics</td></tr><tr><td style="width: 8.89981%;">[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2023-12/scaled-1680-/ByIimage.png)](https://simlab-soft.com/help/uploads/images/gallery/2023-12/ByIimage.png)

</td><td class="align-center" style="width: 91.0995%;">Vibrate Controller</td></tr><tr><td style="width: 8.89981%;">[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2022-09/scaled-1680-/Uxwimage.png)](https://simlab-soft.com/help/uploads/images/gallery/2022-09/Uxwimage.png)

</td><td class="align-center" style="width: 91.0995%;">Advanced Change Variable Value</td></tr><tr style="height: 65.2273px;"><td class="align-center" style="width: 8.89981%; height: 65.2273px;">[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2022-09/scaled-1680-/UCjimage.png)](https://simlab-soft.com/help/uploads/images/gallery/2022-09/UCjimage.png)

</td><td class="align-center" style="width: 91.0995%; height: 65.2273px;">Branch (Checks value, if true follows one path, if false follows the other)</td></tr><tr style="height: 63.2244px;"><td class="align-center" style="width: 8.89981%; height: 63.2244px;">[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2022-09/scaled-1680-/jZWimage.png)](https://simlab-soft.com/help/uploads/images/gallery/2022-09/jZWimage.png)

</td><td class="align-center" style="width: 91.0995%; height: 63.2244px;">Get Attribute Value</td></tr><tr style="height: 63.2244px;"><td class="align-center" style="width: 8.89981%; height: 63.2244px;">[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2022-09/scaled-1680-/omcimage.png)](https://simlab-soft.com/help/uploads/images/gallery/2022-09/omcimage.png)

</td><td class="align-center" style="width: 91.0995%; height: 63.2244px;">Set Attribute Value</td></tr><tr style="height: 68.2244px;"><td class="align-center" style="width: 8.89981%; height: 68.2244px;">[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2022-09/scaled-1680-/Ea1image.png)](https://simlab-soft.com/help/uploads/images/gallery/2022-09/Ea1image.png)

</td><td class="align-center" style="width: 91.0995%; height: 68.2244px;">Glow Object</td></tr><tr style="height: 68.2244px;"><td class="align-center" style="width: 8.89981%; height: 68.2244px;">[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2022-09/scaled-1680-/8daimage.png)](https://simlab-soft.com/help/uploads/images/gallery/2022-09/8daimage.png)

</td><td class="align-center" style="width: 91.0995%; height: 68.2244px;">Un-glow Object</td></tr><tr style="height: 68.2244px;"><td class="align-center" style="width: 8.89981%; height: 68.2244px;">[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2022-09/scaled-1680-/3PAimage.png)](https://simlab-soft.com/help/uploads/images/gallery/2022-09/3PAimage.png)

</td><td class="align-center" style="width: 91.0995%; height: 68.2244px;">Point To Object</td></tr><tr style="height: 68.2244px;"><td class="align-center" style="width: 8.89981%; height: 68.2244px;">[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2022-09/scaled-1680-/oFnimage.png)](https://simlab-soft.com/help/uploads/images/gallery/2022-09/oFnimage.png)

</td><td class="align-center" style="width: 91.0995%; height: 68.2244px;">Remove Point To Object</td></tr><tr style="height: 68.2244px;"><td class="align-center" style="width: 8.89981%; height: 68.2244px;">[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2022-09/scaled-1680-/0IGimage.png)](https://simlab-soft.com/help/uploads/images/gallery/2022-09/0IGimage.png)

</td><td class="align-center" style="width: 91.0995%; height: 68.2244px;">Get Position</td></tr><tr style="height: 68.2244px;"><td class="align-center" style="width: 8.89981%; height: 68.2244px;">[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2022-09/scaled-1680-/mizimage.png)](https://simlab-soft.com/help/uploads/images/gallery/2022-09/mizimage.png)

</td><td class="align-center" style="width: 91.0995%; height: 68.2244px;">Set Position</td></tr><tr style="height: 63.2244px;"><td class="align-center" style="width: 8.89981%; height: 63.2244px;">[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2022-09/scaled-1680-/J9Yimage.png)](https://simlab-soft.com/help/uploads/images/gallery/2022-09/J9Yimage.png)

</td><td class="align-center" style="width: 91.0995%; height: 63.2244px;">Fall to Surface</td></tr><tr style="height: 63.2244px;"><td class="align-center" style="width: 8.89981%; height: 63.2244px;">[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2022-09/scaled-1680-/Ma4image.png)](https://simlab-soft.com/help/uploads/images/gallery/2022-09/Ma4image.png)

</td><td class="align-center" style="width: 91.0995%; height: 63.2244px;">Reset Rotation</td></tr><tr><td style="width: 8.89981%;">[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2023-12/scaled-1680-/nERimage.png)](https://simlab-soft.com/help/uploads/images/gallery/2023-12/nERimage.png)

</td><td class="align-center" style="width: 91.0995%;">Set Parent</td></tr><tr><td style="width: 8.89981%;">[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2023-12/scaled-1680-/xfzimage.png)](https://simlab-soft.com/help/uploads/images/gallery/2023-12/xfzimage.png)

</td><td class="align-center" style="width: 91.0995%;">Reset Parent

</td></tr></tbody></table>

To learn more about Vibrate response check this <span style="text-decoration: underline;">**[tutorial](https://youtu.be/2-m_s1rwrLc)**</span>.

#### Booleans

Booleans include two groups **States**, and **Operations.**

[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2022-09/scaled-1680-/trjimage.png)](https://simlab-soft.com/help/uploads/images/gallery/2022-09/trjimage.png)

**States** are similar to events, and the current state can always be gotten from them. For example in the following image, **Objects Overlap** is shown, if the two objects Overlap you get OnTrue execution, as soon as they do not, you get OnFalse execution. The output Boolean value can be checked at any point to see if they are Overlapping on not. OnTrue or OnFlase are **only fired when the state changes.**

[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2022-09/scaled-1680-/e0bimage.png)](https://simlab-soft.com/help/uploads/images/gallery/2022-09/e0bimage.png)

**Operations** allow running Boolean operations on Boolean variables. Supported operations include **And**, **Or,** and **Not**

<table border="1" id="bkmrk-icons-inputs-list-ic" style="border-collapse: collapse; width: 100%; height: 449.709px;"><tbody><tr style="height: 33.7917px;"><td class="align-center" style="width: 7.06793%; height: 33.7917px;">Icons</td><td class="align-center" style="width: 18.6728%; height: 33.7917px;">Booleans List</td></tr><tr style="height: 91.2396px;"><td class="align-center" style="width: 7.06793%; height: 91.2396px;">[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2022-09/scaled-1680-/zcYimage.png)](https://simlab-soft.com/help/uploads/images/gallery/2022-09/zcYimage.png)

</td><td class="align-center" style="width: 18.6728%; height: 91.2396px;">Compare Variable Value</td></tr><tr style="height: 66.2604px;"><td class="align-center" style="width: 7.06793%; height: 66.2604px;">[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2022-09/scaled-1680-/gRPimage.png)](https://simlab-soft.com/help/uploads/images/gallery/2022-09/gRPimage.png)

</td><td class="align-center" style="width: 18.6728%; height: 66.2604px;">Objects Overlap</td></tr><tr style="height: 70.6146px;"><td class="align-center" style="width: 7.06793%; height: 70.6146px;">[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2022-09/scaled-1680-/JFRimage.png)](https://simlab-soft.com/help/uploads/images/gallery/2022-09/JFRimage.png)

</td><td class="align-center" style="width: 18.6728%; height: 70.6146px;">Object is Grabbed</td></tr><tr style="height: 62.9688px;"><td class="align-center" style="width: 7.06793%; height: 62.9688px;">[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2022-09/scaled-1680-/tmsimage.png)](https://simlab-soft.com/help/uploads/images/gallery/2022-09/tmsimage.png)

</td><td class="align-center" style="width: 18.6728%; height: 62.9688px;">And Operation</td></tr><tr style="height: 62.9688px;"><td class="align-center" style="width: 7.06793%; height: 62.9688px;">[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2022-09/scaled-1680-/0kOimage.png)](https://simlab-soft.com/help/uploads/images/gallery/2022-09/0kOimage.png)

</td><td class="align-center" style="width: 18.6728%; height: 62.9688px;">Or Operation</td></tr><tr style="height: 61.8646px;"><td class="align-center" style="width: 7.06793%; height: 61.8646px;">[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2022-09/scaled-1680-/9GUimage.png)](https://simlab-soft.com/help/uploads/images/gallery/2022-09/9GUimage.png)

</td><td class="align-center" style="width: 18.6728%; height: 61.8646px;">Not Operation</td></tr></tbody></table>

#### Templates 

**Training Builder** works great for describing multiple-step training scenarios. But what if the same behavior is repeated for a class of objects? For example, if the user ends up grabbing any of the tools in the training, the response should be for it to fall to the ground, this is when templates are used.

To Create a **Template** diagram in the Training Builder click **Create Template** button at the top right side of the **Training Builder**.

[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2024-01/scaled-1680-/Wphimage.png)](https://simlab-soft.com/help/uploads/images/gallery/2024-01/Wphimage.png)

After clicking **Create Template**, a new **Template Diagram** is added. A template diagram is different from a regular **Training Builder** diagram in its orange background marks, and in Template Scene Node block added to it. This block can not be deleted.

[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2023-12/scaled-1680-/uzcimage.png)](https://simlab-soft.com/help/uploads/images/gallery/2023-12/uzcimage.png)

Template Scene Node block selects a group of Nodes based on a query that can include one or more rows connected with And or Or, as shown in the following image.

  
[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2022-09/scaled-1680-/dNkimage.png)](https://simlab-soft.com/help/uploads/images/gallery/2022-09/dNkimage.png)

Logic connected to the Templet Scene Node block will be applied to each Node that satisfies the selection query, for example in the previous image, each object having "box" in its name, and "wood" in the value of its material attribute will be selected.

The following tutorial shows the power of Template Diagrams in the training builder

<iframe allowfullscreen="allowfullscreen" height="314" src="//www.youtube.com/embed/sG9Uikiv1wI" width="560"></iframe>

### Advanced Features 

#### Copy Part of a Diagram

To repeat the same logic for more than one object (in case templates did not do the job), part of the diagram can be copied. This is done by using the Left Mouse button to highlight the part of the diagram to copy, while the section is highlighted click **CTRL + C** to copy it, then **CTRL + V** to Paste. After that, the Scene Node Object needs to be changed, and any block needs update.

[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2022-09/scaled-1680-/ZXlimage.png)](https://simlab-soft.com/help/uploads/images/gallery/2022-09/ZXlimage.png)

#### Drag/Drop of the Scene

To add inputs like a **Scene State** or a **Sequence,** the following process is used:

1- Click on Sequence from the toolbar  
2- From Sequence Library select the desired Sequence  
3- Click attach Sequence

As shown in the following image

[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2022-09/scaled-1680-/O7Dimage.png)](https://simlab-soft.com/help/uploads/images/gallery/2022-09/O7Dimage.png)

If you know the **Sequence** or the **Scene State** you can directly drag it from the Library and drop it on the **Training Builder**

[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2024-02/scaled-1680-/image.png)](https://simlab-soft.com/help/uploads/images/gallery/2024-02/image.png)

#### Right Mouse

Clicking the Right click in the training builder shows all toolbar elements, organized, so you can add any block without moving the mouse to the toolbar.

[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2024-02/scaled-1680-/i2Eimage.png)](https://simlab-soft.com/help/uploads/images/gallery/2024-02/i2Eimage.png)

You can also click a few characters in the filter to find an element quickly, as shown in the following image:

[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2024-02/scaled-1680-/XAkimage.png)](https://simlab-soft.com/help/uploads/images/gallery/2024-02/XAkimage.png)

#### Attributes 

Attributes can be used with **Training Builder** in many ways:

- They can be used for creating **Template** diagrams
- They can be checked to determine behavior
- They can be used as local variables saved on each object.

It is a good idea to be familiar with attributes to create advanced VR Experiences. To learn more about attributes check the following tutorial:

<iframe allowfullscreen="allowfullscreen" height="314" src="//www.youtube.com/embed/h7VMgtIAOxU" width="560"></iframe>

### Enhancing Medical Training with VR Palpation Simulation

The Training Builder Hand Source and Events for VR medical simulations empowers VR Experience designers with unprecedented control over advanced hand skills training, particularly in processes like patient palpation.

Watch the demonstration in the video below to witness the immersive and customizable experience:

<iframe allowfullscreen="allowfullscreen" height="314" src="https://www.youtube.com/embed/OjLEk3VJd6o" width="560"></iframe>

### Tools to organize Training Builder experience 

<div id="bkmrk-some-users-are-creat">Some users are creating large and complex training, and virtual reality (VR) Experiences using the training builder. To help manage these complex diagrams, the following tools have been provided:</div><div id="bkmrk--20"></div>[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2024-01/scaled-1680-/Lb3image.png)](https://simlab-soft.com/help/uploads/images/gallery/2024-01/Lb3image.png)

<div id="bkmrk-notes%3A-use-notes-to-">**Notes:** Use notes to describe the logic, making it simpler for both you and others to understand and update the training builder diagrams in the future.</div><div id="bkmrk--23">  
</div><div id="bkmrk-groups%3A-you-can-orga">**Groups:** You can organize nodes into groups and give them clear names. This makes it easier to find and update the logic of your training builder.</div><div id="bkmrk--22"></div><div id="bkmrk-search%3A-suppose-you%27">**Search:** Suppose you've improved an animation sequence and want to replace the old one in the training builder. Use the search tool to find all instances of the old sequence and replace them with the new one.</div><div id="bkmrk--24"></div>[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2024-01/scaled-1680-/wZBimage.png)](https://simlab-soft.com/help/uploads/images/gallery/2024-01/wZBimage.png)