When using Level Instances to share Landscapes across multiple levels, encountered editing difficulties.

We aim to share the Landscape across multiple Levels.

Therefore, we adopted the following structure:

  • We want to put the shared landscape into another level
  • Landscape sublevel is loaded as Level Instances within multiple Levels. Additional background Static Meshes and assets are placed separately in each Level.

[Image Removed]

  • However, our Landscape is large. Loading it entirely would cause extremely slow editing and likely exhaust GPU memory.
  • To solve this, we aim to load only the specific Landscape area we wish to edit. Consequently, we enabled World Partition in the Landscape Sublevel.
  • This allows us to load the Landscape Sublevel regionally. However, since the Landscape Sublevel only contains the landscape actor and cannot display other objects from the Main Level, editing the landscape becomes extremely difficult.

[Image Removed]

  • We discovered that editing the Landscape Sublevel within the Main Level is impossible. We encountered the error shown in the image.

[Image Removed]

<br/>

What we want:

  • Edit the landscape on Main Level 0 instead of LandscapeSublevel, using the same method as editing a regular Level Instance.
  • After saving, the changes will be synchronized to the landscape on Main Level 1.

Is this possible?

<br/>

Hello!

There is a project setting that allows to modify LevelInstances that are partitioned in place. You need to go in the Project Setting\Editor\Level Instance section and activate ‘Is Edit In Place Streaming Enabled’.

Regards,

Martin

The edited LevelInstance cannot be streamed while edited in-place at this moment. That is a limitation of the system and there is no plan to add support for it right now.

Depending on the needs of the project, an alternative method that would allow sharing the landscape and edit it in context could be to have a single World Partition level. The landscape would be assigned to the WP level while the “levels” content would be in DataLayers. So you would have one DataLayer for “Main Level 0” and another for “Main Level 1”. I’m not sure this can work for you but this is the only scenario that would allow you to edit the landscape in context while being able to stream the patches.

You mentioned being worried about running out of VRAM while editing the landscapes. The team optimized the usage of VRAM in version 5.6. That should be beneficial to your needs once you move to that release.

Regards,

Martin

Hi Martin!

Really thanks.

>Project Setting\Editor\Level Instance section and activate ‘Is Edit In Place Streaming Enabled’.

It works! This makes us can edit the landscape in another level instance.

But we still have a problem:

  • Can we only load a region and edit?

Before enter the edit mode:

[Image Removed]

After enter the edit mode:

[Image Removed]

Why we want to only edit one region:

Because we are using a large landscape. Loading the whole landscape causes a GPU Out-of-memory error frequently.

Luo

Really thanks for all your help! I think your answer solved our problem perfectly.