Level Instance Property Overrides failing in UWorldPartitionLevelStreamingDynamic::FinalizeRuntimeLevel

Hello.

We are trying to use LevelInstanceOverrides, but are encountering a lot of problems with it.

I tried to follow the instructions here for enabling it, but as soon as I try to override something in a level instance, things start to crash.

https://dev.epicgames.com/community/learning/knowledge\-base/r6wl/unreal\-engine\-world\-building\-guide\#lis\&plas\-importantchangesin55

Initially I thought we just had issues with actors with soft object ptr to each other, so I wanted to recreate the issues in a sample project. But in the sample project I also have the same type of issues in really simple setups. I’m wondering if I’m doing something fundamentally wrong, like I missed a step or something.

The project is 5.7.4 from the EpicLauncher.

In the attached project, I have enabled overrides in the options and modified DefaultEngine.ini to include

[/Script/Engine.LevelInstanceSettings]
PropertyOverridePolicyClass=/Script/Engine.LevelInstancePropertyOverrideSamplePolicy

I made a main level, and an actor blueprint that prints its name on BeginPlay and the possibility to link too another actor and print its name also.

I made a level with a single actor in it and a level with two actors in them so thay I could test linking them (what I thought my real issue was). And then I wanted to override the level instances to change the names so that its visible on start if it works or not.

The project is very small and issues happen instantly. I’m not 100% sure how to get to this state. This is what I did.

  1. Add Lonely to the map, no problems
  2. Add Lonely2 to the map and override the name. Still no problems
  3. Add Friends to the map, no problem
  4. Edit Friends map to have Alba and Allan linked to each other. Start playing, problems. Hit check and Lonely2 is missing
  5. Remove Friends from map to get back to state of #2, start playing, still problems. Hit check and Lonely2 is missing
  6. Restart editor, start playing, still same problems

I’m not sure what happened between step 2 and 5 to make it so that nothing seems to work and trying to undo the changes doesn’t help. Maybe if I just did step 1, 2 and then re-loaded the map before playing I would have the same issue immediately.

Can you get it to work? Can you manage to place the friends, override the level instance and change their names?

Everyone.png(98.3 KB)
Crash.png(1010 KB)
Lonely.png(151 KB)
Explanation.png(189 KB)

Steps to Reproduce

  1. Start Lvl_MainLevel (should load at startup)
  2. Hit “play” and fail check in UWorldPartitionLevelStreamingDynamic::FinalizeRuntimeLevel, check(!HasLoadedLevel());

Hi there,

Thank you for providing a repro project and the steps you have. Unfortunately, I have been unsuccessful in reproducing this error. When following your steps I did not reach any errors and the actors were visible as expected. I’m wondering if the repro project is not quite set up how you have outlined it in the description or perhaps I am missing something in your repro steps.

Could you please clarify if there is anything else I need to correctly setup the repro project? Additionally If there is any modifications to your engine or settings (it sounds like there aren’t) please let me know.

Thank you,

Louis

Hi,

It looks like the crash was resolved following the discussion in this thread: [Content removed]

The fix is split in 3 separate submissions: 49332776, 49374927 and 49381376.

Regards,

Martin

You are correct, when zipping the project, it doesn’t include “property overrides enabled” option. I didn’t verify that reproducing the issue from the zip actually worked.

I tried to repro twice now with what I uploaded and a new version. I could reproduce it both times. There should be no difference between the new and uploaded zip.

This is what I did.

Attempt #1 (new zip)

1. Enable level instance property overrides in editor preferences

2. Override Lvl_Alone_with_override MyName to Lonely2

3. Save everything

4. Click play, still works

5. Restart editor

6. Click play -> Crash in UWorldPartitionLevelStreamingDynamic::FinalizeRuntimeLevel check(!HasLoadedLevel());

Attempt #2 (same zip I already uploaded here)

1. Enable level instance property overrides in editor preferences

2. Override Lvl_Alone_with_override MyName to Lonely2

3. Save everything

4. Click play, still works

5. Reload level

6. Click play -> Crash in UWorldPartitionLevelStreamingDynamic::FinalizeRuntimeLevel check(!HasLoadedLevel());

Here’s a picture showing the “override” option not existing for the level, so the option isn’t enabled.

Here’s a picture showing the output without overrides. This is what the projectr I uploaded shows.

Here’s a picture showing the output for step 4, when it works. Right after I override, but before I reload the level.

Step 6 is the original issue I reported.

Hi again,

Thank you very much for the clarification. With that I was able to properly reproduce the issue. This behavior definitely seems unintended. I have enough info now that I can create a bug report for it. Once it’s publicly tracked you should be able to view it here. I Apologize that I don’t have a workaround for the issue at this time.

Thanks,

Louis