Introduction

Welcome to the Godot Engine documentation center. The aim of these pages is to provide centralized access to all documentation-related materials.

Items in strikethrough mean the feature exists, but documentation for it has not been written yet. Notice!

Some types and method names changed recently, please read this:

SceneMainLoop -> SceneTree Notes

Roadmap

Development Roadmap Community Roadmap Frequently Asked Questions

Contributing

Contributing to godot is always very appreciated by the developers and the community. Be it by fixing issues or taking one of the “fun” and “not so fun” tasks. Before getting to work on anything please talk with the developers in the recently created [Developer’s Mailing List].(https://groups.google.com/forum/#!forum/godot-engine).

Fun! Fun tasks to do! Not so Fun Not so fun tasks. gsoc2015 Ideas Compiled ideas for GSOC 2015.

Tutorials Basic (Step by Step)

Scenes and Nodes Instancing Instancing (Continued) Scripting Scripting (Continued) Creating a 2D Game GUI Introduction Creating a Splash Screen Animation Resources File System SceneTree Singletons (Autoload)

Engine

Viewports Multiple Screen Resolutions Input Events & Actions Mouse & Input Coordinates Version Control & Project Organization GUI Control Repositioning Background Loading Encrypting Save Games Internationalizing a Game (Multiple Languages) Handling Quit Request Pausing The Game SSL Certificates Changing Scenes (Advanced) Basic Networking (TCP&UDP) GamePad/Keyboard-Controlled GUIs

2D Tutorials

Physics & Collision (2D) Tile Map Kinematic Character (2D) GUI Skinning Particle Systems (2D) Canvas Layers Viewport & Canvas Transforms Custom Drawing in Node2D/Control Custom GUI Controls Screen-Reading Shaders (texscreen() & BackBufferCopy) Ray-Casting Raycasting From Code (2D and 3D). GUI Containers Cut-Out Animation Physics Object Guide

3D Tutorials

Creating a 3D game Materials Fixed Materials Shader Materials Lighting Shadow Mapping High Dynamic Range 3D Performance & Limitations Ray-Casting Raycasting From Code (2D and 3D). Procedural Geometry Light Baking 3D Sprites Using the AnimationTreePlayer Portals & Rooms Vehicle GridMap (3D TileMap) Spatial Audio Toon Shading

Math

Vector Math Matrices & Transforms

Advanced

Paths HTTP Example of using the HTTP Client class. Thread Safety Using Multiple Threads.

Editor Plug-Ins

Editor Plugin Writing an editor extension. Editor Plugin Writing a Resource or Node editor extension. Editor Import-Export Writing an editor import-export extension. Editor Scene Loader Writing a scene format loader. Editor 3D Import Writing a script for customizing imported 3D scenes.

Reference Class List

Alphabetical Class List List of classes in alphabetical order. Categorized Class List List of classes organized by category. Inheritance Class Tree List of classes organized by inheritance. Relevant Classes List of the most relevant classes to learn first.

Languages

GDScript Built-in, simple, flexible and efficient scripting language. GDScript (More Efficiently) Tips and help migrating from other languages. Shader Built-in, portable, shader language. Locales List of supported locale strings. RichTextLabel BBCode Reference for BBCode-like markup used for RichTextLabel.

Cheat Sheets

2D & 3D Keybindings List of main 2D and 3D editor keyboard and mouse shortcuts.

Asset Pipeline General

Image Files Managing image files (read first!).

Import

Import Process The import process described. Importing Textures Importing textures. Importing 3D Meshes Importing 3D meshes. Importing 3D Scenes Importing 3D scenes. Importing Fonts Importing fonts. Importing Audio Samples Importing audio samples. Importing Translations Importing translations.

Export

Export Exporting Projects. One Click Deploy One Click Deploy. Exporting Images Tools for converting image files and creating atlases on export. PC Exporting for PC (Mac, Windows, Linux). Android Exporting for Android. BlackBerry 10 Exporting for BlackBerry 10. iOS Exporting for iOS. NaCL Exporting for Google Native Client. HTML5 Exporting for HTML5 (using asm.js). Consoles Exporting for consoles (PS3, PSVita, etc).

Advanced

Advanced Advanced Topics (C++ Programming, File Formats, Porting, etc).