📜 Sample ScriptableObjects¶
This folder contains authoring assets used by the Inventory samples.
These assets demonstrate how data is defined and wired into the runtime systems:
ItemDefinition→ what an item isContainerSizePolicy→ how containers are sizedIUseEffect/UseEffectObject→ what happens when an item is usedEquipmentFilter→ what items are allowed in equipment slots
🎯 Purpose¶
This folder exists to show the data side of the Inventory system.
It answers:
- How are items defined?
- How are containers configured?
- How are use effects assigned?
- How do equipment filters work?
👉 These are authoring examples, not production-ready content.
📦 Structure¶
-
Inventory/ Sample
ItemDefinitionassets grouped by category: -
Weapon Armor-
Useable -
Effects/ Sample
IUseEffectScriptableObjects used by items -
Filters/ Sample
EquipmentFilterassets used by equipment slots -
Policies/ Sample
ContainerSizePolicyassets defining container sizes
🔗 How It Connects¶
These assets plug directly into the runtime systems:
ItemDefinition.useEffects[]→ consumed by ItemUseSystemItemDefinition.category / tags→ used by EquipmentFilterContainerSizePolicy→ used by SceneInventoryServiceEquipmentFilter→ used by **CharacterEquipment`
👉 No special setup — these are the same assets your game would use.
⚠️ Important Notes¶
These are samples, not framework requirements¶
- You are not required to use these exact assets
- You are not required to keep this folder
- You can safely delete everything here once you understand the system
GUIDs are demo-only¶
ItemDefinition.guidvalues are auto-generated for samples-
They are used for:
-
lookup
- save/load (snapshots)
👉 In production:
- create your own items
- keep GUIDs stable once shipped
- avoid copying sample assets directly into live projects
No hidden logic¶
These assets:
- Do not contain runtime logic
- Do not bypass validation
- Do not use internal APIs
They are plain data, consumed by:
SceneInventoryServiceCharacterInventoryCharacterEquipmentItemUseSystem
🧠 Design Notes¶
This folder intentionally separates:
- Data (ScriptableObjects)
- Runtime logic (services + containers)
- Presentation (UI / teachables)
👉 This keeps the system modular and easy to extend.
📎 Related¶
- Inventory Runtime → container + service logic
- Inventory Use → item use execution
- Inventory Teachables → real usage examples
- Samples → full demo scenes using these assets