Logo

Organization

  • How to contribute
    • Fundraising
    • Provide feedback
    • Participate in Godot's development
    • Contribute to Godot's ecosystem
    • Help with community support
  • Areas and teams
    • How to join a team / become a maintainer
    • 2D
    • 3D
    • Animation
    • Asset pipeline
    • Audio
    • Core
    • Demos
    • Documentation
    • Editor
      • Debugger
      • Script Editor
    • GUI
    • Input
    • Navigation
    • Networking
    • Physics
    • Platforms
      • Android
      • Apple
      • Buildsystem
      • Web
      • Windows
      • Linux / BSD
    • Quality Assurance
      • Tests
      • Bugsquad / Issue triage
    • Rendering
      • Shaders
      • VFX / Tech Art / Particles
    • Scripting
      • GDExtension
      • GDScript
      • C# / .NET / Mono
    • Server Infrastructure
    • Technical Leadership Committee (TLC)
    • Translation / i18n
    • Usability
    • Website
    • XR
  • Resources
    • Benchmarks (long-term performance tracker)
    • Class reference status
    • Commit artifacts
    • Godot builds
    • Interactive changelog
    • Issue statistics
    • Proposals viewer
    • Pull requests by file
    • Team reports
    • Website article cover generator

Providing feedback

  • How to write a good issue report
    • Checklist
    • Before opening an issue
    • The anatomy of an issue report
      • The critical parts
        • The tested versions
        • The system details
        • The issue description
        • The reproduction steps
        • The Minimal Reproduction Project (MRP)
        • Videos and screenshots in reports
        • Code snippets in reports
  • Testing and reporting issues
    • Testing development versions
  • Proposing and discussing ideas
    • How are proposals accepted?
    • Evaluating proposals
  • Bisecting regressions
    • What is bisecting?
    • Using official builds to speed up bisecting
    • The Git bisect command
      • Determine the commit hashes
      • Build the engine
      • Run the engine

Pull requests

  • Pull request workflow
    • When will a pull request get reviewed?
  • Pull request rules and guidelines
    • Respect our Code of Conduct
    • Respect copyright
    • Contribute one change at a time
    • Explain your contributions
    • Contribute only what you understand
    • AI-assisted contributions
  • How to create pull requests
    • Git source repository
    • Forking and cloning
    • Branching
    • Updating your branch
    • Making changes
    • Pushing changes to a remote
    • Issuing a pull request
    • Modifying a pull request
    • The interactive rebase
    • Rebasing onto another branch
    • Deleting a Git branch
  • Reviewing pull requests
    • Confirm that that pull request is valid
    • Confirm that the problem exists
    • Confirm that the approach is appropriate
    • Test the PR and look for regressions
    • Do a code review
    • What to avoid during review
    • Post your review
  • Testing pull requests
    • Downloading a compiled build
      • If you have a GitHub account
      • If you don't have a GitHub account
    • Compiling a pull request branch from source
      • Downloading a zipped pull request branch
      • Checking out a pull request branch with git

Contributing to the engine

  • Introduction to engine contributions
    • What can I contribute?
    • Checklist for new contributors
    • Setting up a dev environment
      • IDE integration
  • Engine contribution guidelines
    • Best practices for engine contributors
      • Introduction
      • Language
      • Best Practices
        • #1: The problem always comes first
        • #2: To solve the problem, it has to exist in the first place
        • #3: The problem has to be complex or frequent
        • #4: The solution must be discussed with others
        • #5: To each problem, its own solution
        • #6: Cater to common use cases, leave the door open for the rare ones
        • #7: Prefer local solutions
        • #8: Don't use complex canned solutions for simple problems
    • C++ rules and guidelines
      • Automated style checks
      • Disallowed features
      • Naming
      • Spacing
      • Header includes
      • Comments
    • Other language guidelines
      • GDScript
      • Objective-C
      • Java
      • Python
    • Optimization guidelines
      • Introduction
      • Choosing what to optimize
        • Benefits
        • Costs
      • Optimization process
      • Pull request requirements
      • Optimizing for best / worst cases
      • GPU optimization
      • Compilation time optimization
    • Editor style guide
      • Introduction
      • Writing style
      • Button and menu texts
      • Inspector sections
      • Inspector performance hints
      • Tooltips
    • GDScript language design guidelines
      • Typing guidelines
      • Performance goals
      • Annotation guidelines
    • Handling compatibility breakages
  • Contributing unit tests
    • Unit test guidelines

Contributing documentation

  • Documentation overview
  • Documentation guidelines
    • Content guidelines
      • Guidelines and principles
        • Writing complete and accessible documentation
        • Limiting cognitive load
    • Writing guidelines
      • English language quirks to be aware of
        • The noun adjunct
        • Deverbals
        • Initialisms and a/an
        • And/or with lists
      • 7 rules for clear English
        • Use the active voice
        • Use precise action verbs
        • Avoid verbs that end in -ing
        • Remove unnecessary adverbs and adjectives
        • Ban these 8 words
        • Use explicit references
        • Use 's to show possession
        • Use the Oxford comma to enumerate anything
      • How to write methods and classes
        • Dynamic vs static typing
        • Use real-world code examples where appropriate
        • Give an overview of the node in the brief description
        • Mention what methods return if it's useful
        • Use "if true" to describe booleans
        • Use [code] around arguments
      • Common vocabulary to use in Godot's documentation
      • Keyboard shortcut guidelines
      • Manual style guidelines
        • Text styles
        • Emphasis
        • Literals
        • Classes, properties, and methods
        • Editor UI
        • Project settings
        • Code blocks and adominitions
        • Manually wrapping lines
        • Section header syntax
      • When to refer to a specific Godot version
      • Use roles for editor UI
        • Examples
    • Creating documentation images and videos
      • Images
        • Capturing an image
        • Format conversion
        • Cropping
        • Scaling down an image
        • Saving as WebP in Krita
        • Outlines, arrows and text
        • Adding an image to a documentation page
      • Videos
        • Capturing a video
        • Compressing the captured video
      • Adding a video to a documentation page
    • Documentation contribution checklist
      • Writing style
      • Code examples
      • Manual style and formatting
      • Images and videos
      • GitHub
  • Contributing to the class reference
    • The source of the class reference
    • What to contribute
    • Updating class reference when working on the engine
  • Contributing to the manual
    • Writing the manual
      • Getting started
      • What is the Godot documentation
      • Contributing changes
        • Editing existing pages
      • Editing pages online
      • Adding new pages
        • Titles
        • Sphinx and reStructuredText syntax
        • Adding images and attachments
      • License
    • Building the manual with Sphinx
      • Dealing with errors
      • Hints for performance
        • RAM usage
        • Specifying a list of files
  • Contributing to the contributing docs
    • Making changes to the contributing docs
    • What kinds of information are documented here?
    • How is this page structured?
    • Building the documentation locally

Other

  • Helping out teams (using triage projects)
    • How to use triage projects
    • Triage guidelines
  • Bugsquad and triage
    • Introduction to issue triage
      • Tasks
        • Confirming report details
        • Identifying duplicates
        • Testing bugs
        • Creating MRPs
        • Bisecting regressions
        • Testing confirmed bugs with other environments
        • Bringing bugs to the attention of maintainers
    • Bug triage overview
      • Triage checklist
      • Check Issue Validity
      • Initial Assessment
      • Check for Duplicates
      • Assigning Milestones
      • Testing an Issue
      • Finalize Assessment
      • Closing an issue
      • Team Workflow
    • Bug triage guidelines
      • Issues management
        • Labels
        • Documentation labels
        • Milestones
    • Release priority tracking
      • Identifying release priority issues
        • Is it a regression?
        • Is it a crash with significant user impact?
        • Is it a showstopper bug?
        • Is it a bug in a new feature?
        • Is it a security issue?
        • Is it a new platform requirement?
      • Severity
  • Participating in triage sprints
    • Sprint steps
  • Contributing translations
    • Using Weblate for translations
      • Adding a new language
      • Translation interface
    • Locating original content
    • Respecting the markup syntax
      • Editor interface (C++)
      • Online documentation (RST)
      • Class reference (BBCode)
    • Offline translation and testing
    • Localizing documentation images
  • Contributing to the website
    • Content guidelines
  • Contributing demo projects
    • Demo submission criteria
      • Submission criteria for new demos
        • Visual considerations
        • If you are submitting a copy of a demo translated to C#
  • Contributing benchmarks
    • Adding new benchmarks
      • Create new benchmark
      • Configure the benchmark
      • Implement the benchmark
      • Test the benchmark
  • Contributing to godot-cpp
    • Feature guidelines
  • Release management
    • Merge guidelines
      • 1. Get feedback from the right people/teams
      • 2. Get feedback from the community
      • 3. Git checklist
      • 4. GitHub checklist
      • 5. Merge the pull request
    • Maintenance release process
      • Changes suitable for maintenance releases
      • Cherry-picking process
        • Triage process for cherry-pickable PRs
        • Release manager process to cherry-pick
Contributing to Godot
  • Godot Engine contributing documentation in English
    • Search
    Visit the engine documentation!


© Copyright 2025, Godot Engine Contributors.

Built with Sphinx using a theme provided by Read the Docs.