You should definitely brush up on your math skills then
It is by far the most valuable and frequently used skill set I have when it comes to game dev and VR. When you’re learning math, you’re learning how to be a better programmer and game developer 
So, let’s talk about this super simple math problem you’re approaching…
You’ve got a start position, a current player position, and a destination position. These will all be vector3’s, which each have an X,Y,Z component. We’re going to assume that the camera is attached to the player.
When the player gives a movement request to go from point A to point B, you want to move them there at a constant speed. Since we’re moving characters on a per-frame basis, we’re going to be applying a fixed velocity to the character each frame.
So, let’s pretend that you start off at point A [0,0,0] and you want to move to point B [10,0,0] and you want to arrive there in 2 seconds. In other words, you want to move +10 units on the X axis in 2 seconds. So, your velocity vector is going to be 10 / 2 = 5 units / second. Speed is the distance traveled over time, just think speed limit signs and car speeds: they travel in miles per hour, which is distance units over time. A vector contains speed AND direction, so if we want to move with a velocity of 5 units / second on the positive X axis, we our velocity vector will be [5,0,0].
Okay, so we’re moving by a given amount per frame, and there are LOTS of frames per second. The frame rate is variable, so it can be anywhere from 1 frame per second to 90+ frames per second. Thankfully, we know how much time has elapsed since the last frame because the engine gives it to us in a “delta time” variable. The delta time is the time stamp difference between the current frame and the last frame, so it’s always accurate. Let’s say we’re running at a fixed 60 frames per second. If we want to move our character by 5 units per second, how many units do we move per frame with 60 FPS? That’s easy: 1/60 * 5 = 0.0833
Anyways, we can condense all of this stuff down into a couple lines of pseudo code:
void YourCharacter::Tick(float deltaTime)
{
Position += Velocity * deltaTime;
}
FVector YourCharacter::FindVelocity(FVector StartPoint, FVector EndPoint, float TimeSpan)
{
//distance & direction / time units (think: miles per hour)
return (EndPoint - StartPoint) / TimeSpan;
}