Runtime Rendering Crash

We have created a package build that supports rendering out a sequence turn table at runtime. It is a super simple animation with a stationary camera with a object rotating in frame. Attached is our BP graph of how we are calling the event to render during runtime. We have a very simple UI widget that has the ability to preview the animation first or export it out. Hitting the export will kick off the Bake Anim event. In the BP logic we are using custom but simple save file dialog script written in C++ to be able to save out the file location. We tried using the available plugin to do this but it wouldn’t work for our project so we recreated our own in C++ with slight modifications to make it work. That code logic is attached.

When running the build, previewing the turn table causes no issues, you can preview several times in a row or whenever and there be no issues. Once you try to export out the animation we are hit with the “Assertion failed” error. Alternatively on a fresh start of the build, if we hit export first and not preview we can get a successful rendered sequence out of the package but upon trying to render a second time we are hit with the same “Assertion failed” error. Closing and reopening each time will let us render only that first time or only let us preview but as many times as we want and won’t let us render.

We feel like the backend cleanup or like job clearing of the sequence is not getting executed so when we try to render a second time it is failing. Also if we are running the actual 5.4 project we can render at runtime in the viewport just fine, its just when we try to render in the packaged build.

[Attachment Removed]

Steps to Reproduce
We have created a package build that supports rendering out a sequence turn table at runtime. It is a super simple animation with a stationary camera with a object rotating in frame. Attached is our BP graph of how we are calling the event to render during runtime. We have a very simple UI widget that has the ability to preview the animation first or export it out. Hitting the export will kick off the Bake Anim event. In the BP logic we are using custom but simple save file dialog script written in C++ to be able to save out the file location. We tried using the available plugin to do this but it wouldn’t work for our project so we recreated our own in C++ with slight modifications to make it work. That code logic is attached.

When running the build, previewing the turn table causes no issues, you can preview several times in a row or whenever and there be no issues. Once you try to export out the animation we are hit with the “Assertion failed” error. Alternatively on a fresh start of the build, if we hit export first and not preview we can get a successful rendered sequence out of the package but upon trying to render a second time we are hit with the same “Assertion failed” error. Closing and reopening each time will let us render only that first time or only let us preview but as many times as we want and won’t let us render.

We feel like the backend cleanup or like job clearing of the sequence is not getting executed so when we try to render a second time it is failing. Also if we are running the actual 5.4 project we can render at runtime in the viewport just fine, its just when we try to render in the packaged build.

[Attachment Removed]

Hi there,

Thank you for sharing the details.

Based on the limited context, it’s a bit difficult to determine the exact cause of the crash. However, after reviewing the Blueprint, one thing that stands out is the absence of any unbinding or clearing of the delegate. If delegates remain bound across multiple runs, they may trigger duplicate callbacks or lead to an invalid state.

If possible, could you provide the log file and callstack for the crash? A minimal repro project would also be very helpful for us to investigate this case further.

Best regards,

Henry Liu

[Attachment Removed]

Hi Henry,

Thank you for your support on this. I have attached the log file for the project after it crashes. I did not package the project to include the crash reporter but can if that is required. It is difficult to recreate a minimal project and could take some time to strip out the content from the main project. That being said this crash issue is not present when using the actual unreal project and running the game in the viewport, this is strictly a packaged project crash that we are seeing.

Based on the BP logic what advice do you have to unbind or clear the delegate? Like where can I add in the logic to do the unbind/clear?

[Attachment Removed]

Thanks for the update and the log file.

The logs suggest the crash may be triggered by an invalid or empty render buffer being sent to the PNG writer, possibly due to a problem with the Level Sequence or the UI rendering data.

A few things to check:

Make sure to unbind the delegate after OnExecutorFinished and cancelRender.

Add a guard to verify whether rendering is already in progress, ensuring only one execution runs at a time.

Check if GetSequence is available

Check if Map is available

To help narrow down the issue, you can try a quick isolation test:

Create an empty Level Sequence.

Add a camera and a camera cut.

Hardcode a Level Sequence and a map in Blueprint.

Package a version.

Attempt to render out, and also try using EXR format as well.

[Attachment Removed]