Skip to content

Repository files navigation

GRB Modding Knowledgebase

A human- and AI-readable knowledgebase for modding Tom Clancy's Ghost Recon: Breakpoint (GRB) — the Ubisoft Anvil engine, its .forge archives, the Anvil Toolkit (ATK), and the asset-replacement pipeline the modding community uses.

Status: Living research project. First established 2026-06-30. Maintained primarily through the Tier 1 Imports modding community. Expect rapid expansion — see meta/research-log.md for what is verified vs. inferred, and the current open questions.


Why this repo exists

GRB's official modding tools are effectively gone; the scene survives through a handful of skilled people who built ATK and a body of hard-won, mostly-undocumented tribal knowledge living in Discord threads. The goal here is to capture that knowledge in a structured form so that:

  1. Humans new to GRB modding have a real reference instead of scattered chat logs.
  2. AI coding agents (Claude Code and others) can load this repo as context and meaningfully assist with — or eventually automate — GRB modding tasks.

We do not have one single end goal. The near-term mission is breadth and accuracy: build a trustworthy map of how GRB's data works and how we change it, then expand into tooling, automation, and worked examples.

What modding GRB actually is (the 60-second version)

GRB stores nearly all of its game data inside large .forge archive files. A .forge is a Ubisoft Anvil engine container (engine codename "Scimitar" — it's literally the magic string at the top of every forge). Inside a forge are many .data entries; each .data is itself a small container holding one or more typed resources — meshes, textures, materials, build tables, skeletons, and so on.

ATK (the Anvil Toolkit) is a Windows .NET/WPF application that acts as a specialized file explorer for forges: it unpacks a .forge into a browsable folder of .data files, lets you view/replace textures and meshes, exports resources to standard formats (DDS, glTF/GLB, XML), re-imports edited versions, and repacks everything back into a forge the game will load.

A finished asset-replacement mod is, in practice, a small set of patch forges (*_patch_01.forge) that the game loads on top of its base forges, overriding specific entries by ID. Most cosmetic mods touch three forges together:

Forge Holds
DataPC_patch_01.forge Item / inventory definitions (WI_…), BuildTables, entity data
DataPC_extra_patch_01.forge Gameplay definitions (WG_…)
DataPC_Resources_patch_01.forge The heavy resources: meshes (…_LOD0–3) and textures (…_Mip0–N)

The authoring loop is: model/texture in Blender → export to glTF/DDS → import into the forge with ATK → repack the forge in place in your install. (You point ATK at your GRB install and repack its forges directly — there's no separate "drop a file in" step; a modded install just accumulates mods in its forges over time.) See docs/07-modding-workflow.md.

How to use this repo

If you are a human

Start with docs/01-overview.md, then read the docs in order. Use reference/glossary.md when a term is unfamiliar. The examples/ folder walks through real mods end-to-end.

If you are an AI agent

Read CLAUDE.md first — it is the orientation file written for you. It tells you the safety rules (e.g. never touch a forge without a backup), the mental model, and where to find authoritative facts. AGENTS.md points here too.

Repo map

docs/        Conceptual documentation, numbered in reading order
reference/   Lookup tables: forge inventory, resource types, glossary, cloth section types
examples/    Worked case studies of real mods, plus the studied mod corpus
tools/       Scripts (e.g. cloth_inspect.py — inspect/diff MotionCloth .cloth resources)
meta/        Research provenance, verification status, sources, open questions
assets/      Diagrams and supporting images
Doc Topic
docs/01-overview.md Anvil/Scimitar engine, GRB, the modding scene
docs/02-forge-file-format.md The .forge archive format (binary layout, what's verified)
docs/03-data-and-resources.md .data containers, typed resources, file IDs, nesting
docs/04-anvil-toolkit.md ATK deep dive: tech stack, features, the file-explorer model
docs/05-three-forge-model.md base vs. patch forges; the three-forge mod structure
docs/06-game-load-and-reassembly.md How GRB merges many forges into one index at load
docs/07-modding-workflow.md End-to-end: Blender → glTF/DDS → import → repack → install
docs/08-naming-conventions.md Prefixes, LOD/Mip suffixes, the 77777 convention, ID formats
docs/09-textures.md DDS, pixel formats, swizzling, mips, gamma
docs/10-meshes-and-skeletons.md Vertex formats, LODs, the glTF pipeline, skeletons
docs/11-cloth-and-physics.md The .cloth / MotionCloth format, reverse-engineered from ATK source — sections, tunable properties, how to mod cloth
docs/12-localization-and-text.md Renaming items, weapons, and any in-game text via LocalizationPackage XML
docs/13-blender-for-grb.md Blender from a standing start, for someone who has rigged a player model before
docs/14-ai-and-npc-behaviour.md The gameplay DB layer — enemy perception, fighting behaviour, reinforcement waves, health; how to read and patch it

Lookup tables of note: reference/forge-inventory.md · reference/resource-types.md · reference/resource-type-ids.md · reference/buildtable-xml.md · reference/cloth-section-types.md · reference/ai-db-records.md · reference/mod-anatomy.md · reference/install-edit-classes.md · reference/glossary.md

Techniques and sources: reference/hex-item-swaps.md (swap what an item does, in a hex editor) · reference/community-tutorials.md (index of absorbed Tier 1 Imports tutorials) · reference/crowdfund-history.md (how the community funds mods, and why two thirds never reach Nexus) · live panel

Tools

  • 🧵 Cloth Inspector (tools/) — a click-to-run tool (window, drag-and-drop, or a standalone .exe) that reads a GRB cloth (.Cloth or .data) and tells you, in plain language, what it is: its cloth pieces (LODs), the mesh + LOD each drives, the sim-mesh size, and how the garment is attached (DIRECT vs BARYCENTRIC — i.e. how you can reskin it). Now backed by the exact MotionCloth reader (motioncloth.py). No coding needed. See tools/README.md.

  • 🔎 Data Inspector (tools/) — a click-to-run tool (window, drag-and-drop, or a standalone .exe) that lists the typed resources inside any GRB .data (name, type, ClassID, size), Oodle-decompressing via the game's DLL. No coding needed. See tools/README.md.

  • 🗂️ Forge Inspector (tools/) — a click-to-run tool (window, drag-and-drop, or a standalone .exe) that reads a whole .forge by its index (fast, no unpacking) to show its resource-type histogram, or diff two forges by real file ID to find mod conflicts/overrides. No coding needed. See tools/README.md.

  • 🧵 Rebind Check (tools/rebind_check.py) — you have put a vanilla garment's weight painting onto a new mesh and you are about to repack. This answers, from files alone, the question a rebind actually fails on: does the new mesh's weight painting reach the bones Reflex3 actually drives? Plus influence count, weight coverage, UV sets and vertex colours. Catches a dead dangle-chain before you spend a game launch on it. Stdlib only — no Blender, no dependencies.

  • 🧠 DB Inspector (tools/db_inspect.py) — walks the 61,426 gameplay records inside GRB's DBContainerEntry (AI perception, fighting behaviour, reinforcement waves, NPC health, loot, economy). Lists them, extracts them by regex, and --diffs two records of the same fixed-size type to reveal the field layout without a schema — which matters because ATK ships no DB* classes at all. See docs/14-ai-and-npc-behaviour.md.

  • ⚙️ ATK Bridge (tools/atk_bridge.py) — calls ATK's own format engine from Python, headlessly. ATK has no command line, but AnvilToolkit.dll is an ordinary .NET library and the app is only a shell over it, so the community's reference implementation can be used as a second opinion against this repo's parsers. Also resolves bone names via ATK's 820,037-name dictionary. Read-only by policy.

Community

  • Tier 1 Imports — the primary active GRB modding community.
  • Anvil Toolkit Discord — https://discord.gg/vsuGFEapdq (from ATK's README; tool support & updates).

A note on accuracy

This knowledgebase is assembled by inspecting a real GRB install, the ATK distribution, and a large corpus of community mods on one researcher's machine. Wherever a claim is observed and verified, we say so. Wherever it is inferred from naming, structure, or general Anvil-engine knowledge, we flag it as such. If you can confirm or correct something, update meta/research-log.md and the relevant doc. Treat unverified claims as hypotheses, not gospel.

About

Human- and AI-readable knowledgebase for modding Ghost Recon: Breakpoint (Ubisoft Anvil/Scimitar .forge format, Anvil Toolkit / ATK, asset-replacement pipeline).

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages