> For the complete documentation index, see [llms.txt](https://docs.ggwp.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ggwp.com/ggwp-client-sdk/integration-guide/unity.md).

# Unity

**Package Overview**

The Unity package (`com.ggwp.sdk`) is composed of three main components.

`GGWP.GGWPSDK` is a class that instantiates and manages the state of the SDK itself. It needs to be added to any Game Object in the current scene and it will operate as a singleton.

`GGWP.GGWPTap` is a generic audio tap that can work with any Unity AudioSource. It needs to be added to the same game object as the audio source it is tapping into.

`GGWP.AuthManager` Manages authorization for both code and static key auth methods. You can access it through `GGWPSDK.Instance.AuthManager`.

**Starting the Capture**

You must initialize the GGWP SDK prior to authorizing and starting the audio capture. Simply call `GGWPSDK.Instance.InitializeSDK("USER_ID", "HUMAN_READABLE_NAME_OF_CURRENT_USER")`.

If you want to pause audio collection while the user is not active, call `DisposeSession`. You can resume audio collection with `ResumeSession`.

**Logging**

You can use `AddLogDelegate` to add your own log delegate to react to the SDK `LogMessages`. In the absence of a game-provided log delegate the SDK will output it's logs with `Debug.Log`.
