<!-- Do not edit this file. It is automatically generated by API Documenter. -->

[Home](./index.md) &gt; [server](./server.md) &gt; [Simulation](./server.simulation.md)

## Simulation class

Represents the physics simulation for a world.

When to use: advanced physics queries, custom gravity, or debug rendering. Do NOT use for: typical movement; use entity/rigid body APIs instead.

**Signature:**

```typescript
export default class Simulation extends EventRouter 
```
**Extends:** [EventRouter](./server.eventrouter.md)

## Remarks

Access via `World.simulation`<!-- -->. The simulation drives all collision and contact events for blocks and entities.

<h2>Events</h2>

This class is an EventRouter, and instances of it emit events with payloads listed under `SimulationEventPayloads`<!-- -->.

\*\*Category:\*\* Physics

The constructor for this class is marked as internal. Third-party code should not call the constructor directly or create subclasses that extend the `Simulation` class.

## Properties

<table><thead><tr><th>

Property


</th><th>

Modifiers


</th><th>

Type


</th><th>

Description


</th></tr></thead>
<tbody><tr><td>

[gravity](./server.simulation.gravity.md)


</td><td>

`readonly`


</td><td>

RAPIER.Vector3


</td><td>

The gravity vector for the simulation.

\*\*Category:\*\* Physics


</td></tr>
<tr><td>

[isDebugRaycastingEnabled](./server.simulation.isdebugraycastingenabled.md)


</td><td>

`readonly`


</td><td>

boolean


</td><td>

Whether debug raycasting is enabled.

\*\*Category:\*\* Physics


</td></tr>
<tr><td>

[isDebugRenderingEnabled](./server.simulation.isdebugrenderingenabled.md)


</td><td>

`readonly`


</td><td>

boolean


</td><td>

Whether debug rendering is enabled.

\*\*Category:\*\* Physics


</td></tr>
<tr><td>

[timestepS](./server.simulation.timesteps.md)


</td><td>

`readonly`


</td><td>

number


</td><td>

The fixed timestep for the simulation.

\*\*Category:\*\* Physics


</td></tr>
<tr><td>

[world](./server.simulation.world.md)


</td><td>

`readonly`


</td><td>

[World](./server.world.md)


</td><td>

The world this simulation belongs to.

\*\*Category:\*\* Physics


</td></tr>
</tbody></table>

## Methods

<table><thead><tr><th>

Method


</th><th>

Modifiers


</th><th>

Description


</th></tr></thead>
<tbody><tr><td>

[enableDebugRaycasting(enabled)](./server.simulation.enabledebugraycasting.md)


</td><td>


</td><td>

Enables or disables debug raycasting for the simulation.


</td></tr>
<tr><td>

[enableDebugRendering(enabled, filterFlags)](./server.simulation.enabledebugrendering.md)


</td><td>


</td><td>

Enables or disables debug rendering for the simulation.


</td></tr>
<tr><td>

[getContactManifolds(colliderHandleA, colliderHandleB)](./server.simulation.getcontactmanifolds.md)


</td><td>


</td><td>

Gets the contact manifolds for a pair of colliders.


</td></tr>
<tr><td>

[intersectionsWithRawShape(rawShape, position, rotation, options)](./server.simulation.intersectionswithrawshape.md)


</td><td>


</td><td>

Gets the intersections with a raw shape.


</td></tr>
<tr><td>

[raycast(origin, direction, length, options)](./server.simulation.raycast.md)


</td><td>


</td><td>

Casts a ray through the simulation and returns the first hit.


</td></tr>
<tr><td>

[setGravity(gravity)](./server.simulation.setgravity.md)


</td><td>


</td><td>

Sets the gravity vector for the simulation.


</td></tr>
</tbody></table>
