You cannot expect anyone to comment on this because it’s not even valid code. If you have a script question then please post valid script using code-tags .
Calculate the direction, normalise it, scale it by time or speed (if you wish) and manipulate the velocity by either indirectly adding as a force or setting the velocity directly. There is no “properly”, there’s only how you can/need to do it in your project given how your stuff needs to move/interact etc.
Also, use Vector2 for 2D, not Vector3. If you normalise a Vector3 and it has a non-zero Z value, it’ll be normalised along with that affecting the unit-normal produced.
You might want to review basic physics to understand the difference between force and velocity and position. Adding force changes velocity. Velocity changes position. Each is a derivative (or integral) of the next.
If you just want a Rigidbody to move in a direction, just set its .velocity field. You can smoothly increase velocity over several frames, or decrease it, to smooth movement.
If you want a Rigidbody to gain speed in a direction, you use AddForce(). If you do this the RB will continue accelerating faster and faster, slowed only by impacts or drag (friction).
If you want to control velocity through force, you WILL need some kind of closed-loop controller, such as a PD or even PID controller, to adjust the force such that it targets a given velocity. For 99% of games this would be a silly approach that would needlessly complicate what could be accomplished simply by setting the .velocity directly.