
Publisher
jelo
Milestone
Create and manage achievements through an in-engine editor and display them in your game!
This plugin has been mirrored from the Godot Asset Library.
The plugin author is in no way affiliated with Gadget.
If you are the author of this plugin and would like this mirror removed, please contact support@gadgetgodot.com.
Milestone
Create and manage achievements through an in-engine editor and display them in your game!
Table of Contents
Note
This plugin is still in beta and may contain bugs or incomplete features. Please report any issues you encounter on the GitHub repository.
Features
- Easily create and manage achievements with an in-engine editor
- Customize the look, behavior, and visibility of each achievement
- Display achievements in-game using a simple API
- Track player progress, completion, and rare achievements
- Seamless integration into existing Godot projects
- Lightweight and optimized for performance
Installation
To install Milestone, follow these steps:
- Make sure you have Godot 4.4 or later installed (i didn't test older versions, but i'm using UIDs which weren't really used in 4.3).
- Download the latest release from the releases page.
- Extract the
addonsfolder from the downloaded ZIP file into your root project directory. Should look like this:my_game/ ├── addons/ │ └── milestone/ │ ├── autoload/ │ ├── components/ │ ├── scripts/ │ └── ... ├── project.godot └── ... - Open your Godot project and navigate to the
Project → Project Settings → Plugins. - Enable the Milestone plugin by checking the box next to it.
- You will see a new
Milestonetab at the top in the editor. Click on it to open the Milestone manager. Have fun!
Usage
- Open the Milestone manager by clicking on the
Milestonetab in the editor. - Modify the plugin settings in the
Settingstab to your liking. - Create and manage your achievements in the
Achievementstab. - Create a new
AchievementNotifiernode in your scene to allow for displaying achievements in-game. - Modify
AchievementNotifierproperties to change the behavior of the notifications, their position and the notification component. - Use the
AchievementManagerAPI to track player progress and completion of achievements.
API
The AchievementManager API provides a simple way to manage and track achievements in your game. You can use the following methods to interact with achievements:
| Method | Description |
|---|---|
AchievementManager.unlock_achievement(achievement_id: String) |
Unlocks the achievement with the given ID. |
AchievementManager.is_unlocked(achievement_id: String) |
Returns true if the achievement is unlocked. |
AchievementManager.progress_achievement(achievement_id: String, progress_amount: int) |
Progresses the achievement with the given ID using the specified progress amount. |
AchievementManager.get_progress(achievement_id: String) |
Returns the progress of the achievement. |
AchievementManager.reset_achievements() |
Resets all achievements. |
AchievementManager.reset_achievement(achievement_id: String) |
Resets the achievement with the given ID. |
AchievementManager.unlock_all_achievements() |
Unlocks all achievements. |
License
This project is licensed under the MIT License.