AddMovementInput vs SetActorLocation - networking prediction

Hello,

I would like to know if there is any way to move my character in the way SetActorLocation() does, but using the CharacterMovementComponent prediction and networking features combined with as it does when I use AddMovementInput()… AddMovementInput() is not working for me since it simulates physics, I need something simple like SetActorLocation(), but doing the complicated things like prediction and authoritative network.

AddMovementInput is in the PawnMovementComponent, and everytime we calls it, it calls SetInputVector().
According to the documentation (Character Movement Component) and the CharacterMovementComponent/PawnMovementComponent code, everytime SetInputVector() is called, the CharacterMovementComponent works doing all the dirty and hard job about authoritative networking, prediction, smoothing, update saved moves when needed, etc, so the client doesn’t feel the network “lag” and yet stays equal to the same movement happening in the authoritative server… .
But that isn’t true for SetActorLocation(), no movement prediction, smoothing and network safe for the SetActorLocation()… Right?

Background:

My game is a 2.5d top-down game where
the player controls an helicopter,
which flies in one of the two possible
planes (one with Z = 5, another with Z
= 400 ).

The helicopter moves in X and Y using
AddMovementInput() and starts in the Z
= 400 plane, but the player can hit a “Change Height” button to move to the
lower plane. The “Change Height”
movement itself is a Timeline, based
on a curve, that moves the helicopter
from Z = 400 to Z = 5 smoothly but not
linearly, something like an
animation… To do that move, I use
the curve point to change Z location,
using SetActorLocation();

I cannot use AddMovementInput for that
because it simulates physics, and I
don’t want that. All I want is the
helicopter going from Z= 400 to Z=5
straight like my curve.