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.





2 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?

(post deleted by author)

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!