Project Delivery Guidelines

This page provides a comprehensive guide on how to properly set up and deliver your project to ensure compatibility with the YOM build pipeline. We utilize GitHub as the preferred method for file transportation during project delivery, offering several advantages:
  • Version control and history: GitHub enables you to track changes made to your project over time, ensuring a comprehensive history of modifications.
  • Easy rollback and roll forward: With GitHub, you can effortlessly revert to previous versions or progress forward, providing flexibility and facilitating iterative development.
  • Efficient data transfer for updates: By leveraging GitHub for project delivery, you can minimize the amount of data transferred during updates, optimizing the process and saving time.
  • Branching and tagging of releases: GitHub allows for the creation of branches and tagging of releases, enabling efficient management of different versions and milestones within your project.
By utilizing GitHub's features, you can streamline your project delivery process, ensure proper version control, and take advantage of convenient rollback and roll forward capabilities. For a general introduction on Git, please refer to this guide.

Step 1: Creating a new project

To initiate your metaspace development in Unreal Engine 5, follow these steps:
  1. 1.
    Begin by creating a new project in Unreal Engine 5, whether it's a Blueprint or C++ project. You also have the option to integrate your metaspace into an existing project.
  2. 2.
    To ensure that unnecessary files are excluded from version control, it's important to add a gitignore file tailored to Unreal Engine development to the root folder of your project. This step prevents these files from being included when using version control systems like git.
  3. 3.
    Next, you need to add your project to version control. For a seamless build process, it's essential that the name of your project on the version control system matches the name of your Unreal project file. Avoid using characters such as '-', '+', '/', or '*' in the project name, as they can lead to build issues. We recommend a straightforward and descriptive name like "MyFirstMetaspace".

Step 2: Adding the YOM SDK to the project

To incorporate the necessary SDK into your project, follow these steps:
  • Navigate to your project folder and create a new folder called "Plugins". This folder will serve as the container for the required plugins.
  • Obtain the YOM Replicator SDK for your Unreal Engine version from our Discord servers by checking the #sdk-releases channel. If you don't have access, ask your YOM contact person.
  • This will trigger a download of a ZIP file. The ZIP file will contain three plugins.
  • Copy and paste these plugins into the "Plugins" folder you created in your project directory. Ensure that the plugins are directly placed inside the "Plugins" folder and not within any additional subfolders.


By following the steps outlined above, you should now have a folder structure resembling the following (assuming "YourProject" is the name of your project and the root of your Git repository):
- YourProject
- Plugins
- YOM Replicator SDK
- GltfRuntime
- VaRest
Additional considerations for team members accessing the project with the plugin: If other team members need to retrieve the project with the plugin and the binaries are not included in the Git repository, there are a few options available:
  1. 1.
    Let them download the plugin separately and override it in their project structure. This can be achieved by following Step 2 mentioned earlier. After downloading the plugin, team members can replace the corresponding plugin folders in their project with the new ones. You can then revert the changes made to your changelist since only the binaries are necessary.
  2. 2.
    Although not recommended, you can push the binaries to Git. However, this approach may lead to larger repository sizes and potential conflicts. It's generally advisable to avoid pushing binaries to the repository unless necessary.

Adding other plugins

If you have additional plugins you want to include in your project, they should also be placed in the "Plugins" folder. Normally, Unreal Engine automatically downloads and installs plugins from the marketplace into the Unreal Engine folder. However, this process does not occur on our build pipeline. Instead, you can obtain the desired plugin by locating it in the plugins directory of the engine you intend to use. The screenshot shows an example path where you can these plugins can be found for an example installation of Unreal Engine 5.0.3:
To add the plugin to your project:
  1. 1.
    Copy the desired plugin folder from the Unreal Engine plugins folder.
  2. 2.
    Paste that plugin folder into the "Plugins" folder within your project.
  3. 3.
    Open your Unreal project to verify that the plugin works correctly and functions as intended.

Testing the delivery

Before proceeding with delivering the build on our platform, it's advised to perform some local checks to ensure everything is in order:
  1. 1.
    Confirm that all the necessary plugins are present in the "Plugins" folder. Disable any tooling plugins that are not required for the build, (for exampled "Project Cleaner").
  2. 2.
    Verify that the right map has been selected.
  3. 3.
    Ensure that the git project and Unreal project have the same name to prevent any naming conflicts.
  4. 4.
    Double-check that you have uploaded all the necessary files to GitHub, ensuring that all required assets and code are included.

Using SDK assets

If you wish to utilize the blueprints or models included in the SDK and have the ability to modify them, it is recommended to copy them into your project's "Content" folder. This precautionary measure ensures that any future updates or the implementation of the latest version in our build pipeline does not overwrite your changes. By copying the asset you intend to modify into your content browser, you can safely make changes and utilize it within your project.To use the SDK assets and make modifications:
  1. 1.
    Locate the desired blueprint or model within the SDK.
  2. 2.
    Copy the asset by selecting it in the SDK and using the appropriate copy command.
  3. 3.
    Open your project and navigate to the "Content" folder.
  4. 4.
    Paste the copied asset into the "Content" folder of your project.
  5. 5.
    The asset will now be available in your content browser for you to use and modify as needed.

Packaging Map data

To package Unreal map data using the Your Open Metaverse plugin, follow these steps:

Step 1: Build your Map Data

  1. 1.
    In the Unreal Editor, build all the necessary map data for your project. For example, if you need to build reflection captures, go to "Build" in the top bar and select "Build Reflection Captures."
  2. 2.
    Save your project to ensure the new data overrides the old data correctly. Sometimes, the project may not update the data properly if not saved.

Step 2: Package your Map Data

  1. 1.
    Go to "Tools" > "YourOpenMetaverse" > "Package Map Data" in the Unreal Editor. This action will gather all the "_BuiltData.uasset" files generated in Step 1 and package them into a zip archive named ""
  2. 2.
    If your project contains multiple maps, the tool will package the map data for all of them. If you want to reduce the file size, you can delete unnecessary files from the "" archive.

Step 3: Upload your Map Data to GitHub

Commit and push the "" archive to your GitHub repository.
Result: By including the "" file in your repository, the Your Open Metaverse build pipeline will incorporate the map build data into the build process. This inclusion ensures that lightmaps, navmesh, reflections, and other necessary data work correctly for your Metaspace.