# Making a Custom Player Spawner

In many games, you'll often need to spawn a **GameObject** to represent a player. This can happen at various points during gameplay—such as when a player first connects, once a specific number of players have joined, after a particular scene finishes loading, or when the host initiates it with a button press.

FishNet includes a default [PlayerSpawner](/docs/fishnet-building-blocks/components/playerspawner.md) component designed primarily as a quick-start tool and reference example. It automatically spawns a player object for each client upon successful connection and authentication. It also has the option to define specific player spawn points, and if multiple spawn points are provided, the component will rotate through them sequentially.

If this functionality is sufficient for your game, then you can go ahead and use the default one, if not, let's look at how to implement our own to handle different use cases.

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th><th></th><th data-type="rating" data-max="3"></th><th data-hidden data-card-target data-type="content-ref"></th><th data-hidden></th></tr></thead><tbody><tr><td><strong>Spawning Players When Connected</strong></td><td>The default PlayerSpawner handles this for you. So there's nothing more to do besides adding it to your game and assigning a prefab to it.</td><td>Difficulty</td><td>1</td><td><a href="/pages/0NGeOkdRp2blEugt2Qxk">/pages/0NGeOkdRp2blEugt2Qxk</a></td><td>Difficulty</td></tr><tr><td><strong>Spawning Players Manually</strong></td><td>Tutorial for creating a script to manually spawn your players when you call a method.</td><td>Difficulty</td><td>2</td><td><a href="/pages/HlbqPiYhIBiEDweIXSet">/pages/HlbqPiYhIBiEDweIXSet</a></td><td>Difficulty</td></tr><tr><td><strong>Spawning a Selected Player</strong></td><td>Tutorial for allowing your players to choose a character object before spawning it.</td><td>Difficulty</td><td>2</td><td><a href="/pages/wWALhwsyjdEx0eoG478D">/pages/wWALhwsyjdEx0eoG478D</a></td><td></td></tr><tr><td><strong>Spawning Players When Set Number of Players Joined</strong></td><td>Tutorial for spawning players as soon as a set number of clients have joined your game.</td><td>Difficulty</td><td>3</td><td><a href="/pages/6msm6c0tNuQVqdnCrx24">/pages/6msm6c0tNuQVqdnCrx24</a></td><td></td></tr><tr><td><strong>Spawning Players on Scene Load</strong></td><td>Tutorial for spawning players as soon as they are loaded by FishNet into a specific scene.</td><td>Difficulty</td><td>3</td><td><a href="/pages/3ArtNgdhVsD2MdcEKqMY">/pages/3ArtNgdhVsD2MdcEKqMY</a></td><td>Difficulty</td></tr></tbody></table>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://fish-networking.gitbook.io/docs/tutorials/simple/making-a-custom-player-spawner.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
