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

# Class ksPlayerAPIExtensions

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

Extend [ksPlayerAPI](/reactor/api-reference/ks.reactor/ks.reactor.ksplayerapi.md) with helper functions specific to Unity.

```csharp
public static class ksPlayerAPIExtensions
```

#### Inheritance

[object](https://learn.microsoft.com/dotnet/api/system.object) â† [ksPlayerAPIExtensions](/reactor/api-reference/ks.reactor.client.unity/ks.reactor.client.unity.ksplayerapiextensions.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)

## Methods

### DeleteSession(ksPlayerAPI) <a href="#ks_reactor_client_unity_ksplayerapiextensions_deletesession_ks_reactor_ksplayerapi" id="ks_reactor_client_unity_ksplayerapiextensions_deletesession_ks_reactor_ksplayerapi"></a>

Delete a session in the the player preferences.

```csharp
public static void DeleteSession(this ksPlayerAPI playerAPI)
```

#### Parameters

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

Extended object.

### LoadSession(ksPlayerAPI, LoginCallback, object) <a href="#ks_reactor_client_unity_ksplayerapiextensions_loadsession_ks_reactor_ksplayerapi_ks_reactor_ksplayer" id="ks_reactor_client_unity_ksplayerapiextensions_loadsession_ks_reactor_ksplayerapi_ks_reactor_ksplayer"></a>

Load a session from the player preferences.

```csharp
public static void LoadSession(this ksPlayerAPI playerAPI, ksPlayerAPI.LoginCallback callback = null, object asyncState = null)
```

#### Parameters

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

Extended object.

`callback` [ksPlayerAPI](/reactor/api-reference/ks.reactor/ks.reactor.ksplayerapi.md).[LoginCallback](/reactor/api-reference/ks.reactor/ks.reactor.ksplayerapi/ks.reactor.ksplayerapi.logincallback.md)

Login callback.

`asyncState` [object](https://learn.microsoft.com/dotnet/api/system.object)

Async state object.

### LoginWithDevice(ksPlayerAPI, LoginCallback, object) <a href="#ks_reactor_client_unity_ksplayerapiextensions_loginwithdevice_ks_reactor_ksplayerapi_ks_reactor_kspl" id="ks_reactor_client_unity_ksplayerapiextensions_loginwithdevice_ks_reactor_ksplayerapi_ks_reactor_kspl"></a>

Detect the platform type and login using the appropriate device ID and device type.

```csharp
public static void LoginWithDevice(this ksPlayerAPI playerAPI, ksPlayerAPI.LoginCallback callback = null, object asyncState = null)
```

#### Parameters

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

Extended object.

`callback` [ksPlayerAPI](/reactor/api-reference/ks.reactor/ks.reactor.ksplayerapi.md).[LoginCallback](/reactor/api-reference/ks.reactor/ks.reactor.ksplayerapi/ks.reactor.ksplayerapi.logincallback.md)

Login callback.

`asyncState` [object](https://learn.microsoft.com/dotnet/api/system.object)

Async state object.

### SaveSession(ksPlayerAPI, Session) <a href="#ks_reactor_client_unity_ksplayerapiextensions_savesession_ks_reactor_ksplayerapi_ks_reactor_ksplayer" id="ks_reactor_client_unity_ksplayerapiextensions_savesession_ks_reactor_ksplayerapi_ks_reactor_ksplayer"></a>

Save a session in the player preferences.

```csharp
public static void SaveSession(this ksPlayerAPI playerAPI, ksPlayerAPI.Session session)
```

#### Parameters

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

Extended object.

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

Session to save.
