After the player is connected, you can use leaderboards API.

Show UI

You can show achievements UI using this method:


Working with achievements progress

Example how to update an achievement progress.

string achievementId = TEST_ACHIEVEMENT_2_ID;
float progress = 88.66f
bool isCompleteNotification = false;
GameCenterManager.SubmitAchievement(progress, TEST_ACHIEVEMENT_2_ID, isCompleteNotification);

NOTE: There is a known Game Center bug, when achievement completion notification does not appear even if isCompleteNotification is set as true.  As workaround, you can handle notification by yourself. Keep isCompleteNotification as false, and when you are reporting progress as 100, you can use ShowGmaeKitNotification to show GameCenter style notification.

GameCenterManager.ShowGmaeKitNotification("some title", "some message");

 Here is an example how we can increment an achievement progress: 

GameCenterManager.submitAchievement(GameCenterManager.getAchievementProgress(TEST_ACHIEVEMENT_1_ID) + 2.432f, TEST_ACHIEVEMENT_1_ID);

If you want to reset the player progress for all achievements, call the following method:


All interactions with the Achievements API triggers corresponding events, so you can always find the result of your API call.  

The following Actions are currently available:

public static Action<ISN_Result> OnAchievementsReset = delegate{};
public static Action<ISN_Result> OnAchievementsLoaded  = delegate{};
public static Action<ISN_AcheivmentProgressResult> OnAchievementsProgress  = delegate{};

For example, if we want to find out the achievements progress, we need to listen for when the achievements data is loaded. The load request will be sent automatically by the plugin after the player is connected, so we need only to listen to the loaded event:

GameCenterManager.OnAchievementsLoaded += OnAchievementsLoaded;

private void OnAchievementsLoaded(ISN_Result result) {

	if(result.IsSucceeded) {
		Debug.Log ("Achievemnts was loaded from IOS Game Center");
		foreach(AchievementTemplate tpl in GameCenterManager.achievements) {
			Debug.Log ( + ":  " + tpl.progress);

After the achievements are loaded, you can get the Achievement progress by ID using the following code:

float progress = GameCenterManager.getAchievementProgress(TEST_ACHIEVEMENT_1_ID)

NOTE: This feature can only be used after Achievements data is loaded (OnAchievementsLoaded action fired). However, if you enable Auto Caching Achievements progress with PlayPrefs, you will be able to access this data at any time, even without an Internet connection. You can read more about IOS Native Game Center Settings


A full  example of API using can be found in the GameCenterGeneral example scene.