> For the complete documentation index, see [llms.txt](https://docs.hology.app/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.hology.app/gameplay/actors/spawning-actors.md).

# Spawning actors

To create a new instance of an actor class within the game world at runtime is referred to as a spawning an actor.

An actor can be spawned from anywhere in your code by injecting the World service. The spawnActor function takes 3 parameters.

* **type** (type: `Type<BaseActor>)` - The actor class from which a new instance should be created.
* **position** (type: `THREE.Vector3`) - Where in the scene the actor should initially be positioned. Defaults to {x: 0, y: 0, z: 0}.
* **rotation** (type: `THREE.Euler`) - How the actor should initially be rotated around each axis. Defaults to {x: 0, y: 0, z: 0}.

The code below illustrates how an actor is created and returned.

```typescript
import { Service, GameInstance, inject, World } from "@hology/core/gameplay"
import ExampleActor from "./actors/example-actor"

@Service()
class Game extends GameInstance {
  private world = inject(World)
  
  async onStart() {
    const actor = await this.world.spawnActor(ExampleActor)
  }
}
```
