# Media \ Video

### ![Response_Video_File_Set.png](https://simlab-soft.com/help/uploads/images/gallery/2026-03/scaled-1680-/response-video-file-set.png) Set Video File

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

The **Set Video File** node allows you to dynamically attach or change the media source of a specific Video Node within your scene. By assigning the target **Video Node** and inputting the exact **FileName** of your desired video (such as an `.mp4`), this node updates the object's media. For this to function correctly, the video file must first be imported into your project through the Resource Management tab. It also outputs a **Success** boolean to verify that the file was found and loaded.

##### Example

##### [![image.png](https://simlab-soft.com/help/uploads/images/gallery/2026-03/scaled-1680-/tRGimage.png)](https://simlab-soft.com/help/uploads/images/gallery/2026-03/tRGimage.png)

In this example, an interaction is set up to load a short film onto a TV screen and immediately begin playback.

1. Upon interacting with the "Play Button" object, the **Node Triggered** event initiates the execution flow.
2. The **Set Video File** node is executed, assigning the previously imported video file "Short Film.mp4" directly to the "TV" video node object.
3. Once the file is successfully attached, the execution flow passes to the **Video Play** node (with the Play toggle set to **True**), which instantly starts playing the newly loaded short film on the TV screen.

---

### Set Video URL

Points a video object in your scene at a new video, so it plays from the web address (or file path) you give it.

#### What it does

This node takes one of the video objects in your scene and tells it which video to play, using the address you provide in the URL. As soon as it runs, the video object switches to that new source — handy for showing different clips on the same screen depending on what the user does.

It only works on a video object; if you point it at any other kind of scene object, nothing changes and the result simply reports that it didn’t succeed. The node hands the same video object straight back out, so you can keep working with it, and it tells you whether the change went through.

#### Inputs

<table id="bkmrk-port-type-what-to-co"><thead><tr><th style="white-space: nowrap;">Port</th><th style="white-space: nowrap;">Type</th><th>What to connect</th></tr></thead><tbody><tr><td style="white-space: nowrap;">**Execute**</td><td style="white-space: nowrap;">Trigger</td><td>Wire this from the previous node’s Execute output.</td></tr><tr><td style="white-space: nowrap;">**Video Node**</td><td style="white-space: nowrap;">Scene node</td><td>The video object in your scene whose video you want to change. It must be a video object — other kinds of objects are ignored.</td></tr><tr><td style="white-space: nowrap;">**URL**</td><td style="white-space: nowrap;">Text</td><td>The web address (or path) of the video to play, for example `https://videos.example.com/safety-intro.mp4`. You can leave this empty to clear the current video.</td></tr></tbody></table>

#### 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;">**Execute**</td><td style="white-space: nowrap;">Trigger</td><td>Fires once the node has finished.</td></tr><tr><td style="white-space: nowrap;">**Video Node**</td><td style="white-space: nowrap;">Scene node</td><td>The same video object you passed in, so you can connect it to the next node.</td></tr><tr><td style="white-space: nowrap;">**URL**</td><td style="white-space: nowrap;">Text</td><td>The video address you supplied, passed straight through.</td></tr><tr><td style="white-space: nowrap;">**Success**</td><td style="white-space: nowrap;">True / false</td><td>True if the video object accepted the new video, false if it didn’t (for example, if the object isn’t a video).</td></tr></tbody></table>

#### Example

<table id="bkmrk-video-node-input-the"><tbody><tr><td>**Video Node** input</td><td>The `Lobby Screen` video object in your scene</td></tr><tr><td>**URL** input</td><td>`https://videos.example.com/safety-intro.mp4`</td></tr><tr><td>**Success** output</td><td>`true`</td></tr></tbody></table>

#### Tips

- Make sure the object you connect is actually a video object — if it isn’t, the change is skipped and Success comes back false.
- Check the Success output before moving on, so you can show a fallback or message if the video couldn’t be loaded.

---

### ![Response_Video_PlayPause.png](https://simlab-soft.com/help/uploads/images/gallery/2026-03/scaled-1680-/response-video-playpause.png) Video Play

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

The **Video Play** node provides direct control over the playback of a **Video Node** through a boolean **Play** input. Setting the toggle to **True** starts the video, while **False** stops it.

### ![Response_Video_Seek.png](https://simlab-soft.com/help/uploads/images/gallery/2026-03/scaled-1680-/response-video-seek.png) Video Seek

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

The **Video Seek** node immediately moves the playback of the target **Video Node** to a specific **Time** defined in seconds. It enables precise navigation to any timestamp within the video's total duration.

### ![Response_Video_Toggle.png](https://simlab-soft.com/help/uploads/images/gallery/2026-03/scaled-1680-/response-video-toggle.png) Video Toggle

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

The **Video Toggle** node switches the playback state of the assigned **Video Node** between playing and paused. Each execution reverses the current state of the video material, making it ideal for simple play/pause button interactions.