finds.dev← search

// the find

focus-creative-games/luban

★ 4,447 · C# · MIT · updated May 2026

luban是一个强大、易用、优雅、稳定的游戏配置解决方案。luban is a powerful, easy-to-use, elegant and stable game configuration solution.

Luban is a code-generation tool that turns Excel/JSON/YAML config files into typed, serialized data for game engines — Unity, Unreal, Godot, and others. It's aimed at game studios that live in Excel for game balance data but want strongly-typed structs and binary serialization on the code side. The OOP inheritance support is the thing that sets it apart from simpler xlsx-to-json converters.

1. OOP type inheritance in config data is genuinely useful for gameplay systems like skill trees and behavior trees — most tools in this space flatten everything to rows. 2. Output format coverage is thorough: binary, JSON, Protobuf, FlatBuffers, MessagePack, Lua — pick your serialization and your target language and it probably works. 3. The pipeline/plugin architecture (CodeTarget, DataTarget, PostProcess all extensible via attributes) means you can bolt on a custom output format without forking the whole repo. 4. Ref validation and range checks at generation time catch broken cross-table references before they ship — that's a real pain point in large Excel-driven configs that most teams solve with runtime crashes.

1. The README is almost entirely Chinese with a thin English version; the docs site (datable.cn) is the same — non-Chinese teams will hit a wall fast when the quickstart runs out. 2. The template engine is Scriban (.sbn files), which is not widely known; customizing output requires learning it from scratch with minimal guidance beyond the existing templates. 3. No incremental generation — it regenerates everything on every run, which matters once you have hundreds of Excel files and starts to hurt CI times. 4. The editor JSON target and the Unity editor integration are lightly documented and the 'editor mode' code path in Luban.CSharp looks bolted-on compared to the runtime path, suggesting it's less battle-tested.

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 →