# Getting Started

Runtime Spawner is a flexible, modular system for spawning enemies, NPCs, and objects at runtime - with support for pooling, progression, and multiplayer.

Version 2.0 introduces a **package-based architecture** and a new **sample-driven onboarding flow** to help you get up and running quickly.

***

### 1. Install the Package

1. Open **Window → Package Manager**
2. In **My Assets**, locate **Runtime Spawner**
3. Click **Install**

Once installed, the core package and any included modules will be available in your project.

{% hint style="info" %}
Note: Runtime Spawner 2.x is designed around a modular architecture. Each addon is a separate Unity package (UPM) that creates clear boundaries for functionality and dependencies.&#x20;
{% endhint %}

### 2. Open the Setup Window

After installation, open the Runtime Spawner setup tool:

* **Tools → Runtime Spawner → Setup**

The Setup Window is your main entry point for:

* Installing samples
* Browsing available modules
* Opening documentation for each setup

{% hint style="info" %}
Note: you can install all of the samples via the Unity Package Manager window the same as normal, this window simply provides a shortcut / unified interface for installing them.
{% endhint %}

### 3. Install the Base Samples (Recommended)

We strongly recommend starting with the **Core samples**.

From the Setup Window:

* Locate the **Core / Base Samples**
* Click **Install**
* Open the included scene(s)

Each sample includes a **readme file** with:

* Setup instructions
* Explanation of the components used
* Suggested ways to experiment with the system

### 4. Explore Additional Samples

Depending on your needs, you can install additional samples:

#### Addon Samples

* Global Spawner
* Local Area Spawner
* Waves
* Spawnpoints (authored placement)

#### Networking Samples

* Photon PUN
* Photon Fusion

Each sample demonstrates a focused use case and builds on the core concepts.

### 5. Open the Sample Readmes

Every sample includes a **readme** file in the root folder of the installed sample.

From the Setup Window, you can:

* Select a sample
* Click **Open Readme**

These readmes explain:

* What the sample demonstrates
* How it is configured
* How to adapt it to your own project

### 6. TextMesh Pro Essentials

Some sample scenes use a simple TextMesh Pro UI.

If prompted when opening a sample:

* Click **Import TMP Essentials**

### 7. Understanding the System

Runtime Spawner 2.0 is built from:

* **Core Runtime Spawner** (execution engine)
* **Spawn Director** (pacing & intensity)
* **Addons** (Global, Local Area, Waves, Spawnpoints)
* **Factories** (pooling and networking)

You don’t need to understand everything upfront - the samples are designed to introduce these systems incrementally.

For a deeper overview, see:\
→ [Core Concepts](https://megacrush.gitbook.io/megacrush-unity-assets/runtime-spawner/runtime-spawner-user-manual/introduction/core-concepts)\
→ [Designing Scenarios](https://megacrush.gitbook.io/megacrush-unity-assets/runtime-spawner/runtime-spawner-user-manual/introduction/designing-scenarios-with-runtime-spawner)

### 8. Object Pooling

All spawning uses the integrated Object Pool system:

* Objects are reused instead of instantiated/destroyed
* Pools are created automatically
* Fully compatible with networking

This ensures:

* Better performance
* Stable runtime behavior
* Scalable spawning systems

### 9. Next Steps

Once you’ve run the base samples:

* Explore addon samples (Waves, Local Area, Spawnpoints)
* Review the [**Designing Scenarios**](https://megacrush.gitbook.io/megacrush-unity-assets/runtime-spawner/runtime-spawner-user-manual/introduction/designing-scenarios-with-runtime-spawner) guide
* Set up your own spawner using a sample as a starting point

If you’re using multiplayer:

* Install the PUN or Fusion samples
* Follow their readme guides for setup

### Recommended Approach

Start simple:

1. Run the **Core sample**
2. Add a single addon (e.g., Waves or Local Area)
3. Layer in additional systems as needed

This flow will help you understand how the pieces fit together without getting overwhelmed.
