I'm a software engineer professionally, designing and implementing large complex systems is basically all I do, it's what I'm used to. The more I get into unity, and it's something I sort of knew to an extent already, I realize that many things shouldn't be handled by scripts. I just learned for instance that Camera movement is probably better suited to learning how to use Cinemachine, a really mind blowingly powerful tool. I wasted a solid day doing tutorials for camera movement, trying tons of scripts to get the effect I'm looking for, and it turns out Cinemachine does this and they have examples on how to set it up that I'll be working on tonight. And so what I want to know is, where should my instinct be around whether to reach for my keyboard and start scripting, or dig deep into unity's toolbox to find a solution the engine manages already? For instance, character movement? Projectile pathing and speed? These are things done in tons of games in almost identical ways, should I expect unity to have an option for these? Do I really need to reinvent the wheel to make a character move with an animation? Like what are the things that tons of people write scripts for but unity actually already provides for them they just need to know about them, what am I missing?