Events

AI Agent

Event_AiAgent_StartTalk.png AI Agent Start Talk


image.pngThe AI Agent Start Talk node activates the exact moment an assigned AI Agent begins delivering its response.




Event_AiAgent_EndTalk.png AI Agent End Talk


image.png

The AI Agent End Talk node activates as soon as the assigned AI Agent finishes delivering its response.




For more information, please watch the AI Start/End talk tutorial:

SceneNode \ Dynamic Menu

Event_DynamicMenu_Item_Triggered.png Dynamic Menu Item Triggered

 

image.png

The Dynamic Menu Item Triggered event node acts as a universal listener, activating the moment a user interacts with any dynamic menu button within the VR scene. Upon execution, it outputs the specific SceneNode the menu is attached to, the ID of the clicked button, and the User who triggered it.

 

 

 

Event_DynamicMenu_Item_Triggered.png Dynamic Menu Item Triggered(ID)

 

image.png

The Dynamic Menu Item Triggered (ID) event node activates only when a button with a specific ID is pressed. It ignores all other button interactions, allowing you to trigger a specific function

 

 

 

Event_DynamicMenu_Item_Triggered.png Dynamic Menu Item Triggered(Node + ID)

 

image.png

The Dynamic Menu Item Triggered (Node + ID) event node provides the most specific control by activating only when a button with a precise ID is pressed on a menu linked to a specific SceneNode. This prevents execution overlap by ensuring the logic only triggers for one unique button on one specific object.

 

 

Example:

 

image.png

In this example, the Dynamic Menu Item Triggered (Node + ID) node is configured to act as a "Help" button. By setting the SceneNode to "Main Menu" and the ID to "3", the system listens exclusively for that exact button press on that specific menu object. Once the user clicks this button, the execution flow passes to a Show/Hide node configured to display an "Instructions Window" by setting its state to True. Immediately following this, the flow triggers a Set Node Glow State node, which applies a visual highlight to a designated "Hint Object" to guide the user.

 

 

 

Event_DynamicMenu_Item_Triggered.png Dynamic Menu Item Triggered(Node)

 

 

image.png

The Dynamic Menu Item Triggered (Node) event node activates only when a button is pressed on a menu attached to a designated SceneNode. This node isolates interactions to a single object, ensuring that the logic only runs for the menus linked to that specific item in the scene.

 

 

 

Dynamic Menu Triggered nodes are used in the following add-ons:

 

SceneNode \ Query

Event_Query_NodeAdded.png Node Added to Query

 

image.png

The Node Added to Query event node constantly monitors the scene and triggers its Execute output whenever a 3D object's attributes are modified to match the specific conditions defined by a connected Scene Node Query. By plugging a query into the node's SceneNode input, it listens for any object that newly meets these criteria—essentially being "added" to the query's list of valid results—and subsequently passes both the execution signal and the specific SceneNode that triggered the event through their respective outputs, allowing for dynamic, attribute-driven logic without needing to manually target individual objects.

 

Example:

image.png

In this example, a Scene Node Query is configured to continuously look for any object that has an attribute named "Parts" with a value containing "Part_". This query is connected directly to Node Added to Query event node. During the experience, whenever an object has its attributes updated to successfully meet this exact condition, the event node automatically triggers and passes that specific object through its SceneNode output into a Set Node Glow State node.

 


Event_Query_NodeRemoved.png Node Removed From Query

 

image.png

The Node Removed From Query event node continuously monitors the scene and triggers its Execute output whenever a 3D object's attributes change so that they no longer match the conditions of a connected Scene Node Query. By connecting a query to the node's SceneNode input, it watches for any object that falls out of the query's criteria—essentially being "removed" from the list of valid results.

 

Example:

image.png

In this example, a Scene Node Query is configured to track any object that has an attribute named "Bullet_Instance". This query is connected directly to the SceneNode input of the Node Removed From Query event node. During the experience, if an object's attributes are altered so it no longer possesses the "Bullet_Instance" attribute (for example, if the attribute is removed after a collision), the event node automatically triggers and passes that specific object through its SceneNode output into a Delete SceneNode node.

Scene Node \ Overlap

Event_Node_EntersNode.png Node Enter Node

image.png

The Node Enter Node event is triggered when Scene Node A enters Scene Node B. Both nodes can be any nodes in the assembly tree — for example, Node A could be a screwdriver and Node B could be a screw.


Event_Node_ExitsNode.png Node Exited Node 

image.png

