> ## Documentation Index
> Fetch the complete documentation index at: https://docs.besupernow.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Started

> Install, enable, and initialize the Seed Subsystem. Quick examples in C++ and Blueprint.

# Get Started

## Install

1. Add the plugin to your project’s `Plugins/` folder or install via Fab.
2. In **Edit → Plugins**, enable **Deterministic Seed Subsystem** and restart the editor.

## Initialize the Seed

Initialize once at startup (e.g., in your `UGameInstance` or BP GameInstance or anywhere else).

<Tip>
  **Tip:** For multiplayer, set and replicate the seed from the server and derive all randomness server-side. Replicate outcomes as needed.
</Tip>

### Blueprint example

In your GameInstance Blueprint you can <Tooltip tip="Set game seed Initializes the random stream with a given seed and enables the seed subsystem.">Set Game Seed</Tooltip> on Init or at any other point in the game's lifecycle.

<iframe src="https://blueprintue.com/render/tgmjk89_/" scrolling="no" allowfullscreen width="100%" height="400px" />

### C++ example

```cpp theme={null}
#include "SeedSubsystem.h"

void UMyGameInstance::Init()
{
    Super::Init();
    if (auto* SeedSys = GetSubsystem<USeedSubsystem>())
    {
        // Deterministic run:
        SeedSys->SetGameSeed(20251022);

        // Or create a new seed each session:
        // SeedSys->GenerateRandomSeed();
    }
}
```

## Using Salts

Use a short, memorable salt per call:

* `"Loot_T1"`, `"AI_Crit"`, `"Spawner_A"`, `"NameGen"`

This keeps streams independent while remaining deterministic.

## Editor Seed

* **CVAR:** `SeedSubsystem.EditorSeed` (default `12345678`)
* In editor builds, `SetGameSeed` uses the editor seed so you get identical results run-to-run.
