CHAPPiE

Competition drift judging for CarX Drift Racing Online. Depth-graded line scoring against zones you author in your own map, host-controlled qualifying, live lobby scoreboard and CSV results.

Line Angle Consistency X-Factor

Get started Build a track View on GitHub

Judge a drift run the way a panel would

CHAPPiE scores runs in CarX Drift Racing Online against zones you define in your own map — line depth, angle, consistency and style — and runs the whole session around it: host-controlled qualifying, a live lobby scoreboard, judge review, retroactive DQ and a CSV results sheet.

You don’t script anything. You split a zone into a grid of invisible meshes, name them, and the mod scores whatever it finds.

How a zone is split into length steps and depth bands


Start here

   
🏁 Getting started Install the mod, assign staff, run a session.
🛠️ Track authoring The full pipeline: design the grid, build it in Maya or Blender, set it up in Unity, export through Kino.
📐 Naming contract Every GameObject name the mod reads. The actual interface.
🧮 Scoring model How a run becomes a number.
DQ and deduction rules What zeroes or reduces a run, with every threshold.
🧩 SDK components Field-by-field Unity component reference.

How the two halves fit together

CHAPPiE is split into a mod and an SDK, and they never talk to each other directly.

The SDK is a handful of editor-only Unity scripts. They don’t ship inside your map and they don’t run in game — all they do is rename GameObjects to a fixed convention while you’re authoring. Custom MonoBehaviours don’t survive the AssetBundle round-trip into CarX, so a component can’t be the carrier.

The mod scans the loaded scene for those names. That’s the entire interface.

Maya / Blender          Unity + SDK              CarX + CHAPPiE
──────────────          ───────────              ──────────────
split zone meshes  →    components rename   →    mod finds
by depth band           the GameObjects           "zone_1_3_2"
                        to the contract           and scores it

The practical consequence, and the thing worth internalising before you start: the names are the contract. You can author a fully working CHAPPiE track with no SDK at all, by naming meshes by hand. The SDK exists so you don’t have to, and so a typo becomes an inspector field instead of a silent scoring hole.


Status

CHAPPiE is in active development and used for real events. The naming contract is additive-only — a map authored against it keeps working across mod updates.

Both are mirrored automatically from the private development repo, so what you see here always matches a real build.