The kinematic boat should be moved using Rigidbody.MoveRotation and Rigidbody.MovePosition from FixedUpdate.
Note that the non-kinematic objects will be colliding with the boat anyways, regardless of the parenthood relationship. A Rigidbody component just overrides its GameObject’s Transform based on the physics interactions.
Thanks for your replies. I tried moving it via MovePosition and MoveRotation but the performance gets even worse. Before it went from 60 down to around 42 FPS and now it goes down to 37 FPS.
The number of items depends on how many the player buys. Currently its limited to 3 per item which results in around 40 items max. But usually its just around 15 items in the boat
Can you approximate the mass of the objects, deactivate them as physics bodies, nest them to the boat and make a simple, single physics body that replaces their mass?