# Manual Setup

## Tracking System

Right click anywhere in the content browser then navigate to Existent and create a tracking system asset based on the tracking system you will work with.&#x20;

<figure><img src="https://1703910255-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMcYOcQvRHegsbRBs8rGB%2Fuploads%2FKDkoUess2RMu1uFsPjxH%2Fimage.png?alt=media&#x26;token=3bbc42ba-9654-434b-8b9d-8b2db8122c2f" alt=""><figcaption><p>Create tracking system</p></figcaption></figure>

Open Project Settings → Existent Settings and update the default tracking system to point at the newly create asset.

<figure><img src="https://1703910255-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMcYOcQvRHegsbRBs8rGB%2Fuploads%2FQGYkGyUG6yO7KKNNmFp3%2Fimage.png?alt=media&#x26;token=82f7e574-c790-406c-b546-9383adf5bc23" alt=""><figcaption><p>Update tracking system</p></figcaption></figure>

## World Settings

Open Project settings -> General Settings then update the World Settings class to Existent World Settings. Restart the editor when prompted.

<figure><img src="https://1703910255-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMcYOcQvRHegsbRBs8rGB%2Fuploads%2FVfMuF7i71wqHzVWjayd3%2Fimage.png?alt=media&#x26;token=e810ee39-3b43-4151-8113-333d1c332c8e" alt=""><figcaption><p>Update world settings</p></figcaption></figure>

## Game Mode

Create a new game mode which inherits from Existent Game Mode Base.

<figure><img src="https://1703910255-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMcYOcQvRHegsbRBs8rGB%2Fuploads%2FKezn5OgzP7wRPmwK3VN3%2Fimage.png?alt=media&#x26;token=769f1f35-476c-45ca-aa60-8483eeedb767" alt=""><figcaption><p>Create game mode</p></figcaption></figure>

Open Project Settings -> Maps & Modes and set the Default Game Mode to the newly created game mode asset.

<figure><img src="https://1703910255-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMcYOcQvRHegsbRBs8rGB%2Fuploads%2FPg974vGm3AowHVmbAVJu%2Fimage.png?alt=media&#x26;token=9ba6f48a-2fc9-438c-8d43-ceb36d0be06e" alt=""><figcaption><p>Update game mode</p></figcaption></figure>

## Map

You can either duplicate the MAP\_StarterLevel which can be found inside Existent Content -> Maps or create a brand new map.

### Duplicate map

To duplicate the MAP\_StarterLevel make sure to enable Show Engine Content and Show Plugin Content in the content browser settings.

&#x20;

<figure><img src="https://1703910255-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMcYOcQvRHegsbRBs8rGB%2Fuploads%2Ff1dktH5Pd7rTp9UQ8s7a%2Fimage.png?alt=media&#x26;token=05f9baa5-f22c-43f1-86bb-a60470af2321" alt=""><figcaption><p>Content browser settings</p></figcaption></figure>

Then navigate to Existent Content -> Maps and drag & drop MAP\_StarterLevel onto the folder where you want to duplicate it. Make sure to click on Copy here.

<figure><img src="https://1703910255-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMcYOcQvRHegsbRBs8rGB%2Fuploads%2F04gZyNYfv5HQNMivZU12%2Fimage.png?alt=media&#x26;token=2c5fac60-a1c7-4dad-9c89-ad095ecf05f8" alt=""><figcaption><p>Copy map</p></figcaption></figure>

Open the newly created map then in the world settings set the default space to the actor default space.

<figure><img src="https://1703910255-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMcYOcQvRHegsbRBs8rGB%2Fuploads%2FI0v3z4OG8bxJiKgUJtUJ%2Fimage.png?alt=media&#x26;token=9a3d1848-f085-4d93-9548-5e155936e5a9" alt=""><figcaption><p>Set default space</p></figcaption></figure>

{% hint style="info" %}
If the world settings tab is missing you can find it under Window -> World Settings

