> 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.md).

# KS.Reactor.Client.Unity

### Namespaces

[KS.Reactor.Client.Unity.Editor](/reactor/api-reference/ks.reactor.client.unity.editor.md)

### Classes

[ksReactorConfig.BuildConfigs](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksreactorconfig/ks.reactor.client.unity.ksreactorconfig.buildconfigs.md)

Build settings.

[ksReactorConfig.ClusterConfigs](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksreactorconfig/ks.reactor.client.unity.ksreactorconfig.clusterconfigs.md)

Local cluster settings

[ksWSConnection.ConfigSettings](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.kswsconnection/ks.reactor.client.unity.kswsconnection.configsettings.md)

[ConvexHullCalculator](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.convexhullcalculator.md)

An implementation of the quickhull algorithm for generating 3d convex hulls.

The algorithm works like this: you start with an initial "seed" hull, that is just a simple tetrahedron made up of four points in the point cloud. This seed hull is then grown until it all the points in the point cloud is inside of it, at which point it will be the convex hull for the entire set.

All of the points in the point cloud is divided into two parts, the "open set" and the "closed set". The open set consists of all the points outside of the tetrahedron, and the closed set is all of the points inside the tetrahedron. After each iteration of the algorithm, the closed set gets bigger and the open set get smaller. When the open set is empty, the algorithm is finished.

Each point in the open set is assigned to a face that it lies outside of. To grow the hull, the point in the open set which is farthest from it's face is chosen. All faces which are facing that point (I call them "lit faces" in the code, because if you imagine the point as a point light, it's the set of points which would be lit by that point light) are removed, and a "horizon" of edges is found from where the faces were removed. From this horizon, new faces are constructed in a "cone" like fashion connecting the point to the edges.

To keep track of the faces, I use a struct for each face which contains the three vertices of the face in CCW order, as well as the three triangles which share an edge. I was considering doing a half-edge structure to store the mesh, but it's not needed. Using a struct for each face and neighbors simplify the algorithm and makes it easy to export it as a mesh.

The most subtle part of the algorithm is finding the horizon. In order to properly construct the cone so that all neighbors are kept consistent, you can do a depth-first search from the first lit face. If the depth-first search always proceeeds in a counter-clockwise fashion, it guarantees that the horizon will be found in a counter-clockwise order, which makes it easy to construct the cone of new faces.

There are a number of things you could possibly optimize in this version of the algorithm, but this should be correct and reasonably fast.

A note: the code uses a right-handed coordinate system, where the cross-product uses the right-hand rule and the faces are in CCW order. At the end of the algorithm, the hull is exported in a Unity-friendly fashion, with a left-handed mesh.

[ksEntity.Indicator](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksentity/ks.reactor.client.unity.ksentity.indicator.md)

Our non-standard colliders generate collision meshes which are attached as hidden children to the game object. We attach this indicator to those child game objects to indicate that we should check the parent to find the for that game object.

[ksReactorConfig.ServerConfigs](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksreactorconfig/ks.reactor.client.unity.ksreactorconfig.serverconfigs.md)

Local server settings.

[ksReactorConfig.URLConfigs](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksreactorconfig/ks.reactor.client.unity.ksreactorconfig.urlconfigs.md)

Web API URLs.

[ksProxyScript.UnsupportedType](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksproxyscript/ks.reactor.client.unity.ksproxyscript.unsupportedtype.md)

[ksAnimationSync](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksanimationsync.md)

Syncs animation parameters and optionally layer states for an entity that has an owner with the permission. Each animation parameter (and layer if is true) is synced as an entity property, starting at id .

[ksAssetAttribute](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksassetattribute.md)

Attribute to indicate a scriptable object browser should only show the assets tab and not the scene tab. Unity by default opens the scene tab when browsing for scriptable objects, which is unfortunate because scriptable objects can't exist in the scene.

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

Asset loader that loads s from s.

