GS_Core

The foundation of everything.

Ordered startup, structured save/load, level management, input options, and a library of runtime systems and utilities that every project depends on.

Everything Your Game Needs to Run

From first frame to final save — the systems every project depends on

Manager System & Startup

Controlled, ordered game initialization. Register your systems in a priority list and they activate in sequence — no race conditions, no undefined states. Start fresh, continue a save, or jump to a specific level, all through a unified interface.

  • Ordered Startup — Systems initialize in declared priority order
  • Game Flow — New game, continue, load file, and return to title screen
  • Manager Registration — Drop-in extensibility with the Startup Managers list
  • EBus Integration — Broadcast and respond to startup lifecycle events
Explore Managers

Save System

Serialize entity state with extensible Savers. Track persistent flags, counters, and records across your entire game with the Record Keeper. A structured save-slot architecture that adapts to any game's needs.

  • Entity Savers — Attach Saver components and serialize any state
  • Record Keeper — Persistent flags and counters across sessions
  • Save Slots — Multiple save files with flexible slot management
  • Save/Load Events — React to save and load lifecycle on any entity
Explore Save System

Stage Manager

Level transitions without complexity. Load and unload stages cleanly, configure per-level spawn points, and manage player state across boundaries. Everything needed for seamless, production-quality level management.

  • Stage Loading — Clean load/unload with state persistence
  • Spawn Points — Configurable per-stage entry and respawn locations
  • Navigation Settings — Per-stage pathfinding area configuration
  • Transition Events — Notify any system when stages change
Explore Stage Manager

Options System

Input profiles and player preferences. Read and modify player settings at runtime, disable input during menus, and swap control schemes without restarting. A structured approach to options that scales from prototypes to shipped titles.

  • Input Profiles — Named control schemes switchable at runtime
  • Input Blocking — Suppress gameplay input during UI or cutscenes
  • Settings Persistence — Options saved and restored across sessions
  • EBus Queries — Read any option value from any system
Explore Options

GS_Motion

A runtime system that powers many behaviors across GS_Play. GS_Motion animates transforms, colors, and values smoothly over time using data assets.

  • GS_Motion — Animate any transform, color, or float over time
  • Motion Assets — Author animations in the editor, play at runtime
Explore Systems

Utilities

The building blocks you reach for every day. Easing and interpolation curves, physics volume detectors, smooth-damp value followers, weighted random selection, and spline tools — all as components and EBus interfaces.

  • Easing Curves — Named ease functions for any interpolation
  • Physics Zones — Detect entities entering or leaving trigger volumes
  • Value Smoothing — Spring and smooth-damp followers for any float
  • Spline Tools — Sample positions and tangents along editor splines
Explore Utilities

Technical Specifications

Components

Startup: GS_ManagersComponent, startup sequencer

Save: GS_SaveComponent, RecordKeeper, entity Savers

Stages: GS_StageManagerComponent, spawn points

Options: GS_OptionsComponent, input profile manager

Systems: GS_MotionComponent

Utilities: Easers, zone detectors, value smoothers, spline samplers

Dependencies

Required: None — GS_Core is the base gem

All other GS_Play gems depend on GS_Core.

EBus Interfaces

Game Flow: New game, continue, load, title screen

Save/Load: Save slot management, record queries

Stage Control: Load stage, query active stage

Input: Block/unblock input, swap profiles

Animation: Play, stop, and query motion state

Data Assets

Motion Assets: Author clusters of animation to playback simultaneously on Play.

Save Files: Structured JSON save slot data

Input Profiles: Named control scheme definitions

The Layer Everything Builds On

Deterministic Startup

No more startup race conditions. Systems initialize in priority order. Every frame begins with the game in a known, valid state.

Flexible Persistence

Save entity state, track persistent flags, and manage multiple save slots. Works with any game genre — from roguelikes to RPGs.

Daily Utilities

Easing, smoothing, splines, random selection, and physics zones. The components you’d build yourself — already done, already tested.

Start Every Project on Solid Ground

GS_Core gives you a structured, extensible foundation so you can focus on what makes your game unique.

Get GS_Play Read Documentation Explore Other Gems