ProceduralMeshComponent creating files to DerivedDataCache

When using ProceduralMeshComponent files are created in Users<user>\AppData\Local\UnrealEngine\Common\DerivedDataCache\

The files are called “PHYSX_<alphanumeric string>PHYSXPC_<more text>.udd”

The files are created when calling CreateMeshSection() with bCreateCollision set to true.

Reproduction steps:

  1. Create actor that has CreateDefaultSubobject<UProceduralMeshComponent> in constructor
  2. Call CreateMeshSection() with bCreateCollision set to true in BeginPlay
  3. Create 100 instances of that Actor with GetWorld()->SpawnActor<>()

100+ new files will be created in DerivedDataCache and they will keep stacking up if you run the game again.

I had 182 356 PHYSX_<…>.udd files when I discovered it (the project was created about a week ago).

Same Bug in 4.17 and 4.18 i notice that because my SSD of 1Tb have 600Gb of this files inside of DerivedDataCache.
I use RuntimeMeshComponentPlugin of Spine 2d software (Similar to Procedural Mesh Component)
Files are generated at runtime for me in the map where i use RuntimeMeshComponent.
This Problem can potentially Kill Hdd or SSD for the amount of Write/Read operations.

i hope there is a solution for it

I’m seeing the same issue.

I’ve tried to pinpoint where ProceduralMeshComponent goes wrong. It seems this is an inherent issue with how collision meshes are generated and can’t be fixed. It would be great if someone from Epic could chime in here. All we can do is disable this and have users of our Spine UE4 runtime manually create collision shapes.