unity-scriptableobject

Create, edit, find, and export Unity ScriptableObject assets via serialized property operations.

Updated Aug 31, 2026
One-click install
npx skills add https://github.com/pikachu0310/codex-agent-ops-public --skill unity-scriptableobject-pikachu0310
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: unity-scriptableobject
Source: https://github.com/pikachu0310/codex-agent-ops-public/tree/main/.agents/skills/unity-skills/skills/scriptableobject
Command: npx skills add https://github.com/pikachu0310/codex-agent-ops-public --skill unity-scriptableobject-pikachu0310

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Managing Unity ScriptableObject data assets by hand through the Inspector is slow and error-prone, especially for nested fields, arrays, object references, and private [SerializeField] members that simple reflection cannot reach. ## Core Features & Use Cases - Full asset lifecycle: Create, duplicate, find, read, and delete ScriptableObject assets, with JSON import/export for bulk data workflows. - Deep property editing: Set nested paths, array elements, object references, gradients, animation curves, and [Flags] enums via serialized property paths that reflection-based setters cannot touch. - Use Case: Populate a game item database by importing a JSON file of stats into dozens of ScriptableObject assets, then batch-set icon references and array fields in a single call. ## Quick Start Ask the agent to create a new ScriptableObject asset of your data type at a given asset path and set its fields from your JSON values.

Frequently Asked Questions about unity-scriptableobject

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I edit a private [SerializeField] field on a ScriptableObject?

Use scriptableobject_set_serialized_property with the field's propertyPath, since reflection-based setters only reach top-level public fields. Run scriptableobject_get_serialized_properties first to discover exact propertyPath values, including private and nested members.

How do I set array elements on a Unity ScriptableObject?

Resize the array first by setting items.Array.size with the desired count, then set each element via paths like items.Array.data[0]. The batch variant scriptableobject_set_serialized_property_batch performs all of these in one call.

Can I assign an asset reference to a ScriptableObject field?

Yes, pass valueAssetPath pointing to the target asset, optionally with valueObjectType to filter sub-asset types like Sprite. Clear a reference by passing value as "null".

Why did my JSON import report success but change nothing?

The import returns success with a warning when no serialized field matched or values were already equal. Verify your JSON field names against the output of scriptableobject_export_json and retry.

What is the difference between scriptableobject_set and scriptableobject_set_serialized_property?

scriptableobject_set uses reflection and only reaches top-level public simple fields. The serialized property variant handles nested paths, arrays, object references, private [SerializeField] fields, gradients, curves, and [Flags] enums.