godot-e2e

Drive a live Godot process to assert gameplay and UI state changes.

511|44|Updated Apr 13, 2026
One-click install
npx skills add https://github.com/RandallLiuXin/GodotMaker --skill godot-e2e
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: godot-e2e
Source: https://github.com/RandallLiuXin/GodotMaker/tree/main/skills/core/godot-e2e
Command: npx skills add https://github.com/RandallLiuXin/GodotMaker --skill godot-e2e

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

It removes the slow, manual trial-and-error loop of testing gameplay and UI by letting you execute deterministic end-to-end tests against a real Godot project and get automatic engine-log diagnosis on failure.

Core Features & Use Cases

  • Write true E2E gameplay + UI tests: simulate input, navigate scenes, and verify player/UI behavior using a live Godot instance rather than mocks.
  • Locator-based semantic querying: find nodes by group/name/type/text (with lazy re-resolution) so tests survive scene-tree changes.
  • Auto-retry assertions with engine logs: use expect() to poll until state matches, while every failing command captures the relevant Godot engine logs for self-diagnosing errors.
  • Use case: verify that clicking a menu button transitions to the correct scene and that key UI labels display the expected text, while failing tests include the engine error logs that occurred during the action.

Quick Start

Instruct the agent to write a pytest test using godot-e2e that launches your project, performs one gameplay action (like input_action or a button click), then asserts a changed in-game state with expect() (for example, verifying a status label text after the click).

Frequently Asked Questions about godot-e2e

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I write end-to-end tests for a Godot game using Python?

To write end-to-end tests for a Godot game, use pytest with godot-e2e to launch a live Godot process, simulate input, and assert real gameplay state changes. This replaces manual trial-and-error loops with deterministic automated verification.

Can I query Godot scene nodes dynamically during UI integration testing?

Yes, you can query Godot scene nodes dynamically using locator-based semantic querying. This feature finds nodes by group, name, type, or text with lazy re-resolution, ensuring your UI integration tests survive underlying scene-tree changes.

How do I capture Godot engine logs when an end-to-end test fails?

To capture Godot engine logs on test failure, use the expect() auto-retry matchers provided by godot-e2e. Every failing command automatically captures and attaches the relevant Godot engine logs, enabling self-diagnosing errors without manual inspection.

What is the best way to automate input simulation and scene transitions in Godot?

The best way to automate input simulation and scene transitions is by driving a live Godot instance via the godot-e2e TCP AutomationServer protocol. This allows tests to control the scene lifecycle, navigate scenes, and verify player behavior accurately.

Do I need a running Godot instance to run end-to-end gameplay tests?

Yes, true end-to-end gameplay tests require a live Godot instance rather than mocks. godot-e2e drives the actual Godot process to simulate input, handle frame and timing synchronization, and verify real UI state changes.

Why do my Godot UI tests break when the scene tree changes?

Godot UI tests break on scene tree changes if they rely on rigid node paths. Using locator-based semantic queries with lazy re-resolution finds nodes by group, name, or text, making tests robust against scene-tree modifications.