GS_Core
Categories:
GS_Core is the required foundation for every GS_Play enabled project. All other GS gems depend on it to drive their complex behaviour, and utilize its systemic features. It provides the game startup sequence, persistence, level loading, input handling, a triggerable action system, and a shared utility library.
If you have not set up GS_Core yet, start with the Simple Project Setup guide before reading further.
For architecture details, component properties, and extending the system in C++, see the GS_Core API.
Quick Navigation
| I want to… | Feature | API |
|---|---|---|
| Start a new game, continue from a save, load a specific file, or return to the title screen | GS_Managers | API |
| Save and load game data, or track persistent flags and counters across sessions | GS_Save | API |
| Move between levels, or configure per-level spawn points and navigation settings | GS_StageManager | API |
| Read player input, disable input during menus, or swap control schemes at runtime | GS_Options | API |
| Use easing curves, detect physics zones, smooth values, pick randomly, or work with splines | Utilities | API |
| Trigger a reusable behavior on an entity from a script, physics zone, or another action | Systems: GS_Actions | API |
| Animate a transform, color, or value smoothly over time | Systems: GS_Motion | API |
Installation
GS_Core is a required gem. It will be added to your project when you enable any other GS_Play gem.
For a complete guided setup, follow the Simple Project Setup guide or video tutorial.
Follow these steps in particular:
Quick Installation Summary
Once the gem is registered to your project:
- Create a Game Manager prefab and place it in every level.
- Create prefabs of any managers you wish to utilize in your project
- Add all the manager prefabs to your GameManager Managers list.
- Implement a way to activate “Begin Game”
- Create a UI to fire New Game, or Load Game.
- Create a Script to fire New Game, or Load Game OnStartupComplete.
- Toggle “Debug Mode” on. This skips through the begin game process.
GS_Managers
Controls the game startup lifecycle — spawning and initializing all manager systems in a guaranteed order, then providing top-level game navigation: New Game, Continue, Load Game, Return to Title, and Quit. The starting point for any game-wide behavior.
GS_Save
Handles all save and load operations, including entity state persistence across level loads and simple key-value record tracking for global flags and counters.
GS_StageManager
Manages level loading and navigation. Place named Exit Points in your levels to control where the player arrives, and use Stage Data components to configure per-level settings like NavMesh references and spawn configuration.
GS_Options
Manages player input through swappable Input Profile assets and Input Reader components, with group-level enable/disable for suppressing input during menus, cutscenes, or transitions.
Systems
Core framework systems used across multiple gems: the GS_Actions triggerable behavior system and the GS_Motion track-based animation engine.
Utilities
A collection of shared tools: easing curves (40+ types), spring dampers for smooth value following, weighted random selection, color and float gradients, spline helpers, and Physics Trigger Volume components.
See Also
For the full API, component properties, and C++ extension guide:
For step-by-step project setup:
Get GS_Core
GS_Core — Explore this gem on the product page and add it to your project.