Releases: jelolul/milestone
1.1.1.beta
What's Changed
- Added safety checks to skip code when a value doesnβt exist
- Removed unused or redundant code in various scripts
- Fixed a bug that threw an error when resetting achievements while they are displayed
- Fixed is_unlocked() returning true for incomplete progressive achievements
Full Changelog: v1.1.0.beta...v1.1.1.beta
1.1.0.beta
What's Changed
- Added signals to the API documentation (#12)
- Added achievement groups
- Reimported demo icons as PNGs
New Methods
| Method | Description |
|---|---|
AchievementManager.progress_group(group_id: String, progress_amount: int) |
Progresses all achievements in the group using the specified progress amount. |
AchievementManager.get_achievements_by_group(group_id: String) |
Returns a list of achievements in the group. |
Full Changelog: v1.0.3.beta...v1.1.0.beta
1.0.3.beta
What's Changed
- Added alphanumeric sorting for the Milestone Editor tree by @jelolul
- Fixed progress bar value being set in the wrong order by @jelolul
- Fixed texture generation when image is empty by @lowlevel-1989 in #4
- Fixed
ERROR: Cannot get class 'SVGTexture'.by @lowlevel-1989 in #5 - Fixed resource loading in custom path by @lowlevel-1989 in #6
- Fixed memory leak when closing game with active notification by @lowlevel-1989 in #7
- Added user_interface parameter to achievement_notifier.gd to inherit parent theme settings by @lowlevel-1989 in #8
Full Changelog: v1.0.2.beta...v1.0.3.beta
1.0.2.beta
Fixes
Achievement Manager
- Fixed an issue where achievement resources wouldn't load in exported projects.
Full Changelog: v1.0.1.beta...v1.0.2.beta
1.0.1.beta
Fixes
Shaders
- Fixed a bug where the shaders would appear white in some instances.
- Fixed a bug where the shaders wouldn't respect the alpha of the achievements.
Milestone Manager
- Fixed the achievements preview breaking UI if window was small enough.
Full Changelog: v1.0.0.beta...v1.0.1.beta
Milestone - v1.0.0.beta
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.
Full Changelog: https://github.com/jelolul/milestone/commits/v1.0.0.beta