[ksAutoSpawn](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksautospawn.md)

Automatically spawns an entity for the game object when it is instantiated. Can only be used with entity prefabs in Resources or asset bundles. It first checks it's ancestors for a connected room to spawn in that has set to true. If it does not find one, It will look for a room in the same scene to spawn in. If it does not find one, it will spawn an entity the first time a connection is made to a room in that scene with auto spawning enabled. If it finds more than one, it will not spawn and will log a warning.

If placed on a prefab entity that is part of the initial scene and has set to true, the entity will not be written to the scene config and instead will be spawned per-player when they connect.

When the entity it is linked to is destroyed and is false, if the entity was destroyed because of a disconnect, it will try to respawn in a different room or wait until there is a room to respawn in. If it was destroyed for any other reason, the script will disable itself, and you must reenable it if you want it to respawn.

[ksBaseUnityRigidBody](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksbaseunityrigidbody.md)

Base class for classes that wrap a Unity for use with Reactor.

[ksBoolVectorAttribute](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksboolvectorattribute.md)

Attribute to indicate an int vector should be drawn as checkboxes in the inspector, with true=1 and false=0.

[ksClientInputPredictorAsset](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksclientinputpredictorasset.md)

Predictor asset that creates instances of when assigned in the entity or room type inspector.

[ksClientSpawnParams](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksclientspawnparams.md)

Parameters for spawning entities on the client.

[ksClientSpawnParams2D](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksclientspawnparams2d.md)

Parameters for spawning entities on the client with 2D transform values.

[ksColliderData](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.kscolliderdata.md)

A hidden component that contains a mapping from a collider to its PhysX simulation flag value and collision filter override.

[ksCollisionFilterAsset](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.kscollisionfilterasset.md)

The collsion filter uses 3 mask properties (Group, Notify, Collide) to determine interaction and notifications during the physics simulation. This is used as a proxy asset to save data for a in Unity.

[ksConeCollider](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksconecollider.md)

Cone collider component.

[ksConeMeshFactory](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksconemeshfactory.md)

Factory for generating cone meshes. Caches meshes for resuse.

[ksConnect](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksconnect.md)

Reactor Connection component for connecting to Reactor server rooms and registering event handlers.

[ksConnectionHUD](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksconnectionhud.md)

Self contained GUI designed to help new reactor users establish connection to servers for the first time.

[ksConvergingInputPredictorAsset](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksconverginginputpredictorasset.md)

Predictor asset that creates instances of when assigned in the entity or room type inspector.

[ksConvexHull](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksconvexhull.md)

Stores a convex hull created from a mesh.

[ksCylinderCollider](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.kscylindercollider.md)

Cylinder collider component.

[ksCylinderMeshFactory](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.kscylindermeshfactory.md)

Factory for generating cylinder meshes. Caches meshes for resuse.

[ksDirectConnection](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksdirectconnection.md)

[ksDisplayNameAttribute](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksdisplaynameattribute.md)

Attribute to change a field's display name in the inspector.

[ksEntity](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksentity.md)

Unity implementation of ksBaseEntity. Entities are objects create, updated, and destroyed by a server and replicated to clients.

[ksEntityComponent](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksentitycomponent.md)

Attach this to your GameObjects to make the server aware of them when you publish your scene.

[ksEntityFactory](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksentityfactory.md)

Factory for creating game objects for entities. Use this class to implement your own entity factory and assign it to ksRoom.EntityFactory.

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

Maps entity ids to game objects that existed in the scene before joining a room, and room type names to room types.

[ksEntityPhysicsSettings](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksentityphysicssettings.md)

PhysX settings common to static, kinematic, and dynamic entities. These values may be set on a scene or entity. A value of -1f, or 0 for iteration values, means that the value should be inherited. If set on an component then the value will be inherited from the room component. If set on a component, then the default values will be used.

[ksEntityScript](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksentityscript.md)

Base class for scripts attached to entities.

[ksEnumAttribute](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksenumattribute.md)

Attribute to indicate an enum is using our naming standard (ENUM\_VALUE) so we know in the editor to convert it to a more readable format (Enum Value).

[ksFlagsAttribute](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksflagsattribute.md)

Attribute to indicate a flag mask enum is using our naming standard (ENUM\_VALUE) so we know in the editor to convert it to a more readable format (Enum Value). Composite flag values are not shown.

[ksGhost](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksghost.md)

Attach this script to a Reactor entity game object to have it spawn an associated ghost object. The ghost object will update its trasform to match the entity server transform. This allows the entity server transform to be compared to its client transform, include prediction and smoothing adjustements.

[ksHideInOwnershipManagerAttribute](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.kshideinownershipmanagerattribute.md)

Class tag that hides components from the inspector. If a base class has this tag, derived classes will also be hidden. A derived class can pass false to the constructor to make itself visible to the inspector.

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

Unity implementation of . Translates Unity inputs to and integrates it with direct input.

[ksLateUpdateHook](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.kslateupdatehook.md)

Provides access to Unity's LateUpdate MonoBehaviour event. This script is separate from so they can use different script execution times. Used by to call events on non-Unity objects.

[ksLinearPredictorAsset](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.kslinearpredictorasset.md)

Predictor asset that creates instances of when assigned in the entity or room type inspector.

[ksMenuGroups](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksmenugroups.md)

Menu group priority constants. Lower priority shows first. Groups must be separated by more than 10 to have a line drawn between them.

[ksMenuNames](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksmenunames.md)

Menu name constants.

[ksMonoScript\<Parent, Script>](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksmonoscript-2.md)

Base class for Reactor MonoBehaviour scripts.

[ksNewClientEntityScript](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksnewcliententityscript.md)

When attached in the editor, the custom inspector will delete this script and open a new client entity script dialog. We use a monobehaviour for this to get an icon in the component menu.

[ksNewClientPlayerScript](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksnewclientplayerscript.md)

When attached in the editor, the custom inspector will delete this script and open a new client player script dialog. We use a monobehaviour for this to get an icon in the component menu.

[ksNewClientRoomScript](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksnewclientroomscript.md)

When attached in the editor, the custom inspector will delete this script and open a new client room script dialog. We use a monobehaviour for this to get an icon in the component menu.

[ksNewServerEntityScript](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksnewserverentityscript.md)

When attached in the editor, the custom inspector will delete this script and open a new server entity script dialog. We use a monobehaviour for this to get an icon in the component menu.

[ksNewServerPlayerScript](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksnewserverplayerscript.md)

When attached in the editor, the custom inspector will delete this script and open a new server player script dialog. We use a monobehaviour for this to get an icon in the component menu.

[ksNewServerRoomScript](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksnewserverroomscript.md)

When attached in the editor, the custom inspector will delete this script and open a new server room script dialog.We use a monobehaviour for this to get an icon in the component menu.

[ksOwnershipScriptManager](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksownershipscriptmanager.md)

Controls what happens to components and/or child objects when the local player owns or doesn't own the entity. Attach this script to an object with a or one of its descendants.

[ksPhysicsAdaptor](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksphysicsadaptor.md)

implementation that uses Unity physics.

[ksPhysicsSettings](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksphysicssettings.md)

Physics configuration settings. For more information about these properties see the PhysX documentation. <https://gameworksdocs.nvidia.com/PhysX/4.1/documentation/physxguide/Index.html>

[ksPlayer](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksplayer.md)

Unity implementation of . A player represents a client.

[ksPlayerAPIExtensions](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksplayerapiextensions.md)

Extend with helper functions specific to Unity.

[ksPlayerComponent](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksplayercomponent.md)

Player component. This adds no functionality that's not already in the generic base class, but we need this class because Unity does not allow you to attach generic Monobehaviours.

[ksPlayerControllerAsset](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksplayercontrollerasset.md)

[ksPlayerScript](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksplayerscript.md)

Base class for scripts attached to players. These can be attached to game objects with in the editor, but they won't run on those game objects. They are copied to player game objects for players in rooms of the given room type.

[ksPredictor](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.kspredictor.md)

Base class for developers to write custom predictors for smoothing object movement and property data. Predictors are scriptable objects. You must create an asset from a predictor (Create > Reactor > PredictorClassName) to use it, then assign it to an entity component or the room type to make it the default predictor.

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

Manages caching and loading and entity prefabs.

[ksProxyEntityScript](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksproxyentityscript.md)

[ksProxyPlayerScript](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksproxyplayerscript.md)

Proxy to attach to game objects in place of server player scripts.

[ksProxyRoomScript](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksproxyroomscript.md)

Proxy to attach to game objects in place of server room scripts.

[ksProxyScript](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksproxyscript.md)

Proxy scripts are attached to gameobjects to represent server scripts and provide editing of server script properties.

[ksProxyScriptAsset](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksproxyscriptasset.md)

Proxy scripts assets store data used in server script assets.

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

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

[ksReactorConfig](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksreactorconfig.md)

Reactor configuration setttings.

[ksReadOnlyAttribute](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksreadonlyattribute.md)

Monobehaviour and scriptable object properties marked with this attribute will be displayed as a read only string.

[ksResourceRangeAttribute](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksresourcerangeattribute.md)

Exponential range attribute for resources. As the property value increases, the step size will increases by powers of 2.

[ksRoom](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksroom.md)

Unity implementation of ksBaseRoom. Rooms are used to connect to server rooms. The room maintains a simulation state that is regularly synced with the server.

[ksRoomComponent](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksroomcomponent.md)

Room component. This adds no functionality that's not already in the generic base class, but we need this class because Unity does not allow you to attach generic Monobehaviours.

[ksRoomScript](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksroomscript.md)

Base class for scripts attached to rooms. These can be attached to game objects with in the editor, but they won't run on those game objects. They are copied to room game objects for rooms of the given room type.

[ksRoomType](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksroomtype.md)

Room types hold room configuration data. Room and player scripts can be attached to game objects with room types.

[ksScriptsComponent\<Parent, Script>](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksscriptscomponent-2.md)

Component that manages ksMonoScripts. will look for a component when initialized.

[ksSerializableMultiType](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksserializablemultitype.md)

Wraps a so it can be serialized by Unity and edited in the inspector.

[ksShapeUtils](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksshapeutils.md)

Collision shape utils.

[ksTransformPrecisions](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.kstransformprecisions.md)

Precision used by the server to determine if an update needs to be sent to connected clients. These values may be set on a scene or entity. A value of -1f means that the value should be inherited. If set on a component then the value will be inherited from the room component. If set on a component, then the default values will be used.

[ksUnityCharacterController](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksunitycharactercontroller.md)

Class that wraps a Unity character controller and implements the ksICharacterController interface.

[ksUnityCollider](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksunitycollider.md)

Wraps a Unity collider for use with Reactor.

[ksUnityReflectionUtils](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksunityreflectionutils.md)

Cloning and reflection utility functions.

[ksUnityRigidBody](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksunityrigidbody.md)

Wraps a Unity for use with Reactor.

[ksUnityRigidBody2DView](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksunityrigidbody2dview.md)

Wraps a Unity for use with Reactor using a 2D interface.

[ksUnityTransformExtension](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksunitytransformextension.md)

Adds a extension method to the Unity .

[ksUnityWebRequest](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksunitywebrequest.md)

Handles web requests using the Unity object.

[ksUpdateHook](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksupdatehook.md)

Provides access to Unity's Update and OnApplicationQuit MonoBehaviour events. Used by to call events on non-Unity objects.

[ksWSConnection](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.kswsconnection.md)

Network stream connection using a KinematicSoup javascript websocket library.

[ksWarningAttribute](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.kswarningattribute.md)

Tag proxy script classes to display a warning message in the inspector for the class.

### Structs

[ksConnect.ConnectEvent](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksconnect/ks.reactor.client.unity.ksconnect.connectevent.md)

Connect event passed to OnConnect event handlers.

[ksConnect.DisconnectEvent](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksconnect/ks.reactor.client.unity.ksconnect.disconnectevent.md)

Disconnect event passed to OnDisconnect event handlers.

[ksConnect.GetRoomsEvent](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksconnect/ks.reactor.client.unity.ksconnect.getroomsevent.md)

Get rooms event passed to OnGetRooms event handlers.

[ksConvergingInputPredictorAsset.PropertyBehaviour](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksconverginginputpredictorasset/ks.reactor.client.unity.ksconverginginputpredictorasset.propertybehaviour.md)

Describes how to predict a property.

[ksLinearPredictorAsset.PropertyBehaviour](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.kslinearpredictorasset/ks.reactor.client.unity.kslinearpredictorasset.propertybehaviour.md)

Describes how to predict a property.

[ksCylinderData](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.kscylinderdata.md)

Cylinder dimension data used as a key in mesh caches.

[ksScriptAssetReference\<T>](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksscriptassetreference-1.md)

A reference to a that Unity can serialize. References a which is used to load a of type `T`.

### Interfaces

[ksICloneableScript](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksicloneablescript.md)

Interface for scripts that can copy their values onto another script.

[ksIUnityCollider](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksiunitycollider.md)

Interface for getting data from our colliders or Unity's colliders.

### Enums

[ksConnect.ConnectModes](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksconnect/ks.reactor.client.unity.ksconnect.connectmodes.md)

List of methods the connection script uses to find a server.

[ksConnect.ConnectProtocols](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksconnect/ks.reactor.client.unity.ksconnect.connectprotocols.md)

List of protocols the connection script uses to connect to a server.

[ksSerializableMultiType.LegacyTypes](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksserializablemultitype/ks.reactor.client.unity.ksserializablemultitype.legacytypes.md)

Legacy types that could be serialized in the inspector. Some pseudo types weren't real and only changed how the data was shown in the inspector but internally used a different type, such as vectors using float arrays internally.

[ksPlayerScript.PlayerTypes](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksplayerscript/ks.reactor.client.unity.ksplayerscript.playertypes.md)

Player types

[ksOwnershipScriptManager.Rules](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksownershipscriptmanager/ks.reactor.client.unity.ksownershipscriptmanager.rules.md)

Object rules to apply based on entity ownership.

[ksPhysicsSettings.SolverTypes](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksphysicssettings/ks.reactor.client.unity.ksphysicssettings.solvertypes.md)

PhysX solvers used for physics simulations.

[ksExistenceModes](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksexistencemodes.md)

Does the component exist on the client, server, or both?

### Delegates

[ksUpdateHook.Callback](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksupdatehook/ks.reactor.client.unity.ksupdatehook.callback.md)

Void delegate used for OnQuit events.

[ksUnityReflectionUtils.Filter](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksunityreflectionutils/ks.reactor.client.unity.ksunityreflectionutils.filter.md)

Delegate for filtering which fields get copied.

[ksScriptsComponent\<Parent, Script>.PreAttachHandler](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksscriptscomponent-2/ks.reactor.client.unity.ksscriptscomponent-2.preattachhandler.md)

Pre attach scripts handler.

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

Room connect handler

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

Room disconnect handler

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

Room initialized handler

[ksUpdateHook.UpdateCallback](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksupdatehook/ks.reactor.client.unity.ksupdatehook.updatecallback.md)

Update delegate use for Update events.

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

Input validation handler.

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

Callback to get an input value.
