We are currently using Unreal Engine 4.26 and are investigating a recurring issue related to LevelSequence / MovieScene assets, where binary cooking outputs change between builds even when source assets and engine revision remain unchanged.
Our observations include:
- LevelSequence (MovieScene-based) assets produce different serialized results across multiple full cooks on UE 4.26.
- This occurs without modifying the source .uasset files.
- In some cases, this behavior leads to mismatches between asset headers and export data (e.g. .uasset/.umap vs .uexp), and may result in runtime errors such as:
MovieScene3DTransformSection
Serial size mismatch: Got X, Expected Y
During investigation, we noticed that MovieScene-related data such as UMovieSceneSignedObject::Signature may be regenerated or modified during the cooking process, which could introduce non-deterministic serialization output for LevelSequence assets in UE 4.26.
Questions for Epic:
- Is nondeterministic serialization of LevelSequence / MovieScene assets a known issue in UE 4.26?
- Specifically, are there known cases where MovieScene data (such as signatures, compiled data, or GUIDs) may change between cooks even when assets are unchanged?
- Has this issue been fixed or mitigated in later engine versions?
- If so, which versions (for example UE 4.27 or UE 5.x)?
- Is there a specific changelist (CL) or commit that addresses this behavior?
- Are there recommended best practices for UE 4.26 to ensure deterministic cooking of LevelSequence assets?
- For example:
- Required resave or upgrade workflows
- Specific cook or packaging settings
- Avoiding certain editor-time or cook-time mutations
- Is it expected behavior in UE 4.26 for UMovieSceneSignedObject::Signature (or related MovieScene fields) to change during cooking, or should this data remain stable once assets are saved?
[Attachment Removed]