Complexity score
Every scan gives each Blueprint with logic a complexity score from 0 (simple) to 100 (very complex). It tells you how hard a Blueprint is to read and change. Sort the Blueprints table by Complexity to find the hardest ones first.
Which assets get a score
Section titled “Which assets get a score”A Blueprint gets a score when it has logic: at least one node, and it is not an interface. Structures, enums, Blueprint Interfaces and Blueprints without nodes get no score. The panel and the pages show - for them, and scribe.json has 0.
How the score is computed
Section titled “How the score is computed”Blueprint Scribe first adds up a raw value from what the Blueprint contains:
| Part | Weight |
|---|---|
| Nodes in all graphs (without comments and reroute nodes) | 1 per node |
| Branches: Branch, Switch, Select, MultiGate and the Gate, FlipFlop, Do Once, Do N and Is Valid macros | 3 each |
| Loops: loop macros such as For Loop, For Each Loop and While Loop | 5 each |
| Cast nodes | 2 each |
| Graphs that contain nodes | 2 each |
| Member variables | 0.5 each |
| Functions, events, event dispatchers and macros | 1 each |
| Nodes in the largest graph | 0.5 per node |
Branches, loops and casts are only counted on enabled nodes. The largest graph counts twice on purpose: one huge graph is harder to follow than the same nodes in several small graphs.
The raw value is then turned into the score:
score = 100 × (1 − e^(−raw ÷ 300)), rounded, from 1 to 100
The curve rises fast for small Blueprints and flattens out for large ones, so the score never runs past 100.
| Raw value | Score |
|---|---|
| 30 | 10 |
| 100 | 28 |
| 300 | 63 |
| 600 | 86 |
| 900 | 95 |
Labels and colors
Section titled “Labels and colors”| Score | Label | Color |
|---|---|---|
| 0 – 24 | Simple | Green |
| 25 – 49 | Moderate | Green |
| 50 – 74 | Complex | Amber |
| 75 – 100 | Very complex | Red |
Where the score is shown
Section titled “Where the score is shown”| Where | What you see |
|---|---|
| Panel summary | The Complexity tile: the average score of all scanned Blueprints with logic. Hover it for the explanation. |
| Panel, Blueprints table | The Complexity column, sortable. Hover a score to see the label and what it is made of, for example “Moderate: 54 nodes, 4 branches, 1 loop, 6 graphs, largest EventGraph (42)”. |
| Panel, Blueprint details | The Complexity fact with the score, the label and the same breakdown as a tooltip. |
| Panel, C++ migration page | “complexity” and the score next to every Blueprint. |
| HTML site | Complexity (average) on the overview and on migration.html, a Complexity column in the asset table and a Complexity fact on every asset page. |
| Markdown | The average in index.md, a Complexity column there and in migration.md, and a Complexity row in each asset file. |
| JSON | complexityScore (the average) at the top level and metrics.complexity on every asset. |
| AI-ready text | A line such as “Complexity: 30 of 100 (moderate).” for every Blueprint with logic. |
| Python | report.complexity_score and asset.metrics.complexity. |
Complexity and the C++ score
Section titled “Complexity and the C++ score”A complexity of 60 or more also adds to the C++ migration score. The two scores answer different questions: complexity says how hard a Blueprint is to work with, the C++ score says how much it would gain from moving to C++.