I encountered a crash issue when using the GameplayCamera plugin in version 5.6

Hello, I encountered a crash issue when using the GameplayCamera plugin in version 5.6, and I can’t debug it through breakpoints. When activating two CameraRigs simultaneously, everything works normally, but if the second Rig is activated via a boolean value, it crashes. The Character is not null, the boolean value is normal, and both Rigs contain basic content.





3 Likes

Hello! Sorry about the trouble. Are you using the 5.6 Preview build? There are some known bugs in there, and generally speaking Preview builds are known to be unstable… but I haven’t since this crash before.

I can’t reproduce this locally, and it’s hard to tell what’s wrong from your screenshots. Would you be able to post a minidump file, or get the callstack using a local build from source, so we can see where exactly it’s crashing?

I found a way to reproduce this problem by adding an Enter pin and an Exit pin to the SharedTransitions in CameraAsset and then implementing only one of the pins, which crashes when the Transition is triggered.

A few other issues were also found:

  1. Clicking Build occasionally crashed while only adding a pin without a connection.
  2. When Enter and Exit connect to the same node, the data is saved even if the connection is disconnected. After restarting, the two APins will show that they are connected to a node.

For some reason, I can’t use the source engine right now. To avoid this problem, I’m avoiding empty pins for now. I hope you find this information useful.

1 Like

Ah yes thanks that’s very helpful! I should add more null checks to the code… we don’t have much QA on “Experimental” plugins so this is why bugs like these go unnoticed. I’ll get that fixed for 5.6 or, most probably, 5.6.1

1 Like

got it, thanks!

Hi, Ludovich!

So I was constantly getting crashes when I did SharedTransitions that had both Enter and Exit pins, but I only ever hooked one of them up. Took me forever to hunt down, but I guess I found the itchy spot.

It’s this file PersistentBlendStackCameraNode.cpp, in these two methods that are making trouble:

FindEnterTransition()

FindExitTransition()

What happens is, essentially, when I implement only something like Enter pins, but I don’t have Exit ones, the array of ExitTransitions is empty. But when I took a look at the code again, and realized that it attempts to send that empty array to FCameraRigTransitionFinder::FindTransition() and then somewhere in there it says “Transitions[0]” and skadoosh.

Idk, or I might be getting it wrong, but if this helps a little bit for you, happy for me! :blush:

Mmh I don’t see a version of that FCameraRigTransitionFinder that directly refers to Transitions[0], but if the array had some null pointers in it (e.g. some unconnected Enter/Exit pins) then yeah it would crash. I’ll fix that for 5.6.1, sorry about the bug, and thanks for helping find the source!

2 Likes

I’m getting this error even at cook/build phase after upgrade from UE 5.5 to 5.6

