> For the complete documentation index, see [llms.txt](https://help.craftsmanplus.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.craftsmanplus.com/play/layers/videos.md).

# Videos

Use Video layers for product demos, gameplay footage, cutscenes, ambient looping backgrounds, or any other moving footage in your playable.

Every Video layer pulls from your Asset Library. Once added to the artboard, you can position, resize, animate, and add interactions like any other layer in PLAY. Video layers also have their own playback, autoplay, and finish behaviors that you control from the Video section of the Properties panel.

***

### Video Section

The Video section contains everything specific to video playback. It only appears on Video layers.

#### **Playback**

Sets how the video behaves when it reaches the end. Click the dropdown to choose between three options:

* **Stop** (default) plays the video once and stops on the last frame. The final frame remains visible for the rest of the time the layer is on the timeline.
* **Loop** plays the video, then continuously loops back to the beginning for as long as the layer is on the timeline.
* **Rewind** plays the video, then reverses through it, then plays forward again, continuing to alternate direction for as long as the layer is on the timeline.

#### **Autoplay**

A toggle that controls whether the video starts playing automatically when it is visible on the timeline.

When Autoplay is **off** (the default), the video only plays once the video begins on the timeline. If the scene is paused, the video stays paused as well.

When Autoplay is **on**, the video plays as soon as it is visible on the timeline, regardless of whether the scene itself is playing or paused. This is useful for ambient looping backgrounds where you want motion to start before any user interaction.

#### **On Finish**

Lets you trigger an action every time the video completes a playback cycle. The module is off by default. Turn the module on, then click the tune icon to open the On Finish Properties popup, then choose any action from the dropdown. See the [Actions](/play/general/actions.md) documentation for the full list of available actions and what each one does.

Once an action is selected, the module's label updates to reflect it. Toggle the module on or off using the switch on the right of the row.

When the action fires depends on the Playback setting:

* **Stop** fires the action once, when the video reaches its end.
* **Loop** fires the action every time the video loops back to the start.
* **Rewind** fires the action every time the video completes a full start/back rotation (forward -> backward -> action -> forward -> backward -> action).

#### **Volume**

Sets the playback volume of the video, from 0 (muted) to 100 (full volume). Drag the slider or enter a specific value in the input field next to it.

{% hint style="warning" %}
Volume control is not supported on iOS. The device will play audio at the system default level, regardless of the value set here.
{% endhint %}

***

### Scene Duration Sync

When a Video layer is the only video in your project, PLAY automatically matches the scene's duration to the video's length so the scene runs for exactly as long as the video does. Replacing the video or changing its length updates the scene duration to match.

Once a project has more than one video, this auto-sync stops, and scene duration becomes independent of any single video. You can adjust scene duration manually from the Timeline. See the [Timeline](/play/timeline/tracks.md) documentation for details.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://help.craftsmanplus.com/play/layers/videos.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
