Logo

Ways to contribute

  • Fundraising
  • Provide feedback
  • Participate in Godot's development
    • Contribute engine code
    • Contribute documentation
  • Help in Godot's ecosystem

Feedback guidelines

  • Testing and reporting issues
    • How to write a good issue report
      • Checklist
      • Before opening an issue
      • The anatomy of an issue report
        • The critical parts
    • Testing development versions
    • 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
  • Proposing and discussing ideas
    • How are proposals accepted?
    • Evaluating proposals

Development guidelines

  • Rules for contributions
    • Respect our Code of Conduct
    • Respect copyright
    • No features from new contributors
    • Contribute one change at a time
    • Explain your contributions
    • Contribute only what you understand
    • AI-assisted contributions
      • For contributors
      • For maintainers
        • "Substantial code" definition
  • Workflows
    • Pull request workflow
      • When will a pull request get reviewed?
    • 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
    • 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
    • Helping out teams (using triage projects)
      • How to use triage projects
      • Triage guidelines
    • 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
    • Bugsquad and triage
      • Introduction to issue triage
        • Tasks
      • 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
      • Release priority tracking
        • Identifying release priority issues
        • Severity
      • Participating in triage sprints
        • Sprint steps
    • 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
  • Engine development
    • Introduction to engine contributions
      • Checklist for new contributors
      • Setting up a dev environment
        • IDE integration
    • 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
    • Unit tests
      • Unit test guidelines
    • Handling compatibility breakages
  • Writing documentation
    • Documentation overview
    • 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
        • Numbers
        • 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
    • The class reference
      • The source of the class reference
      • Updating class reference when working on the engine
    • The manual
      • Writing the manual
        • Getting started
        • What is the Godot documentation
        • Contributing changes
        • Editing pages online
        • Adding new pages
        • License
      • Building the manual with Sphinx
        • Dealing with errors
        • Hints for performance
    • 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
  • Translating Godot
    • 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
  • Other
    • Contributing benchmarks
      • Adding new benchmarks
        • Create new benchmark
        • Configure the benchmark
        • Implement the benchmark
        • Test the benchmark
    • Contributing demo projects
      • Demo submission criteria
        • Submission criteria for new demos
    • Contributing to godot-cpp
      • Feature guidelines
    • Contributing to the website
      • Content guidelines
    • Development 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
Contributing to Godot
  • Godot Engine contributing documentation in English
    • Other
    • Edit on GitHub
    Visit the engine documentation!

Other

  • Contributing benchmarks
  • Contributing demo projects
  • Contributing to godot-cpp
  • Contributing to the website
  • Development resources
Previous Next

© Copyright 2025, Godot Engine Contributors.

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