Skip to main content

Upgrade to V1.17

Player Network SDK 1.17 integrates LI PASS SDK to support LI PASS features.This upgrade adds support for Unity 2022 and Unreal Engine 5.1, and streamlines the file structure to facilitate future upgrades.

For complete version update details, see V1.17 Release Notes.

Upgrade Impact

This version is compatible with Unity 2022 and Unreal Engine 5.1, and the INTLConfig plugin folder contains all the basic SDK configurations.For UE 5.1, each plugin folder independently manages its own resources and configurations.For Unity 2022, each plugin’s Android library manages the Android platform configuration specific to that plugin.This arrangement streamlines the SDK folder structure and simplifies the upgrade process for future SDK versions.

Therefore, projects planning to upgrade the game engine or intending to upgrade to a future SDK version—whether to integrate new features or fix issues—should consider upgrading to this SDK version.In addition, this upgrade integrates the LI PASS SDK, supporting all LI PASS functionality. Therefore, for projects intending to adopt LI PASS, this upgrade is essential.

Upgrade Contents

File Structure Reorganization:

  • A new INTLConfig folder has been created to store all the basic SDK configurations, including the Encrypt folder, the INTLConfig.ini configuration file, and the INTL{Plugin}{Platform}PostProcess.cs scripts.
  • A new Plugins/Android/Gradle folder was created to store Gradle build instructions for Android.The Gradle build instructions for each plugin have been separated and moved to Plugins/Android/INTL{Plugin}.androidlib.

Therefore, the configuration has been adjusted:

  • Regardless of the platform the project runs on, SDK configurations are stored in the INTLConfig.ini file, which includes multi-channel package configurations.
  • The build instructions for Player Network SDK are stored in Plugins/Android/Gradle/INTLCore.mainTemplate.gradle.
  • Build instructions related to plugins have been separated into each plugin’s Plugins/Android/INTL{Plugin}.androidlib folder.

Encryption Features

Before Update

There was no Encrypt folder, and files related to encryption were scattered in the Editor folder along with other editor configuration files, as shown below:

Image: Upgrade117/19

After Update

All files related to encryption features have been moved to the INTLSDK/Scripts/INTLConfig/Editor/Encrypt folder, as shown below:

Image: Upgrade117/18

Configuration Files

Before Update

The configuration file path varies by platform:

  • Android: Assets/Plugins/Android/assets/INTLConfig.ini
  • iOS : Assets/Plugins/iOS/INTLSDK/INTLCore/INTLSDK.bundle/INTLConfig.ini
  • Windows & PS5: Assets/Plugins/x86_64/INTLConfig.ini

After Update

The configuration file path is consistent across all platforms: INTLSDK/Scripts/INTLConfig/Editor/Resources/INTLConfig.ini

Android Gradle Files

Gradle project files differ between Unity 2019 and earlier versions.Therefore, the changes for Unity 2018 and earlier and Unity 2019 and later will be described separately.

Unity 2018 and earlier versions

Before Update

All build instructions are specified in the Assets/Plugins/Android/mainTemplate.gradle file.

After Update

The Plugins/Android/mainTemplate.gradle file contains general build instructions, while plugin-specific instructions are split into each INTL{Plugin}.mainTemplate.gradle file.

Unity 2019 and later versions

Before Update

All Gradle project build instruction files:

  • Plugins/Android/mainTemplate.gradle
  • Plugins/Android/baseProjectTemplate.gradle
  • Plugins/Android/launcherTemplate.gradle
After Update
  • General Gradle project build instruction files:
    • Plugins/Android/mainTemplate.gradle
    • Plugins/Android/baseProjectTemplate.gradle
    • Plugins/Android/launcherTemplate.gradle
  • Plugin-related Gradle project build instruction files:
    • Plugins/Android/Gradle/INTL{Plugin}.mainTemplate.gradle
    • Plugins/Android/Gradle/INTL{Plugin}.baseProjectTemplate.gradle
    • Plugins/Android/Gradle/INTL{Plugin}.launcherTemplate.gradle

iOS Information Property List

No Update

C# Scripts

Before Update

All plugin {XXX}PostProcess.cs scripts are stored in the INTLSDK/Editor directory, as shown below:

Image: Upgrade117/23

After Update

The scripts are organized by plugin, and the new path is: INTLSDK/Scripts/INTL{Plugin}/Editor/INTL{Plugin}XXXPostProcess.cs, as shown below:

Image: Upgrade117/22

