Yeah, so what everyone is saying is that there’s likely something still moving your meshes. You must stop those first, move the actor and then re-enable whatever was moving the meshes (movement, physics, custom blueprints/code, input actions, etc.) In my first failed game, I had to do this to pick up a log.
meshComp->SetSimulatePhysics(false);
Note that physics runs in parallel with your code. It continues to update your object positions and rotation even as your own code or blueprint runs. Turning it off tends to be rather immediate but there’s no guarantee. I’m not sure how to check when it’s safe to move an object. Not only that, but if anything that is moving your meshes has state, that state must be reset.
As to the question about moving the mesh’s transform relative to the actor, here’s a bit of info that may not be obvious. The Actor doesn’t actually have a transform. When you modify the Actor’s transform, it uses the root component’s transform. So if you have a mesh that you want it to represent your actor’s position, just make the mesh the root component. So when the mesh position is moved, your actor MUST move with it because the mesh transform IS the actor’s transform.