The Node Excited Node event is triggered when Scene Node A exits Scene Node B. Both nodes can be any nodes in the assembly tree — for example, Node A could be a screwdriver and Node B could be a screw.


SceneNode \ Triggered

Event_Node_Triggered.png Node Triggered      

image.pngNode Triggered event is executed when the selected Scene Node is triggered within VR environment. 





Events_SceneNode_Triggered_NodeTriggeredLocation.png Node Triggered Location


Ceiling Node.pngThe Node Triggered Location is used to capture the specific location or position of a triggered event within the VR environment. It enables tracking where a particular interaction occurred, which can be useful for dynamic object placement, analytics, or event-triggered responses based on spatial coordinates.



Example

image.png

In this example, the Node Triggered Location is used to capture the location where the user triggers the target. When the target is hit, the node records the exact spot, and a bullet hole is placed using the Set Node Location. The Make Node Copy is used to enable the user to shoot more than one bullet, creating a new bullet hole at each triggered location. This setup allows for repeated interactions, with each shot creating a new bullet hole in the correct spot.






 

Controller


Event_User_Grip_Pressed.png Grip Pressed



Ceiling Node.png

The Grip Pressed node enables the user to detect when the VR controller's grip is pressed. By connecting a response to this node, the specified action is executed each time the grip is pressed, allowing for interactive controls within the VR Experience.



Example

image.png

In this example, a Grip Pressed node is used to execute a response. Once the Grip press is triggered, the Grip Pressed node checks the boolean value. If the condition is met, the connected response executes, and the animation plays during the VR Experience.




Event_User_Grip_Released.png Grip Released



Ceiling Node.png

The Grip Released node enables the user to detect when the VR controller's grip is released. By connecting a response to this node, the specified action is executed each time the grip is released, allowing for interactive controls within the VR Experience.



Example

image.png

In this example, a Grip Released node is used to execute a response. Once the Grip released is triggered, the Grip Released node checks the boolean value. If the condition is met, the connected response executes, and the animation plays during the VR Experience.


image.png Hand

Hand gestures in VR are becoming more natural and intuitive than ever. No need for the user to fully close hand to grab objects — now, a drawer can be opened effortlessly using just two fingers, just like in real life.

With enhanced gesture control, users can interact with virtual world in a way that feels smooth, and precise, check this tutorial.

Keyboard

Adding an interactive 3D menu in VR is simple, but using the same menu on a desktop can be challenging, as you have to adjust your view every time you want to make a change.

To solve this, "Key Press" and "Key Release" events were introduced. By separating these events, designers now have more control when creating VR experiences.

Key Pressed

Right click in the Dynamic Training Builder and type in the 

image.png

"Keyboard" or look under "Events" to get this node. As the name implies when a keyboard key is pressed this event is triggered.   



Example



Key Released

Same as above node but when key is released.  

Check this tutorial to learn more about these events.
dLmimage.png





User

 

Event_User_EntersNode.png User Enter Node

 

image.png

The User Enter Node event node continuously monitors the physical boundaries of a specific 3D object and activates the moment a user's avatar collides with or enters its volume. While enabled, it passes forward a reference to the specific User involved before continuing the logic flow. This functionality applies to all participants within multiplayer VR collaboration scenes.

 

 


 

Event_User_ExitsNode.png User Exit Node

 

image.png

The User Exited Node event node tracks the physical boundaries of a specific 3D object and activates the exact moment a user's avatar stops colliding with or fully exits its volume. While enabled, the node watches the targeted SceneNode and triggers its output as soon as the user completely separates from the object, passing forward a reference to the specific User who left before continuing the execution logic. And like User Enter Node, it also applies to all participants within multiplayer VR collaboration scenes.

Variable

Events_Variable_Change.png Variable Changed


Ceiling Node.pngThe Variable Changed event activates when the value of a specified variable is modified. This event helps users detect real-time changes and trigger actions accordingly, enabling dynamic and responsive interactions within the VR Experience.


Example

image.png

 

In this example, the Variable Changed event is set to monitor changes in the variable Door. When the value of this variable is modified, the event triggers the Play Animation Sequence node, which activates the Door Anim animation sequence.



On Message Received

SimLab Composer 14 introduces WebSocket support, enabling seamless integration with external systems, allowing it to work with external hardware, co-simulation engines, and websites, unlocking numerous possibilities.

Use the node On Message Received to trigger an event when a message is received.

The On Message Received node triggers an event when an unhandled message is received from the external connection. This node allows you to access the incoming message and take appropriate action based on its content. It is useful for responding to external data or commands and processing messages within the VR Experience.

