# Touch Input Setup for Mobile

In order to have functional Touch input when interacting with the Pixel Stream on a touch enabled device, you will need to enable the following touch related settings.

* Select **Edit** > **Project Settings** > **Engine** > **Input**, and tick '**Enable Gesture Recognizer’.**

{% hint style="info" %}
**Note: 'Enable Gesture Recognizer’ will allow your application to react to common touch functions such as 'Pinch to zoom' or 'Swipe'.** \
\
Previously the **'BP\_Arcware\_Pawn'** from the **Arcware Pixel Streaming Template Project** required this setting to allow the **'Pinch'** (to zoom) gesture to work correctly. However the  'Pinch' gesture does not trigger on IOS, so we build a custom Pinch function that doesn't rely on the dedicated 'Pinch' gesture.&#x20;
{% endhint %}

![](/files/JmHT8ipN5e3XlR4x5uN8)

* Now open your '**Player Controller**' blueprint and in the **Details** panel tick **'Enable Touch Events'**

![Enable Touch Events - Player Controller](/files/1ASpNLxjZkk9cIGhgDtc)

Once you have enabled those touch settings, you can now add the blueprint functionality reponsible for controlling the touch input events. \
\
We recommend downloading the '**BP\_Arcware*****\_*****Pawn**' from the **Arcware Pixel Streaming Template Project.** In the **Pawn** there are existing blueprint functions for **'Camera Rotation With Touch'** or **'Zooming with the Touch Pinch Gesture'.** The touch blueprint functions could be copied to your own **Player Pawn** blueprint or you can instantly use the '**BP\_Arcware*****\_*****Pawn**' in your project with little setup required.

{% hint style="warning" %} <mark style="color:orange;">Warning: Please be aware... if you have set up Touch Events in your Unreal Engine project you also need to enable 'Touch capability' for the uploaded application in the CloudRT user portal (see screenshot below).</mark>\
\
![](/files/zArgv5GQD4ZrI8MVE3UM)
{% endhint %}

{% hint style="info" %}
Another touch related project setting to be aware of is '**Use Mouse for Touch'** i&#x6E;**...**\
**Edit** > **Project Settings** > **Engine** > **Input**\
\
![](/files/BYla1E85fvDmOuVtYs42)\
\
This is just a handy feature for debugging touch inputs if you don't have a touch device available to you, all it does is simulate your **Touch Events** being triggered via the mouse instead, so you can check if your touch logic is working without having to connect a touch device. \
\
For production, we recommend to avoid using this setting and instead building dedicated Touch events. '**Use Mouse for Touch'** is ok for testing things, but it only takes input from one finger, meaning functionality like 'zooming' is not possible with this feature because it requires two fingers.&#x20;
{% endhint %}


---

# Agent Instructions: Querying This Documentation

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

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.arcware.cloud/unreal-engine-setup/set-up-pixel-streaming-in-your-own-project/core-settings/touch-input-setup-for-mobile.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
