When a skeletal mesh with morph targets spawns in the sequence, the morph is not reflected in the first frame.
It appears that in the SkeletalMesh ProcessStage_SkinCache call, MorphVertexBuffer-
>SectionIds is empty, so the morph target is not used, and then in the subsequent
ProcessStage_Upload call, MorphVertexBuffer->SectionIds fails to update the morph on the first frame.
void FSkeletalMeshObjectGPUSkin::ProcessUpdatedDynamicData(FRHICommandL
{
// ...
if (Mode == EGPUSkinCacheEntryMode::Raster)
{
// ...
// RayTracing-specific LOD's can't have a separate morph target
if (GEnableMorphTargets && LODData.GetNumVertices() > 0 && (bHa
{
// Force an update if this is the first use of the buffer
if (!MorphVertexBuffer->bHasBeenUpdated)
{
bMorphNeedsUpdate = true;
// Force Init SectionIds
MorphVertexBuffer->SectionIds = DynamicData->SectionIds
}
}
// ...
}
//...
}
Results
In step 4, during sequence editing, the mesh is displayed without the morph target applied.
In step 7, during gameplay in a low-frame-rate environment, the mesh is shown without the morph target applied after it spawns. (ex. t.maxfps 8)
Expected
The skeletal mesh actor spawned through the sequence should have the morph target applied on the first frame.
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-356717 in the post.
| 0 |
| Component | UE - Anim - Runtime |
|---|---|
| Affects Versions | 5.6, 5.7 |
| Created | Dec 4, 2025 |
|---|---|
| Updated | Dec 6, 2025 |