Screenshot 2025-02-02 161759.jpg

Input Ports:

Output Ports:


The WebSocket nodes (Open External Connection, Send Message, and Receive Message) are exclusively available in the Ultimate Edition.

Voice Command

Response_Gadget_EquipToUser.png Voice Command Recognized 



Ceiling Node.png

The Voice Command Recognized event is used to activate a response when the user says a specific command. This event listens for predefined voice commands and triggers the associated actions or responses within the VR environment upon recognizing the command.


Example

image.png







In this example, a new voice command named "Door Open" is created by accessing the Voice Command section from the Interaction menu and adding the command in the Voice Commands window.

image.png

The Voice Command Recognized event is used to link the newly created "Door Open" command. When the user says "Open the door", the door open sequence is triggered and plays.





Execution

Event_CustomEvent_Triggered.png Custom Event 

image.png

This event is activated manually by the user. It's useful when you want multiple different paths or actions to lead to the same response.

To set it up, use the Trigger Custom Event response and assign it a unique ID (e.g., path1). You can place this trigger in as many locations as needed.

Whenever a Trigger Custom Event is called, it will execute the Custom Event that has a matching ID.

If you want to pass additional info, you can use the info field in Trigger Custom Event response, this data will be passed to the even in the info port


Event_Scene_Start.png Scene Start

image.png

This event is triggered automatically when the scene begins. Use it to initialize elements at startup, such as playing videos, running background animations, or any other setup tasks.

Note: Since this event fires the moment the scene loads, it's recommended to add a small delay before making additional scene changes — this ensures all scene elements have fully initialized before anything else runs.

 


 

Event_Ticker.png Ticker

 

image.png

The Ticker event node functions as a continuous, time-based loop that repeatedly activates subsequent nodes at a consistent rate. As long as its Enable input is set to True, the node constantly triggers its Execute output every time the duration specified in the numerical Interval input (measured in seconds) elapses. Once activated, it continually outputs this time value through the Period pin, allowing the logic flow to perform recurring actions or background checks for as long as the node remains enabled.

 

Example:

image.png

In this example, we use the Ticker node to create a loop that randomly changes a material's color every 2.5 seconds:

  1. A Watch Boolean Expression node continuously monitors the "speed1" variable and activates the Ticker node once the value equals 1.

  2. While enabled, the Ticker node creates a continuous loop that triggers its execution output every 2.5 seconds.

  3. The Ticker simultaneously executes three Set Number Variable By Expression nodes to generate random values using the math.random() function for the variables r1, g1, and b1.

  4. These three random numbers are passed into an RGB To Color node, where they are combined to formulate a new color.

  5. Finally, this new color is sent to a Set Material Color node, which immediately applies the randomly generated color to the target material.

Snapping

Event_Node_Snapping_CanSnap.png Node Ready To Snap

 

image.png

The Node Ready to Snap event node activates the exact moment a designated SceneNode enters the valid snapping range of an eligible target. This node is highly useful for triggering immediate visual or audio feedback—such as highlighting a destination socket green or playing a hovering sound—letting the user know the object is ready to be released and snapped.

 

 

Event_Node_Snapping_Snapped.png Node Snapped

 

image.png

The Node Snapped event node activates immediately after a SceneNode has successfully completed its snapping action onto a target socket. This event is typically used to seamlessly progress a sequence, such as locking the snapped part in place, playing a mechanical click sound, or advancing the user to the next step of an assembly training scenario.

 

sceneNode \ Attributes

Event_Node_Attribute_Added.png Node Attribute Added

 

image.png

The Node Attribute Added event node continuously monitors the targeted SceneNode and activates whenever a completely new attribute is attached to it. This event is typically used in conjunction with Set Node Attribute nodes to trigger subsequent actions. Once activated, it outputs the affected SceneNode along with the specific Category and Name of the newly created attribute.

 

 


 

Event_Node_Attribute_Changed.png Node Attribute Changed

 

image.png

The Node Attribute Changed event node observes the targeted SceneNode and activates whenever the value of any of its existing attributes is modified. Once activated, the node outputs the affected SceneNode alongside the exact Category and Name of the altered attribute.

 

 

 


 

Event_Node_Attribute_Removed.png Node Attribute Removed

 

image.png

The Node Attribute Removed event node tracks the targeted SceneNode and activates the moment an existing attribute is deleted from the object. This event is typically used alongside the Remove Node Attribute node to initiate reactions to data clearance. Once activated, it outputs the affected SceneNode forward along with the specific Category and Name of the deleted attribute.