Skip to main content

Upgrade Guide

For SDK versions that do not require additional operations, download the latest SDK version and replace the old SDK files with the new ones, while keeping all configurations from the previous version.

For SDK versions that require additional operations, refer to the upgrade instructions for each specific version.

note

For upgrade instructions for Player Network SDK versions prior to V1.17, please contact the Player Network assistant.

After completing the upgrade, verify the configuration against the checklist in this document.

Check Configuration

It is recommended to use a comparison tool (e.g., "Beyond Compare") to compare the old and new versions and update the configurations one by one.

INTLConfig.ini

The path of INTLConfig.ini in the project is:

1.17.001.16.05
INTLSDK/Scripts/INTLConfig/Editor/Resources/INTLConfig.iniAndroid:
/Plugins/Android/assets/INTLConfig.ini
iOS:
/Plugins/iOS/INTLSDK/INTLCore/INTLSDK.bundle/INTLConfig.ini
Windows, PS5:
/Plugins/x86_64/INTLConfig.ini
Nintendo: /Plugins/Switch/INTLConfig.ini

It is recommended to compare each field to ensure that every configuration in the INTLConfig.ini file is correct.

Firebase Configuration

The path for the Firebase configuration file is:

Android: Assets/Plugins/Android/google-services.json

iOS: Assets/Plugins/iOS/INTLSDK/INTLFirebase/ThirdSDK/GoogleService-Info.plist

Ensure that the Firebase configuration file for the corresponding platform has not been deleted and that all configuration items are correct.

Gradle Configuration

The path for the Gradle configuration file is:

Unity 2018.x and earlier: \Plugins\Android\mainTemplate.gradle

Unity 2018.x and later:

  • \Plugins\Android\baseProjectTemplate.gradle
  • launcherTemplate.gradle
  • mainTemplate.gradle

Ensure that the IDs and other values in the configuration files are not overwritten.

Info.plist

INTL{Plugin}Kit.projmods is the Info.plist configuration file for the Player Network SDK.The Player Network SDK reads the INTL{Plugin}Kit.projmods files in the INTLSDK/Editor/XUPorter/Mods directory and adds the imported bundles, frameworks, and other dependencies into Xcode.

Since each INTL{Plugin}Kit.projmods file corresponds to an SDK plugin, all placeholders in the .projmods files should be checked and updated before packaging.

For the correct configuration for each channel, refer to the tutorial on configuring login authentication services: Tutorial.

Swift Configuration

If the plugin package uses the Swift SDK, mixed Swift and Objective-C issues may occur on iOS.Follow these steps to create a bridging layer to ensure class names are consistent between the two programming languages:

note

The Facebook and LINE plugins use Swift, so special attention must be paid to this configuration when packaging in Xcode.

info

For Unity 2019.x, skip steps 1 through 4.

  1. Create a new file of type Swift File.

    Image: Swift File type

  2. Set the file name to have the .swift extension, then click Create.

    Image: Create Swift file

  3. Click Create Bridging Header.

note

Be sure to click Create Bridging Header.Otherwise, Xcode will not create the bridging header.

Images: Create bridge document

  1. Check whether two files have been generated in your Xcode project (the .swift file created in step 2, and the automatically generated project_name-Bridging-Header.h file).
info

Do not modify the file content.

Images: Confirm document

  1. In Xcode, go to UnityFramework and enter Library Search Paths in the search box at the top right.

  2. On the search results page, add the following configuration to Library Search Paths:

    (Keep the order consistent)
    $(SDKROOT)/usr/lib/swift
    $(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)
    $(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)

    Image: Update Checklist1

  3. Enter Other Linker Flags in the search box at the top right.

  4. Add -lswiftCompatibility51 in Other Linker Flags.

    Image: Update Checklist2

Channel Configuration

For the correct configuration for each channel, refer to the tutorial on configuring login authentication services: Tutorial.