RPG authoring workshops and the rules engine that plays what they write: plain JSON you own, a validation gate before Play, and every rule overridable from your own code.RPG Data Workbench is where an RPG's content is written, checked, and played.Eight editor windows and thirty-one tabs cover what an RPG is made of: stats and their bonuses and maluses, items and rarities, weapon kinds, skills and auto-attacks with their combos, classes and their starting kits, monsters with their races, types, populations and roaming profiles, loot packs, the audio catalogue and the music contexts, the character's mannequin and what it wears, and the zones of the world. You author with dropdowns of what actually exists, never by typing an id and hoping.Your data stays yours. Everything is written as plain JSON in a folder you choose. No database, no ScriptableObject graph to migrate, no proprietary format. Open the files in any editor, diff them in code review, generate them from a spreadsheet if that is your pipeline. A JSON Schema ships for every file.Nothing broken reaches Play. A validation gate judges every file before the corpus loads and refuses with a sentence you can act on: which file, which row, what is wrong, what the engine would otherwise have had to invent. It catches the faults no single file reveals, such as an active monster of a retired race.The engine answers, your game acts. At Play the corpus loads into read-only tables and the rules engine resolves questions: what can this character equip, which skills does it offer, what does this blow do, what does this monster give when it dies, which idle does this stance call for. It owns no entity, no scene and no loop, and it writes nothing at runtime. The pure rules are a separate assembly with no engine reference at all, no clock and no ambient state, with randomness passed in by the caller, so a server and a client resolve a blow identically and the rules can be tested outside Unity.Override it without editing it. Your game registers its own hit resolver, level curve or equip judge and the engine uses yours instead of its own formula. Add a corpus file, a validator, a workshop tab, an effect kind or a requirement kind from your own assembly; no file of the Core names an extension.A test zone you can throw away. The sample scene walks a dressed humanoid, draws and stows its weapon by the rules, fights monsters that roam their area and strike back, and shows a small HUD. Its input, its camera, its controller and its interface each sit behind an interface: drop your own component in the scene and the sample steps aside. Nothing in the engine depends on any of it.Suited to action and third-person RPGs, hack-and-slash, survival and sandbox projects: anything with characters, gear, skills, monsters and zones. The vocabularies are data, so races, item kinds, damage elements, skill categories and world object roles are yours to name. It is a content and rules toolkit, not a game template: there is no quest system, no dialogue, no inventory UI.What it deliberately does not ship: no save system, no networking, no database, no runtime writes, no Addressables dependency, and no third-party content without redistribution rights. An example realm is included that passes the gate and plays on its own art, so you can press Play the minute it is imported.Eight editor windows, thirty-one authoring tabs, each with its own in-window documentation page: what it writes, the steps, and the trapsThirty-two JSON corpus files, one JSON Schema each, written sorted and stable so a save with no change is a byte-identical fileValidation gate: one validator per file, readable refusals, cross-file checks, run before every loadPure rules assembly with no engine reference, no clock, no static state, randomness passed in by the caller; the same inputs give the same result on a server, on a client and in a testRules engine facade: stat sheets, equipment judgement, skill offering and gating, staged combos with their timelines, effect resolution, hit resolution with armour, criticals, dodge and guard, experience and levels, loot draws, weapon stanceThree rule seams your game can answer instead of the engine: hit resolver, level curve, equip judgeFour presentation ports answered with Unity and replaceable by yours: animation, effects, sound, interface feedbackExtension registries discovered at load: corpus files, validators, workshop tabs, engine systems, effect kinds, requirement kindsAsset publication: an author's source file is copied into the corpus and bound to a key; the game resolves keys, never pathsModular humanoid character chain: rig and anchors, the set worn under the gear, equipment pieces that hide the parts they replace, weapon mounts per kind for the drawn and stowed stanceWorld: zones created or harvested from your scenes, placements moved with Unity's own handles, spawn points, spawn areas and teleportersAudio: per-trigger catalogues with random variations and pitch ranges, footsteps paced on the animation cycle or on distance travelled, music contexts with priorities and cross-fadesSample scene with a third-person controller, camera rig, monsters that roam and fight, and an IMGUI HUD; input, camera, controller and interface each replaceable by dropping in your own component86 EditMode tests included, covering the rules, the loader, the validators and the extension pointsExample realm included, self-contained: it names no third-party asset and passes the gate as shippedEverything lives under one folder, Assets/CorpusRPG/, and can be removed without touching the rest of your projectRequirements: Unity 2022.3 LTS or newer. No Addressables, no external service, no database. The editor tooling and the engine are render-pipeline agnostic; the included example art uses URP materials. The character chain needs a Unity Humanoid rig whose parts are separate SkinnedMeshRenderers; a character exported as one mesh is refused with a stated reason.The editor tools, runtime engine and their tests were written with the assistance of an AI coding assistant (Anthropic Claude), then reviewed, tested and integrated by the publisher. The two placeholder icons and the five demo sound effects were generated procedurally by code written with the same assistant. No AI image, audio or 3D model generators were used.




