unity-qframework-design

Provides source-anchored design rules for QFramework architecture and CoreKit toolkits in Unity.

1.7k|162|Updated Jan 18, 2026
One-click install
npx skills add https://github.com/Besty0728/Unity-Skills --skill unity-qframework-design
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: unity-qframework-design
Source: https://github.com/Besty0728/Unity-Skills/tree/main/SkillsForUnity/unity-skills~/skills/qframework-design
Command: npx skills add https://github.com/Besty0728/Unity-Skills --skill unity-qframework-design

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

When writing or reviewing QFramework-based Unity code, AI assistants often hallucinate outdated APIs or mix up similar concepts (core IOCContainer vs Toolkits IOCKit, EasyEvent vs TypeEventSystem). This Skill supplies design rules distilled from the actual QFramework.cs source and official Doc.md tutorial, with every rule citing a file and line anchor to guard against stale-memory errors.

Core Features & Use Cases

  • Four-layer architecture rules: Controller/System/Model/Utility responsibilities, Command/Query CQRS separation, and criteria for deciding what data belongs in a Model.
  • Toolkit guidance: Covers UIKit panel workflows, ResKit AssetBundle loading, ActionKit chained actions, SingletonKit, AudioKit, FSMKit, PoolKit, and more via routed sub-documents.
  • Version-aware corrections: Flags breaking changes like the 2026-08-12 RegisterSystem/RegisterModel/RegisterUtility return-value change that official tutorials still do not reflect.
  • Use Case: Before generating an Architecture<T> Init() method or reviewing a BindableProperty binding, load this Skill so the generated code matches QFramework v1.0.257 source behavior rather than outdated tutorial examples.

Quick Start

Load the qframework-design skill before writing or reviewing any QFramework architecture, event, binding, or toolkit code in my Unity project.

Frequently Asked Questions about unity-qframework-design

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

FAQPage Schema
How do I structure a QFramework architecture in Unity?

QFramework uses four layers: IController for presentation, ISystem for logic, IModel for shared data, and IUtility for infrastructure. Controllers change state only through Commands, and lower layers notify upward via Events or BindableProperty.

What is the difference between QFramework IOCContainer and IOCKit?

The core IOCContainer is a thin Dictionary<Type,object> wrapper supporting only singleton registration inside Architecture<T>. Toolkits IOCKit is a separate reflection-based container with [Inject] attribute injection, named registrations, and constructor auto-resolution.

When should data go into a QFramework Model?

Place data in a Model only if it is shared across time (persisted between sessions), shared across space (used by multiple views or scenes), or is configuration table data. Runtime state like enemy health stays in the owning MonoBehaviour.

Why does AudioKit.Settings throw NullReferenceException in the Unity editor?

AudioKit.Settings fields are initialized in OnInit, which only runs via RuntimeInitializeOnLoadMethod when entering Play Mode. Pure edit-mode scripts that never entered Play Mode must read the underlying PlayerPrefs keys instead.

Does QFramework ResKit require AssetBundles or Resources?

ResKit recommends AssetBundle loading with reference counting, though it supports Resources, network, and local file sources. During development, simulate mode reads directly from the Assets folder to skip repeated bundle builds.

Why did my QFramework UIKit Bind fields not generate?

The most common cause is applying the prefab while UIRoot is selected instead of the UIPanel node such as UIBasicPanel. Apply silently fails on the wrong selection, so no Bind fields are written and no compile error appears.