When running a scene using a VR headset, if the Sequencer is open in the editor, it will cause the engine to crash. To prevent this crash, I have to close the sequencer before every run—but I always forget . Have someone found any other solutions for this?
Hello there @Anonymous_9bc9a62b5b24c996e4cf5fdb5af45e66 !
That’s a quite peculiar issue, there are not many problems reported between Sequencer and VR. You can implement a few all-rounder fixes, like a clean install for your GPU drivers (and using Developer version, if available), as well as clearing your project’s cache, via deleting Saved, Intermediate, and DerivedDataCache folders from your main directory.
If the issue persists, then we will need to see the exact error encountered, via checking the crash log, which can be found in the following location (also, please check the crash report guide). Once you have the log, add it to the thread, and we can investigate further.
Where To Find Local Crash Reports
Crash reports from the editor are stored on your local machine in your project’s
Saved/Crashes
folder.Alternatively, you can find crash reports on a user’s local machine in
C:\Users[Your Windows Username]\AppData\Local[Project Name]\Saved\Crashes
.
Civilization.log (234.7 KB)
I just saw the reply。 Is this right?
Hello again!
Perfect, thank you for sending the log. Checking through its content, the key error should be:
Assertion failed: false [File:D:\build++UE5\Sync\Engine\Source\Editor\UnrealEd\Private\PlayLevel.cpp] [Line: 518]
来自PIEStage的Object“World /Game/Civilization/Level/UEDPIE_0_Xila.Xila”仍然在被引用。从根目录的最短路径:
Using Google Translate for the last section:
“The object from PIEStage ‘World /Game/Civilization/Level/UEDPIE_0_Xila.Xila’ is still being referenced. Shortest path from root:”
Sharing with my peers, this means the engine tried to access PIE world, but was blocked by Sequencer. The Sequencer editor tab is keeping internal references to PIE objects, and the engine expects all PIE objects to be cleaned up. The cleanup fails, thus generating the crash.
Looking around the community, this is a long standing conflict between sequencer and PIE+VR. The most common solution is to create a blueprint that closes Sequencer when PIE becomes active, similar to this logic:
Event On PIE Started
→ Get Editor Subsystem (AssetEditorSubsystem)
→ Get All Edited Assets
→ ForEachLoop
→ IsValid?
→ IsA(LevelSequence)
→ If True → Close All Editors for Asset
You can also disable auto-play in Sequencer for the actors/levels in use. Ultimately, it’s a matter of ensuring that Sequencer is off at the right time. Hope this helps!
Thanks for the answer! I haven’t used Blueprint much before, I’ll try it.
Would you mind tell me what type of Blueprint I should use, how to call it before runtime, and the specific node?
I ‘m a beginner in blueprint. I tried to study blueprint for several days, but still have no idea how to find the node like’GetAllEditedAssets’.