, I tried what you suggested and the ship passes through some things but not others. Ships pass through other ships, ships pass through the ground, but bullets collide correctly with ships (and ground). Does that suggest a problem with movement?
Movement is done like this, inside Ship::Tick():
RootComponent->MoveComponent(velocity * delta_seconds, rotation, true);
… where “velocity” and “rotation” are just variables computed each tick. So I don’t know if that’s a common approach, but I didn’t use any “movement components,” etc…
Sorry, what’s welding? The ship is made up of a few different actors. The root is an empty USceneComponent. I do this because the player can build his ship at run-time.
The other actors (those shapes that you see in the image) are attached to the ship’s root using AttachRootComponentTo() and I position them with GetRootComponent()->MoveComponent().
If there’s a better way to attach actors to actors, please let me know and I’ll try it.