Verse Wiki — the Verse handbook for Blueprint authors
Advanced · EXTRA

Why Indentation Can Replace Wires: Execution Wires Are Just Order

"The nodes are all still there, the wires are gone" sounds like a magic trick in the main lesson. This page takes the trick apart: a white execution wire carries exactly one piece of information, and in text that information is thrown in for free. Once you see that, you stop wondering "what did code lose compared to the graph" — what it lost was redundancy.

1. What Does One White Wire Actually Say?

Put a single white execution wire under interrogation: how much information does it carry?

Strip all that away and what's left? One sentence: "after A finishes, do B". That's it. The entire payload of a white wire is the before/after relationship between two actions. Every one of the hundreds of white wires you've dragged across a canvas is repeating that same sentence.

Order is the oldest thing in programming. A machine executes instructions one after another anyway; "the next one" is the default behavior and nobody has to specify it. The reason Blueprints have to draw it is not that order needs expressing — it's that nodes on a canvas have no natural before or after. Put two boxes on a two-dimensional plane and there's no way to tell which comes first, so a wire has to be added to say so.

2. Text Has Order Built In, So the Wire Is Redundant

Now change the medium. Take those nodes off the canvas and stack them into a column of text. Something remarkable happens: you did nothing, and the order is already there.

Because "the second line is below the first" is a physical property of paper and screens, a by-product of the act of writing. The moment you write the second line, the information "it comes after the first" is generated for free. Drawing an arrow at that point to say "do line one, then line two" is saying something that has already been said — which is the definition of redundant.

What about nesting? Line order can't express a hierarchy like "these lines are inside the if", so a second dimension is needed. And text happens to have one more free dimension going spare: the whitespace to the left of each line. Hence:

Information to express What Blueprints use What text uses Cost
Order White execution wire Vertical position of the line Free (comes with the layout)
Nesting Wire routing + node placement Amount of indentation on the left Free (comes with the layout)
Data flow Colored data wires Arguments inside round brackets Written out, but in a fixed place

Three jobs, three non-interfering dimensions, and the first two cost no ink at all. That is the whole reason indentation can replace wires: not that indentation is more powerful than a wire, but that text as a medium ships with two free structural dimensions, and a canvas ships with none.

3. A Historical Aside: Text Code Drew Wires Too, and Called Them goto

Amusingly, text code did not enjoy that free bonus from day one. Early languages had a statement called goto whose job was "jump to any line in the program and carry on from there" — an execution wire drawn inside text, of arbitrary direction and unlimited length. A Blueprint white wire in textual form, essentially.

In 1968, Edsger W. Dijkstra published a short letter to the editor whose title became an industry catchphrase: "Go To Statement Considered Harmful". His argument is the same as this page's: once execution wires can fly anywhere, you can no longer tell what state the program is in from which line you've read to — position in the text and state of the execution come unglued, and the free ordering information is void.

From the other direction, Corrado Böhm and Giuseppe Jacopini proved in 1966 that any program can be expressed with just three structures — sequence, selection, iteration — with no arbitrary jumps at all. Together the two gave rise to "structured programming", whose approach is not to ban jumping but to restrict jumps to a handful of structures with fixed shapes, and then to display those shapes directly through layout.

Indentation is that display. When you see a stretch of code step one indent to the right, you know "a structure was entered here"; when it steps back, you know "the structure ended". Making the shape visible is indentation's real value — the ordering is just thrown in.

Look back at Blueprints in that light: their execution wire is essentially goto, merely supervised by a node editor so it can't leap outside the function. That explains an intuition many people have — past a certain complexity, Blueprints start becoming unreadable even to their author, while structured code at the same complexity is still followable. Not because code is simpler, but because code's shape is forcibly displayed, while a graph's shape depends on how you happened to arrange it.

4. Why Blueprints End Up as a Ball of Yarn

"Spaghetti Blueprint" isn't just an insult; it has a specific technical root cause: Blueprints press "logical order" and "visual layout" onto the same object.

Unpacked, it's two constraints fighting:

While the logic is simple the two coexist happily. Once it isn't, satisfying the first means wires stretching across half the canvas and around clumps of nodes, and the second collapses. So you start shuffling nodes, adding Reroute nodes, dragging Comment boxes — actions that have no effect whatsoever on program behavior and are purely graphic design. That's where a Blueprint author's "tidying" hours go.

Worse, data wires run across the same canvas. White wires handle order and colored wires handle data, two networks interleaved on one two-dimensional plane, so complexity multiplies rather than adds. Text separates the two into different dimensions: order runs vertically, data lives in brackets, and they can never knot together.

There's one more benefit that gets mentioned less and matters more every year: diffs. What changed in text code is visible line by line, merge conflicts have a defined resolution procedure, and code review can point at a specific line. Node graphs in version control are essentially unreadable binary or enormous serialized text, and "what did this change do" can only be answered by opening the editor and comparing with your eyes. On a team, that becomes a real cost — and even more so when you hand code to an AI to read and write. Lesson 30 is about exactly that.

5. In Fairness: What the Graph Loses, Code Loses Too

None of this is a clean sweep for text. Graphical editing gives three things text can't:

Epic clearly knows all this. An Epic survey mentioned a visual scripting layer for Verse (the community calls it "Visual Verse"), but its form has not been announced, and neither has a date. To be equally clear about the timeline: Actors and Blueprints are fully supported in UE6 Early Access (targeting late 2027) and the early versions after it; deprecation waits until Scene Graph is mature enough, with no date set, and Epic has committed to providing conversion tools before deprecation — but they have not been released yet.

So the real conclusion of this page isn't "code wins". It's this: the thinking you drilled in Blueprints — what happens first, what happens next, where it forks — is a transferable asset; the only thing you have to relearn is its notation. White wires become line order, forks become indentation. That's all.

6. Quick Quiz

According to this page, why does text code not need a wire to express execution order?

Sources

The two classic works referenced on this page: Edsger W. Dijkstra, "Go To Statement Considered Harmful", Communications of the ACM, 1968; Corrado Böhm and Giuseppe Jacopini, "Flow Diagrams, Turing Machines and Languages with Only Two Formation Rules", Communications of the ACM, 1966. The UE6 and Blueprint timeline follows Epic's published roadmap and the public information from State of Unreal 2026.