liangxiegame/QFramework

Godot/Unity3D System Design Architecture

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 22 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)

Median issue/PR response: 13.1 days
Mean response time: 239.4 days
90th percentile: 715.0 days
Tracked items: 27

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 7
New in 7 days: 0
Closed in 7 days: 1
Avg open age: 232 days
Stale 30+ days: 6
Stale 90+ days: 6

Recent activity

Opened in 7 days: 0
Closed in 7 days: 1
Comments in 7 days: 0
Events in 7 days: 0

Top labels

No label distribution available yet.

Most active issues this week

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.