For the past few days, I’ve been working on my own player code my goal is to try to keep things as decoupled as possible since a flaw with my previous projects is my code was too connected and scripts were just managing things they shouldn’t be or had references to things they shouldn’t and so it lead to confusion. So this time around I’m trying to mess around with inheritance and composition to try and prevent this and have a decent workflow and I think I’ve done well so far, but I’d still like to get suggestions.
Looks really clean. Good work. You can also just use Vector3.zero for your ZERO_VECTOR3 constant.