liangxiegame/qframework

Godot/Unity3D System Design Architecture

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 41 minutes ago
Added to GitGenius on September 12th, 2026
Created on February 5th, 2016
Open Issues & Pull Requests: 8 (+0)
GitHub issues: Enabled
Number of forks: 860
Total Stargazers: 5,447 (+0)
Total Subscribers: 157 (+0)

Repository Insights (GitGenius)

Most active contributors

Sign in to see contributor activity.

Related repositories by overlapping contributors

No overlapping-contributor repos identified yet.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Issue API getrepoissuespagesummary failed: 429 Rate limit exceeded. Please try again later.

Detailed Description

QFramework is a system design architecture framework for Unity and Godot that provides a lightweight, layered approach to game development following SOLID principles and supporting domain-driven design, event-driven patterns, and data-driven workflows.

The framework addresses the problem of organizing game logic across multiple systems and layers by enforcing a four-layer architecture: a presentation layer for controllers handling input and state visualization, a system layer for shared logic like timers and shops, a data layer for model definitions and data operations, and a utility layer for infrastructure and third-party integrations. Communication between layers follows strict rules: controllers must use commands to modify system and model state, lower layers notify upper layers through events or bindable properties, and upper layers can query lower layers directly but not vice versa. The framework also introduces commands as a core concept that can access systems and models while sending events and other commands.

The tool suits developers building games in Unity who want architectural guidance without heavyweight dependencies. The entire framework consists of less than one thousand lines of code, making it simple to integrate directly into a project or even store in a notes application. Installation options include copying the core QFramework.cs file directly into a project, downloading example packages, or accessing extended toolkits. The framework supports Unity versions from 2018.4 through version 6, and Godot integration is also available.

The project maintains active development with regular updates to support new engine versions and provides comprehensive documentation through its homepage. The repository includes practical examples demonstrating the architecture in action, helping developers understand how to structure their game systems according to the framework's layered design principles.