Setup for iOS
Introduction#
The iOS version of the Antidote SDK is compatible with various Unity versions:
- Unity 6: fully supported
- LTS 2023: fully supported
- LTS 2022: fully supported
- LTS 2021: fully supported
- LTS 2020: fully supported
- LTS 2019 and older versions might be supported, but these haven't been officially tested
Setup#
Unity#
Here's how to integrate the Antidote SDK with your Unity game on iOS:
- Download the latest version of the Antidote SDK.
- Make sure you have TextMesh Pro (TMPro) installed.
note
You can check this in Unity's Package Manager by searching for TextMeshPro. See the "Tips & Troubleshooting" section below for detailed instructions.
- When the TMP Importer window appears, import
TMP Essentials. - Go to
Assets/Import Package/Custom Package.... - Select the Antidote SDK file you downloaded:
unity/antidote-sdk.unitypackage). - Click
Import. - Go to
Assets/AntidoteSDK/Scenesin the Project Explorer. - Open the
AntidoteSetupscene.
- Go to
File/Build Settings.... - Click
Add Open Scenes.
- Ensure the
AntidoteSDKscene is at the top of the list. If not, drag it to the top.
- Close the window.
- Configure the features you want to use from Antidote SDK.
- Go to the
AntidoteSetup/Setupobject. - On the Setup object, mark the features you want to enable/disable.

- (Optional) On the Watermark Prefab, edit the features to your preference.

- Go to
File/Build Settings.../Player Settings - Click on
Playerin the left pane - Click on
iOSin the right pane - Scroll down to
Supported URL schemes - Click on
Size - Change the value to
1 - Click on
Element 0 - Change the value to the URL scheme of your choice

- Go to
File/Build and Run
XCode#
If you're using Swift you'll need to configure the following in Xcode:
- Drag
AntidoteSDK-Bridging-Header.hfrom the SDK zip to your project - Click on your project in the left pane
- Click on Build Settings
- scroll down to
Swift Compiler - General - Double click on
Objective-C Bridging Header - Enter the relative path to
AntidoteSDK-Bridging-Header.h
Watermark settings#
When you select the Watermark Prefab:

You'll have access to the following settings:
| Feature | Description |
|---|---|
| Speed | The speed at which the ticker(s) move across the display. |
| Change Position Timer | The number of seconds before the watermark behaviour updates - this is relevant for the Ticker, DVD and Random behaviours. |
| Behaviour | The watermark behaviour you want to display. |
Game Events#
Events can be emitted during gameplay to track once-off events, and the duration of long-running events. These can be viewed on the session recording.
- open the assembly definition in the folder where it needs to be called

- scroll down to
Assembly Definition References - click on
+
- click on the dot icon where it says
(Missing Reference)
- double click on
AntidoteSDK
Then, to emit an event add the following to your code:
Game Events Data structure#
All game events consist of an action and an event name, where action can be one of the following:
| Action | Description |
|---|---|
| start | mark the start of a long-running event (e.g. boss_battle) |
| end | mark the end of a long-running event (e.g. boss_battle) |
| once | emit a once-off event (e.g. collected_powerup) |
Apple Reviewers#
The Antidote SDK secures your game unauthorised access when players start it directly. When you submit your app to TestFlight, an Apple reviewer will need to be able to access your game without using the Antidote app. To do this, you will need to add login credentials to your TestFlight submission.
You can generate these login credentials by logging into your account at app.antidote.gg:
- Click on
Games. - Click on your iOS game.

- Click on
Security. - If this is the first time you're configuring credentials on your game you will see the following:

- Click on
Renew Credentialsand follow the prompts.

caution
Save the password somewhere secure as it will not be shown again once the modal is closed. If you do forget the password, you can generate new credentials on this view.
Tips & Troubleshooting#
How to Install TMPro on Unity 2023 and older#
TextMeshPro is required for the Watermark text elements to function. It is part of Unity's default registry, so every project will have access to it without additional downloads. For step by step instructions for installation see below:
- Go to Package Manager and ensure you are on
Packages: Unity Registry. - Use the search bar to search
TextMeshProor scroll to the correct location - Click
Installin the bottom right of the window. If it saysRemoveorUpdate, it is already installed. - If the TMP importer appears, click
Import TMP Essentials. TheImport TMP Examples & Extrasis not necessary.
note
If the Watermark has broken references due to TMPro missing, reimporting the AntidoteSDK Package will fix it after following the above steps.
How to Install TMPro on Unity 6#
TextMeshPro is essential for the Watermark text elements to work. Here's how to install it:
- Open the Package Manager and ensure you're on the Unity Registry.
- Search for
Unity UIor locate it manually. - Click
Install. If it's already installed, you'll seeRemoveorUpdate. - If the TMP Importer appears, click
Import TMP Essentials. You don't need to import TMP Examples & Extras.
note
If the Watermark has broken references due to TMPro missing, reimporting the AntidoteSDK Package will fix it after following the above steps.
My game does not update when I change watermark settings in Unity#
Whenever you change the watermark settings in Unity you will need to do the following before you test the game on an iOS device:
- Save your project in Unity.
- Click on
File/Build and Run.