Description

Enabling Strip Source Data On Cook on Geometry Collection (GC) is also stripping the Anchor flag of cooked assets. The licensee has reported that once they do a build the Anchors disappear and GCs that previously were using it as a way to hold them still are all falling to the ground.
I've tested this on 5.5, 5.6, 5.7.
I've done some investigating and I believe the anchors are stripped when using bStripOnCook on UGeometryCollection::Serialize:
/** Serialize */
void UGeometryCollection::Serialize(FArchive& Ar)
...
#if WITH_EDITOR
if (bStripOnCook)
{
// TODO: Since non-nanite path now stores mesh data in cooked build we may be able to unify
// the simplification of the Geometry Collection for both nanite and non-nanite cases.
if (EnableNanite && HasNaniteData())

{ // If this is a cooked archive, we strip unnecessary data from the Geometry Collection to keep the memory footprint as small as possible. ArchiveGeometryCollection = GenerateMinimalGeometryCollection(); }

else

{ // non-nanite path where it may be necessary to remove geometry if the geometry collection is rendered using ISMPool or an external rendering system ArchiveGeometryCollection = CopyCollectionAndRemoveGeometry(GeometryCollection); }

}

GenerateMinimalGeometryCollection() might be ignoring the anchor state at this point.

 

Steps to Reproduce

The licensee has shared a repro project. I recommend using it because the setup is a bit complex.
Using the licensee's project, you need to create a build and run it.

From scratch:
On a blank project, setup the project so it opens up a scene while running the game.
In that scene, create a static mesh (e.g. a Cube), make sure it is floating in the air
Select it and go to Fracture mode
Create a New Geometry Collection(GC) from the cube
Frature it any way you want, in the FractureHierarchy window, select one or more fragments, Right-Mouse-Click and go to Anchored > Yes setting those as Anchors
Select the created GC in the Content Browser and open it up
Enable StripSourceDataOnCook and save
If you Play-In-Editor you will notice that the Cube did not fall - the Anchors stop if from moving
Save the scene and now go to Tools > Project Launcher and in the window that opens press Launch - that should create a build and open it up for you once it's done.
When done, it will open the game and the scene with the GC Cube.

Expected behavior: the GC Cube should remain floating, the anchors holding it still in the air
Actual behavior: the GC Cube falls to the ground - the Anchor information is stripped along the Source Data on cook

Have Comments or More Details?

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

0
Login to Vote

Unresolved
ComponentUE - Simulation - Physics
Affects Versions5.55.65.7
CreatedJul 20, 2025
UpdatedSep 11, 2025
View Jira Issue