> For the complete documentation index, see [llms.txt](https://bizachi-dev.gitbook.io/bullethell-elemental-template/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://bizachi-dev.gitbook.io/bullethell-elemental-template/scriptables/addon-dayle-rewards-new-account-rewards.md).

# Daily Rewards/New Account Rewards

To create a RewardItem, right-click inside any project folder, go to Create > BulletHellTemplate > Rewards > Reward Item.

The template has two reward calendars:

* **Daily Rewards**: one reward per day, in order. After the last day the cycle starts again.
* **New Account Rewards**: the welcome rewards of a new account, one per day. Reward N unlocks N days after the first claim.

The rewards are listed in the [Game Instance](/bullethell-elemental-template/user-interface-menus/game-instance.md): **Daily Reward Items** and **New Player Reward Items**. The position in the list is the day. The screens are the `UIDailyReward` and `UINewAccountReward` prefabs in `Addons/DailyRewards`, already in the Home scene and opened by the main menu buttons.

Step by step video (older version of the screens): <https://youtu.be/vcXCF8rQp0k>

{% hint style="info" %}
A reward day starts at **00:00 UTC** on every backend, so every player gets the new reward at the same moment, whatever their time zone.
{% endhint %}

***

## Reward Item

<figure><img src="https://215355839-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fc8AVbPtcUOjcVrQx9Eyu%2Fuploads%2Fgit-blob-9aa9205132492c8516b6662bcc154a46b0a03b63%2Fv16-reward-item.png?alt=media" alt="Reward Item in the Inspector"><figcaption></figcaption></figure>

Reward Id: Id of the reward (the claims are saved by day, not by this id).

Icon: Image of the day card.

Title / Description (and their translations): Texts of the card and of the claim popup.

Reward Type: **Currency**, **Inventory Item**, **Icon**, **Frame** or **Character**.

Amount: Amount of currency, for the Currency type.

Currency Rewards / Icon Rewards / Frame Rewards / Character Rewards / Inventory Items: The reward of the chosen type. Only the **first** entry of the list is given.

The shipped rewards are in `Addons/DailyRewards/Rewards`.

***

## Reward screens

<figure><img src="https://215355839-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fc8AVbPtcUOjcVrQx9Eyu%2Fuploads%2Fgit-blob-9311137cd2634fb4f6647688f7b72e523c9d848d%2Fv16-daily-reward-manager.png?alt=media" alt="Daily Reward Manager in the Inspector"><figcaption></figcaption></figure>

Both screens (Daily Reward Manager and New Account Reward Manager) share the same fields:

Reward Entry Prefab / Rewards Container: Card created for each day and its parent.

Reward Popup: Popup shown when a reward is claimed.

Header (optional): "Day 3/7" progress text and bar, the countdown to the next reward ("Next reward in 05:12:33" or "Reward ready!"), and a message line.

Featured card and track: Show the last reward as a big featured card, and a track under the cards.

Labels: Every text of the screen, with its translations.

New Account Reward Manager also has **Total Reward Days Override**: an optional cap on the number of welcome days (0 = the length of the Game Instance list).

The main menu shows a badge on the reward buttons when a reward can be claimed.

***

## On each backend

| Backend             | How it works                                                                                                                                                                                    |
| ------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Offline**         | The claims are saved on the device.                                                                                                                                                             |
| **Firebase**        | The claims are saved in the player's account (`Players/{uid}/Progress/DailyRewards` and `NewPlayerRewards`). No extra rules needed.                                                             |
| **WebSocket + SQL** | The server checks every claim with the same rules and gives the reward. The rewards come from `dailyRewards.json` and `newPlayerRewards.json`, so run **Export To Server** after changing them. |

On Firebase and WebSocket the claim appears right away; if the backend refuses it, it is undone on screen.
