Preparing Your UE5 Project

The steps to make your Unreal project ready to be imported to Odyssey.

1. Update your project file

If you haven't yet, you'll need to first complete the Bridge CLI installation steps.

Upon reopening your Unreal Editor for the first time after Bridge installation, follow the notification prompt to Update your project.


2. Disable Game Mode Overrides

Odyssey currently doesn't support level specific Game Mode overrides, and only supports a single stable Game Mode defined in the Maps and Modes Project Settings.

To disable the level specific Game Mode Override go to Window > World Settings, and under the Game Mode subheading set the field GameMode Override to None.




3. Using your own player actor

If you are porting a completed project into Odyssey with a finished player actor system, you likely will want to keep that functionality intact.

To keep your player actor functionality, you'll just need to reparent some of your classes to use Odyssey's classes. Unreal editor makes this a simple process.

  1. Open Project Settings -> Maps & Modes section
  2. Open your Default GameMode blueprint class
  3. Inside of your GameMode blueprint, in the File menu, select the Reparent Blueprint option, and in the picker select OdysseyGameMode. See video below.
Reparenting an existing Game Mode blueprint class

Reparenting an existing Game Mode blueprint class

  1. Close your GameMode blueprint, and navigate back to Maps and Modes section.
  2. In Maps and Modes, under the Selected GameMode dropdown, you'll need to update Game State Class and Player State Class as well.
    1. If these are default values (GameStateBase and PlayerState) you can simply change them to OdysseyGameState and OdysseyPlayerState.
    2. If these are custom values, you'll reparent their classes to the Odyssey classes. (Following same instructions on Step 2).
  3. Under Maps and Modes, under Game Instance, you'll need to update the Game Instance Class.
    1. If this is a default value (GameInstance) you can simply change it to OdysseyGameInstance.
    2. If this is a custom value, you'll need to reparent their class to OdysseyGameInstance. (Following same instructions on Step 2).

In total you should have changed or reparented the following classes:

  • GameMode, GameState, PlayerState, and GameInstance.

Once you have done the above you should have a GameMode setup that looks similar to below.

Example correct Default GameMode setup

Example correct Default GameMode setup


3. Using Odyssey's player actor system

You can also opt to using Odyssey's completed avatar and navigation system, if you don't want to roll your own.

Go to Project Settings -> Maps & Modes settings. Set the Default GameMode field to OdysseyAvatarsGameMode.


(Optional) Add navmesh bounds

If you want to utilize Odyssey's "click to move" navigation system, or avatar features like sittables - you'll need to create a navmesh bounds on your level.

Create the NavMeshBoundsVolume in your map, and make sure it covers the entirety of it.

This can be found in Place Actors Panel search bar > NavMeshBoundsVolume.




4. Validate Odyssey configuration

To make sure all the project and world settings are correct, you can run the Odyssey Configuration Validation.

The validation script will detect any missing project and world settings and log them in the Message Log for you. By default, the Odyssey Configuration Validation is run every time a .umap file is saved. You can also run it manually directly from the World Editor Toolbar's Odyssey Bridge Toolkit section.


5. Add player spawn

Finally you'll want to make sure you have a functioning player spawn.

You can use your own, but Odyssey also has a Odyssey Player Spawn Volume that is helpful in networked scenarios, as it prevents users from spawning directly on top of each other.

To use Odyssey's player spawn, place the OdysseyPlayerSpawnVolume (within Actor Panel > Odyssey Bridge Toolkit) in your map close to the ground. Make sure to remove any other spawners in your level if using this.


6. Deploying your project

Once you've followed these steps you'll be able to deploy your project to Odyssey.

Follow the Bridge CLI docs in order to deploy your project.




Known issues and limitations

Third party engine plugins

❗️

Odyssey currently does not support third party engine plugins. You must disable engine plugins or convert them to project plugins.

Before deploying your project, you'll need to port any third-party engine plugins to be a project plugin, or disable them. Luckily in Unreal it's easy to convert engine plugins into project plugins. To do so you just copy the plugin folder from your Unreal Engine installation directory, and paste it inside your project's Plugins directory.