Unreal Engine 5.4 – 5.7
Session Logger Logo

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.

8 Log node types
4 UE versions supported
0 Dependencies
v2.0.1 — Latest
MyGame_sessions.jsonl
{
  "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
  }
}
Blueprint-first API

Everything you need to
instrument your game

Built for game developers who want structured, queryable logs without leaving Blueprints or adding SDK dependencies.

📋
Blueprint-First API

Drop-in Blueprint nodes for every data type. Log structs, arrays, maps, and all primitives with dedicated nodes and zero C++ setup.

🗂️
Structured JSON Lines

Every log line is a compact, valid JSON object. Easy to parse, import into analytics tools, or feed into ELK stacks and spreadsheets.

🔄
Flatten Mode

Turn nested structs into dotted key-value pairs (e.g. meta.pos.x = 10) for simple spreadsheet or ELK ingestion.

🔁
File Rotation & Retention

Configurable file size caps, startup rotation, and automatic cleanup of old log files. Never worry about runaway log sizes.

🎨
Color-Coded Console

INFO, WARNING, ERROR and CUSTOM levels with color-coded console echo. Define your own log level labels for domain-specific categories.

📦
Packaged Build Support

Same API and output format in Editor, PIE, Standalone, and fully packaged shipping builds. No special setup needed.

🔒
No Telemetry

Writes locally to Saved/Logs/ or a custom path. Zero network usage. You own your data completely.

🆔
Automatic Session ID

A unique session UUID is generated on first init and stamped on every log line. Track and correlate logs across runs effortlessly.

⚙️
Settings Panel

Full configuration via Project Settings → Plugins → Session Logger. Set log path, file name, rotation thresholds, and more.

One node for every data type

Every Blueprint type has a dedicated log node. No casting, no workarounds, just drop the node and connect.

Log Message
Free-text breadcrumb with INFO / WARNING / ERROR / CUSTOM level
Log Struct
Serialize any wildcard struct to JSON automatically
Log Array
Log any wildcard array of primitives or structs
Log Map
Log any wildcard map as a JSON key-value object
Log Value (Int)
Log a single integer value with event name and phase
Log Value (Float)
Log a single float value with event name and phase
Log Value (Bool)
Log a boolean value with event name and phase
Log Value (String)
Log a string value with event name and phase
Log Value (Name)
Log an FName value with event name and phase
Log Value (Text)
Log an FText value with event name and phase
Log Value (Byte)
Log a byte value with event name and phase
Log Value (Int64)
Safely logged as string to avoid IEEE-754 precision loss
Log Event (JSON)
Raw JSON sink — pass pre-built JSON objects, arrays, or scalars
Init Logger
Initialize the subsystem. Call once on Begin Play
Get Session ID
Returns the unique UUID for the current session
Is Logger Ready
Returns true if the subsystem is initialized and ready

Up and running in minutes

Install from Fab, add two nodes, and your game is logging structured data.

1
Install from Fab

Purchase and install from the Epic Games Fab Marketplace. Enable the plugin under Edit → Plugins → Session Logger and restart the editor.

2
Initialize the Logger

In your Level Blueprint or Game Instance, call Init Logger once on Begin Play. That's all the setup required.

3
Start Logging

Drop any log node — Log Struct, Log Value, Log Message — connect your data and you're done.

4
Find Your Logs

Logs appear at <ProjectRoot>/Saved/Logs/<ProjectName>_sessions.jsonl — one JSON object per line, ready to parse or import.

Clean, structured, parseable

Every log line is a self-contained JSON object with session metadata automatically attached.

MyGame_sessions.jsonl JSON Lines
// Log Message node output
{"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}}

Tested across UE versions

Compatible with Unreal Engine 5.4 through 5.7. Windows 64-bit. Source-only plugin with no pre-built binaries.

Unreal Engine 5.7
Unreal Engine 5.6
Unreal Engine 5.5
Unreal Engine 5.4
Windows 64-bit
Packaged Builds
PIE & Standalone
No Dependencies

Start logging your game today

Available on the Fab Marketplace. Includes full source, documentation, and a demo project.