Animation / Attack set move path

I want to know what the best way is to make the character follow this sort of (but not limited to) arch into the air and then only stopping the move once he reaches the ground. Like is it done with Velocity somehow? Is it done through animations?

They play an animation for the move, but then a velocity handles the movement

It looks like the y velocity follows an arch and then level off at negative velocity, and the xz velocity follows the player camera’s lookvector and levels off around 0

-- assume time is the amount of time in seconds after the move has activated
local function move()
  -- play animation

  -- makes a parabolic trajectory on y axis where -10 is the terminal velocity
  local velocityY = math.max(-10, 3 - gravity * time)

  -- moves fast at first and then slow, stopping at 0 speed
  local horizontalSpeed = math.max(0, 3 - time)

  -- move in the direction of where player looks
  local xzVelocity = Vector3.new(camera.LookVector.X, 0, camera.LookVector.Z) * horizontalSpeed

  -- total movement of character
  local velocity = horizontalVector + Vector3.new(0, velocityY, 0)

  -- then assign velocity to some velocity object in the character
end

And this is done once? Or do you call this every frame or something

you update the velocity every frame and just play the animation once