USkeletalMeshComponent::TickComponent is run in the PrePhysics tick group. This is the only place where the SkeletalMesh is actually checked to be != nullptr to determine whether or not the TickCloth should be run.

TickCloth is set up to run in PrePhysics, but may be delayed until PostPhysics (this is guaranteed to happen when PostPhysicsTickFunction is run).

This means there's a potential gap where the SkeletalMesh may be changed to nullptr and it is never checked.

Should add a check to USkeletalMeshComponent::TickCloth that checks whether or not SkeletalMesh is valid.

Steps to Reproduce

Create the blueprints in the attached images.
(The first based on ActorComponent, the second on Character).
Add the character to a level.

Expected: The mesh gets cleared and doesn't crash.
Actual: The game crashes.

Have Comments or More Details?

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

Login to Vote

ComponentUE - Simulation - Physics - Character
Affects Versions4.124.13
Target Fix4.13
Fix Commit3077108
Main Commit3092051
Release Commit3077108
CreatedAug 1, 2016
ResolvedAug 4, 2016
UpdatedApr 27, 2018