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
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
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 (
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 firstname.lastname@example.org.
Note: Below lists additional changes to iOS build process
There have also been two adjustments to the build process for iOS:
- You will need to target minimum iOS version to 9.0 or higher
- You will need to modify supportedInterfaceOrientationsForWindow in UnityAppController.mm
See steps 1 and 5 of this article for details.