# Sources



# Boolean

### [![Boolean_black.png](https://simlab-soft.com/help/uploads/images/gallery/2025-12/scaled-1680-/ykLboolean-black.png)](https://simlab-soft.com/help/uploads/images/gallery/2025-12/ykLboolean-black.png) Boolean

Generates a Boolean (True/False) value. [![image.png](https://simlab-soft.com/help/uploads/images/gallery/2025-12/scaled-1680-/image.png)](https://simlab-soft.com/help/uploads/images/gallery/2025-12/image.png)

# Expression

### [![Source_Expression_blk.png](https://simlab-soft.com/help/uploads/images/gallery/2025-12/scaled-1680-/source-expression-blk.png)](https://simlab-soft.com/help/uploads/images/gallery/2025-12/source-expression-blk.png) Expression<span style="color: rgb(34, 34, 34); font-size: 2.333em; font-weight: 400;"> </span>

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

**Expressions** are used to generated values that can be used to trigger events through out the interactive VR experiences. They allow users to define logic related to interactions and can be categorized into Main Sources and Template Sources. For more details on expressions check this [tutorial](https://www.youtube.com/watch?v=6hIvMsl5obs&t=307s). <span style="font-size: 11.0pt; line-height: 107%; font-family: 'Calibri',sans-serif; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: Arial; mso-bidi-theme-font: minor-bidi; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA;">  
</span>You can find a list of all expressions viable in training builder at this [link](https://www.simlab-soft.com/3d-products/vr-expressions.aspx).

# Material

### [![Source_Material_blk.png](https://simlab-soft.com/help/uploads/images/gallery/2025-12/scaled-1680-/source-material-blk.png)](https://simlab-soft.com/help/uploads/images/gallery/2025-12/source-material-blk.png) Material 

Select a material from Material Library to use as[![image.png](https://simlab-soft.com/help/uploads/images/gallery/2025-12/scaled-1680-/S09image.png)](https://simlab-soft.com/help/uploads/images/gallery/2025-12/S09image.png)

an input in this source.

# Number

### [![Source_Number_blk.png](https://simlab-soft.com/help/uploads/images/gallery/2025-12/scaled-1680-/C6usource-number-blk.png)](https://simlab-soft.com/help/uploads/images/gallery/2025-12/C6usource-number-blk.png) Number 

Input a number and use it as a source in your training builder logic

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

# Scene Node

### [![Source_SceneNode_blk.png](https://simlab-soft.com/help/uploads/images/gallery/2025-12/scaled-1680-/source-scenenode-blk.png)](https://simlab-soft.com/help/uploads/images/gallery/2025-12/source-scenenode-blk.png) Scene Node

# Scene Node Query

[![Source_SceneNodeQuery.png](https://simlab-soft.com/help/uploads/images/gallery/2024-09/source-scenenodequery.png)](https://simlab-soft.com/help/uploads/images/gallery/2024-08/response-value-number-add.png)<span style="color: rgb(34, 34, 34); font-size: 2.333em; font-weight: 400;"> Scene Node Query</span>

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

The **SceneNode Query** enables the system to identify an object based on its attributes within the VR environment. This node enhances interactivity by allowing responses to be customized for individual objects, triggering specific actions based on **SceneNode attributes** as part of their virtual experience.

#### Example

In this example, the **SceneNode Query** is used to acquire specific attributes from specific objects, in order to perform specific response to them

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

Then when user triggers object named **Activate**, and the response connected to the node will be executed to the objects with attribute name **Color** and its value is **Yellow.**

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

# SceneState

### [![Source_SceneState_blk.png](https://simlab-soft.com/help/uploads/images/gallery/2025-12/scaled-1680-/source-scenestate-blk.png)](https://simlab-soft.com/help/uploads/images/gallery/2025-12/source-scenestate-blk.png) SceneState

# Sequence

### [![Source_Sequence_blk.png](https://simlab-soft.com/help/uploads/images/gallery/2025-12/scaled-1680-/source-sequence-blk.png)](https://simlab-soft.com/help/uploads/images/gallery/2025-12/source-sequence-blk.png) Sequence

# String

### [![Source_String_blk.png](https://simlab-soft.com/help/uploads/images/gallery/2025-12/scaled-1680-/source-string-blk.png)](https://simlab-soft.com/help/uploads/images/gallery/2025-12/source-string-blk.png) String

# User Query

### [![Source_UserQuery.png](https://simlab-soft.com/help/uploads/images/gallery/2024-09/source-userquery.png)](https://simlab-soft.com/help/uploads/images/gallery/2024-08/response-value-number-add.png) User Query

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

The **User Query node** enables the system to identify a user based on their attributes within the VR environment. This node enhances interactivity by allowing responses to be customized for individual users, triggering specific actions based on **user attributes** as part of their virtual experience.

#### Example

In this example, the **User Query node** is used to acquire specific attributes from specific users, in order to perform specific response to them

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

Once the User enters the object named **Building**, their InBuilding attribute's value becomes **Yes,** then when user triggers object named **Activate**, the users with attribute name **InBuilding** and its value is **Yes** gets teleported to CameraNode named **Outside**'s location.

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

# Variable

### ![Source_Variable.png](https://simlab-soft.com/help/uploads/images/gallery/2024-09/source-variable.png) Variable

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

The **Variable** **node** represents the value of a specific variable within the scene and features a variable port that can be connected to nodes requiring variable assignment. This node simplifies complex setups by enabling consistent use of variables throughout the scene, ensuring streamlined connections between different elements in the training builder.

![TrainingBuilder_Variable.png](https://simlab-soft.com/help/uploads/images/gallery/2024-09/scaled-1680-/trainingbuilder-variable.png)

[![TrainingBuilder_Variable_01.png](https://simlab-soft.com/help/uploads/images/gallery/2024-09/scaled-1680-/trainingbuilder-variable-01.png)](https://simlab-soft.com/help/uploads/images/gallery/2024-09/trainingbuilder-variable-01.png)

> [Tutorial about **Variable Sorting** on YouTube](https://www.youtube.com/watch?v=amnTY83rDjo "Tutorial about Variable Sorting on YouTube")

# Color

The Color node gives you a single color value that you can feed into any other node that needs a color.

#### What it does

This node provides a color you pick yourself. The node shows the color as a small swatch you can click to open a color picker — a color wheel with RGB, HSV, and HEX entry (HEX codes look like `#C81E1E`). Whatever color you choose becomes the value this node hands out.

It has no Execute flow and nothing needs to fire it — it simply supplies the color value, ready to read at any time. Connect its **Color** output into any node that accepts a color, such as **Set Material Color**.

#### Inputs

This node has no inputs. You don’t connect a color from another node — you choose it directly on the node itself by clicking its swatch to open the color picker.

#### Outputs

<table id="bkmrk-port-type-what-you-g"><thead><tr><th style="white-space: nowrap;">Port</th><th style="white-space: nowrap;">Type</th><th>What you get</th></tr></thead><tbody><tr><td style="white-space: nowrap;">**Color**</td><td style="white-space: nowrap;">Color</td><td>The color you picked on the node, shown as a small colored swatch. You can wire this into any node that accepts a color.</td></tr></tbody></table>

#### Example

<table id="bkmrk-color-output-%23c81e1e"><tbody><tr><td>**Color** output</td><td>`#C81E1E` (a warm red)</td></tr></tbody></table>

#### Tips

- One Color node can feed several nodes at once — wire the same **Color** output into as many color inputs as you like to keep them in sync.
- Connect this straight into a **Set Material Color** node to change the color of an object in your scene.