Model¶
Defines the authoring and lookup layer for inventory items.
This folder contains the core types that describe what an item is and how it is resolved at runtime.
Purpose¶
Provide the source of truth for item identity and lookup.
What Lives Here¶
ItemDefinition→ ScriptableObject describing an itemItemDatabase→ concrete registry for item lookupIItemDatabase→ read-only contract for item resolution
Important Notes¶
- This layer defines authoring and lookup only
- It does not implement container behaviour or mutation logic
- It is safe to reference from runtime and editor systems
Usage Guidance¶
ItemDefinition¶
Represents a single item definition.
Includes:
- stable identifier (guid)
- presentation data
- stack limits
- classification (category, tags)
- optional gameplay hooks
ItemDatabase¶
Provides lookup of item definitions by GUID.
- lookups are case-insensitive
- keys are normalised before comparison
- duplicate entries may resolve to the last registered definition
May include an optional placeholder for missing items.
IItemDatabase¶
Read-only contract for item lookup.
Allows systems to resolve items without depending on concrete implementations.
Not for Production Use¶
This folder defines items; it does not hold what a player is carrying
This folder does not:
- Enforce stacking rules
- Perform inventory mutation
- Provide container storage
- Enforce authority
- Define UI behaviour
Related Documentation¶
- ../
- ../Stacks/README.md
- ../../Containers/README.md