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

# MultisetSdkManager

#### Multiset SDK Manager

The MultisetSdkManager class is a crucial component of the MultiSet SDK, responsible for handling authentication and managing the SDK's configuration within your Unity project. This document outlines the public properties and methods available for you to interact with the SDK.

#### **Description**

The MultisetSdkManager is a singleton class that persists throughout your application's lifecycle. It automatically initializes and authenticates with the MultiSet backend using the credentials you provide. It also handles the display of a watermark based on your subscription plan.

## **Properties**

This section details the publicly accessible fields of the MultisetSdkManager.

| Property              | Type                      | Description                                                                                                                                                                                                                                                                                                                                       |
| --------------------- | ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| version               | const string              | A constant string that represents the current version of the MultiSet SDK. Its value is hardcoded as "1.7.0".                                                                                                                                                                                                                                     |
| clientId              | string                    | The client ID used for API key authentication. This value is essential for the SDK to identify your application with the MultiSet backend.                                                                                                                                                                                                        |
| clientSecret          | string                    | The client secret used for API key authentication. This value is used in conjunction with the clientId to securely authenticate your application.                                                                                                                                                                                                 |
| runtimeAuthentication | bool                      | A boolean flag that determines the authentication flow. If set to true, you will need to manually update the clientId and clientSecret and then call the AuthenticateMultiSetSDK() method to initiate authentication. If false, the SDK will attempt to authenticate automatically on startup using credentials from the MultiSetConfig resource. |
| Instance              | static MultisetSdkManager | The static singleton instance of the MultisetSdkManager. This allows you to easily access the manager from any script in your project using MultisetSdkManager.Instance.                                                                                                                                                                          |

## Methods

This section describes the publicly accessible methods of the MultisetSdkManager.

**AuthenticateMultiSetSDK()**

This method manually triggers the authentication process with the MultiSet backend.

**Declaration**

```
public void AuthenticateMultiSetSDK()
```

**Description**\
When you call this function, the SDK uses the current clientId and clientSecret to attempt to authenticate. This is particularly useful when runtimeAuthentication is enabled, allowing you to provide credentials at a time of your choosing.

Upon calling this method, it first checks for a valid internet connection. If a connection is available, it proceeds with the authentication request. If the credentials are not valid or are missing, an error will be logged to the console, and a toast message will be displayed.

<br>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://multiset.gitbook.io/multiset/unity-sdk/api-reference/multisetsdkmanager.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
