Skip to main content
Version: 29.1.19

Upgrading the SDK

Version 29.x Upgrade

This document is for developers who have previously integrated v27.x or v28.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.

Instructions

tip

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:

Install CocoaPods

The External Dependency Manager can install CocoaPods for you, if it is not already installed:

  1. Select Assets > External Dependency Manager > iOS Resolver > Install Cocoapods
  2. Click OK in the pop-up confirming installation was successful.

Add Skillz Manager

Skillz SDK version 29.X has deprecated the SkillzCrossPlatform.LaunchSkillz(SkillzMatchDelegate delegate) function with SkillzCrossPlatform.LaunchSkillz(). The Skillz Match Delegate has also been replaced with the Skillz Manager. Please follow the steps below:

  1. In your start menu scene, replace the call to SkillzCrossPlatform.LaunchSkillz(SkillzMatchDelegate delegate) with SkillCrossPlatform.LaunchSkillz().

  2. Add the Skillz Manager prefab to your start menu scene. This can be found in the Assets\Skillz\Prefabs folder.

  3. Open the Skillz Manager with the Inspector.

  4. Choose a Game Scene, Start Menu Scene, and optionally a Progression Room Scene.

Skillz Manager

  1. For additional logic you may add a script to the Skillz Manager by selecting Add Component, then selecting a custom script.

Methods from this script can then be called by pressing the + button under the On Match Will Begin, On Skillz Will Exit, and On Progression Room Enter, then selecting public methods from the added script.

Skillz Manager

NOTE: This step is not required in 29.X. It will be required in future versions.

Test Your Game's Workflow

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

Build Your Game

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

Upgrading Gradle

Versions 29.x+ of the SDK require Gradle 6.5+, while Unity comes with Gradle 6.1.1. Android Studio should direct you to upgrade Gradle when you import the project. If you wish to build the apk from Unity directly, you can find directions on updating Unity's version of gradle here

Next Steps

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