# World Travel in the Editor

{% hint style="success" %}
verified: 2025-11-20 version: v39
{% endhint %}

## Introduction <a href="#introduction" id="introduction"></a>

World travel is now available to test in the editor. It uses a Morpheus plugin called `MorpheusMultiServer`, which allows you to specify and start multiple servers locally; most of the setup is to get these extra servers working, and then you can travel between them using portals or gates in your game world in the same way you would in a cloud deployment.

A lot of the below stuff is going to *look* scary, but it’s not that bad once you get used to it.

We do plan to remove some of the extra setup requirements in the longer-term (e.g. the Launch Settings section) but unfortunately due to time restrictions on development, at the moment there are a few extra steps.

## Enabling World Travel’s Editor Mode <a href="#enabling-world-travels-editor-mode" id="enabling-world-travels-editor-mode"></a>

Firstly, a nice simple one: go to your **Editor Preferences**, search for “World Travel” and enable **Use Editor Mode for World Travel**.

<figure><img src="/files/atztAGMHJf3YRQ14MICW" alt=""><figcaption><p>Make sure to enable “Use Editor Mode for World Travel”!</p></figcaption></figure>

### Do I need to revert this later?

It depends, but in general no - it’s fine to keep this option enabled all the time. If you’re testing elements of the web service flow for world travel (eg. sending an Http request for available worlds) then you’ll want to make sure it’s disabled for that, as this option overrides that request. Incidentally, that’s why this option defaults to false - to preserve existing workflows for other people.

## Setting a World Id

A client/server requires a WorldId to run correctly. In PIE, it can largely proceed without it, but in a launched process, it will exit out. Therefore, if the WorldId is not configured correctly, the launched extra server processes will fail, giving a fatal log and closing.

To resolve this, there are two options:

1. (The preferred approach): In `Editor Preferences - General - Sign In Settings`, set `Use Local World for PIE` to true. This will generate a local WorldId for you.

   <figure><img src="/files/ehXmZ1gHaOP9r2XFQ3mz" alt=""><figcaption></figcaption></figure>
2. In your `Config/DefaultM2Services.ini` file, add a `WorldId` to your `[/Script/M2ServicesCore.M2_DomainSettings]` section. You can enter a bogus value like `WorldId=myworldid` here, and it work locally.

   <figure><img src="/files/ieUSEEooodyWe1lesii3" alt=""><figcaption></figcaption></figure>

## Set Up Some Extra Servers <a href="#set-up-some-extra-servers" id="set-up-some-extra-servers"></a>

### Finding the Settings <a href="#finding-the-settings" id="finding-the-settings"></a>

To start out, go to **Editor Preferences** and select **Morpheus Multi Server Settings**. You should see the following screen:

<figure><img src="/files/ruGujJtaSwPMmHrPpiAW" alt=""><figcaption><p>The MorpheusMultiServer settings - example array element added for screenshot</p></figcaption></figure>

This is where you’ll configure your extra servers. You’ll need one server for each **extra** map - for example, if you’ve got maps A and B and you’re starting PIE from map A, just set up a server for map B.

### Adding Extra Server Processes <a href="#adding-extra-server-processes" id="adding-extra-server-processes"></a>

So, for each extra server you want, add an element to **Extra Server Processes to Create**.

### Choosing the Extra Server Settings <a href="#choosing-the-extra-server-settings" id="choosing-the-extra-server-settings"></a>

There’s a bunch of numbers and options there. What do they mean? Let’s cover the simple ones first:

* For **Deployment Map**, choose the level that server should be running.
* For **Deployment Name**, what you put doesn’t really matter as long as it’s unique - but we recommend something human-readable.
* *If you need to pass command line arguments to a specific server, type them in the **Additional Command Line Arguments** box! In the majority of situations you can leave this blank.*

Next up, there’s a bunch of **port** options. What’s up with those?

### Choosing the Port Numbers <a href="#choosing-the-port-numbers" id="choosing-the-port-numbers"></a>

<figure><img src="/files/AUuFJIycdCLVrByeflGu" alt=""><figcaption><p>The mysterious “ports” options for each server</p></figcaption></figure>

