Editor crash with "GPUSkinCache.cpp"

I encountered the same issue last week.
In my case, the crash happened when I opened the map, not when starting PIE.
I tried every solution mentioned in this thread, but none of them worked for me.

Then, I started debugging the engine and found the problem.
It was an initialization order issue.
I had a Blueprint actor with two skeletal mesh components, like the one below:

DefaultSceneRoot
├ Leader
└ Follower

The engine attempted to register the ‘Follower’ component first, and the ‘Follower’ component tried to access the ‘Leader’ component, which wasn’t registered yet.
As a result, the ‘Follower’ component was initialized with invalid values, causing a crash.

The solution was to change the hierarchy, with ‘Leader’ as the parent:

DefaultSceneRoot
└ Leader
   └ Follower

However, even after modifying my BP asset, I still suffered the crash.
This was because the engine tried to initialize the level with the already corrupted .umap file, not from the modified BP asset.
In the end, I modified the engine, opened the level, re-saved it with the modified BP, and then rolled back the engine changes.
And I was happy again! :smile:

Here is the code I added at the start of FSkeletalMeshObjectGPUSkin::Update():

if (InMeshComponent && InMeshComponent->LeaderPoseComponent.IsValid() && !InMeshComponent->LeaderPoseComponent->IsRegistered())
{
    InMeshComponent->LeaderPoseComponent->RegisterComponent();
}

I hope this helps!