Basic Setup
After installing, navigate to "Edit/Plugins". Enable 'Achievement System' and restart the editor.
All configuration is performed inside the Achievement System projects settings menu. To find this menu, simply select “Edit/Project Settings”, it can then be found under the ‘Game’ section.
Defining Achievements
Within the first section of the settings menu a list of all achievements can be found. Here you will define every achievement that the player will be able to unlock. Each achievement must have a unique key to ensure that they can easily be referenced in blueprint code/C++.
There are a number of properties which can be set to customise each achievement. These are described below.
Property | Description |
---|---|
Key | A unique key used to identify an achievement in blueprint/C++ code. |
Display Name | The name of the achievement which the player will see in-game. |
Description | A short description which tells the player how to earn the achievement. |
Locked and Unlocked Icons | The icon displayed when the achievement is locked and unlocked. If "Lock overlay" is set to true, the lock icon overlays the unlocked version. |
Spoiler | Treat the current achievement as a spoiler for the game. Hidden from the player until unlocked. |
Progress | If true, this achievement will count to a certain amount before unlocking. Example: Race a total of 500 km, collect 10 coins, or reach a high score of 25. |
Progress Goal | The goal which must be reached for the achievement to unlock. Used only for progression-based achievements. |
Int Progress | If true, any progress calculations will be treated as integers. |
Notification Frequency | The rate that progress updates are displayed on-screen. Example: If Progress Goal = 100 and Notification Frequency = 25 , progress is shown at 25, 50, 75, and 100. |
Progress Suffix | A string displayed with a progress achievement, such as $, KM, or Miles. |
High Score Progress | If true, the progress value only updates if larger than the saved number. Example: Reach 500 meters in one game. Should only be used with SetAchievementProgress , not AddAchievementProgress . |
Tags | Tags group and filter achievements. Example: Use a tag for DLC achievements to display them separately from the base game. |
Other Achievement Data | A String-String TMap for storing custom data related to an achievement. |
(v1.10 or lower) After adding, removing or rearranging an achievement from the list, you may wish to delete the save file from “ProjectName/Save/NameOfSaveFile.sav”. Failure to do this may result in unexpected behaviour.
Completionist Achievement
At the bottom of the achievement list, there is a section where a final game achievement can be defined. This achievement will automatically be unlocked once all others have been completed. Check the checkbox and type in the key of the achievement you wish to use.
Other Settings
Setting | Description |
---|---|
Show Achievement Unlocks | If true, default achievement unlock notifications will be displayed on the players screen. |
Show Achievement Unlocks | If true, default achievement progress update notifications will be displayed on the players screen. |
Main Notification Provider Setting | See Here. |
Show Exact Progress | If true, progress notifications will display their exact progress, if false it will show the closest bracket. Example - Notification frequency is set to 25 and the current progress is 79. True: Display 79 False: Display 75 |
MaxDecimalPlaces | The max number of decimal places which can be displayed on a UI Achievement |
AchievedWord + UnachievedWord | Appends to the progress bar when an achievement is achieved/Unachieved. |
UI Achievement Override | Define a custom widget class to be displayed on the players screen. If left blank, the default achievement representation will be used. See Here |
AutoSave | If true, the state of all achievements will be saved without any user input. If false, achievement states must be saved manually by calling SaveAchievementState(). |
SaveGameName | The name of the save game slot used to keep track of achievement states. |
Main Notification Provider Settings
Setting | Description |
---|---|
Screen Location | Define the corner of the screen that progress and unlock notifications will be displayed. |
Total On Screen | The total number of achievement notifications which can be on the screen at any one time. |
Screen Time | The number of seconds an achievement will display on the screen once unlocked or progress is made. |
Spacing | The space between each achievement widget in the stack. |
Notification Horizontal Margin | The space between the achievement notification and the side of the screen. |
Notification Vertical Margin | The space between the achievement notification and the top/bottom of the screen. |
Interact Blockable | If true, notifications will be able to block UI under them. |
Exit Animation | The animation that is played when notifications are removed from the screen. Options: Fade, Disappear, Slide, Scale Down, or Custom. |
Exit Animation Length | The number of seconds an achievement notification takes to leave the screen. |
Entrance Animation Length | The number of seconds an achievement notification takes to enter the screen. |
Unlocked Sound | The sound that plays when an achievement is unlocked and displayed to a user. Only plays if ShowAchievementUnlocks is true. |
Progress Made Sound | The sound that plays when a progress update is displayed to a user. Only plays if ShowAchievementProgress is true. |