Skip to main content
Version: 28.0.5

Upgrading the SDK

Version 28.x Upgrade

This document is for developers who have previously integrated v26.x or v27.x of the Skillz SDK. To integrate for the first time, please follow the standard instructions.

Before You Upgrade

The Skillz SDK is now integrated using CocoaPods for iOS. This dependency manager greatly streamlines integration and configuration of the Skillz SDK. Go here for more information

User Permissions Note

Due to Android being built with Android SDK 30, your app will ask for permissions at runtime, rather than at install time. Unity typically operates by asking for all possible permissions on the first launch of your app, and this can be overwhelming/off-putting to your users. Refer to these instructions on how to prompt for only necessary permissions at runtime.


Important Note

As a best practice back up your existing project prior to upgrading. The upgrade steps require you to delete existing files and directories.

Delete the Assets/Skillz folder in Unity

Make sure to save any custom code you wrote in these Skillz files for safe keeping. In your Unity project, delete the Assets/Skillz/ folder in your Unity project.

Delete the Assets/ExternalDependencyManager folder in Unity

The Google Play Services Resolver has been renamed to the External Dependency Manager for Unity (EDM4U). If you have a PlayServicesResolver and/or ExternalDependencyManager directory in your project you should delete this directory before upgrading and installing the Skillz SDK Unity package.

Import the New Unity Package

With your Unity project open, double-click on the Unity package, skillz_unity-{version}.unitypackage, found inside the downloaded SDK archive. A dialog will pop up with a list of files to import. Make sure all files are checked and click "OK".

Disable Registry Addition

Skillz bundles a plugin by Google called the External Dependency Manager (EDM4U), which is used to resolve Android dependencies. On import of the Skillz SDK, EDM will display a dialog, similar to the screenshot below, to ask if you would like to add additional Unity Package Manager registries. Click the "Disable Registry Addition" button to dismiss the dialog.

Configure Your Game in Skillz Settings

Skillz has a dedicated settings window to configure your game. Access it from the Skillz > Settings menu item:

Enter your game ID, choose either Sandbox or Production for the environment, and your game's orientation for Android.

The orientation setting is for Android only. For games that have mixed orientations, the orientation setting tells Skillz what orientation to set your game scene at when it is loaded at the start of a match. For instance, if the scene for your main menu is designed for Portrait mode, but your game scene is designed for Landscape, the orientation setting should be set to Landscape.

Additionally, you can choose if users are allowed to exit the Skillz UI via its sidebar menu.

Configure iOS Resolver Settings

Enter the External Dependency Manager's iOS Resolver settings by clicking `Assets > External Dependency Manager > iOS Resolver > Settings. Verify the settings are set like this:

Note about Cocoapods and MacOS

Verify .profile exists in your user home directory and contains the line export LANG=en_US.UTF-8 or similar, based on your locale. Alternatively, uncheck Use Shell to Execute Cocoapod Tool.

Test Your Game's Workflow

Test your game's workflow with Skillz using the SDK's Unity Companion feature.

Build Your Game

Follow the instructions on how to export and build your game for iOS or Android.

Next Steps

If you encounter any problems, please contact us with a detailed description of the issue you are encountering.