ArTchie Studios

Used by

Mechanical Used by / depends on comes from sibling scripts, using / imports, and [SerializeField]. Empty Used by is unknown. Depends on is separate and is never replaced.

Atlas enrichment (Editor only)

When Atlas (com.artchie.atlas) is in the project, ScribeMechanical.TryDocument asks ScribeAtlasBridge for inbound callers and appends them to Used by.

The bridge talks to Atlas only through reflection (Type.GetType):

  • Atlas.AtlasStore.Exists / Load
  • Atlas.AtlasIndexer.EnsureLoaded — only if the index cache already exists (no rebuild)
  • Atlas.AtlasQuery.Trace(index, node, "inbound", depth 1–2, modest maxPaths)

It finds the script’s type/file nodes, traces inbound callers/usages, and returns a short unique name list.

Atlas is never required. There is no asmdef reference to Atlas.

If Atlas is missing, the cache is missing, or reflection fails: Used by stays mechanical (unknown if empty). The bridge never throws.

Comment Selection, Document Selection, Document Folder, and Rebuild Stale Docs menus are unchanged. Document Folder and Rebuild Stale Docs pick up callers because they call TryDocument.

CLI

node scribe.js document stays mechanical-only. It does not load Atlas.

No-op without Atlas (Editor-only note)

If Type.GetType("Atlas.AtlasIndexer") and Type.GetType("Atlas.AtlasIndexer, Atlas.Editor") are both null (and no loaded assembly defines that type), ScribeAtlasBridge.TryInboundCallers returns an empty list. Used by is then whatever the mechanical sibling scan found. A lone script with no sibling callers still documents as **Used by:** unknown.

Source in the box: Assets/ArTchie Studios/ArTchie-Suite/com.artchie.scribe/Documentation/UsedBy.md