Definitely use the hierarchical instanced static mesh component.
But the reason your game speed was reduced with 32 conveyors is the fact you are using OnTick on all of them all the time.
First… that’s not “right” in terms of best practices for a lot of reasons. You saw it yourself as you had issues setting up the objects that can move vs those that cannot.
You should change it so that a BP interface is used on the objects.
When they collide with the conveyor belt, they will look up the direction to move and move them-mself via timeline.
This will reduce the load from 35 tick events always running to however many items need moving. Only when they need moving.
Another suggestion.
setup the base mesh as a hierarchical instance too, and when items snap together, remove the item, span an extra instance…
the way you have it now you’d have to duplicate the collision box too. I would actually just use the pin collision like I had it running on my end, so its completely modular.
that’s about it. Removing the on tick will probably already get 120 fps without the HISM. But think big