La conception des interfaces graphiques est souvent une tâche fastidieuse pour les programmeurs:
Godot propose un ensemble d'outils capables de s'adapter et de mixer différentes approches. La phase d'apprentissage est un peut plus longue que dans certains autres toolkits mais présente l'avantage de partager les mêmes ensembles d'outils que les concepteurs et animateurs.
Tout élément de l'interface graphique hérite du node Control (pour d'autres systèmes on parle de “Widget” ou de “Box”).
Les coordonnées et la taille d'un node Control sont toujours relatifs au node parent.
Les nodes de type Control recoivent des evenements par l’intermédiaire de la méthode de callback Control.input_envent().
Control hérite de la classe CanvasItem, l'appel de la méthode CanvasItem._draw() a lieu la création de l'objet puis la méthode CanvasItem.update() pourra être fait à chaque fois que l'élément aura besoin d'être rafraîchis.
Si le Control n'est pas visible, il ne reçoit aucune entrée.
Godot inclus des dizaines de Control classés en deux catégories.
Ils sont utilisables lorsque les interactions ou les présentations complexes avec le joueurs ne sont pas nécessaires.
Le repositionnement des Controls est rendu efficient via l'utilisation des ancres.
Dasn tous les cas il arrivera souvent que des UI plus complexes soit nécessaires par exemple défilement d'une liste d'éléments ou une table des scores qui utiliseront les objets ScrollContainer ou VBoxContainer. Ces types de controls plus avancés peuvent être mixés avec des Controls simple