hi iam new to blueprint , I made a simple actor to show what i met in my programe
a blank bp actor , i added two arrow and uncheck the hide in game
the two arrow name “idle” and “move” , the “idle” one has no logic ,the “move” one has a simple move forward and backward by it’s forward vector using tick event
the two arrow has invert rotation
Try using set actor location instead of set relative location or attaching the idle arrow to the move arrow. Your event tick is moving the Move arrows relative location but it is not the root and the idle arrow isn’t attached to it so it’s going to remain where it is. I think it’s only noticeable when you rotate it because that causes the movement logic to move it along the Y or Z axis.
Your get forward vector probably just grabbing the forward in world space, thus offsetting the move at an angle as the whole actor turns. If you only want to move arrow in local space, just rotate one of them by 0z and the other by 180z then just set relative loc along the x (or y) axis.