All Out provides a player inventory API that allows you to create items, give them to players, and for players to arrange, use, and drop items in your game.
There are three core concepts:
Item definitions (Item_Definition): what an item is (name/icon/stacking + your own fields)
Item instances (Item_Instance): an actual stack in the world/in an inventory
Inventories (Inventory): a container of slots that holds item instances
Every player has a built-in inventory at player.default_inventory.
Persistence
If you'd like player inventories to be automatically saved across game sessions, enable the "Auto Save Player Inventory" box in the Edit -> Game Settings section of the editor
Inventory API reference
Quick start (register + give an item)
Register item definitions once in ao_before_scene_load, then create instances and move them into a player’s inventory.
Custom Inventories
You can create inventories that aren’t tied to a player, for things like:
Chests / storage containers
Fish/mob teams
To access items:
Dropped Items
If you want players to drop items into the world (and let other players pick them up), use the dropped items system:
Spawning a dropped item
Drop animation + snapping to navmesh
Handling drag-drop from the hotbar UI
If you use Items.draw_hotbar, players can drag an item out of the UI to drop it. Dropped_Item.handle_dropped_item removes it from the inventory and spawns a dropped item entity.
Dropped items automatically despawn over time (with a warning bar). Holding the interact button on an item resets its despawn timer.
You can make a dropped item exclusive (only visible/pickable by one player) using dropped->set_exclusive(player).