Structured logging
from Blueprints,
zero friction.
Session Logger lets you emit clean, structured JSON Lines directly from your Blueprints. Log structs, arrays, maps, and primitives in one node. No C++ required.
"project": "MyGame",
"ts": "2026-05-10T12:34:56.789Z",
"session": "3CE7...BCD3",
"source": "unreal|L_GameMap",
"event": "PlayerStats",
"phase": "Gameplay",
"data": {
"score": 4200,
"hp": 87,
"level": "dungeon_01",
"alive": true
}
}
Features
Everything you need to
instrument your game
Built for game developers who want structured, queryable logs without leaving Blueprints or adding SDK dependencies.
Drop-in Blueprint nodes for every data type. Log structs, arrays, maps, and all primitives with dedicated nodes and zero C++ setup.
Every log line is a compact, valid JSON object. Easy to parse, import into analytics tools, or feed into ELK stacks and spreadsheets.
Turn nested structs into dotted key-value pairs (e.g. meta.pos.x = 10) for simple spreadsheet or ELK ingestion.
Configurable file size caps, startup rotation, and automatic cleanup of old log files. Never worry about runaway log sizes.
INFO, WARNING, ERROR and CUSTOM levels with color-coded console echo. Define your own log level labels for domain-specific categories.
Same API and output format in Editor, PIE, Standalone, and fully packaged shipping builds. No special setup needed.
Writes locally to Saved/Logs/ or a custom path. Zero network usage. You own your data completely.
A unique session UUID is generated on first init and stamped on every log line. Track and correlate logs across runs effortlessly.
Full configuration via Project Settings → Plugins → Session Logger. Set log path, file name, rotation thresholds, and more.
Blueprint Nodes
One node for every data type
Every Blueprint type has a dedicated log node. No casting, no workarounds, just drop the node and connect.
Quick Start
Up and running in minutes
Install from Fab, add two nodes, and your game is logging structured data.
Purchase and install from the Epic Games Fab Marketplace. Enable the plugin under Edit → Plugins → Session Logger and restart the editor.
In your Level Blueprint or Game Instance, call Init Logger once on Begin Play. That's all the setup required.
Drop any log node — Log Struct, Log Value, Log Message — connect your data and you're done.
Logs appear at <ProjectRoot>/Saved/Logs/<ProjectName>_sessions.jsonl — one JSON object per line, ready to parse or import.
Output Format
Clean, structured, parseable
Every log line is a self-contained JSON object with session metadata automatically attached.
{"project":"MyGame", "ts":"2026-05-10T12:00:00.000Z", "session":"3CE7...BCD3", "source":"unreal|L_Map", "level":"INFO", "message":"Game started", "phase":"Startup"}
// Log Struct node output
{"project":"MyGame", "ts":"2026-05-10T12:00:05.123Z", "session":"3CE7...BCD3", "source":"unreal|L_Map", "event":"PlayerStats", "phase":"Gameplay", "data":{"score":4200, "hp":87, "alive":true}}
// Log Value (Int) node output
{"project":"MyGame", "ts":"2026-05-10T12:00:10.456Z", "session":"3CE7...BCD3", "source":"unreal|L_Map", "event":"EnemiesKilled", "phase":"Gameplay", "data":{"value":42}}
Compatibility
Tested across UE versions
Compatible with Unreal Engine 5.4 through 5.7. Windows 64-bit. Source-only plugin with no pre-built binaries.
Get Started
Start logging your game today
Available on the Fab Marketplace. Includes full source, documentation, and a demo project.