Get Chrono on Fab: KRONO (ChronoSchema)
Official Technical Documentation: KRONO (ChronoSchema) - Official Documentation
Engine Compatibility: Unreal Engine 5.8 (C++20) | Platform: Win64 (Editor, Development, Shipping)
What KRONO Does (In Plain English)
KRONO (ChronoSchema) is a native C++ iteration and memory-debugging plugin for Unreal Engine 5.8 built to eliminate two everyday development bottlenecks—with zero third-party DLL dependencies and zero level setup required:
- Sub-9 ms C++
.hUPROPERTY Hot-Patching (Ctrl + S):
Add, edit, or remove supportedUPROPERTYfields (float,double,int32,bool,FString), default values, orCategorymetadata in your project’s.hfiles and press Ctrl + S. KRONO updates the liveUClass, Class Default Object (CDO), derived Blueprints, and open Details Panels in 0.5 ms – 9 ms without running Unreal Header Tool (UHT) or restarting the Editor—even during Play-In-Editor (PIE). - 600-Frame Win32
MEM_WRITE_WATCHPIE Time-Machine (<< -3s/< -1s):
Testing a jump, movement tweak, or physics collision in PIE? Click<< -3s(180 frames),< -1s(60 frames), or< -1 Frameon the top toolbar (or scrub the 60 Hz oscilloscope waveform) to rewind your character and movable physics actors back in time immediately without restarting PIE.
Engineering Scope: How KRONO Complements Unreal Live Coding
We want to be 100% transparent with fellow C++ engineers about what KRONO does under the hood and how it pairs with Live Coding:
- What KRONO Patches (<9 ms, Zero Compile): KRONO targets the reflection iteration gap.
FChronoHeaderWatcherandFChronoNativeReinstancerappend newFPropertynodes to the tail ofUClass::ChildProperties(keeping existing compiled C++ member offsets intact), relink derived Blueprints viaStaticLink(true), and update CDO and level instance memory directly. It works even when Live Coding is disabled. - Persistent Boot & Map-Load Auto-Sync: If you close and reopen the Unreal Editor (or switch maps) before running a full C++ build in Visual Studio/Rider, KRONO automatically scans your
.hfiles on Editor startup andOnMapOpenedto re-apply your uncompiledUPROPERTYschemas and default values. - When to Use Live Coding / IDE Compilation: KRONO injects properties into Unreal’s reflection layer without invoking the MSVC compiler. When you write new
.cppfunction logic that references a newly added header variable by its C++ identifier, trigger Live Coding (Ctrl+Alt+F11) or a standard IDE build as normal.
Core Architecture Across All 3 Pillars
Pillar 1: Sub-9 ms Header Hot-Patcher (ChronoSchemaEditor)
- Supported Types:
float(FFloatProperty),double(FDoubleProperty),int32(FIntProperty),bool(FBoolProperty), andFString(FStrProperty). - Live Default & Category Updates: Tweak default values (
= 600.0f) orCategory = "..."in your.hfile and pressCtrl+Sto push changes directly onto selected level instances and openSDetailsViewpanels. - Deletion Reconciliation: Deleting a hot-patched
UPROPERTYfrom your.hfile and saving immediately unlinks it from the Details Panel and derived Blueprints.
Pillar 2: 64 MB Hardware CoW Time-Machine (ChronoSchemaRuntime)
- Win32 Kernel
MEM_WRITE_WATCHArena: Reserves a 64 MB page-aligned virtual memory arena (16,384pages at4,096 byteseach) viaVirtualAlloc(..., MEM_RESERVE | MEM_COMMIT | MEM_WRITE_WATCH). - Sub-0.2 ms Per-Tick Delta Capture: Queries the Windows Kernel MMU each tick via
::GetWriteWatch(WRITE_WATCH_FLAG_RESET, ...)to delta-copy only the 4 KB pages that actually mutated during that frame across a 600-frame ring buffer (10.0sat 60 FPS). - Zero-Setup PIE Actor Rewind:
UChronoTimeMachineSubsystem(UTickableWorldSubsystem) automatically binds movable Pawns/Characters and physics-enabled Actors (EComponentMobility::Movable) to dedicated 4 KB pages and restores transforms, control rotations, and velocities viaETeleportType::TeleportPhysics. - 10 Blueprint Nodes & C++ Page API: Includes
RewindFrames,GetAvailableRewindFrames,SetRecordingPaused,IsRecordingPaused,AllocateTrackedPage,WriteTrackedFloat,ReadTrackedFloat,GetRecordedFrameCount,GetLastTickDirtyPages, andGetAllocatedPageCount.
Pillar 3: ChronoSchema Studio & Console / MCP Endpoints (Slate UI)
- 60 Hz Dirty-Page Oscilloscope & Scrubber: Visualizes per-tick clean (cyan) vs. mutated (magenta) 4 KB page bursts. Click or drag left to scrub backward through recorded PIE frames.
- 256-Cell (32x8) 4 KB Page Matrix: Real-time virtual memory page grid displaying standby cells, allocated clean pages, and active mutation heatmaps.
- Console & Automation Commands:
Chrono.HotPatchHeaders,Chrono.RewindFrames <N>,Chrono.MCP.HotPatch, andChrono.MCP.Rewind <N>.
Support, Bug Reports & Feature Requests
This thread serves as the official support channel for KRONO (ChronoSchema). If you have questions about integrating ChronoSchemaRuntime into your C++ modules, edge cases with specific class hierarchies, or feature requests for v1.1 (such as FVector / FRotator struct property injection), reply below!