The component’s, actor’s and world’s forward vectors can differ:
- in Unreal X red is forward
- an actor can have its own fwd as it’s rotated in the world
- each scene component can also have a unique forward that is relative to the owning actor:
green Y is Right, blue Z is the Up vector, and the same rules apply as above.
It often comes to down to the hierarchy:
If I rotate only the static mesh component but use the entire Actor’s forward, I’d go in the wrong direction.
The first thing I’d do is to place the simulating colliding component at the root of the actor. This way you can use actor forward and it will always make sense. Not to mention that offsetting simulating components in asking for trouble.
A recent example of using forward vector to thrust in the desired direction: