# ComponentSystemRegistry

Class · extends [`EventHandler`](https://api.playcanvas.com/engine/classes/EventHandler.md) · category: Other

Source: https://github.com/playcanvas/engine/blob/b5b983982a9860d21e0c1dafb2f85f72e2c01afb/src/framework/components/registry.js#L43

The ComponentSystemRegistry manages the instances of an application's [ComponentSystem](https://api.playcanvas.com/engine/classes/ComponentSystem.md)s.
[AppBase](https://api.playcanvas.com/engine/classes/AppBase.md) maintains a single instance of this class which can be accessed via
[AppBase#systems](https://api.playcanvas.com/engine/classes/AppBase.md#systems).

```javascript
// Set the gravity to zero
app.systems.rigidbody.gravity = new Vec3(0, 0, 0);

// Set the volume to 50%
app.systems.sound.volume = 0.5;
```

## Constructors

### constructor

```ts
new ComponentSystemRegistry()
```

Create a new ComponentSystemRegistry instance.

## Properties

### anim

```ts
readonly anim: AnimComponentSystem | undefined
```

Gets the [AnimComponentSystem](https://api.playcanvas.com/engine/classes/AnimComponentSystem.md) from the registry.

### animation

```ts
readonly animation: AnimationComponentSystem | undefined
```

Gets the [AnimationComponentSystem](https://api.playcanvas.com/engine/classes/AnimationComponentSystem.md) from the registry.

### audiolistener

```ts
readonly audiolistener: AudioListenerComponentSystem | undefined
```

Gets the [AudioListenerComponentSystem](https://api.playcanvas.com/engine/classes/AudioListenerComponentSystem.md) from the registry.

### button

```ts
readonly button: ButtonComponentSystem | undefined
```

Gets the [ButtonComponentSystem](https://api.playcanvas.com/engine/classes/ButtonComponentSystem.md) from the registry.

### camera

```ts
readonly camera: CameraComponentSystem | undefined
```

Gets the [CameraComponentSystem](https://api.playcanvas.com/engine/classes/CameraComponentSystem.md) from the registry.

### collision

```ts
readonly collision: CollisionComponentSystem | undefined
```

Gets the [CollisionComponentSystem](https://api.playcanvas.com/engine/classes/CollisionComponentSystem.md) from the registry.

### element

```ts
readonly element: ElementComponentSystem | undefined
```

Gets the [ElementComponentSystem](https://api.playcanvas.com/engine/classes/ElementComponentSystem.md) from the registry.

### gsplat

```ts
readonly gsplat: GSplatComponentSystem | undefined
```

Gets the [GSplatComponentSystem](https://api.playcanvas.com/engine/classes/GSplatComponentSystem.md) from the registry.

### joint

```ts
readonly joint: JointComponentSystem | undefined
```

Gets the [JointComponentSystem](https://api.playcanvas.com/engine/classes/JointComponentSystem.md) from the registry.

### layoutchild

```ts
readonly layoutchild: LayoutChildComponentSystem | undefined
```

Gets the [LayoutChildComponentSystem](https://api.playcanvas.com/engine/classes/LayoutChildComponentSystem.md) from the registry.

### layoutgroup

```ts
readonly layoutgroup: LayoutGroupComponentSystem | undefined
```

Gets the [LayoutGroupComponentSystem](https://api.playcanvas.com/engine/classes/LayoutGroupComponentSystem.md) from the registry.

### light

```ts
readonly light: LightComponentSystem | undefined
```

Gets the [LightComponentSystem](https://api.playcanvas.com/engine/classes/LightComponentSystem.md) from the registry.

### model

```ts
readonly model: ModelComponentSystem | undefined
```

Gets the [ModelComponentSystem](https://api.playcanvas.com/engine/classes/ModelComponentSystem.md) from the registry.

### particlesystem

```ts
readonly particlesystem: ParticleSystemComponentSystem | undefined
```

Gets the [ParticleSystemComponentSystem](https://api.playcanvas.com/engine/classes/ParticleSystemComponentSystem.md) from the registry.

### render

```ts
readonly render: RenderComponentSystem | undefined
```

Gets the [RenderComponentSystem](https://api.playcanvas.com/engine/classes/RenderComponentSystem.md) from the registry.

### rigidbody

```ts
readonly rigidbody: RigidBodyComponentSystem | undefined
```

Gets the [RigidBodyComponentSystem](https://api.playcanvas.com/engine/classes/RigidBodyComponentSystem.md) from the registry.

### screen

```ts
readonly screen: ScreenComponentSystem | undefined
```

Gets the [ScreenComponentSystem](https://api.playcanvas.com/engine/classes/ScreenComponentSystem.md) from the registry.

### script

```ts
readonly script: ScriptComponentSystem | undefined
```

Gets the [ScriptComponentSystem](https://api.playcanvas.com/engine/classes/ScriptComponentSystem.md) from the registry.

### scrollbar

```ts
readonly scrollbar: ScrollbarComponentSystem | undefined
```

Gets the [ScrollbarComponentSystem](https://api.playcanvas.com/engine/classes/ScrollbarComponentSystem.md) from the registry.

### scrollview

```ts
readonly scrollview: ScrollViewComponentSystem | undefined
```

Gets the [ScrollViewComponentSystem](https://api.playcanvas.com/engine/classes/ScrollViewComponentSystem.md) from the registry.

### sound

```ts
readonly sound: SoundComponentSystem | undefined
```

Gets the [SoundComponentSystem](https://api.playcanvas.com/engine/classes/SoundComponentSystem.md) from the registry.

### sprite

```ts
readonly sprite: SpriteComponentSystem | undefined
```

Gets the [SpriteComponentSystem](https://api.playcanvas.com/engine/classes/SpriteComponentSystem.md) from the registry.

## Inherited from [EventHandler](https://api.playcanvas.com/engine/classes/EventHandler.md)

- `fire(name: string, arg1?: any, arg2?: any, arg3?: any, arg4?: any, arg5?: any, arg6?: any, arg7?: any, arg8?: any): EventHandler`
- `hasEvent(name: string): boolean`
- `off(name?: string, callback?: HandleEventCallback, scope?: any): EventHandler`
- `on(name: string, callback: HandleEventCallback, scope?: any): EventHandle`
- `once(name: string, callback: HandleEventCallback, scope?: any): EventHandle`
