You could make the recoil part of the shooting animation, but then the actual gameObject wouldn’t move, just the mesh. If you use physics, you can apply force to the opposite shooting direction / backwards. The most basic and reliable method is to use a simple Vector3.Lerp function, where you save the ship position in a Vector3 variable, then lerp to a V3 slightly backwards, and then back to the saved V3.