explaingit

youichi-uda/godot-qa

Analysis updated 2026-05-18

2GDScriptAudience · developerLicense

TLDR

A free, headless CI tool that automatically replays scripted playtests of your Godot 4 game and fails the build if something breaks.

Mindmap

mindmap
  root((repo))
    What it does
      Headless playtests
      Input replay
      Node and text asserts
      Screenshot diffing
    Tech stack
      GDScript
      Godot 4
      GitHub Actions
    Use cases
      CI regression testing
      Visual diff testing
      AI written scenarios
    Audience
      Godot developers
      Game studios

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Automatically test a Godot game on every push and catch broken scenes before merging.

USE CASE 2

Write a JSON scenario that presses buttons, waits for events, and checks game state or on screen text.

USE CASE 3

Catch visual regressions by comparing new screenshots against saved baseline images.

USE CASE 4

Reuse AI generated test scenarios from an editor assistant as permanent CI regression tests.

What is it built with?

GDScriptGodot 4GitHub Actions

How does it compare?

youichi-uda/godot-qadevantler-tech/world-at-ruinhughdunc/fakenoodle
Stars231
LanguageGDScriptGDScriptGDScript
Setup difficultyeasyeasy
Complexity2/51/5
Audiencedevelopergeneralgeneral

Figures from each repo's GitHub metadata at analysis time.

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

In plain English

Godot QA is an automated playtest runner for games built in Godot 4. It plugs into a CI pipeline so that every time code is pushed, a headless copy of Godot launches the game's scenes, replays a scripted sequence of inputs, checks node values and on screen text against expected results, compares screenshots against saved baseline images, and fails the build if anything does not match. It needs no Godot editor plugin activation. It is a single script written in pure GDScript with no extra dependencies. There are two modes: a logic mode that runs fully headless without any GPU, usable on any CI runner, and a visual mode that actually renders the game so screenshots can be pixel compared against baselines. Results come out as JSON and optionally JUnit XML, so failures show up directly inside GitHub's test result view, and the tool exits with code 0 for success or 1 for failure so it works as a normal CI gate. A test scenario is written as a simple JSON file describing which scene to load and a list of steps: pressing input keys or actions, waiting a fixed time or until a node appears, asserting a node property or on screen text, and taking a named screenshot that gets diffed against a saved baseline if one exists. Notably, this scenario format matches the format used by a separate paid tool called Godot MCP Pro, which lets AI coding assistants control the Godot editor directly. That means a developer could have an AI assistant write and run a test scenario live while building a feature, then commit that same JSON file so Godot QA replays it automatically on every future push. Godot QA itself does not require that other tool and works entirely on its own, for free. It can also be run locally from the command line outside of CI, and ships as a ready made GitHub Action with configurable inputs like the Godot version, scenario path, and report locations. It requires Godot 4.4 or newer and works on Windows, macOS, and Linux. The project is released under the MIT license.

Copy-paste prompts

Prompt 1
Show me how to add godot-qa as a GitHub Action step in my Godot 4 project's CI workflow.
Prompt 2
Write a scenario JSON file that presses ui_accept, waits for a Player node, and asserts its health equals 100.
Prompt 3
Explain the difference between logic mode and visual mode in godot-qa.
Prompt 4
Help me set up screenshot baseline testing with godot-qa using CI captured images.
Prompt 5
Explain the exit codes godot-qa returns so I can use it as a CI gate.

Frequently asked questions

What is godot-qa?

A free, headless CI tool that automatically replays scripted playtests of your Godot 4 game and fails the build if something breaks.

What language is godot-qa written in?

Mainly GDScript. The stack also includes GDScript, Godot 4, GitHub Actions.

What license does godot-qa use?

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

Who is godot-qa for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.