godot-architecture

Enforce data, logic, and UI separation in Godot projects with dedicated managers and signals.

Updated Mar 12, 2026
One-click install
npx skills add https://github.com/oAISAo/detective-game --skill godot-architecture-oaisao
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: godot-architecture
Source: https://github.com/oAISAo/detective-game/tree/main/.agents/skills/godot-architecture
Command: npx skills add https://github.com/oAISAo/detective-game --skill godot-architecture-oaisao

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This guideline outlines the need to enforce strict separation between data, game logic, and UI in Godot projects, ensuring scalable and maintainable codebases.

Core Features & Use Cases

  • Enforces UI as a presentation layer without business logic.
  • Advocates dedicated managers for core systems (e.g., GameManager, LocationInvestigationManager, EvidenceManager) to coordinate state and behavior.
  • Promotes signals for decoupled, event-driven communication and a data-driven approach for content.

Quick Start

Configure your Godot project to enforce UI separation from game logic and to use dedicated managers.

Frequently Asked Questions about godot-architecture

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

FAQPage Schema
How do I separate UI from game logic in Godot?

To separate UI from game logic in Godot, treat the UI strictly as a presentation layer without business logic. Coordinate state and behavior using dedicated managers and signals for decoupled, event-driven communication.

What is the best way to manage game state in Godot?

The best way to manage game state in Godot is by applying dedicated managers, such as a GameManager or EvidenceManager. These managers coordinate state and behavior, ensuring a scalable and maintainable codebase.

How do I use signals for decoupled communication in Godot?

Use signals in Godot for decoupled, event-driven communication to coordinate systems. This approach prevents tight coupling between modules, keeping your data, game logic, and UI strictly separated.

Should I hardcode gameplay logic in Godot or use data-driven definitions?

You should use data-driven definitions instead of hardcoding gameplay logic. Define your content using JSON or Resources in Godot to enforce clean architecture and maintain strict separation between data and logic.

When do I need dedicated managers in Godot architecture?

You need dedicated managers in Godot architecture when coordinating core systems like game state, location investigations, or evidence. Managers ensure strict separation between data, game logic, and UI for scalable codebases.

Why does my Godot project become hard to maintain as it grows?

Your Godot project becomes hard to maintain without strict separation between data, game logic, and UI. Enforcing clean architecture with dedicated managers and signals solves this scalability problem.