# Assets

Assets are a concept at the core of LootLocker. In its simplest form, an Asset is an item of property that can store both LootLocker-specific and game-specific data that can then be read by the game or connected to a player (through the [player’s inventory](https://docs.lootlocker.com/players/inventory)) - something a player can earn, purchase, possess, or equip.

Assets must be assigned a Context and Complexity so that LootLocker knows how they will be used.

### Context

An Asset’s Context is a way to group and describe Assets. All Assets must be assigned a Context when being created. Defining the Context of an Asset lets your game know what type of Asset it is, and lets LootLocker know what sort of information or logic will be stored in the Asset and any special relationships it should have, for example with [Character Classes](https://docs.lootlocker.com/game-systems/classes-and-heroes/how-to/base-classes) and [Default Loadouts](https://docs.lootlocker.com/game-systems/classes-and-heroes/how-to/base-classes#default-loadout).

### Complexity

An [Asset Complexity](https://docs.lootlocker.com/content/how-to/create-configure-asset#configure-contexts) adds additional functionality and logic to an Assets assigned to the specific Asset Context. All Asset Contexts must be assigned an Asset Complexity. There are several types of Asset Complexities:

* **Generic Asset**: Does not add any additional functionality or logic to the Asset Context
* **Loot Box**: Adds the ability to have an Asset randomly selected from a predefined group of Assets
* **Rental**: Adds the ability to temporarily grant Assets which expire after a certain amount of time.
* **Drop Table**: Adds the ability to randomly select an Asset from a predefined table of Assets that can be selected by players.

### Asset Instance

Asset Instances are only important when dealing with Assets within the player’s inventory. When viewing an Asset listed in the Asset Manager, the Asset is considered a Reference Asset which is never actually owned by a player and does not contain dynamic data stored in it by the game. When an Asset is granted to the player’s inventory, an Asset Instance is created based on the Reference Asset. An Asset Instance is an extension of the Asset that the player possesses and contains data specific to that instance. An Asset Instance is, as the name implies, an instance of an Asset and as such if any changes are made to the Reference Asset, the Asset Instance will also be updated. This instance can be traded to other players or modified based on the relationship it has to your game.

## Use Cases

* Virtual Goods
* Player Cosmetics
* Loot Boxes & Gachas
* Drop Tables
* Game Config & Balancing
* Character Buffs & Skill Cooldown
* Character Equipment Systems

## How To

### Generic

* [Create & Configure an Asset](https://docs.lootlocker.com/content/working-with-assets/how-to/create-configure-asset)
* [Organize & Search for Assets](https://docs.lootlocker.com/content/working-with-assets/how-to/organize-search-asset)
* [Retrieve Assets In-Game](https://docs.lootlocker.com/content/working-with-assets/how-to/retrieve-assets-in-game)
* [Set up Asset Storage Template](https://docs.lootlocker.com/content/working-with-assets/how-to/set-up-asset-storage-templates)
* [Check Grant Notifications](https://docs.lootlocker.com/content/working-with-assets/how-to/check-grant-notifications)
* [Set up a Game Config Asset](https://docs.lootlocker.com/content/working-with-assets/how-to/use-an-asset-to-distribute-a-custom-game-config)
* [Equip an Asset onto a Character](https://docs.lootlocker.com/players/inventory)

### Complexity Specific

* [Create a Loot Box](https://docs.lootlocker.com/content/working-with-assets/how-to/rarity-assets)
* [Work with Loot Boxes In-Game](https://docs.lootlocker.com/content/working-with-assets/how-to/implement-loot-box-in-game)
* [Create a Drop Table](https://docs.lootlocker.com/content/working-with-assets/how-to/create-a-drop-table)
* [Work with Drop Tables In-Game](https://docs.lootlocker.com/content/working-with-assets/how-to/use-drop-table-in-game)
* [Create a Rental Asset](https://docs.lootlocker.com/content/working-with-assets/how-to/rental-assets)
* [Work with Rental Assets In-Game](https://docs.lootlocker.com/content/working-with-assets/how-to/use-rental-asset-in-game)

## Guides

* [Using an Asset to Balance Your Game](https://lootlocker.com/guides/game-balancing-with-csv-googlesheets)
* [Add Drop Tables to your Unity Game](https://lootlocker.com/guides/getting-the-drop-on-drop-tables)
* [Random Weight Rewards with Loot Boxes in Unity](https://lootlocker.com/guides/how-to-loot-boxes)
* [Skill Cooldown System with Rental Assets in Unity](https://lootlocker.com/guides/how-to-rental-assets-in-unity)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.lootlocker.com/content/working-with-assets.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
