ArTchie Studios

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

  1. Make sure com.artchie.rivet is in the project (Packages/unity-rivet or a file: entry in Packages/manifest.json). Open Unity. Wait for import. Check the Console for red errors.
  2. Click ArTchie / Rivet / Batch Renamer. Select a few Hierarchy objects (or Project assets). Pick Mode → Prefix, type something like Test_, watch the live preview.
  3. Click Write report (do not Apply yet if you only want a peek). Open <project>/RivetReports/batch-renamer.json. That file is the report.
  4. Optional: open Scene Camera Bookmarks, frame a nice Scene view angle, name it, click Save current, then move the camera and Recall.
  5. Optional: open Tag Layer Auditor, click Scan, then Write reporttag-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/ and Library/ 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 via RivetEmptyGui. 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 save cannot capture a Scene view; recall without a Scene view writes wouldRecall and 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-group and -rivet-defines.
  • Selection Groups — named groups of GlobalObjectId strings. 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+ · asmdef Rivet.Editor (includePlatforms: Editor, references: [])
  • No Node. No extra UPM deps. No Unity AI required.

5. Common stuck

  1. Menus say Rivet / … without ArTchie/ — stale README or per-tool doc header. Trust Unity: ArTchie / Rivet / ….
  2. I don’t see ArTchie / Rivet — package not imported, asmdef error, or wrong project. Check Console and Packages/manifest.json for com.artchie.rivet.
  3. No JSON on disk after Scan / preview — Scan fills the window; Write report (or batch RunBatch) creates RivetReports/. Copy JSON only touches the clipboard.
  4. Batch Renamer did not rename in CI — batch is dry-run unless you pass -rivet-apply. Window Apply still applies.
  5. PlayerPrefs list is empty on Mac/Linux — expected. Use Manual key / Add. Registry discovery is Windows Editor only.
  6. Camera bookmark save fails in batchmode — no Scene view in headless Unity. Use list / recall (recall writes wouldRecall when it cannot apply).
  7. 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.

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