DataAsset / ScriptableObject system (data + code, lifecycle, Inspector editing)

Current State

No DataAsset/ScriptableObject concept exists. Configuration and shared data must live in code or scene files. Stub component types exist but there is no data-only asset that pairs serialized data with behavior and is editable in the Inspector.

Goal

A DataAsset (Unity ScriptableObject analogue): a GUID-identified asset that bundles serialized data + optional code, is editable in the Inspector , and is referenceable from components and other assets.

Tasks

  • Define the DataAsset base type and registration (shares the component-registration mechanism from)
  • GUID identity + serialization through the asset database / .meta pipeline
  • Inspector editing via the reflection property drawers
  • Create-from-Asset-Browser flow per registered DataAsset type
  • Lifecycle hooks (onEnable/onValidate-style) where applicable
  • Reference resolution (components → DataAssets, DataAssets → DataAssets) by GUID
  • Document with an example DataAsset

Acceptance Criteria

  • A user can define a DataAsset type, create instances from the Asset Browser, and edit them in the Inspector.
  • DataAssets serialize/deserialize with stable GUIDs and can be referenced by components.
Edited by Bruno Massa