How to optimize massive simulations with RigidRoot component.

	To efficiently manage the simulation of a large number of objects, use the RigidRoot component rather than the Rigid component with the Mesh Root object type.
	MeshRoot workflow adds a rigid component with the same properties to all its children, which is fine if you have a small number of objects (10-100), but every child will get a rigid component, and each rigid will run its own coroutines and perform unnecessary collision checks even if you do not intend to demolish objects to fragments.
	RigidRoot component do not add any RayFire components to children and run few coroutines for all child objects, which makes it much more efficient if you want to simulate a lot of objects.

1.	Create Cube, this will be a ground cube which will be used for collisions.

2.	Set its name to "Ground", position to [0,0,0] and scale to [10,1,10]

3.	Create another Cube, this will be the source of our fragments. Set its name to "Fragments", position to [-4,6,0] and scale to [1,11,1]

4.	Add RayFire Shatter component to "Fragments", set Amount value to 2000 and click on Fragment button.

5.	Destroy "Fragments" object, we do not need it anymore.

6.	Add RayFire RigidRoot component to "Fragments_root" object, set Initialization to At Start, Simulation Type to Inactive. We will collapse this structure with RigidRoot and then with Rigid/MeshRoot to compare which one works faster.

7.	In Acivation properties enable Connectivity checkbox and set Offset to 0.1

8.	Add RayFire Connectivity component to "Fragments_root" object, set Type to By Polygons. Connectivity component will handle connections among fragments and initiate Collapse. Because of the large number of fragments, it is best to turn off Connections and Nodes preview. Toggle Off Show Connections and Show Nodes buttons. Later you can enable them to see how Collapse destroys connections if you want.

9.	In Collapse properties set Type to Random, End to 85 and Duration to 5. It means that with every step Collapse will destroy random connections, after 5 seconds 85% of random connections will be destroyed and Collapse will stop. Seed for randomly destroyed connections can be defined in Filters properties. With the same Seed every time you will get the same Collapse.

10.	Add RayFire Unyielding component to "Fragments_root" object and set Center to [0,-5,0]. Unyielding component required to define fragments with which other fragments will attempt to connect via each other, and fragments that fail to establish connection will be activated and begin to fall down.

11.	Start Play Mode and in Connectivity component click on Start Collapse button.

Notice how cracks start to appear over the whole structure and then some fragments start to detach from the structure and fall down. Also notice the average FPS during simulations, in my case it was around 90-100 FPS.

12.	Turn Off Play Mode. 

Now we will create identical setup but with Rigid component. 

13.	Select "Fragments_root" object and duplicate it. Rename new "Fragments_root (1)" root with fragments to "Fragments_meshroot" and set its position to [4,6,0]. Select "Fragments_root" and in its RigidRoot properties set Initialization to by Method, so it won't participate in simulation. 

14.	Select "Fragments_meshroot" object and Remove RayFire RigidRoot component. Instead Add RayFire Rigid component, set its Initialization to At Start, Object Type to Mesh Root and simulation to Inactive.

15.	In Activation properties set Offset to 0.1 and enable Connectivity checkbox. Now we have absolutely identical setup.

16.	Start Play Mode and in Connectivity component click on Start Collapse button.
	
	You should get absolutely identical collapse but this time it is much slower. Average amount of FPS in my case was around 30-40 FPS.