Name | Version | Link |
---|---|---|
Godot | 4.0 | Download |
VSCode | 1.68+ | Download |
Source | Link |
---|---|
Godot Documentation | View |
|-- Addons
|-- Assets
|-- Editor
|-- Media
| |-- Audio
| |-- Video
|-- Sprites
|-- Models
|-- Materials
|-- Shaders
| |-- Canvas
| |-- Spatial
| |-- Particle
|-- Fonts
|-- Scenes
| |-- Levels
| |-- Characters
| |-- Other
|-- Scripts
| |-- Editor
| |-- DataObjects
| |-- Managers
| |-- Utilities
| |-- Resources
| |-- Other
|-- ExternalAssets
|-- Media
| |-- Audio
| |-- Video
|-- Sprites
|-- Models
|-- Materials
|-- Shaders
|-- Fonts
|-- Scripts
Folder | Description |
---|---|
addons | Store all addons/plugins in this folder. |
media | Store all audio and video files here. |
sprites | Store all 2D sprites here. |
models | Store all 3D models here. |
materials | Store all materials here. |
shaders | Store all spatial, canvas or particle shaders here. |
fonts | Store all font resources here. |
scenes | Store all scenes here. |
scripts | Store all scripts here. |
scripts/editor | For Editor specific scripts. |
scripts/managers | For singleton scripts used in Auto Loading. |
scripts/utilities | For utilty scripts used across the project. |
scripts/resources | Instances of DataObjects or other Godot resources. |
external-assets | This is a reflection of the Assets folder, but meant for external assets you want to keep seperate from your project . |
- Use line feed (LF) characters to break lines, not CRLF or CR.
- Use one line feed character at the end of each file.
- Use UTF-8 encoding without a byte order mark.
- Use Tabs instead of spaces for indentation.
See the Godot Style Guide for a full breakdown.
Name | Rule | Example |
---|---|---|
Variables | Use snake case. Private variables start with an underscore. | var _private_var: int |
Functions | Use snake case. Private functions start with an underscore. | func _private_func(): |
Signals | Use snake case. | signal my_signal |
Constants/Enums | Use upper snake case. | var MY_CONST |
Folders | Use kebab case. | folder-name-here |
Classes | Use pascal case. | class_name MyClass |
Variable Declaration | Always use : operator to create variables with a type. |
var my_variable: string = "my var" |
Function Declaration | Always use -> operator to specify function return type. |
func do_something(age: int) -> int: |
Max Parameters | A method should not have more than 5 parameters. | - |
No magic numbers or strings | Do not use magic variables, rather define them as constant in a single location. | - |
Please follow the Conventional Commits standards as well as squashing your commits into a single commit.
Specification can be found at www.conventionalcommits.org.
How to squash commits: https://www.git-tower.com/learn/git/faq/git-squash
Commits should be in the following form: type[optional scope]: description. Examples include:
feat: allow provided config object to extend other configs
feat(api)!: send an email to the customer when a product is shipped
docs: correct spelling of CHANGELOG
Type | Title | Emoji | Release | Description |
---|---|---|---|---|
feat |
Features | โจ | minor |
A new feature |
refactor |
Code Refactoring | ๐ฆ | patch |
A code change that neither fixes a bug nor adds a feature |
perf |
Performance Improvements | ๐ | patch |
A code change that improves performance |
fix |
Bug Fixes | ๐ | patch |
A bug Fix |
chore |
Chores | โป | patch |
Other changes that don't modify src or test files |
revert |
Reverts | ๐ | patch |
Reverts a previous commit |
docs |
Documentation | ๐ | patch |
Documentation only changes |
style |
Styles | ๐ | - | Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc) |
test |
Tests | ๐จ | - | Adding missing tests or correcting existing tests |
build |
Builds | ๐ | patch |
Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm) |
ci |
Continuous Integrations | โ | - | Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs) |
BREAKING CHANGE |
Breaking Change | ๐ | major |
When a breaking change occurs on the commit. Rather use the "!" operator in conjunction with a type. |