unity-scriptableobject

Create, read, modify, and delete ScriptableObject assets in Unity projects.

2|Updated May 18, 2026
One-click install
npx skills add https://github.com/pcone-mm/NewFPG --skill unity-scriptableobject-pcone-mm
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: unity-scriptableobject
Source: https://github.com/pcone-mm/NewFPG/tree/main/.agents/skills/unity-skills/skills/scriptableobject
Command: npx skills add https://github.com/pcone-mm/NewFPG --skill unity-scriptableobject-pcone-mm

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 batch edits, nested fields, arrays, and object references. This Skill exposes programmatic operations to create, inspect, edit, duplicate, find, delete, and JSON round-trip ScriptableObject assets directly. ## Core Features & Use Cases - Full CRUD on SO assets: Create, read, set fields, duplicate, find by type, and delete ScriptableObject assets, with both reflection-based and serialized-property setters for nested paths, arrays, private [SerializeField] fields, gradients, curves, and object references. - JSON import/export: Export a ScriptableObject to JSON or import JSON data back into an asset, supporting both bare field objects and the MonoBehaviour envelope format. - Use Case: A game designer asks to rebalance an RPG item database. You find all ItemData ScriptableObjects, batch-update their stats via serialized property paths, and export the results to JSON for review. ## Quick Start Create a new ScriptableObject asset of type ItemData at Assets/Data/ItemData.asset and set its baseDamage field to 25.

Frequently Asked Questions about unity-scriptableobject

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

FAQPage Schema
How do I create a ScriptableObject asset in Unity programmatically?

Use scriptableobject_create with a typeName and savePath to instantiate and save a new ScriptableObject asset. To create the ScriptableObject C# class itself, use the script module with the ScriptableObject template instead.

How to set nested or private fields on a Unity ScriptableObject?

Use scriptableobject_set_serialized_property with a propertyPath like stats.maxHp or items.Array.data[2]. It handles nested fields, arrays, private [SerializeField] fields, object references, gradients, and curves that the reflection-based scriptableobject_set cannot reach.

Can I export and import ScriptableObject data as JSON?

Yes, scriptableobject_export_json serializes an asset to JSON and scriptableobject_import_json writes JSON back into an asset. Import accepts either a bare field object or the MonoBehaviour envelope produced by export.

Why did my ScriptableObject JSON import change nothing?

If no serialized field matched or values were already equal, import returns success with a warning meaning nothing was written. Verify field names against the scriptableobject_export_json output and retry with matching keys.

What is the difference between scriptableobject_set and set_serialized_property?

scriptableobject_set uses reflection and only reaches top-level public simple fields. scriptableobject_set_serialized_property uses Unity's serialized property system, supporting nested paths, arrays, references, private fields, enums with flags, gradients, and curves.