Skip to content
Godot
Search
No search query
Search
Main Navigation
About
Introduction
List of features
System requirements
Frequently asked questions
Complying with licenses
Godot release policy
Documentation changelog
Getting started
Introduction
Step by step
Your first 2D game
Your first 3D game
Manual
Best practices
Troubleshooting
Editor introduction
Migrating to a new version
2D
3D
Animation
Assets pipeline
Audio
Export
File and data I/O
Internationalization
Input handling
Math
Navigation
Networking
Performance
Physics
Platform-specific
Plugins
Rendering
Scripting
Shaders
User interface (UI)
XR
Contributing
How to contribute
Contribution workflow
Engine development
Writing documentation
Community
Asset Library
Community channels
Tutorials and resources
Class reference
Appearance
Menu
Return to top
On this page
Best practices
Introduction
Applying object-oriented principles in Godot
Scene organization
When to use scenes versus scripts
Autoloads versus regular nodes
When and how to avoid using nodes for everything
Godot interfaces
Godot notifications
Data preferences
Logic preferences
Project organization
Version control systems