Skip to content

📜 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 is
  • ContainerSizePolicy → how containers are sized
  • IUseEffect / UseEffectObject → what happens when an item is used
  • EquipmentFilter → 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 ItemDefinition assets grouped by category:

  • Weapon

  • Armor
  • Useable

  • Effects/ Sample IUseEffect ScriptableObjects used by items

  • Filters/ Sample EquipmentFilter assets used by equipment slots

  • Policies/ Sample ContainerSizePolicy assets defining container sizes


🔗 How It Connects

These assets plug directly into the runtime systems:

  • ItemDefinition.useEffects[] → consumed by ItemUseSystem
  • ItemDefinition.category / tags → used by EquipmentFilter
  • ContainerSizePolicy → used by SceneInventoryService
  • EquipmentFilter → 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.guid values 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:

  • SceneInventoryService
  • CharacterInventory
  • CharacterEquipment
  • ItemUseSystem

🧠 Design Notes

This folder intentionally separates:

  • Data (ScriptableObjects)
  • Runtime logic (services + containers)
  • Presentation (UI / teachables)

👉 This keeps the system modular and easy to extend.


  • Inventory Runtime → container + service logic
  • Inventory Use → item use execution
  • Inventory Teachables → real usage examples
  • Samples → full demo scenes using these assets