Description

From the [Link Removed]:

We had an issue where PIE was being stopped due to an "infinite loop" being detected in one of the blueprints construction script. This was also crashing the editor as the "PlayWorld" was null when it got to UEditorEngine::EndPlayMap and failing the check.

PIE Settings:

Play As Client
Run under single process.

It seems that inside UEditorEngine::Tick, where we iterate the "WorldList" to render each play world leaves a nullptr assigned to "PlayWorld". This seems to happen when running a server, so when we encounter the Blueprint issue, it queues a request to end PIE but by the time it actually does it, the Client has its' World Context registered but not fully initialized. So we end up with an invalid World being assigned to "PlayWorld" in the last iteration. I've attached screenshots.

Steps to Reproduce

1) Open the project via the project browser after launching the editor from the epic launcher(for reasons explained above).

2) Once the editor loads, drag and drop BP_CrashDummy into the level.

3) Set PIE to be under the "Client" config.

4) Start PIE.

5) Observe crash.

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-198468 in the post.

0
Login to Vote

Fixed
ComponentUE - Gameplay - Blueprint Runtime
Affects Versions5.2
Target Fix5.4
Fix Commit29109777
Main Commit29109814
CreatedOct 19, 2023
ResolvedOct 25, 2023
UpdatedNov 4, 2023