The bank is not tied to one prefab or one interaction type. A bank access point checks permission, opens a session, and hands the actual item work to the bank service.
Main pieces
| BankService | Owns bank sessions, bank state, deposits, withdrawals, tabs, sorting, and bank events. |
|---|---|
| BankAccess | Defines which bank storage an NPC or world object opens and what requirements must be met. |
| BankStorageId | Lets you decide whether multiple access points share one storage or open separate banks. |
| BankPanelUI | Displays bank slots, inventory slots, tabs, quantities, and the active session. |
| BankSaveModule | Saves and restores the character bank through the main save system. |
Create a bank access point
- Open the Bank Database window.
- Create or choose a bank storage ID.
- Use the bank access point factory or add BankAccess to an NPC or world object.
- Connect the interaction to BankAccessHandler.
- Assign the bank panel UI and test deposits and withdrawals.
Shared banks and local storage
Give several access points the same storage ID when they should open the same character bank. Use different storage IDs when you want a special chest, guild vault, or location specific storage.
Useful behavior already included
- Deposit and withdrawal quantities
- Item stacking based on the item definition
- Multiple bank tabs
- Sorting and item reordering
- Access requirements and failure messages
- Save integration
- Events for custom UI, audio, and game logic