> For the complete documentation index, see [llms.txt](https://docs.tebex.io/developers/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.tebex.io/developers/unity-engine/features/deliverables.md).

# Deliverables

We include a **Deliverables** helper to apply packages when the customer's basket is completed.

With a **package ID** or **package reference**, you can run an Action when a customer completes checkout. These are built into your game at compile-time.

{% hint style="warning" %}
To identify the player, you can provide a username and/or email at basket creation. This will be returned to your Action registered for that package.

If your game does not use emails or usernames to identify players, you can pass any identifying information about the player via the `custom` property when creating a basket.
{% endhint %}

## Applying Deliverables

Use `RegisterDeliverableAction()` to register a callback Action when a particular package is purchased.

You may use a hardcoded package `id`, or a `Package` object returned by our API to register the actions.

The Deliverables helper tracks an `ActiveBasket`, checking every few seconds if it is complete. When complete, it will trigger the callback.

You can set the active basket programmatically with `SetActiveBasket()`&#x20;

The basket will then be tracked and its registered **Action** triggered when completed. **On completion, the active basket is cleared.**

{% hint style="info" %}
If you are using the **In Game Cart**, set the **ApplyDeliverables** property to **true** and the active basket will be tracked automatically.
{% endhint %}
