# Thrower2UCam

{% hint style="warning" %}
Please note, Unreal Engine integration has changed significantly for Unreal Engine 5.3 and 5.4, so this User Doc is outdated.
{% endhint %}

Thrower2UCam workflow is recommended when Unreal's camera (or point of view) is independent from the properties of the projectors. This is usually the case in most:

* cyclo walls,
* flat or curved walls,
* domes and
* other similar projects.

## Pipeline overview

![](https://3312042618-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F9sVaJpWJhPbmscipukhh%2Fuploads%2Fgit-blob-3b9a84ea80b97b627cb6670fc2cde4b5419399a1%2F220410-thrower2UCam.png?alt=media)

The pipeline in Thrower2UCam workflow relies on a 3D model in LightAct's that's getting its content from one thrower.

Then, the pipeline is this:

### Create an nDisplay viewport from your thrower(s)

Refer to [UnrealLink ](https://docs.lightact.com/real-time-content-playback/unreal-engine-integration-overview/unreallink)chapter for detailed instructions.

### Set up Texture Share Device Node(s)

<div align="left"><img src="https://3312042618-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F9sVaJpWJhPbmscipukhh%2Fuploads%2Fgit-blob-8a82c01d2396eac09adc253466982f5894041147%2Fimage.png?alt=media" alt=""></div>

Create **Texture Share** Device node with the same viewport handle as the thrower's. All the projector's nDisplay handles are listed as suggestions so you can simply click on one of them.

<div align="left"><img src="https://3312042618-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F9sVaJpWJhPbmscipukhh%2Fuploads%2Fgit-blob-c6a057bf7963415074dd93b2d560a848330c5e76%2Fimage.png?alt=media" alt=""></div>

If everything is set up correctly, you'll see Unreal's texture in the properties of *Texture Share* node once you click on **Listen** checkbox.

### Use the texture

You can use standard workflow to get the Unreal texture to a thrower. The path usually leads through a **Render to Canvas** node, however, you can also use **Set Texture** node to apply it to the thrower directly.

<div align="left"><img src="https://3312042618-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F9sVaJpWJhPbmscipukhh%2Fuploads%2Fgit-blob-9018e5e04c994bbcd1a6a318f9a7e202e375c247%2Fimage.png?alt=media" alt=""></div>
