> For the complete documentation index, see [llms.txt](https://kinematicsoup.gitbook.io/reactor/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://kinematicsoup.gitbook.io/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksreactor.md).

# Class ksReactor

Namespace: [KS.Reactor.Client.Unity](/reactor/api-reference/ks.reactor.client.unity.md)\
Assembly: KSUnity-Source.dll

Manages Reactor Unity features including: Service initialization, input binding managers, web API calls, prefab/entity caching, and room/scene states.

```csharp
public class ksReactor
```

#### Inheritance

[object](https://learn.microsoft.com/dotnet/api/system.object) â† [ksReactor](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksreactor.md)

#### Inherited Members

[object.Equals(object)](https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals\(system-object\)), [object.Equals(object, object)](https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals\(system-object-system-object\)), [object.GetHashCode()](https://learn.microsoft.com/dotnet/api/system.object.gethashcode), [object.GetType()](https://learn.microsoft.com/dotnet/api/system.object.gettype), [object.MemberwiseClone()](https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone), [object.ReferenceEquals(object, object)](https://learn.microsoft.com/dotnet/api/system.object.referenceequals), [object.ToString()](https://learn.microsoft.com/dotnet/api/system.object.tostring)

## Properties

### Assets <a href="#ks_reactor_client_unity_ksreactor_assets" id="ks_reactor_client_unity_ksreactor_assets"></a>

Gets the asset loader for loading [ksScriptAsset](/reactor/api-reference/ks.reactor/ks.reactor.ksscriptasset.md)s from Resources or asset bundles.

```csharp
public static ksAssetLoader Assets { get; }
```

#### Property Value

[ksAssetLoader](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksassetloader.md)

### InputManager <a href="#ks_reactor_client_unity_ksreactor_inputmanager" id="ks_reactor_client_unity_ksreactor_inputmanager"></a>

Access Reactor input managment.

```csharp
public static ksInputManager InputManager { get; }
```

#### Property Value

[ksInputManager](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksinputmanager.md)

### IsQuitting <a href="#ks_reactor_client_unity_ksreactor_isquitting" id="ks_reactor_client_unity_ksreactor_isquitting"></a>

Is the application quitting?

```csharp
public static bool IsQuitting { get; }
```

#### Property Value

[bool](https://learn.microsoft.com/dotnet/api/system.boolean)

### PlayerAPI <a href="#ks_reactor_client_unity_ksreactor_playerapi" id="ks_reactor_client_unity_ksreactor_playerapi"></a>

Access Reactor player web API.

```csharp
public static ksPlayerAPI PlayerAPI { get; }
```

#### Property Value

[ksPlayerAPI](/reactor/api-reference/ks.reactor/ks.reactor.ksplayerapi.md)

### PrefabCache <a href="#ks_reactor_client_unity_ksreactor_prefabcache" id="ks_reactor_client_unity_ksreactor_prefabcache"></a>

Get the entity prefab cache which maps entity IDs to Unity prefabs.

```csharp
public static ksPrefabCache PrefabCache { get; }
```

#### Property Value

[ksPrefabCache](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksprefabcache.md)

### Service <a href="#ks_reactor_client_unity_ksreactor_service" id="ks_reactor_client_unity_ksreactor_service"></a>

Get the Reactor service.

```csharp
public static ksService Service { get; }
```

#### Property Value

[ksService](/reactor/api-reference/ks.reactor.client/ks.reactor.client.ksservice.md)

### Version <a href="#ks_reactor_client_unity_ksreactor_version" id="ks_reactor_client_unity_ksreactor_version"></a>

Reactor version

```csharp
public static ksVersion Version { get; }
```

#### Property Value

[ksVersion](/reactor/api-reference/ks.reactor.client/ks.reactor.client.ksversion.md)

## Methods

### GetEntityLinker(Scene) <a href="#ks_reactor_client_unity_ksreactor_getentitylinker_unityengine_scenemanagement_scene" id="ks_reactor_client_unity_ksreactor_getentitylinker_unityengine_scenemanagement_scene"></a>

Get the entity linker which maps entity IDs to game object instances in a scene.

```csharp
public static ksEntityLinker GetEntityLinker(Scene scene)
```

#### Parameters

`scene` Scene

Unity scene

#### Returns

[ksEntityLinker](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksentitylinker.md)

Entity linker that maps Entity IDs to game objects.

### GetServers(RoomListCallback) <a href="#ks_reactor_client_unity_ksreactor_getservers_ks_reactor_client_ksservice_roomlistcallback" id="ks_reactor_client_unity_ksreactor_getservers_ks_reactor_client_ksservice_roomlistcallback"></a>

Send a web API request for a list of running server instances which match the image binding in the [Build](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksreactorconfig.md#KS_Reactor_Client_Unity_ksReactorConfig_Build).

```csharp
public static void GetServers(ksService.RoomListCallback callback)
```

#### Parameters

`callback` [ksService](/reactor/api-reference/ks.reactor.client/ks.reactor.client.ksservice.md).[RoomListCallback](/reactor/api-reference/ks.reactor.client/ks.reactor.client.ksservice/ks.reactor.client.ksservice.roomlistcallback.md)

Callback to invoke when the API request completes.

### RegisterAssetBundle(AssetBundle) <a href="#ks_reactor_client_unity_ksreactor_registerassetbundle_unityengine_assetbundle" id="ks_reactor_client_unity_ksreactor_registerassetbundle_unityengine_assetbundle"></a>

Registers an asset bundle so entity prefabs and script assets can be loaded from it.

```csharp
public static void RegisterAssetBundle(AssetBundle assetBundle)
```

#### Parameters

`assetBundle` AssetBundle

Asset bundle to register.

### OnRoomConnect <a href="#ks_reactor_client_unity_ksreactor_onroomconnect" id="ks_reactor_client_unity_ksreactor_onroomconnect"></a>

Invoked when a successful room connection is complete.

```csharp
public static event ksReactor.RoomConnectHandler OnRoomConnect
```

#### Event Type

[ksReactor](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksreactor.md).[RoomConnectHandler](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksreactor/ks.reactor.client.unity.ksreactor.roomconnecthandler.md)

### OnRoomDisconnect <a href="#ks_reactor_client_unity_ksreactor_onroomdisconnect" id="ks_reactor_client_unity_ksreactor_onroomdisconnect"></a>

Invoked when a room disconnects.

```csharp
public static event ksReactor.RoomDisconnectHandler OnRoomDisconnect
```

#### Event Type

[ksReactor](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksreactor.md).[RoomDisconnectHandler](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksreactor/ks.reactor.client.unity.ksreactor.roomdisconnecthandler.md)

### OnRoomInitialized <a href="#ks_reactor_client_unity_ksreactor_onroominitialized" id="ks_reactor_client_unity_ksreactor_onroominitialized"></a>

Invoked after room scripts and entities are initialized after the initial sync with the server.

```csharp
public static event ksReactor.RoomInitializedHandler OnRoomInitialized
```

#### Event Type

[ksReactor](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksreactor.md).[RoomInitializedHandler](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksreactor/ks.reactor.client.unity.ksreactor.roominitializedhandler.md)
