Updating to Skillz Unity SDK v18.x for Unity games

In order to update your Unity game integration to support Skillz SDK v18.x, please follow the following steps:

Step 1: Delete the old SkillzDelegate Game Object and all Skillz files under the Assets folder

Screen_Shot_2017-11-15_at_10.02.09_AM.png   Screen_Shot_2017-11-15_at_10.04.10_AM.png

Step 2: Import the new Skillz Unity package

With your Unity project open, double click on the Unity package, skillz_unity_crossplatform.unitypackage. Make sure to import all of the assets from this Unity package.


Step 3: (iOS only) Move existing functions to new SkillzDelegate 

For Unity iOS games, you may need to move the OnMatchWillBegin and OnSkillzWillExit functions into the new SkillzDelegate.cs file. These functions lived previously in scripts that were created to inherit from SkillzDelegateStandard and SkillzDelegateBase, as seen in steps 6 and 7 of this article. After you've moved the above functions (OnMatchWillBegin, OnSkillzWillExit), these scripts can now be deleted.

Step 4: Generate the Skillz Delegate

Click on Skillz --> Generate Delegate to create the new SkillzDelegate Game Object



Step 5: Follow the rest of the implementation steps listed on this article.

WARNING: Skillz Fairness Migration

If you are updating your current integration from any v17.x and lower to the new cross-platform wrapper (v18.x and above) you will need to take special consideration on how you use the Skillz random number generator methods.  The RNG method must remain consistent across both versions to ensure a fair experience for all users playing on different versions of your game.

This means that if you previously were using "Api.GetRandomNumber()", rather than the Api.Random class and related functions on iOS, you will need to switch to using SkillzCrossplatform.Random.Value(), and will need to disable old binaries when releasing this update in order to ensure fairness.

Should you require any guidance or assistance in this transition, email integrations@skillz.com.  

Note: Below lists additional changes to iOS build process

There have also been two adjustments to the build process for iOS:

  1. You will need to target minimum iOS version to 9.0 or higher
  2. You will need to modify supportedInterfaceOrientationsForWindow in UnityAppController.mm

See steps 1 and 5 of this article for details.