finds.dev← search

// the find

EllanJiang/GameFramework

★ 6,825 · C# · MIT · updated Sep 2023

This is literally a game framework, based on Unity game engine. It encapsulates commonly used game modules during development, and, to a large degree, standardises the process, enhances the development speed and ensures the product quality.

GameFramework is a Unity game framework that provides 19 pre-built modules covering the usual suspects: asset loading, object pooling, FSM, networking, UI management, localization, and more. It sits between your game code and Unity's engine, enforcing a structured approach to common problems. Aimed at mid-to-large Unity projects where teams want consistent patterns rather than rolling their own systems.

The interface-first design (every module exposes an IXxxManager) means you can swap implementations without touching game code — the object pool and resource loader are genuinely well-abstracted. The virtual file system for bundled assets is smarter than most teams would build themselves: block-based storage with segment loading cuts memory spikes during asset streaming. The async-only resource loading is the right call and enforces a discipline that prevents the 'just add Resources.Load' shortcuts that kill frame times later. The procedure/FSM layering for game lifecycle management is clean — separating login flow from gameplay flow from patch flow as distinct FSM states is a pattern that saves real headaches on networked games.

The repo has been effectively abandoned since September 2023, and Unity itself has shifted significantly — URP, the new Input System, UIToolkit, and Addressables are all now standard but this framework predates or ignores most of it. The network module is TCP-only with no UDP/QUIC support, which rules it out for anything latency-sensitive. Documentation is almost entirely in Chinese with an English README that just mirrors the module list — if you can't read Chinese, the website and community are largely inaccessible. The helper/interface indirection pattern is powerful but verbose: wiring up even basic functionality requires implementing multiple abstract helper classes before you can test anything, which is a steep onboarding tax for new team members.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →