Very cool for the first project!
It's complicated question. But I come up with using RigidBody and AddForce or changing velocity in RB directly in FixedUpdate. Also I disabling gravity in RB and use my own Gravity through AddForce. Unity's is too slow for me usually.
Also there is many additional magic like clamping max velocity to not go too high. Adjusting acceleration and physics material friction etc.
So there are many little things to create perfect controller and there is no certain answer. You need to experiment and compare/analyze movement with the games you like. But you you use physics in any way I don't recommend move objects through Transform.