> 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/properties/interactions.md).

# Interactions

Combine Gestures and Actions to make layers respond to taps, swipes, and drags, with optional Press Effect feedback.

<figure><img src="https://3019081569-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZBycFFNxrdS0X9OsGtmT%2Fuploads%2Fgit-blob-226f5c0e3c7623badb847913b129e68920693d64%2FGroup%201%20(3).png?alt=media" alt=""><figcaption></figcaption></figure>

Interactions let you make a layer respond to user input—**like a click, tap, swipe, or drag**—so your project feels interactive instead of static.

In PLAY, an Interaction is made of two parts:

* [**Gesture**](/play/properties/interactions/gestures.md) = *the user’s input* (what they do)\
  **Examples:** Single Tap, Swipe Up, Drag and Drop, Hold and Release.
* [**Action**](/play/general/actions.md) = *what happens as a result* (what PLAY does)\
  **Examples:** Restart Scene, Play Next Scene, Hide Layer, Trigger Audio, and more.

**When you assign a Gesture and an Action to a layer, PLAY listens for that user input during export/playback. When the Gesture happens, PLAY triggers the Action.**

{% hint style="info" %}
Many interactive layers benefit from visual feedback (like a button press). PLAY supports this through [**Press Effect**](/play/properties/interactions/press-effect.md) settings.
{% endhint %}

### **Why use Interactions?**

Use Interactions to:

* Build **navigation** (next scene, start scene, restart, etc.)
* Create **responsive UI** (show/hide layers, toggle states, reveal info)
* Add **feedback** (play audio, animate, create “button-like” behavior)
* Design **mini-moments** (press-and-hold behaviors, drag targets, playful interactions)

### **Where to Find Interactions?**

Interactions are located within each layer's [Properties Panel](/play/general/panels/properties-panel.md), in the **Interactions section**. This means each layer can have its own behavior, host multiple interactions, and multiple layers can behave differently within the same scene.

#### Adding a Interaction

{% stepper %}
{% step %}

### Select a layer

Select the layer you want to add the interaction to and open the Properties Panel.
{% endstep %}

{% step %}

### Click the "+" in the Layer's Interaction Section

<div align="left"><figure><img src="https://3019081569-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZBycFFNxrdS0X9OsGtmT%2Fuploads%2Fgit-blob-20d18fa739d7e8a98a085ccaa2c7ae39770c72b3%2FGroup%202%20(5).png?alt=media" alt="" width="563"><figcaption></figcaption></figure></div>

This opens the Interaction Properties popup which lets you configure the gestures, actions, and properties of each interaction. *Note: Each layer supports unlimited interactions!*
{% endstep %}

{% step %}

### Choose a **Gesture**

<div align="left"><figure><img src="https://3019081569-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZBycFFNxrdS0X9OsGtmT%2Fuploads%2Fgit-blob-4cf99aaee2971ff13ff0ad7154011325a3e563bd%2FGroup%204%20(6).png?alt=media" alt="" width="563"><figcaption></figcaption></figure></div>

By default, the Single Tap gesture will be used. To learn more about the different gesture types see: [Gestures](#choose-a-gesture)
{% endstep %}

{% step %}

### Choose an **Action**

<div align="left"><figure><img src="https://3019081569-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZBycFFNxrdS0X9OsGtmT%2Fuploads%2Fgit-blob-e8574d97112b483cb791ed18da2b4113d7245e1d%2FGroup%203%20(4).png?alt=media" alt="" width="563"><figcaption></figcaption></figure></div>

To learn more about the different action types see: [Actions](/play/general/actions.md)
{% endstep %}

{% step %}

### Export / Preview → the layer now responds to that gesture with that action!

*Note: To have the same gesture trigger multiple actions, add multiple actions with the same gesture!*
{% endstep %}
{% endstepper %}

### Summary

* Interactions make a layer respond to input during playback/export.
* Each interaction is **Gesture** (input) + **Action** (result).
* You can stack multiple interactions per layer.
* Add **Press Effect** for instant “button” feedback.

### Next steps

* Pick the right input in [Gestures](/play/properties/interactions/gestures.md).
* Choose what happens in [Actions](/play/general/actions.md).
* Polish UI taps with [Press Effect](/play/properties/interactions/press-effect.md).


---

# 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/properties/interactions.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.
