GODS: Globally Observable Data Structures
Tobias Froihofer
$19.99
$39.99
50%OFF
(no ratings)
Jump AssetStore
Share variables, lists, hash sets and events across your project. Any script can access them directly, and everything reacts automatically when they change.Currently 50% off. Regular price $39.99Forum | ContactGODS gives your Unity project shared, globally accessible variables, lists, hash sets and events. Any object can reference this data directly. No searching the scene, no manually wiring connections. When the data changes, everything listening reacts automatically.Drag the same Currency variable into your coin-collection script, the UI text that displays it, your shop, and your save slot — they all reference the exact same value. No Currency Manager to find at runtime, no risk it's missing when something needs it. The variable lives as its own asset, not inside a scene object, so it's always there.Share variables, lists and hash sets across your whole projectReact to changes the instant they happenSave and load data with a built-in, multi-user save slot systemGenerate a complete settings menu in minutes, with the settings players actually expectThis architecture builds on ideas first presented by Ryan Hipple in "Game Architecture with Scriptable Objects".What you getObservable Variables, Lists and Hash Sets that fire events whenever their value changesInspector event toggles per reference: react to a value changing or a save finishing loading, with no additional subscribe or unsubscribe code. Lists and Hash Sets fire additional events when an item gets added or removed.Observable Game Events and Listeners for decoupled, project-wide messagingScriptableObject-based architecture, so you don't need to find the object that holds the data at runtimeEnum types are supported. Share global enums easily (e.g. let objects respond immediately when the game state changes from Playing to Paused)An Observable type generator window for adding new observable types as your project needs them (e.g. add your own MyWeirdClass observable variable/list/hash set/enum)A Settings Menu Generator for fully wired, recolorable settings menuA tagging system for resetting groups of data at once (e.g. everything tagged "Run Statistics" when a run ends)Reference tracking: select any variable, press F3 and see every object using itA multi-user save slot system with automatic and manual saves, optional per-slot encryption and save-point screenshotsWire up behavior through the inspectorEvery reference has lightning-bolt toggles: react when the value changes; items get added/removed from a List or Hash Set; or when a save finishes loading. Write the method, wire it up in the Inspector, done. No subscribe/unsubscribe boilerplate, no manual event wiring in code. This works whether or not you use GODS Save Slots at all.One script, endless reusesA script that references a Variable works for any variable of that type — the same UI text script that displays Coins can display Diamonds or Crystals just by pointing it at a different reference, no CurrencyManager or per-currency script needed. Write the logic once; reuse it for anything that shares that type.A powerful save slot systemGODS Save slots handle multiple users, automatic and manual saves and optional encryption per slot. Leave gameplay saves encrypted, leave your settings file in plain JSON if you want players to be able to mod it. Everything saves to disk as JSON, with an optional save-point screenshot.Find every reference, instantlySelect any variable and press F3 to see every object in your project that uses it: the player, the UI, the game manager, all in one list. No more guessing what depends on what.Generate a settings menu without writing oneGODS' global variables work great with game settings. Pick from Window Mode, Resolution, Frame Rate, Quality, Audio Volumes and more. Reorder them, click Generate and a fully wired settings menu appears. Recolor the whole thing from one shared palette asset. Need something the generator doesn't cover? Build it with the same reusable Slider, Toggle and Dropdown pieces the generator itself uses.Enter Play Mode Options compatibleObservable Variables reset to default values on entering play mode. Keep entering play mode without reloading the domain/scene for fast play testing.DocumentationShips with a thorough User Guide with descriptions, examples, full code documentation and troubleshooting.Full source code includedEvery script is included and editable, so you can inspect, customize or extend anything GODS does.If you're tired of hunting for scene references and manually wiring event subscriptions in code, give GODS a try.Iterate Faster - Compatible with Enter Play Mode OptionsEnable "Enter Play Mode Options" and "Reload Scene" in the Project Settings to boost entering play mode speed by 50-90% depending on your project.Fully compatible with Unity 2021.3 and higherTested and working on Unity 2021.1 and higherAI (ChatGPT and claude) has been used to speed up the code creation process and to improve code quality




