Selection Groups
Saves the current Editor selection as a named group of GlobalObjectId strings and recalls it later.
Editor-only. Unity 2021.3+. Lives in Rivet.Editor (includePlatforms: Editor). No extra packages.
Editor window
ArTchie / Rivet / Selection Groups
| Control | What it does |
|---|---|
| Name | Group name for save / rename. |
| Save selection | Writes GlobalObjectId.GetGlobalObjectIdSlow for each Selection.objects entry into the named group (creates or replaces). Empty selection is allowed here. |
| Recall | Loads any missing scenes additively, then Selection.objects = the objects that still resolve. |
| Rename | Renames the selected group. Refuses if the new name already exists. |
| Delete | Removes the selected group from disk. |
| Reload / Copy JSON / Write report | Re-read the store, clipboard dump, or write <project>/RivetReports/selection-groups.json. |
Store file: <project>/ProjectSettings/RivetSelectionGroups.json (created on first save). Missing file = no groups.
Batchmode (CI)
Unity -batchmode -nographics -quit -projectPath <proj> -executeMethod Rivet.SelectionGroups.RunBatch -rivet-action list -rivet-out <file.json>
| Arg | Meaning |
|---|---|
-rivet-out <file.json> |
Output path. Default: <project>/RivetReports/selection-groups.json |
-rivet-fail |
Exit code 1 if the action failed (also exits 1 on any action error) |
-rivet-action list |
Dump groups (default if omitted) |
-rivet-action save -rivet-name <name> |
Save the current selection under that name |
-rivet-action recall -rivet-name <name> |
Select the stored objects |
-rivet-allow-empty |
Required in batchmode to save a group when nothing is selected |
RunBatch only calls EditorApplication.Exit when Application.isBatchMode is true. It logs count= and the output path.
Also accepts -rivet-out=file.json and -rivet-name=Cameras.
Recall of an unknown name, save without -rivet-name, or a batch empty save without -rivet-allow-empty exits 1. Recall of a non-empty group that resolves zero live objects also exits 1.
JSON
Report shape (RivetReports/selection-groups.json):
{
"tool": "SelectionGroups",
"generatedUtc": "2026-08-18T02:00:00Z",
"count": 1,
"items": [
{
"name": "Cameras",
"ids": ["GlobalObjectId_V1-2-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-1-0"]
}
]
}
On-disk store (ProjectSettings/RivetSelectionGroups.json) is { "groups": [ { "name", "ids" } ] } so it can be parsed without the report wrapper.
Notes
- Scene objects (identifier type 2) need their scene loaded; recall opens those
.unityassets additively. - Deleted objects / missing scenes stay in the id list but are skipped on recall.
- Duplicate names are case-insensitive; save replaces the existing group.
- Empty projects and a missing
ProjectSettingsorRivetReportsfolder are fine. - Does not modify scene contents. Does not touch runtime player code.
Source in the box: Assets/ArTchie Studios/ArTchie-Suite/com.artchie.rivet/Documentation/SelectionGroups.md