KakaoGame SDK for Unity Upgrade Guide
Upgrading the Unity SDK to 3.19.0
The recommended Unity Editor version has been updated to 2022.3.22f1 or higher due to modifications related to the iOS Privacy Manifest in KakaoGameSDK.
Minimum requirements related to the Privacy Manifest:
Unity version 2021.3.36f1, 2022.3.21f1, 2023.2.13f1 or higher (https://forum.unity.com/threads/apple-privacy-manifest-updates-for-unity-engine.1529026/)
If using version 2021.3.36f1, there is a Gradle version issue (KakaoGameSDK Android 업그레이드 가이드 | Android SDK를 3.19.0으로 업그레이드 ), so you must use at least 2021.3.37f1. (Unity - Manual: Gradle for Android )
After updating the version, version compatibility related to Gradle changes, and you must not continue using the existing Gradle but apply a new one. The 'com.android.tools.build:gradle' version needs to be updated in the baseProjectTemplate.gradle file.
Upgrading the Unity SDK to 3.15.0
KakaoGameSDK
As newtonsoft-json is used for internal logic, you need to install the json package yourself.
1.1. Unity SDK Installation | 1.1.3.9. Newtonsoft.Json Installation (SDK 3.15.0 or later)
The Facebook SDK has been updated, so adding the Facebook Client Token has been changed to be mandatory.
2.1 Facebook | 2.1.2. Facebook Developer Center (Client Token Settings) SDK 3.15.0 or later ...
It has been added so that you can set the Facebook Client Token in the Editor.
1.1. Unity SDK Installation | 1.1.3.7. Facebook information setting
KakaoGameSDK(Android)
The SDK automatically changes the main activity to KGUnityPlayerActivity.
To change the main activity, you can open KGSharedData.json and set the customManifest
to true
Upgrading the Unity SDK to 3.14.6
KakaoGameSDK(Editor)
The URL required for the Kakao Editor login has been changed from https://dist-test-sdk.s3.amazonaws.com to https://kakao-sdk-release.s3.amazonaws.com. You must register https://kakao-sdk-release.s3.amazonaws.com on the Kakao Developer site.
Upgrading the Unity SDK to 3.14.0
KakaoGameSDK(iOS)
The script is added when building the project to eliminate manual work.
KakaoGame SDK for Unity Upgrade Guide | Additional guide for using cocoapods with Unity 2019.3
Upgrading the Android SDK to 3.13.3
kakaoGameSDK
Behavior Changes on Android 12
In SDK 3.13.3, you should modify your settings to support Android 12 Behavior.
explictly-declared value for android:exported
Changed AndroidManifest.xml
Main Activity, AuthCodeHandlerActivity, AgeAuthActivity
declare android:exported=”true”
KGFirebaseMsgService
declare android:exported=”false”
Changed compileSdkVersion, targetSdkVersion to 31
Changed Android Gradle Plugin Version to 4.0.1 and Gradle Version to 6.1.1Upgrading the Unity SDK to 3.13.3
KakaoGameSDK(Android)
Gradle Version
If you are using Unity 2020.3.15f1, 2021.1.16f1 or later, no other settings required
Changed Android gradle version to 6.1.1
Gradle 6.1.1 download
Set the downloaded gradle 6.1.1 folder in Unity.
After downloading the gradle to another place, set the gradle folder in the Unity settings.(Preferences > External Tools > Android > Gradle Installed with Unity)
Upgrading the Unity SDK from 3.10.x to 3.10.11
KakaoGameSDK(iOS)
Starting from version 3.10.11, iOS framework was installed to install iOS framework through cocoapod when building ios.
Can install KakaoGame related framework through cocoapods
Basic compatible version guide for 3rd-party framework facebook / google framework
Or it can be set so that the developer can apply the desired version
Guide
Select Unity menu> Assets> External Dependency Manager> iOS Resolver> Settings
Cocoapods Integration> Select Xcode workspace> OK
Specify the framework version to install as cocoapods in Assets/Kakaogame/Editor/KakaoGameDependencies.xml file
Packages that are distributed are prepared based on the version that is linked to the base.
You can modify and apply the version desired by the developer within a compatible range
KakaoGame Dependencies
<?xml version="1.0" encoding="utf-8"?> <dependencies> <iosPods> <iosPod name="FBSDKCoreKit" version="5.5.0" /> <iosPod name="FBSDKLoginKit" version="5.5.0" /> <iosPod name="FBSDKShareKit" version="5.5.0" /> <iosPod name="GoogleSignIn" version="5.0.2" /> <iosPod name="KakaoGameSDK/KakaoGame" version="3.10.11" /> <iosPod name="KakaoGameSDK/KakaoGameFacebook" version="3.10.11" /> <iosPod name="KakaoGameSDK/KakaoGameGoogle" version="3.10.11" /> <iosPod name="KakaoGameSDK/KakaoGameKakao" version="3.10.11" /> </iosPods> </dependencies>
ex) Although FacebookSDK is specified as 5.5.0, it is okay to apply 5.6.0, but 6.0.0, which is a major version change, cannot be changed.
Additional guide for using cocoapods with Unity 2019.3
Installing via cocoapods installs the libraries specified in the Pods project in the Pods project under the Xcode workspace
The library is successfully linked to the application project, Resources are linked to the UnityFramework target, not the application, so the resources used in the SDK are not displayed.
So you have to manually add that resource to your application (Unity-iPhone) target (see screenshot below)
Step 1) Unity-iPhone target > Copy Bundle Resources > Click +
Step 2)Click Add Other...
Step 3) Click Pods/KakaoGamePublishingSDK/KakaoGameFramework/KakaoGameResources.bundle file manually