<img src="https://1703910255-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMcYOcQvRHegsbRBs8rGB%2Fuploads%2F9VZ5qqkuvNFvU8xHBIkY%2Fimage.png?alt=media&#x26;token=2bcc5b20-0905-43ed-aec3-91b41a0e8311" alt="" data-size="original">
{% endhint %}

### New map

While focused on the editor's viewport press CTRL + N, this will bring up the new level window. Choose a level.

<figure><img src="https://1703910255-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMcYOcQvRHegsbRBs8rGB%2Fuploads%2FsesrQ0bh4md3NNzXgMmF%2Fimage.png?alt=media&#x26;token=0a199986-ff7c-4c24-bf0a-70e012df06e8" alt=""><figcaption><p>Create new map</p></figcaption></figure>

Once the new level opens make sure to save it.

<figure><img src="https://1703910255-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMcYOcQvRHegsbRBs8rGB%2Fuploads%2FH9Yw0wFzsi39O5HLjgUB%2Fimage.png?alt=media&#x26;token=5596849a-aca5-4f1a-9cc2-1f1ca66892d8" alt=""><figcaption><p>Save map</p></figcaption></figure>

Using the add to project menu from the toolbar add an Existent Space to your level.

<figure><img src="https://1703910255-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMcYOcQvRHegsbRBs8rGB%2Fuploads%2FNacvUDQgyEAp6IL2HLWR%2Fimage.png?alt=media&#x26;token=585c5bf4-6c3d-453e-a9b2-a5512c745af6" alt=""><figcaption><p>Add existent space</p></figcaption></figure>

In the world settings set the default space to the actor existent space.

<figure><img src="https://1703910255-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMcYOcQvRHegsbRBs8rGB%2Fuploads%2FcxVzwO6dRPyHrZqxVlNQ%2Fimage.png?alt=media&#x26;token=95c6abe6-882e-4f55-94f7-01721147c1fd" alt=""><figcaption><p>Set existent space as default</p></figcaption></figure>

{% hint style="info" %}
If the world settings tab is missing you can find it under Window -> World Settings

<img src="https://1703910255-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMcYOcQvRHegsbRBs8rGB%2Fuploads%2F9VZ5qqkuvNFvU8xHBIkY%2Fimage.png?alt=media&#x26;token=2bcc5b20-0905-43ed-aec3-91b41a0e8311" alt="" data-size="original">
{% endhint %}

### Default map

Whether you created the new map from scratch or duplicated it, open Project Settings -> Maps & Modes then set the Editor Startup Map and Game Default Map to the map asset you just created.

<figure><img src="https://1703910255-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMcYOcQvRHegsbRBs8rGB%2Fuploads%2Fg7ppCyr7wEUaIuG01qyZ%2Fimage.png?alt=media&#x26;token=46320cf4-a9b8-4305-814d-605a7996cdb7" alt=""><figcaption><p>Update default map</p></figcaption></figure>

## Player Pawn

Right click anywhere in the content browser and select Blueprint Class then under All Classes select ExistentPlayer.

<figure><img src="https://1703910255-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMcYOcQvRHegsbRBs8rGB%2Fuploads%2FMY7hp2NKCak9qqAVyKXS%2Fimage.png?alt=media&#x26;token=dbb3f777-47f6-42ee-90b0-8cc5601b6af7" alt=""><figcaption><p>Create player pawn</p></figcaption></figure>

Open the existent game mode you created and update the Default Pawn to point at the newly created existent player blueprint class.

<figure><img src="https://1703910255-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMcYOcQvRHegsbRBs8rGB%2Fuploads%2FLI6hIq02sGtUauug7cuU%2Fimage.png?alt=media&#x26;token=045bd513-dd88-454a-9572-0fc7f97608c2" alt=""><figcaption><p>Update game mode</p></figcaption></figure>

Open the player blueprint and update the Player Body to use the skeletal mesh of your choice. The default SKM\_Emmanuel\_Emanu-L is based on the UE5 skeleton.

