# Building and packaging a project

{% hint style="warning" %}
In order to package an executable project file, you must have an Existent 'Indie' licence or above.
{% endhint %}

This section outlines the process for deploying and running your multiplayer VR experience across multiple player machines using the Existent plugin within Unreal Engine.

{% hint style="warning" %}
In order to connect server and client PCs for a multiplayer experience, all machines must be connected to the same local network.
{% endhint %}

1. **Build the Application**: Once your VR experience is ready, build the application from the Unreal editor (or your custom development environment) with your desired packaging parameters. Ensure the build includes all necessary components of the Existent plugin and any customisations you’ve implemented.
2. **Distribute the Application**: Copy the built application to each player machine. This step requires physical access to the machines or a networked solution for file transfer to ensure each player machine has the latest version of the VR experience.
3. **Running the Application on Server PC**: You need to run the copied application on 1 machine that will act as a Listen Server using the command `ProjectName.exe MapName?Listen` (add the `-log` flag to display application logs while the game is running). Note down the IP of the PC that acts as a Listen Server.
4. **Running the Application on Client PCs**: Now you can run the application on the Client PCs depending on number of players you need. Run the built project .exe file with the following command-line arguments: `ProjectName.exe ServerIP` (optionally add the `-log` flag).

{% hint style="info" %}
If you are working on a single-player experience or just want to test something on a developer machine you can just run the .exe built file without using any special command.
{% 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.existent.com/documentation/guides/running-the-experience.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.
