Skip to content
Bit Quirky Round Trip
Visual Scripting

Search documentation

All topics and APIs

Close returns focus to Search.

What are you looking for?

Try a common topic or enter a complete API identifier.

Browse the reference instead

Esc closes · Tab reaches results · Enter opens the focused link

v0.89.0
Menu

Read a class you did not write

Open a Platformer method as a graph, trace its branch, and confirm every step against the C#.

The goal door opens after enough coins. Someone else wrote that rule. You can find it, follow it, and confirm it in C# without beginning from a wall of punctuation, and the same steps work for a tutorial script, a forum answer, or an asset you bought.

An existing project has a class named ScoreCounter. You need to answer one practical question: what happens when the coin count changes? The answer crosses a guard, a calculation, a HUD update, and a final branch.

  • You pasted in code from a tutorial, a forum answer, or an asset and want to work with it visually.
  • You inherited a Unity project and need the route through one method.
  • A class name makes sense, but its method body does not yet.
Pick the class, pick the method, read the graph: ScoreCounter.OnCoinCountChanged from the Explorer to the first branch.
Pick the class, pick the method, read the graph: ScoreCounter.OnCoinCountChanged from the Explorer to the first branch.
Reading a class from Explorer to graph to identity headerThe Explorer rail lists Door, PlayerController, and ScoreCounter. A cursor picks ScoreCounter, then OnCoinCountChanged. The canvas reveals the method graph node by node along its execution wires. The right rail then fills with the identity OnCoinCountChanged and method, public, void metadata. The final frame shows all three panels.EXPLORERDoorPlayerControllerScoreCounterPUBLICAddCoinsAddScoreOnCoinCountChangedCANVASOnCoinCountChanged_rules == null || _door == nullRefreshStatus(false)ReturnShouldUnlockRefreshStatuscan open?UnlockIDENTITYOnCoinCountChangedmethod · public · voidReading a class from Explorer to graph to identity headerThe Explorer rail lists Door, PlayerController, and ScoreCounter. A cursor picks ScoreCounter, then OnCoinCountChanged. The canvas reveals the method graph node by node along its execution wires. The right rail then fills with the identity OnCoinCountChanged and method, public, void metadata. The final frame shows all three panels.EXPLORERDoorPlayerControllerScoreCounterPUBLICAddCoinsAddScoreOnCoinCountChangedCANVASOnCoinCountChanged_rules == null || _door == nullRefreshStatus(false)ReturnShouldUnlockRefreshStatuscan open?UnlockIDENTITYOnCoinCountChangedmethod · public · void
Pick a class in the Explorer, choose one method, trace its graph, then use the rail and source to confirm what you read.
The Explorer rail listing Platformer classes and method groups.
Figure 1. The left rail narrows the project to one class and its methods.
  1. Open the Platformer Unity project. In the Project window, select Assets/Platformer/Runtime and choose Assets > Round Trip > Add Folder to Round Trip. This adds the runtime folder to the project’s source include paths.

  2. Open Tools > Round Trip > Graph View. The Round Trip Graphs window opens in Graph View.

  3. Press Cmd/Ctrl+K. Type ScoreCounter, then choose the RoundTrip.Platformer.Runtime.ScoreCounter class. The Explorer rail fills with its members.

  4. Under the public methods, choose OnCoinCountChanged. Start at the purple entry node. Follow the white exec wire into the first branch.

  5. Read the first condition from its pills: _rules or _door is missing. Follow the true output. The method refreshes the HUD as locked, then reaches a return node. That is the early exit.

  6. Return to the branch and follow false. Read the CoinUnlockRule.ShouldUnlock call. Its data wires carry Coins and _rules.coinUnlockThreshold; the result becomes the local value shouldUnlock.

  7. Continue along the white exec wire. The HUD call receives a condition built from shouldUnlock or _door.IsUnlocked. The final branch asks only whether shouldUnlock is true. Its true output calls _door.Unlock().

The OnCoinCountChanged graph with its guard and threshold branch.
Figure 2. White wires show the execution route; pills feed the values each step reads.
  1. Look at the right rail’s identity header. Confirm the method name and the metadata line method · public · void. The last word tells you the method returns no value.

  2. Confirm the graph in source. For an ordinary method row in the current editor, double-click the row or the active method title to open its body. The label View in Source appears on accessor rows; the ordinary method uses the double-click source gesture.

  3. Read the source from top to bottom and match each block to the route you traced: guard, threshold call, HUD call, final branch, door call.

The right rail identity header for the selected method.
Figure 3. The identity header confirms what kind of member you opened, who can call it, and what it returns.

When it goes wrong

SymptomCheckFix
ScoreCounter does not appear in the class picker.Open Project Settings > Round Trip and inspect the source include paths.Select Assets/Platformer/Runtime and use Add Folder to Round Trip again.
The graph opens on a different method.Read the highlighted row in the Explorer and the active method title.Choose OnCoinCountChanged from ScoreCounter again.
A data value seems to appear from nowhere.Follow its colored wire back to a pill or call result.Pan left until the producing node is visible, then read the pin label.
The graph and source seem different.Look for a Unity compile or import still in progress.Wait for Unity to settle, then use Reload to run the parse again.
Full-size image