The class reference

The Class reference is a set of articles describing the public API of the engine. This includes descriptions for various classes, methods, properties, and global objects, available for scripting. The class reference is available online, from the documentation sidebar, and in the Godot editor, from the help menu.

See also

To learn how the class reference works on a technical level, see the latest documentation of the class reference.

As the engine grows and features are added or modified, some parts of the class reference become obsolete and new descriptions and examples need to be added. While developers are required to document their work in the class reference when submitting a pull request, we can't expect every programmer to be a good technical writer. There is always work for contributors like you to polish existing and create missing reference material.

The source of the class reference

As the class reference is available in two places, online and in the editor, we need to take care to keep things in sync. To achieve this the main Godot repository is picked as the source of truth, and the documentation for the class reference is tracked there.

Warning

You should not edit .rst files in the classes/ folder of the documentation repository. These files are generated automatically and are synced manually by project maintainers. Read further to learn how to correctly edit the class reference.

In the main repository the class reference is stored in XML files, one for each exposed class or global object. The majority of these files is located in doc/classes/, but some modules contain their own documentation as well. You will find it in the modules/<module_name>/doc_classes/ directory. To learn more about editing XML files refer to the latest documentation of the class reference.

See also

For details on Git usage and the pull request workflow, please refer to the How to create pull requests page.

If you want to translate the class reference from English to another language, see Translating Godot. This guide is also available as a video tutorial on YouTube.

Important: If you plan to make large changes, you should create an issue on the godot-docs repository or comment on an existing issue. Doing so lets others know you're already taking care of a given class.

Updating class reference when working on the engine

When you create a new class or modify an existing engine's API, you need to re-generate the XML files in doc/classes/.

To do so, you first need to compile Godot. See the Introduction to the buildsystem page to learn how. Then, execute the compiled Godot binary from the Godot root directory with the --doctool option. For example, if you're on 64-bit Linux, the command might be:

./bin/godot.linuxbsd.editor.x86_64 --doctool

The exact set of suffixes may be different. Carefully read through the linked article to learn more about that.

The XML files in doc/classes/ should then be up-to-date with current Godot Engine features. You can then check what changed using the git diff command.

Please only include changes that are relevant to your work on the API in your commits. You can discard changes in other XML files using git checkout, but consider reporting if you notice unrelated files being updated. Ideally, running this command should only bring up the changes that you yourself have made.

You will then need to add descriptions to any newly generated entries.