I didn't check with the debugger, but I suspect this is caused by:

void UMoviePipelineExecutorJob::OnDuplicated_Implementation()
UserData = FString();

When the queue is loaded, each job is duplicated into the queue, and thus we probably call OnDuplicated. The original intent was that the UserData field was linked against some sort of third party id (such as a Deadline Task ID), and that when the job was duplicated, you wouldn't want the new job to have the same TaskID, so it cleared the UserData field on duplication. Unfortunately loading a queue also calls the same functions, so the data gets lost on load.

Steps to Reproduce

1. Open Window->Cinematics->Movie Render Queue
2. Create at least one render job
3. Create a Editor Utility Widget or Python Script that loops through the jobs in the queue and sets the UserData field on each job to something.
4. In the MRQ window, click Load/Save Queue and save the Queue as an asset.
5. Clear the jobs from the MRQ window.
6. Load the saved queue.
7. Use a Editor Utility Widget/Python Script to loop through the jobs in the queue and print the UserData field. The field will be blank.

Have Comments or More Details?

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

Login to Vote

ComponentUE - Anim - Sequencer - MRQ
Affects Versions5.1
CreatedJan 6, 2023
UpdatedJan 9, 2023