Description

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
      }
    }
    // ...
  }
  //...
}

 

Steps to Reproduce
  1. Create and open a Level Sequence editor.
  2. Add the anim sequence with morph target curve values ( SK_Box_Morph_1_Anim_2 ) to the Level Sequence.
  3. For the added SkeletalMeshActor , add a key with Spawned = true at frame 0, and add keys with Spawned = false at frame 1 and at the animation sequence’s end frame.
  4. When changing the playback frame of the sequence from frame 1 to frame 0, the mesh is displayed without the morph applied.
  5. While this actor is spawned, if you edit the track of another actor, the actor is shown with the morph applied.
  6. The morph state in steps 3 and 4 repeats.
  7. Add the skeletal mesh ( SK_Box_Morph_1 ) to the sequence, and add the anim sequence ( SK_Box_Morph_1_Anim_2 ) to its animation track.
  8. Add the Spawned keys as in step 3.
  9. Close the Level Sequence and set it up so that it will play when running PIE.

 

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.

Have Comments or More Details?

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

0
Login to Vote

Unresolved
ComponentUE - Anim - Runtime
Affects Versions5.65.7
CreatedDec 4, 2025
UpdatedDec 6, 2025
View Jira Issue