Output format
Folder layout#
Saved/ProjectContext/
PROJECT_CONTEXT.md overview and index; point your agent here
project.md / .json engine, modules, plugins, maps and modes, input, collision, gameplay tags, config files
dependencies.md / .json for every exported asset: what it loads, what it references softly, what uses it
other_assets.md textures, meshes, sounds and other assets with no text form, path and class only
manifest.json what was exported from which file version (used for incremental runs)
assets/
Game/Characters/BP_Hero.md /Game/Characters/BP_Hero
Game/Characters/BP_Hero.json
MyPlugin/UI/WBP_Menu.md content of the project plugin MyPluginThe file for an asset is its package path under assets/, so an agent can go from any reference it finds straight to the file. Files are only rewritten when their content changes.
Blueprint pseudo-code#
Every function, event graph, macro and collapsed graph is written in execution order:
Event BeginPlay
Branch(Condition=(OpenAngle > 0.0))
False:
PrintString(InString="OpenAngle must be positive")
Event ActorBeginOverlap(OtherActor)
TryOpen(Instigator=OtherActor)
Branch(Condition=TryOpen.Opened)
True:
PrintString(InString="Door opened")- An unindented line is an entry point (event, function entry, custom event) with its output parameters.
- Each following line is one executed node:
Function(Pin=value, ...),Target.Function(...)orSet Var = value. - Nodes with several exec outputs (Branch, Sequence, loops, Switch, async nodes) list each output with the nodes it runs indented below.
- Values are inlined: pure nodes become expressions such as
(Health <= 0.0); event and function parameters are used by name;Node.Pinis the output of a node that already ran. Reroute nodes are followed and not shown. [N12]labels a node that a later-> goto [N12] Namejumps back to (several exec wires lead into it).// textis the node's comment bubble.[disabled]marks disabled nodes.- Comment boxes and nodes not connected to any entry point are listed after the code.
The JSON file has the same pseudo-code in text and, unless turned off, every node with its pins, defaults and links in nodes.
Values#
Values use Unreal's text format (what Copy gives in the Details panel), with trailing zeros trimmed and object references shortened to their package path: (X=450.0,Y=0.0,Z=200.0), /Game/Materials/MI_Brick. Blueprint enum values use their display names. In JSON, numbers, booleans and strings keep their types and structs become objects.
Levels, components, data assets and material settings list only properties that differ from the class defaults, so what you read is what someone changed. Properties of components created by a construction script are left out because the Blueprint rebuilds them on load.
Levels and World Partition#
Actors loaded with the map are exported in full. World Partition actors that are not loaded are listed from their descriptors (label, class, folder, bounds center); load the region in the editor and export again for their properties. Streaming sublevels are exported as their own level files.
Limits#
Long values are cut at Max Value Length and show their full length. Objects list at most Max Properties Per Object changed properties, levels at most Max Actors Per Level actors, data tables at most Max Table Rows rows; the rest are counted. All limits are in the settings.