# USS Integration Guide

## <mark style="color:blue;">**BP\_Pilot logic transfer guide to custom characters**</mark>

This guide covers a quick version on how to transfer the logic onto your own character class in order for it to be able to interact with the BP\_Spaceship and possess it.

{% hint style="info" %}
Keep in mind this is simplified version of the process intended for Single player&#x20;
{% endhint %}

If you are intending to use this pack for project that runs with Multiplayer, there are additional steps added to these events that ensure reliable replication. You will have to copy relevant replication events from

BP\_Pilot template.&#x20;

***

### <mark style="color:blue;">**Step 1 BPI interface**</mark>

Add BPI\_HumanCharacter Interface and Re-compile your Character class.

<figure><img src="https://2172137675-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIDY48Kh4vjaW2sp9MS3a%2Fuploads%2FUqWoh87qxKrD5nqSOPex%2Fimage14.png?alt=media" alt=""><figcaption></figcaption></figure>

Then update **Is Human?** interface call to have **Human Boolean set as true**, This will allow all external interface calls to recognize this class as human character for the purposes of additional interaction.

<figure><img src="https://2172137675-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIDY48Kh4vjaW2sp9MS3a%2Fuploads%2FeQJFYkc28KRyWQzdCHwA%2Funnamed.png?alt=media&#x26;token=9458bc8e-4094-489b-b56b-33f50cde16ca" alt=""><figcaption></figcaption></figure>

***

### <mark style="color:blue;">**Step 2 Implement Toggle Visibility**</mark>

This event fires and hides the character when you sit into the cockpit chair. Original character gets hidden, while a copy of your character mesh gets socketed into the cockpit chair and animated to sit.&#x20;

{% hint style="info" %}
It's done this way because in certain versions of Unreal engine there are replication errors when socketing an actor to another actor over the network
{% endhint %}

<figure><img src="https://2172137675-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIDY48Kh4vjaW2sp9MS3a%2Fuploads%2Fhgu9yrqWqKFHGrG4wwdR%2Funnamed%20(1).png?alt=media&#x26;token=1d013057-3c32-45be-9ee2-c4adc7ba248d" alt=""><figcaption></figcaption></figure>

***

### <mark style="color:blue;">**Step 3 Trigger Prompt**</mark>

This event triggers when character walks into range of **BP\_Spaceship** pilot chair. It receives and records the sending actor and displays a prompt on players viewport

Stored Actor value is later used to posses the ship if player chooses to do so.

<figure><img src="https://2172137675-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIDY48Kh4vjaW2sp9MS3a%2Fuploads%2F4KWfSeuHlDKyJcjQ9wuY%2Funnamed%20(2).png?alt=media&#x26;token=ab4e6944-9c92-4292-bfad-2a64c1d3cea5" alt=""><figcaption></figcaption></figure>

***

### <mark style="color:blue;">**Step 4 Interaction Input**</mark>

Final step is connecting an **Interaction Input event** to **posses** the **BP\_Spaceship** and hide the interaction prompt widget from the viewport. This example uses example enhanced input action that comes with this pack.

<figure><img src="https://2172137675-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIDY48Kh4vjaW2sp9MS3a%2Fuploads%2FJlMBW6W5ep8WV86C2zyP%2Funnamed%20(3).png?alt=media&#x26;token=c160528e-ba27-4958-a45d-14eff0cbf926" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2172137675-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIDY48Kh4vjaW2sp9MS3a%2Fuploads%2FFPOnaaknEE7qt0BtIJpj%2Funnamed%20(4).png?alt=media&#x26;token=3aecefb9-d863-4022-951c-b681575d2236" alt=""><figcaption></figcaption></figure>

***

### <mark style="color:blue;">Finish Line</mark>

That's it. You can now Sit in the chair and soar to the skies!

***

## <mark style="color:blue;">Support</mark>

{% hint style="info" %}

## Stuck? Need Support? Please join our [<mark style="color:purple;">Discord</mark>](https://discord.gg/zaKb8tWSxw) And Open A Ticket.

{% endhint %}