Upgrade Guide

  1. Download and unzip Player Network SDK V1.17 as instructed in Download Resources. The folder structure is as follows:

    Image: Unity Plugin Directory

  2. Replace the INTLSDK/Scripts/INTLConfig/Editor/Resources/INTLConfig.ini configuration file with the version in your project that contains the correct settings.

    The previous version of the configuration file can be found at the following paths:

    • Android: Assets/Plugins/Android/assets/INTLConfig.ini
    • iOS: Assets/Plugins/iOS/INTLSDK/INTLCore/INTLSDK.bundle/INTLConfig.ini
    • Windows: Assets/Plugins/x86_64/INTLConfig.ini
  3. For Android, update the Gradle configuration files according to your Unity engine version.

Unity 2018 and earlier versions
  1. Replace the placeholder configuration in the Plugins/Android/Gradle/INTLCore.mainTemplate.gradle file with the configuration from your project's Assets/Plugins/Android/mainTemplate.gradle file.

    Image: Upgrade117/3

  2. Merge your project's Assets/Plugins/Android/mainTemplate.gradle file into the Plugins/Android/mainTemplate.gradle file in Player Network SDK V1.17.

    Player Network SDK configurations must be preserved.

    Image: Upgrade117/5

Unity 2019 and later versions
  1. Replace the placeholder configuration in the Plugins/Android/Gradle/INTLCore.launcherTemplate.gradle file with the configuration from your project's Assets/Plugins/Android/launcherTemplate.gradle file.

    Image: Upgrade117/8

  2. Merge the following files from your project into the corresponding files in Player Network SDK V1.17:

    • Merge Assets/Plugins/Android/mainTemplate.gradle into Plugins/Android/Gradle/INTLCore.mainTemplate.gradle;
    • Merge Assets/Plugins/Android/baseProjectTemplate.gradle into Plugins/Android/Gradle/INTLCore.baseProjectTemplate.gradle;
    • Merge Assets/Plugins/Android/launcherTemplate.gradle into Plugins/Android/Gradle/INTLCore.launcherTemplate.gradle.

    Player Network SDK configurations must be preserved.

    Image: Upgrade117/10

  1. Delete the Assets/INTLSDK folder from your project and replace it with the INTLSDK folder from Player Network SDK V1.17.

  2. Delete files in the Assets/Plugins folder related to the Player Network SDK.

    Example of files to delete:

    Image: Upgrade117/13

  3. Merge the Plugins folder from Player Network SDK V1.17 into your project's Assets/Plugins folder.

Notes

  1. To avoid dependency conflicts with the Android com.google.android.play.core library, split the dependency libraries and rename the task packages according to the instructions in Migrating from Play Core Java and Kotlin libraries.

    Image: FAQ1

  2. In Player Network SDK 1.17, the ext field for Android projects has been moved to INTLCore.mainTemplate.Gradle, which includes the line: apply from: "$rootDir/INTL.Gradle/INTLCore.mainTemplate.gradle".Therefore, the ext field is still valid.However, commonVersions is no longer valid, and only common can be used within the ext field.

    Image: FAQ3

  3. The compileSdkVersion, buildToolsVersion, minSdkVersion, and targetSdkVersion in the Android Gradle file ext.common field are upgraded according to Google Play requirements.If your project does not need to be published on Google Play, you can revert to the previous versions.

  4. Two new versions are specified in the ext.common field: ndkVersion and cmakeVersion.If your project does not require them, these can be left unconfigured.

  5. For minSdkVersion 23 and above, the newly added overrideLibrary in AndroidManifest.xml is not required.These fields were added to the SDK because the default minSdkVersion is 16, but specifying plugin package names that are not used does not affect the project’s functionality.

    Image: FAQ6

  6. For targetSdkVersion: 33, required system permissions must be updated.

    • To enable push notifications, add <uses-permission android:name="android.permission.POST_NOTIFICATIONS"/> in the manifest file.

    • Replace android.permission.READ_EXTERNAL_STORAGE and android.permission.WRITE_EXTERNAL_STORAGE with the following permissions:

      <uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
      <uses-permission android:name="android.permission.READ_MEDIA_AUDIO" />
      <uses-permission android:name="android.permission.READ_MEDIA_VIDEO" />
  7. If you need to update dependencies in Android Gradle, change: compile fileTree(dir:'libs',include:['*.jar']) to implementation fileTree(dir:'libs',include:['*.jar']). Then copy the Gradle modifications indicated by the arrows in the figure to the corresponding files.

    Image: FAQ5