I have a spaceship that is a sum of components, such as hull, engine, guns, etc. These are all children of an empty PlayerShip object. How do I detect collision on the player’s ship all at once, without handling collision for each ship component?
Add a rigidbody component to the parent (PlayerShip) GameObject. All collision will then be caught by this object. This is what UT call compound colider.
See Rigidbody (documentation)
Just check for collision the usual way (script on the parent.) All the child colliders count as one big collider on the parent.