<figure><img src="https://1703910255-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMcYOcQvRHegsbRBs8rGB%2Fuploads%2Fhonrku0mm51XtLaBK6Gd%2Fimage.png?alt=media&#x26;token=2fca6fb8-2593-4ed9-a57b-d2cd89eb0743" alt=""><figcaption><p>Set player mesh</p></figcaption></figure>

## Bone Mappings

We will briefly cover how to create bone mappings in this section but you should refer to [Mappings](https://docs.existent.com/documentation/guides/customising-player-avatar/mappings) under [Customising Player Avatar](https://docs.existent.com/documentation/guides/customising-player-avatar) for a more in depth explanation.

Right click anywhere in the content browser then navigate to Existent and create three assets of type Hand Bone Mappings, Body Bone Mappings and Tracker mappings.

&#x20;&#x20;

<figure><img src="https://1703910255-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMcYOcQvRHegsbRBs8rGB%2Fuploads%2FemKUhi8RJG9ykZyfoJLp%2Fimage.png?alt=media&#x26;token=f6672a60-f2fa-42b9-a6ae-2e597ceb591e" alt=""><figcaption><p>Create bone mappings</p></figcaption></figure>

Open the Body Bone Mappings and select the skeletal mesh you are working with. Use the Skeletal Mesh Rotation Delta to make the preview mesh point face towards the red arrow on the floor. Click auto-fill bone mappings and select the skeleton type you are working with.

<figure><img src="https://1703910255-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMcYOcQvRHegsbRBs8rGB%2Fuploads%2FSJFGjJrgpnSeJw38OvLh%2Fimage.png?alt=media&#x26;token=affbae83-b37e-4a8a-a220-1d2810cfbfc0" alt=""><figcaption><p>Auto fill bone mappings</p></figcaption></figure>

If there are bones that have not been mapped click auto-fill excluded bones. Validate that all assigned bones are correct.&#x20;

Adjust the Head Delta to fix the head rotation.

<figure><img src="https://1703910255-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMcYOcQvRHegsbRBs8rGB%2Fuploads%2F86uJ6jDJ8SKm5bjtunBd%2Fimage.png?alt=media&#x26;token=7bb7ef57-573b-4b03-99d6-884c59867221" alt=""><figcaption><p>Update head rotation in body mappings</p></figcaption></figure>

Repeat the same process for the hand bone mappings and adjust the bone rotations to fix the fingers rotation.

<figure><img src="https://1703910255-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMcYOcQvRHegsbRBs8rGB%2Fuploads%2F3VeYnAyz9BkKWG89ATF2%2Fimage.png?alt=media&#x26;token=c570c180-1cbf-450d-ac80-e497ba18d120" alt=""><figcaption><p>Update bone rotation in hand mappings</p></figcaption></figure>

Open the tracker mappings. Select the body bone mappings and hand bone mappings created.

<figure><img src="https://1703910255-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMcYOcQvRHegsbRBs8rGB%2Fuploads%2F36UqAYVSLnedTAv5pgpj%2Fimage.png?alt=media&#x26;token=5de69983-5523-4d77-8654-39af11ff1e92" alt=""><figcaption><p>Set bone mappings in tracker mappings</p></figcaption></figure>

Select the device mesh name based on the tracking system you are using then click and transform each tracker based on how they will be worn by the user. Click on the headset and transform it to make your mesh wear the device.

<figure><img src="https://1703910255-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMcYOcQvRHegsbRBs8rGB%2Fuploads%2FwowTM3e3A9EFXYoqtN5G%2Fimage.png?alt=media&#x26;token=77eb1888-fdec-4815-8bae-ceed6ad3bfe3" alt=""><figcaption><p>Update tracker mappings</p></figcaption></figure>

Open the player blueprint and update all the bone mappings assets.

<figure><img src="https://1703910255-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMcYOcQvRHegsbRBs8rGB%2Fuploads%2FnFQPWaDFpjE8cuMdJ3LA%2Fimage.png?alt=media&#x26;token=b7cbc423-3949-4fa8-9b66-6ed3cba0ab4e" alt=""><figcaption><p>Assign bone mappings</p></figcaption></figure>

## Animation Blueprint

{% hint style="info" %}
The existent hand anim node requires to specify a open and close hand pose for your skeletal mesh. This section assumes you have created these assets already.&#x20;
{% endhint %}

Right click anywhere in the content browser then navigate to Animation and select  Animation Blueprint. Choose the skeleton you are working with and select Existent Player Anim Instance as the parent class.

<figure><img src="https://1703910255-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMcYOcQvRHegsbRBs8rGB%2Fuploads%2FD8U5zwJNbgN5MOxlEzyQ%2Fimage.png?alt=media&#x26;token=296cf86f-3d59-4b3e-984a-33f396095584" alt=""><figcaption><p>Create new animation blueprint dialog</p></figcaption></figure>

Set the player blueprint Player Body anim class to the animation blueprint you created.

### 5 Point Tracking

Open the animation blueprint and create the following graph.

<figure><img src="https://1703910255-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMcYOcQvRHegsbRBs8rGB%2Fuploads%2FLfeR2O5K63iaWlFKu6wR%2Fimage.png?alt=media&#x26;token=9477c5da-4373-4435-aa22-b87043fc4e94" alt=""><figcaption><p>5 Point node chain</p></figcaption></figure>

<figure><img src="https://1703910255-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMcYOcQvRHegsbRBs8rGB%2Fuploads%2FIVFH4Zi4xIPhbaoPE66F%2Fimage.png?alt=media&#x26;token=fc1d1f9f-e8ba-4bba-b016-409a156a6d7a" alt=""><figcaption><p>Existent Root node</p></figcaption></figure>

<figure><img src="https://1703910255-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMcYOcQvRHegsbRBs8rGB%2Fuploads%2FL54mWWqpMCOl5buSIRnv%2Fimage.png?alt=media&#x26;token=0f44e36f-3b90-4172-8012-ca2f9d8680e9" alt=""><figcaption><p>Existent Hand nodes</p></figcaption></figure>

### 3 Point Tracking

Open the animation blueprint and create the following graph.

<figure><img src="https://1703910255-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMcYOcQvRHegsbRBs8rGB%2Fuploads%2Fd3aeFjZb4QjThNj7V2s9%2Fimage.png?alt=media&#x26;token=3a105956-8d37-435c-8bee-b1d1ca4c9986" alt=""><figcaption><p>3 Point node chain</p></figcaption></figure>

<figure><img src="https://1703910255-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMcYOcQvRHegsbRBs8rGB%2Fuploads%2FKky64cj4GbL8qiHBaoMH%2Fimage.png?alt=media&#x26;token=2098c745-9be2-4224-b104-127d7fa808f1" alt=""><figcaption><p>Existent Hand nodes</p></figcaption></figure>

<figure><img src="https://1703910255-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMcYOcQvRHegsbRBs8rGB%2Fuploads%2FZ6gBzJLgqKwLYgsH00fr%2Fimage.png?alt=media&#x26;token=a7166988-4cf7-4c5e-a72a-222adf11a076" alt=""><figcaption><p>Modify bone nodes</p></figcaption></figure>

#### Head and Hands

Open the animation blueprint and create the following graph.

<figure><img src="https://1703910255-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMcYOcQvRHegsbRBs8rGB%2Fuploads%2FQnCU4uPRwQQeuzEU9PrR%2Fimage.png?alt=media&#x26;token=746dba8d-e88b-4caf-90b3-02665de1559d" alt=""><figcaption><p>Head and Hands nodes chain</p></figcaption></figure>

<figure><img src="https://1703910255-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMcYOcQvRHegsbRBs8rGB%2Fuploads%2FuBEExaswrrrpWKmOqj2r%2Fimage.png?alt=media&#x26;token=575f5879-167d-4b0d-84d3-088c47be4490" alt=""><figcaption><p>Existent Hand nodes</p></figcaption></figure>
