Deterimimistic Seed Based Generation
Tools
UE5 Blueprints, C++
Timeline
1 Week

Randomness in games is easy. Reliable randomness is the hard part.
SeedSubsystem is a plug-and-play UE5 plugin I built to solve a problem that shows up everywhere in game dev: you need systems that feel random but behave consistently when you need them to. QA needs to reproduce that weird loot drop. Your roguelike needs to desync-proof its runs. Your PCG map needs 10,000 objects that all place the same way every time the seed matches.
It wraps Unreal's native FRandomStream with a clean Blueprint-first API and a "seed + salt" pattern, so every subsystem in your project can share a single source of truth for randomness without stepping on each other. Initialize once, salt per system, get identical results for the same seed and code path every time.
Built with zero external dependencies, it's pure UE runtime code and shipping-safe out of the box.
What it solves
Reproducing runs for QA testing or stream seeding
Desync-proofing roguelike and procedural systems
Keeping randomness predictable across large PCG maps
Isolating randomness between systems without conflicts
Key Features
Deterministic core: Initialize once and get identical results for the same seed & code path.
Salt everything: Add per-system/per-call salts to isolate subsystems.
Blueprint-first API: Every function callable in BP, with sensible defaults.
Weighted enum picks: Choose from a map of uint8 → weight or arrays of enum values.
Curve sampling: Sample UCurveFloat deterministically (great for distributions).
Editor convenience: SeedSubsystem.EditorSeed CVar to lock editor runs.
Opt-out chaos: Set bDeterministic to false to add time to salt for non-repeatable results.
Zero external deps: Pure UE runtime code; shipping-safe.






