# Using the Sample Telemetry Provider

The Runtime Spawner includes a simple **BasicSpecialsTelemetry** ScriptableObject in the Samples\~ folder.

This provider lets you test **Pressure** and **Average Player HP** rules without writing any code.

***

### Step 1. Create the Sample Asset

1. From the Project window:\
   **Create → Runtime Spawner → Specials Telemetry → Basic Sample**
2. Name it something like `TestTelemetry.asset`.

You’ll see two sliders in the Inspector:

| Field                 | Description                                             |
| --------------------- | ------------------------------------------------------- |
| **Pressure**          | Represents game intensity (0–1). Higher = more tension. |
| **Average Player HP** | Represents player health (0–1). Lower = injured team.   |

***

### Step 2. Assign the Provider

1. Select your **SpecialEncounterManager** in the scene.
2. Drag your new `TestTelemetry.asset` into the **Telemetry Provider** field.

Now, the manager will read these values whenever it evaluates rules.

***

### Step 3. Configure a Rule that Uses Telemetry

1. Open your **Special Profile** (the ScriptableObject defining all special rules).
2. Add or edit a rule to include thresholds like:
   * `Min Pressure = 0.75`
   * `Min Avg Player HP = 0.50`
3. Save your changes.

***

### Step 4. Test in Play Mode

1. Enter Play Mode.
2. Adjust the **Pressure** and **Average Player HP** sliders live in the Inspector.
3. Watch your **SpecialEncounterManager** and/or the **Diagnostics HUD**.

You’ll see rules begin to pass or fail as you cross their thresholds.

Example:

```
[Specials] Pressure=0.82, AvgHP=0.64 → Rule “BossWave” passed
[Specials] Spawned 1x Special_Brute
```

***

### Step 5. Validate Behavior

* If **Pressure < threshold**, specials won’t spawn.
* If **Avg HP < threshold**, spawn conditions are deferred until players recover.
* If both exceed thresholds, eligible rules can trigger immediately.

This makes it easy to test pacing without wiring any game systems yet.

***

### Step 6. Move to a Real Provider

Once you’ve confirmed your rules work, replace the sample with:

* A custom **ScriptableObject** subclass of `SpecialsTelemetryProvider`, or
* A runtime **ISpecialsTelemetry** implementation that reads live data (see next page).

***

### Summary

| You want to...                   | Use...                            |
| -------------------------------- | --------------------------------- |
| Validate your rule setup quickly | **BasicSpecialsTelemetry** sample |
| Control Pressure / HP manually   | Adjust sliders in Inspector       |
| Test spawn gating logic          | Watch HUD / Console logs          |
| Connect real gameplay systems    | Move on to Custom Provider setup  |

***

**In short:**\
The sample telemetry provider is your sandbox - a quick way to verify that your special encounter rules, thresholds, and cooldowns are all behaving correctly *before* you hook in real game data.
