Adventure Creator Wikia

Notes: this Action lets you unlock steam achievements in an actionlist. It requires the steamworks plugin instaleld on the project.

To use it replace the text in a .cs file named ActionUnlockAchievement with this text, or create a new blank text file, then paste the text and rename the file ActionUnlockAchievement.cs. Then drop the file into the folder named actions inside the Adventure creator folder (or define your own folder in the Actions manager). Then, just use the action in an action list (from the custom category).

using UnityEngine;
using System;
using Steamworks;

#if UNITY_EDITOR
using UnityEditor;
#endif
/* By Alvaro Urrutia Luna (Alverik)
* Custom action to
* Unlock Steam achievements.
*/
namespace AC
{

	[System.Serializable]
	public class ActionUnlockAchievement : Action
	{

		public string AchievementID  = "";

		public override ActionCategory Category { get { return ActionCategory.Custom; }}
		public override string Title { get { return "Unlock Steam Achievement."; }}
		public override string Description { get { return "Unlocks an steam Achievement."; }}

		override public float Run ()
		{
			//your action:
			if (SteamManager.Initialized) 
			{
				if(AchievementID!=String.Empty || AchievementID!="")
				{
					try
					{
						SteamUserStats.SetAchievement(AchievementID);
						SteamUserStats.StoreStats();
					}
					catch(Exception e)
					{
						Debug.LogError("Error while setting steam achievements... " + e);
					}

				}
			}
			//end the action
			return 0f;
		}


		#if UNITY_EDITOR

		override public void ShowGUI ()
		{
			// Action-specific Inspector GUI code here
			AchievementID  = EditorGUILayout.TextField("Achievement ID: ", AchievementID , GUILayout.ExpandWidth(true));
		}


		public override string SetLabel ()
		{
			// Return a string used to describe the specific action's job.
			string labelAdd = "Unlocks an steam Achievement.";
			return labelAdd;
		}

		#endif

	}

}