Graph configuration files
See what .rt.json remembers, where each storage scope puts it, and why the file never sits beside your C#.
On this page
You tidy a busy method until the branch, its calls, and the return all fit in one glance. Round Trip needs to remember that arrangement without pretending it is game behavior.
The problem
Section titled “The problem”Node positions do not belong in PlayerController.cs. Putting editor arrangement beside source would mix a personal reading aid with the code Unity compiles. It would also leave configuration files scattered through Assets/, packages, and external folders.
Round Trip stores one pure JSON .rt.json graph configuration file in a central root. The C# method still defines every operation and value.
When to reach for it
Section titled “When to reach for it”Read this page when you are deciding whether a layout should travel with the project, reviewing an unfamiliar .rt.json file, or cleaning local editor state.
A graph configuration file can hold:
- Stable source identity and per-method node positions.
- Viewport center and zoom state.
- Routed wires and reroute knots.
- Split or consolidated GET reads.
- Comment popup sizes.
- Loop display choices and switch-arm collapse state.
It does not replace the .cs file. Deleting one loses the saved arrangement only. Reopening the method parses the same C# and lays the graph out again.
See it
Section titled “See it”Two storage scopes use the same format:
| Scope | Root | Intended use |
|---|---|---|
| Local, the default | <Project>/UserSettings/RoundTrip |
Your machine-local canvas arrangement. Unity excludes UserSettings/ from version control by default. |
| Shared | <Project>/RoundTrip |
A layout your team deliberately reviews and shares. |
Round Trip never writes a graph configuration file beside the source file.
- Open Project Settings > Round Trip.
- Find Layout Storage and leave it on Local for personal arrangement. Local is the current default.
- Choose Shared only when the team wants graph arrangement reviewed with the project.
- Open a method, move a node, add a reroute knot, or resize a comment popup.
- Find the matching
.rt.jsonbelow the selected root. Its relative path mirrors the source bucket.
Source paths map like this:
| C# source root | Configuration path below the storage root |
|---|---|
Assets/ |
Mirrors the path inside Assets/, with no extra bucket. |
Packages/<package-id>/ |
Starts with Packages/<package-id>/. |
| Configured external root | Starts with External/<stable-root-id>/. |
Absolute machine paths are rejected from the stored source identity. External roots use a stable, sanitized id so collaborators can check out the project somewhere else.
What it writes
Section titled “What it writes”The exact JSON contains stable ids and numeric layout records. Treat it as editor-managed data. The useful human review question is whether the team meant to share a layout change, not whether the JSON is executable.
When it goes wrong
Section titled “When it goes wrong”When it goes wrong
| Symptom | Check | Fix |
|---|---|---|
| A teammate never sees your arrangement. | Check whether your scope is Local. | Choose Shared only if the team intends to share configuration, then commit the matching file under <Project>/RoundTrip. |
| Configuration appears in a package or source folder. | Check the path. Round Trip storage never belongs beside C#. | Select the intended central storage scope and let Round Trip save again. |
| A layout resets after its file is removed. | Look for the matching .rt.json file. | Restore the file if its arrangement mattered, or keep the new automatic layout. |
| An external root produces a different bucket than expected. | Check the configured root id and include path. | Keep the root id stable across the team. |