Use professional AAA practices in your Godot game NOW | Part I
<aside>
The code state at the moment of video ends: https://github.com/Gab-ani/Godot_Universal-Controller-tutorial/tree/episode-1
</aside>


Player character is a system which controls, simulates, and visualizes a character that is controlled not by an autonomous script, but by a human that actively presses their inputs. It follows pattern: MVC (Model-View-Controller).
<aside>

godot template

</aside>
Godot has an option to use a template for new scripts, and one of these templates is a basic controller for a 3D character. (CharacterBody3D node).
Let's read it: "If input then model; if input then model simulate.". But we don't have any graphics yet. Let's add a capsule to our player. Now we can launch our game and control the character.
The code didn't change, but the visuals are updating. Why is it?
If input happens, then change model parameters, then simulate, then visualize.
⇒ The basic character template already complies with the MVC approach.