Yeah, I am not a progammer (yet), but am getting ready to learn. But having looked at Godot, GameMaker Studio, and a few others, this seems pretty typical (that you have to create player input from scratch). For example, when I started to learn GameMaker Studio, I seriously thought that they would have a simple piece of code for pushing an object, an extension of their collision code or some such. Nope. Not at all. It's so basic and the basis for so many games. Instead, you had to do a lot of basic programming to get that simple function to even work. It was frustrating.

On the other hand, like you pointed out, you can create your code and save it to use whenever you like, making this a quick process for yourself. And because Godot allows you to attach code to objects/parts, you can easily create your code, attached to a part, save that part, and reuse as you please in any game. It's pretty easy to make a base player character, attach scripts to control it, and then use this as you base whenever you please, just swapping out the sprite or 3D model.

This is, for me, one of the things that attracted me to Godot over a system like GameMaker Studio ... and perhaps this goes back to my 3D GameStudio roots. wink