Is it possible to reduce ISM Body Instances

I’m looking to reduce the amount of physics data that exists in memory during the running of our game - something which we have taken some steps to do already by merging collision when possible and reducing the number of colliders in general.

One thing that I’ve noticed is that ISM components have an array of FBodyInstance in addition to the singular FBodyInstance created by UPrimitiveComponent. I had some questions as to the necessity of individual instances.

  1. What is the intended purpose of BodyInstance? From what I can tell it appears to be primarily a template for setting up the internal Chaos representation of a physics object/particle combined with a handle to the live object it created. Is this correct or am I missing something?
  2. Is an individual instance necessary for each instance in the ISM if the physics properties are the same for all instances and do not change at runtime? I’m actually not sure why body instance properties would differ between instances outside of maybe destruction.
  3. Would it be possible to instead track live chaos data directly through an array of Chaos::FPhysicsObject structs. In this scheme the objects would be created with a single BodyInstance as a template with only the transform changing.
  4. We are using the fast geo plugin released in 5.6 in our project. Would it be feasible for us to either create a new handler for ISM components that uses a singular body instance or mod the existing one? We have already done the engine mods necessary to be able to add new components.