Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions automated_updates_data.json
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,10 @@
{
"date": "2026-04-22",
"summary": "Improved resources-loading docs (named Preload scene action, documented SceneLoadingProgress expression and AreSceneAssetsLoaded condition, clarified custom loading screen approach) and added extension lifecycle functions table to events/functions docs"
},
{
"date": "2026-04-30",
"summary": "Fixed object effects doc (removed incorrect 'layer name' step, added 3 action types, added enable/disable section) and improved leaderboards doc (added CloseLeaderboardView action, HasPlayerJustClosedLeaderboardView condition, LastSaveError expression with error codes table, and rate limiting tip)"
}
]
}
15 changes: 15 additions & 0 deletions docs/gdevelop5/all-features/leaderboards/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,19 @@ You have 3 conditions at your disposal to monitor how the saving is run through.

For each of those conditions, you can specify the leaderboard but this is optional. This can prove useful if you try to save the player score in multiple leaderboards at once.

If the save fails, use the expression **`Leaderboards::LastSaveError(leaderboardId)`** to retrieve the reason. Common error values include:

| Error | Meaning |
|---|---|
| `"SAME_AS_PREVIOUS"` | Score was identical to the last submitted score |
| `"TOO_FAST"` | Score was submitted less than 500ms after the previous one |
| `"LEADERBOARD_RATE_LIMIT_EXCEEDED"` | More than 6 scores per minute sent to this leaderboard |
| `"GLOBAL_RATE_LIMIT_EXCEEDED"` | More than 12 scores per minute sent across all leaderboards |

!!! tip

To avoid rate limit errors, only submit a score at meaningful moments — such as when a level ends or the player dies — rather than continuously during gameplay.

## Display a leaderboard

Use the action "**Display leaderboard**" to load and display a leaderboard on the screen. It will be displayed on top of your game, and the view will have a button to close it in order to come back to your game.
Expand All @@ -54,6 +67,8 @@ While it's **loading**, to let the player know that the leaderboard will display

Either case, if there's an error during the display, *it will close automatically*. You can also use the 2 conditions "Leaderboard display has errored" and "Leaderboard display has loaded" if you want to add logic around a possible error.

Use the action **"Close current leaderboard"** to dismiss the leaderboard programmatically — for example, if you want to close it after a timeout or when the player presses a specific key. Use the condition **"Closed by player"** to detect when the player closed the leaderboard themselves, so you can resume gameplay or navigate to the next scene.

## Advanced: pause the scene when the leaderboard is displayed

We recommend that you send back the player to a menu scene or a non gameplay scene after you open the leaderboard.
Expand Down
19 changes: 15 additions & 4 deletions docs/gdevelop5/objects/effects/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,13 +47,24 @@ In this example, the Dark Night effect is called "Effect" and has two parameters

![](https://github.com/user-attachments/assets/9bf6871e-c57b-40f8-a249-d09f04774d88)

You can then add an event with an action called "Effect Parameter":
There are three actions depending on the type of parameter you want to change:

- **Effect property (number)** — for numeric values such as blur strength or opacity.
- **Effect property (string)** — for text values such as a texture file path used by some effects.
- **Effect property (enable or disable)** — for boolean toggles exposed by some effects.

For each action, select the object, then:

* Enter first the layer name (don't forget the quotes). For the base layer, enter an empty string (`""`).
* Enter the name of the effect, for example `"Effect"`.
* Enter the name of the parameter, for example `"intensity"` or `"opacity"`.
* Finally, enter the new value to be set for this parameter.
* Enter the new value to set.

!!! danger

All of these names are case sensitive. In particular the parameter names are lowercased. Be sure to double check the name of your effect and parameters.
All of these names are case-sensitive. In particular, property names are lowercased. Be sure to double-check the name of your effect and parameters.

## Enable or disable an effect during the game

You can toggle an effect on or off without removing it entirely. Use the **Enable an object effect** action, specifying the effect name and whether to enable or disable it.

The **Effect is enabled** condition lets you check the current state of an effect — for example, to activate a glow only when an item can be picked up, then disable it once collected.