A very non-technical explanation of a **port** is that you can think of it as being like a USB slot on your laptop or PC, except it holds **a program** instead of your mouse or keyboard or headset. If a port already has a program using it then other programs can’t use that port as well.

So, how do you fill out the port numbers in a way that doesn’t conflict with other programs? Here’s a good strategy:

* For **Server Port**, use **7778** for the first extra server and **add one** for each extra new server;
* For **Deployment Redis Port**, use **6380** for the first extra server and **add one** for each extra new server;
* For **Deployment Proxy Port**, use **9001** for the first extra server and **add one** for each extra new server.

*Why does this work?*

*If you’re curious - the default server port for our PIE sessions is 7777. Similarly, for the redis port it’s 6379 and for the proxy port it’s 9000. Adding one for each new server will generally ensure you get an unused value.*

### Help! I Need to Choose Other Port Numbers <a href="#help-i-need-to-choose-other-port-numbers" id="help-i-need-to-choose-other-port-numbers"></a>

In rare situations, the above strategy might not work. If it fails, you should get an error somewhere that reads `Skipping creation of <deployment name> because the <name> port specified for it is occupied`.

Here are some rules of thumb for situations where you have to guess at port numbers:

Rules of thumb for choosing port numbers if the above doesn't work

* **Choose Unique Numbers:** In short, don’t reuse the same port twice on this settings page.
* **Choose High 4-digit Numbers:** Generally, if you choose a high 4-digit number, you should be fine.

## Hit Play! <a href="#hit-play" id="hit-play"></a>

Yay! You should see at least one extra window open up - these are the standalone servers running each extra map.

<figure><img src="/files/lyoc8Bw7DpNgm9OIp3Vk" alt=""><figcaption></figcaption></figure>

You should be able to world travel between them as you would normally - see [World Travel](/platform-documentation/creation/unreal-development/features-and-tutorials/world-travel.md).

### Cheats for World Travelling <a href="#cheats-for-world-travelling" id="cheats-for-world-travelling"></a>

`WorldTravel.TravelToDeployment [DeploymentName]` - Travels to input deployment. Uses partial matching.

`WorldTravel.TravelToMap [MapName]` - Travels to input map. Uses partial matching.

`WorldTravel.List` - Prints list of available worlds to travel to.

## Extra Options <a href="#extra-options" id="extra-options"></a>

There are two extra options in the Multi Server settings which are extremely useful and worth understanding:

* **Should Create Extra Servers on PIE Start**: defaults to `true`. When set to `false`, the extra servers you’ve specified will not be created. This is extremely useful if you want to go back to normal non-world travel testing but want to retain your extra server setup for later.
* **Should Destroy Extra Servers on PIE Finish**: defaults to `true`. When set to `false`, the extra servers created when you hit Play will not be destroyed when you hit Stop. This is useful if you want to retain state on a server between tests, or to speed up schema generation (see Known Issues).

Two important notes on the above

* If you have extra servers still running from a previous PIE session, they won’t be recreated regardless of your choices. You’ll have to close them manually if you decide later on you don’t want them.
* The server on which you start your PIE session will **always** shut down when you hit Stop, regardless of your editor preferences. There's no workaround for this currently, but can be investigated if it becomes a necessity.

## Troubleshooting & Known Issues <a href="#troubleshooting-and-known-issues" id="troubleshooting-and-known-issues"></a>

### Help! My Servers Aren’t Starting <a href="#help-my-servers-arent-starting" id="help-my-servers-arent-starting"></a>

If you’ve definitely followed the above guide to the letter, the most common cause of this is that your port numbers are already taken. Check your logs (both server and client) for the following message:

`Skipping creation of <deployment name> because the <name> port specified for it is occupied`

where the angle brackets are replaced by a specific deployment name/port type. If you find this message, the solution is to change the relevant port number until you find one that works - it shouldn’t take long.


---

# 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.otherside.xyz/platform-documentation/creation/unreal-development/features-and-tutorials/world-travel/world-travel-in-the-editor.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.
