Isn't this handled by the base class's MoveTo function? Since it calls SetPosition, which is overridden here to include the camera's Z?