finds.dev← search

// the find

EllanJiang/UnityGameFramework

★ 2,546 · C# · MIT · updated May 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.

UnityGameFramework is a Unity plugin that provides 19 pre-built game subsystems — asset loading, entity pooling, FSM, networking, UI management, localization — wired together through a central GameEntry singleton. It's aimed at Chinese-market mobile game studios building mid-to-large games where you want these systems standardized across a team rather than rebuilt per project.

The resource system is the strongest part: fully async from the ground up, with a virtual file system for bundled assets and a built-in hot-update/patching pipeline that most teams build themselves painfully. The object pool and entity pooling are properly integrated rather than bolted on — entities recycle by default, which matters for mobile GC pressure. The Procedure module (lifecycle FSM over the whole game session) is a pattern that pays off on large teams where different engineers own different game states. The editor tooling — resource analyzer with circular dependency detection, asset bundle builder — is more complete than most frameworks at this star count.

The core framework ships as a precompiled DLL (`Libraries/GameFramework.dll`) rather than source, so when you hit a bug or need to understand behavior you're reading decompiled IL. Last commit was May 2023 — the framework predates Unity 6 and there's no sign of work toward the new render pipeline or the Entity Component System; you're buying into a MonoBehaviour-first architecture with no migration path. Documentation is almost entirely in Chinese with no English equivalent despite the README promising it; if your team doesn't read Chinese, you're relying on community translations and example projects. The network module only does TCP with a hand-rolled packet abstraction — no WebSocket, no QUIC, no modern transport layer, so multiplayer games will need to rip it out anyway.

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 →