Rivet Guide — daily Editor chores
Plain English first. Sharp edges after.
1. What this is / is not
Rivet is a pile of Editor workflow tools. Each opens a window for a daily chore (rename, scene sets, bookmarks, prefs, …) and can write a JSON report under <project>/RivetReports/. The same tools run headless with -batchmode -executeMethod …RunBatch for CI or agents. Package: com.artchie.rivet (unity-rivet). Unity 2021.3+. Editor-only. No hard deps — empty references on Rivet.Editor.
It is not Anvil (project health / auditors). It is not Atlas (code map). It is not Folio (markdown viewer). Soft friend of Anvil: same RunBatch + report-folder shape (RivetReports vs AnvilReports), not compile-coupled — neither asmdef references the other.
2. Open it
Everything hangs under:
ArTchie / Rivet / …
| Job | Click |
|---|---|
| Rename selected scene objects / assets | ArTchie / Rivet / Batch Renamer |
| Named scene groups + load / sync build | ArTchie / Rivet / Scene Set Hub |
| Save / recall Scene view camera | ArTchie / Rivet / Scene Camera Bookmarks |
| Find objects by tag / layer / component / name | ArTchie / Rivet / Query Selector |
| Unused / undefined tags & layers | ArTchie / Rivet / Tag Layer Auditor |
| List / edit / export PlayerPrefs | ArTchie / Rivet / PlayerPrefs Editor |
| Group ScriptableObject assets by type | ArTchie / Rivet / ScriptableObject Catalog |
| Prefab instance overrides in scenes | ArTchie / Rivet / Prefab Override Diff |
| PlayerSettings scripting defines | ArTchie / Rivet / Scripting Defines |
| Named selection groups (GlobalObjectId) | ArTchie / Rivet / Selection Groups |
If a README still says bare Rivet / … without the ArTchie/ prefix, the README is stale — trust the menu in Unity.
3. First five minutes
- Make sure
com.artchie.rivetis in the project (Packages/unity-rivetor afile:entry inPackages/manifest.json). Open Unity. Wait for import. Check the Console for red errors. - Click
ArTchie / Rivet / Batch Renamer. Select a few Hierarchy objects (or Project assets). Pick Mode → Prefix, type something likeTest_, watch the live preview. - Click Write report (do not Apply yet if you only want a peek). Open
<project>/RivetReports/batch-renamer.json. That file is the report. - Optional: open Scene Camera Bookmarks, frame a nice Scene view angle, name it, click Save current, then move the camera and Recall.
- Optional: open Tag Layer Auditor, click Scan, then Write report →
tag-layer-auditor.json.
That is enough. Apply / mutate buttons are extras — never required to read a report.
4. The meat
Shared window chrome
Most tools share the same shape:
Scan / Find / Refresh — fill the window from the project or selection.
Copy JSON — last result on the clipboard.
Write report — create
<project>/RivetReports/if needed, write the default JSON file.Persist-backed tools (Scene Set Hub, Camera Bookmarks, Selection Groups) also have Reload file.
Scans skip
Packages/andLibrary/unless a tool says otherwise.Empty / first-run: scan/find tools title No report yet + HelpBox (click Scan / Find) + miniLabel (
ArTchie / Rivet / …, reports →RivetReports/). Persist tools use No bookmarks/sets/groups yet (or Batch Renamer Nothing to rename yet, PlayerPrefs No keys listed yet). Shared viaRivetEmptyGui. Scripting Defines always shows menu miniLabel (Apply has no Undo).
Reports on disk
Default folder: <project>/RivetReports/ (project root — next to Assets/, not inside it).
| Tool | Default JSON |
|---|---|
| Batch Renamer | batch-renamer.json |
| Scene Set Hub | scene-set-hub.json |
| Scene Camera Bookmarks | scene-camera-bookmarks.json |
| Query Selector | query-selector.json |
| Tag Layer Auditor | tag-layer-auditor.json |
| PlayerPrefs Editor | player-prefs.json |
| ScriptableObject Catalog | scriptable-object-catalog.json |
| Prefab Override Diff | prefab-override-diff.json |
| Scripting Defines | scripting-defines.json |
| Selection Groups | selection-groups.json |
Typical JSON envelope: tool, generatedUtc, count, plus items (or a dump-shaped body). Open the matching file under Documentation/ for field-by-field detail.
Persist files (not reports)
Some tools also keep durable project state under ProjectSettings/:
| Tool | Persist file |
|---|---|
| Scene Set Hub | ProjectSettings/RivetSceneSets.json |
| Scene Camera Bookmarks | ProjectSettings/RivetCameraBookmarks.json |
| Selection Groups | ProjectSettings/RivetSelectionGroups.json |
Reports are snapshots. Persist files are the live store the windows read/write.
What each tool does
- Batch Renamer — prefix / suffix / replace / regex / number on selected scene objects and/or assets. Live preview. Window Apply renames; batch is dry-run unless
-rivet-apply. Assets stay in the same folder (GUID unchanged). Never moves files. - Scene Set Hub — named scene lists with per-scene enabled flags. Load (first enabled Single, rest Additive) or Load Additive. Capture open scenes, reorder, Sync enabled to Build Settings (adds/matches; does not strip unrelated build scenes).
- Scene Camera Bookmarks — save/recall Scene view pivot, rotation, size, orthographic. Does not move the Game view camera. Headless batch
savecannot capture a Scene view;recallwithout a Scene view writeswouldRecalland does not fail. - Query Selector — AND filters: tag, layer name, component type, name regex. Open scenes (and Prefab Stage); optional Search all project scenes. Does not modify scenes.
- Tag Layer Auditor — dump tags/layers; find
unusedTag,unusedLayer(user 8–31),undefinedTag; list Physics ignore-collision pairs. Does not add/remove tags or change the matrix. Physics2D is not dumped. - PlayerPrefs Editor — list / set / delete / export
int/float/string. Batch is export-only unless-rivet-set-*or-rivet-delete-key. Auto key discovery is Windows Editor registry only; macOS/Linux use Manual key / Add. - ScriptableObject Catalog — every SO under
Assets/(incl. sub-assets), grouped by type. Missing/unreadable scripts group as(Missing ScriptableObject). Ping/Select only. - Prefab Override Diff — property overrides on prefab instances in scenes. Default hides root pos/rot/scale. Does not apply or revert. Added/removed component overrides are not listed.
- Scripting Defines — edit Standalone / Android / iOS / WebGL define lists. EditorUser is read-only. Apply has no Undo and triggers recompile. Batch mutates only with both
-rivet-groupand-rivet-defines. - Selection Groups — named groups of
GlobalObjectIdstrings. Recall loads missing scenes additively, then restores selection. Deleted objects stay in the id list but are skipped.
Soft friend: Anvil
Anvil is the health/audit kit (ArTchie / Anvil / …, reports under AnvilReports/). Same idea: Editor window + RunBatch + JSON. Rivet does not reference Anvil’s asmdef; Anvil does not reference Rivet’s. Install one, both, or neither.
Native-only lock
- Package:
com.artchie.rivet· Unity 2021.3+ · asmdefRivet.Editor(includePlatforms: Editor,references: []) - No Node. No extra UPM deps. No Unity AI required.
5. Common stuck
- Menus say
Rivet / …withoutArTchie/— stale README or per-tool doc header. Trust Unity:ArTchie / Rivet / …. - I don’t see
ArTchie / Rivet— package not imported, asmdef error, or wrong project. Check Console andPackages/manifest.jsonforcom.artchie.rivet. - No JSON on disk after Scan / preview — Scan fills the window; Write report (or batch
RunBatch) createsRivetReports/. Copy JSON only touches the clipboard. - Batch Renamer did not rename in CI — batch is dry-run unless you pass
-rivet-apply. Window Apply still applies. - PlayerPrefs list is empty on Mac/Linux — expected. Use Manual key / Add. Registry discovery is Windows Editor only.
- Camera bookmark save fails in batchmode — no Scene view in headless Unity. Use
list/recall(recall writeswouldRecallwhen it cannot apply). - Scripting Defines Apply “broke Undo” — Apply writes PlayerSettings immediately; Undo is not available. Confirmed in the status line. Domain reload follows.
6. For pros
Package + batch entry points
com.artchie.rivet · Rivet.Editor
Rivet.BatchRenamer.RunBatch
Rivet.SceneSetHub.RunBatch
Rivet.SceneCameraBookmarks.RunBatch
Rivet.QuerySelector.RunBatch
Rivet.TagLayerAuditor.RunBatch
Rivet.PlayerPrefsEditor.RunBatch
Rivet.ScriptableObjectCatalog.RunBatch
Rivet.PrefabOverrideDiff.RunBatch
Rivet.ScriptingDefinesEditor.RunBatch
Rivet.SelectionGroups.RunBatch
Example:
Unity -batchmode -nographics -quit -projectPath <proj> \
-executeMethod Rivet.TagLayerAuditor.RunBatch \
-rivet-out <file.json> -rivet-fail
RunBatch calls EditorApplication.Exit only when Application.isBatchMode is true.
Common CLI flags
| Flag | Meaning |
|---|---|
-rivet-out <file.json> |
Output path (also accepts -rivet-out=file.json). Default: <project>/RivetReports/<tool>.json |
-rivet-fail |
Exit 1 when the tool’s fail condition is met (findings / missing target / empty query / mutate error — see per-tool docs) |
-rivet-mode / -rivet-value / -rivet-replace-with / -rivet-apply |
Batch Renamer (mode required; dry-run unless -rivet-apply) |
-rivet-selection / -rivet-recurse / -rivet-case / -rivet-pad / -rivet-ignore-case / -rivet-path |
Batch Renamer extras |
-rivet-action / -rivet-set / -rivet-scene / -rivet-allow-empty |
Scene Set Hub (list|load|load-additive|capture|add-scene|remove-scene|duplicate|sync-build) |
-rivet-action / -rivet-name |
Camera Bookmarks / Selection Groups (list|save|recall) |
-rivet-tag / -rivet-layer / -rivet-component / -rivet-name / -rivet-all-scenes |
Query Selector (need at least one filter) |
-rivet-set-key / -rivet-set-type / -rivet-set-value / -rivet-delete-key |
PlayerPrefs mutate (export-only without these) |
-rivet-open-scenes / -rivet-defaults |
Prefab Override Diff |
-rivet-group / -rivet-defines |
Scripting Defines mutate (both required to write) |
Design bounds (do not invent)
Rivet is Editor workflow / chores. Do not document a third kit, a required Anvil install, or Rivet-as-runtime. Per-tool deep fields live in Documentation/<Tool>.md. This Guide is the happy path + contracts.
Canonical base
artchie-RECONCILED-20260822-2107. Package README + this Guide + per-tool Documentation/*.md.
7. Related kits
| Kit | When you want it |
|---|---|
| Suite Map | Which ArTchie pile does what · Guides/Guide-Suite-Map.md |
| Anvil | Project health / auditors; same RunBatch/report shape; not compile-coupled |
| Atlas | Code map / search — not a chore kit |
| Folio | Read markdown notes if you drop .md beside JSON |
| Scribe / Charter | Comments + game plans — not rename/bookmarks |
| Bedder | In-player IDE |
| ArTchie AI | Companion chat (optional Atlas map tools; not Rivet) |
Open Batch Renamer. Preview. Write the report. Then pick the chore that matches the day.
Source in the box: Assets/ArTchie Studios/ArTchie-Suite/com.artchie.rivet/Documentation/Guide-Rivet.md