LogInit: Display: Warning/Error Summary (Unique only)
LogInit: Display: -----------------------------------
LogInit: Display: LogOutputDevice: Error: begin: stack for UAT
LogInit: Display: LogOutputDevice: Error: === Handled ensure: ===
LogInit: Display: LogOutputDevice: Error:
LogInit: Display: LogOutputDevice: Error: Ensure condition failed: PropertyDesc && PropertyDesc->CachedProperty  [File:D:\build\++UE5\Sync\Engine\Plugins\Cameras\GameplayCameras\Source\GameplayCameras\Private\Build\CameraObjectInterfaceParameterBuilder.cpp] [Line: 276]
LogInit: Display: LogOutputDevice: Error: Stack:
LogInit: Display: LogOutputDevice: Error: [Callstack] 0x0000018e48ca4ea1 UnrealEditor-GameplayCameras.dll!UE::Cameras::FCameraObjectInterfaceParameterBuilder::SetDefaultParameterValues() [D:\build\++UE5\Sync\Engine\Plugins\Cameras\GameplayCameras\Source\GameplayCameras\Private\Build\CameraObjectInterfaceParameterBuilder.cpp:198]
LogInit: Display: LogOutputDevice: Error: [Callstack] 0x0000018e48c5a302 UnrealEditor-GameplayCameras.dll!UE::Cameras::FCameraAssetBuilder::BuildCameraImpl() [D:\build\++UE5\Sync\Engine\Plugins\Cameras\GameplayCameras\Source\GameplayCameras\Private\Build\CameraAssetBuilder.cpp:110]
LogInit: Display: LogOutputDevice: Error: [Callstack] 0x0000018e48c599d9 UnrealEditor-GameplayCameras.dll!UE::Cameras::FCameraAssetBuilder::BuildCamera() [D:\build\++UE5\Sync\Engine\Plugins\Cameras\GameplayCameras\Source\GameplayCameras\Private\Build\CameraAssetBuilder.cpp:42]
LogInit: Display: LogOutputDevice: Error: [Callstack] 0x0000018e48c59c20 UnrealEditor-GameplayCameras.dll!UCameraAsset::BuildCamera() [D:\build\++UE5\Sync\Engine\Plugins\Cameras\GameplayCameras\Source\GameplayCameras\Private\Core\CameraAsset.cpp:157]
LogInit: Display: LogOutputDevice: Error: [Callstack] 0x0000018e48c9328c UnrealEditor-GameplayCameras.dll!UCameraAsset::PreSave() [D:\build\++UE5\Sync\Engine\Plugins\Cameras\GameplayCameras\Source\GameplayCameras\Private\Core\CameraAsset.cpp:187]
LogInit: Display: LogOutputDevice: Error: [Callstack] 0x00007ffe898572fb UnrealEditor-CoreUObject.dll!UE::SavePackageUtilities::CallPreSave() [D:\build\++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\SavePackage\SavePackageUtilities.cpp:682]
LogInit: Display: LogOutputDevice: Error: [Callstack] 0x00007ffe89819b8a UnrealEditor-CoreUObject.dll!anonymous namespace'::RoutePresave() [D:\build\++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\SavePackage2.cpp:340]
LogInit: Display: LogOutputDevice: Error: [Callstack] 0x00007ffe8981a21a UnrealEditor-CoreUObject.dll!UPackage::Save2() [D:\build\++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\SavePackage2.cpp:3791]
LogInit: Display: LogOutputDevice: Error: [Callstack] 0x00007ffe8981a7a1 UnrealEditor-CoreUObject.dll!UPackage::Save() [D:\build\++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\SavePackage.cpp:20]
LogInit: Display: LogOutputDevice: Error: [Callstack] 0x00007ffe7fcf91c5 UnrealEditor-UnrealEd.dll!UEditorEngine::Save() [D:\build\++UE5\Sync\Engine\Source\Editor\UnrealEd\Private\EditorEngine.cpp:4525]
LogInit: Display: LogOutputDevice: Error: [Callstack] 0x00007ffe7fa19898 UnrealEditor-UnrealEd.dll!UCookOnTheFlyServer::SaveCookedPackage() [D:\build\++UE5\Sync\Engine\Source\Editor\UnrealEd\Private\Cooker\CookSavePackage.cpp:126]
LogInit: Display: LogOutputDevice: Error: [Callstack] 0x00007ffe80b1c5bc UnrealEditor-UnrealEd.dll!UCookOnTheFlyServer::PumpRuntimeSaves() [D:\build\++UE5\Sync\Engine\Source\Editor\UnrealEd\Private\CookOnTheFlyServer.cpp:5053]
LogInit: Display: LogOutputDevice: Error: [Callstack] 0x00007ffe80b2ba24 UnrealEditor-UnrealEd.dll!UCookOnTheFlyServer::TickMainCookLoop() [D:\build\++UE5\Sync\Engine\Source\Editor\UnrealEd\Private\CookOnTheFlyServer.cpp:1528]
LogInit: Display: LogOutputDevice: Error: [Callstack] 0x00007ffe80b2b1ac UnrealEditor-UnrealEd.dll!UCookOnTheFlyServer::TickCookByTheBook() [D:\build\++UE5\Sync\Engine\Source\Editor\UnrealEd\Private\CookOnTheFlyServer.cpp:1408]
LogInit: Display: LogOutputDevice: Error: [Callstack] 0x00007ffe7f799940 UnrealEditor-UnrealEd.dll!UCookCommandlet::RunCookByTheBookCook() [D:\build\++UE5\Sync\Engine\Source\Editor\UnrealEd\Private\Commandlets\CookCommandlet.cpp:598]
LogInit: Display: LogOutputDevice: Error: [Callstack] 0x00007ffe7f75a69a UnrealEditor-UnrealEd.dll!UCookCommandlet::CookByTheBook() [D:\build\++UE5\Sync\Engine\Source\Editor\UnrealEd\Private\Commandlets\CookCommandlet.cpp:550]
LogInit: Display: LogOutputDevice: Error: [Callstack] 0x00007ffe7f776c83 UnrealEditor-UnrealEd.dll!UCookCommandlet::Main() [D:\build\++UE5\Sync\Engine\Source\Editor\UnrealEd\Private\Commandlets\CookCommandlet.cpp:269]
LogInit: Display: LogOutputDevice: Error: [Callstack] 0x00007ff634178fa0 UnrealEditor-Cmd.exe!FEngineLoop::PreInitPostStartupScreen() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\LaunchEngineLoop.cpp:3860]
LogInit: Display: LogOutputDevice: Error: [Callstack] 0x00007ff63416e39c UnrealEditor-Cmd.exe!GuardedMain() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\Launch.cpp:143]
LogInit: Display: LogOutputDevice: Error: [Callstack] 0x00007ff63416e6ba UnrealEditor-Cmd.exe!GuardedMainWrapper() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:128]
LogInit: Display: LogOutputDevice: Error: [Callstack] 0x00007ff63417209e UnrealEditor-Cmd.exe!LaunchWindowsStartup() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:282]
LogInit: Display: LogOutputDevice: Error: [Callstack] 0x00007ff634184e44 UnrealEditor-Cmd.exe!WinMain() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:339]
LogInit: Display: LogOutputDevice: Error: [Callstack] 0x00007ff634187466 UnrealEditor-Cmd.exe!__scrt_common_main_seh() [D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288]
LogInit: Display: LogOutputDevice: Error: [Callstack] 0x00007fff3c11e8d7 KERNEL32.DLL!UnknownFunction []
LogInit: Display: LogOutputDevice: Error: [Callstack] 0x00007fff3d09c34c ntdll.dll!UnknownFunction []
LogInit: Display: LogOutputDevice: Error: end: stack for UAT
LogInit: Display: LogCook: Error: UShaderPipelineCacheToolsCommandlet failed 1

In my case it helped out to open the parameters window (that when you are coming from 5.5 is not visible at the beginning)

In my case i had various variables with no name (i think they came from migrate)

I posted here a modified version with some latest changes of the plugin

You’ll see the warning of wich bp is causing issues when you save the MAIN camera asset