addressables-design
Source-anchored design rules for Unity Addressables 1.22.3/2.9.1
Manage ScriptableObject assets
Claude Code
$ npx -y skills add Besty0728/Unity-Skills --skill scriptableobject --agent claude-code
Codex
$ npx skills add Besty0728/Unity-Skills --skill scriptableobject -a codex -y
Cursor
$ npx skills add Besty0728/Unity-Skills --skill scriptableobject -a cursor -y
Gemini CLI
$ npx skills add Besty0728/Unity-Skills --skill scriptableobject -a gemini-cli -y
GitHub Copilot
$ npx skills add Besty0728/Unity-Skills --skill scriptableobject -a github-copilot -y
OpenCode
$ npx skills add Besty0728/Unity-Skills --skill scriptableobject -a opencode -y
Windsurf
$ npx skills add Besty0728/Unity-Skills --skill scriptableobject -a windsurf -y
name: unity-scriptableobject description: Manage ScriptableObject assets
Create and manage ScriptableObject assets. Parameters come from the schema (`GET /skills/schema?names=<skill>&wire=v2`); execution and dryRun rules: root [SKILL.md](../../SKILL.md).
Create a new ScriptableObject asset. | Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | typeName | string | Yes | - | ScriptableObject type name | | savePath | string | Yes | - | Asset save path |
Get properties of a ScriptableObject. **Parameters:**
Set a top-level public field/property on a ScriptableObject via reflection. For nested paths, arrays, object references or private `[SerializeField]` fields use `scriptableobject_set_serialized_property`. **Parameters:**
List available ScriptableObject types in the project. **Parameters:**
Duplicate a ScriptableObject asset. **Parameters:**
Set multiple fields on a ScriptableObject at once. fields: JSON object {fieldName: value, ...}
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | assetPath | string | Yes | - | Asset path of the ScriptableObject | | fields | string | Yes | - | JSON object with field-value pairs, e.g. `{"fieldName": "value", ...}` |
**Returns:** `{ success, fieldsSet, failed, results: [{ field, error }] }`: a key that is not a writable public field/property, or whose value its type rejects, fails on its own (listed in `results`) while the other keys are still set; malformed `fields` JSON is rejected before anything is written.
List Inspector serialized properties of a ScriptableObject asset โ `propertyPath`, type, and current value for every serialized field, including private `[SerializeField]` and nested/array children. Use the returned `propertyPath` values with `scriptableobject_set_serialized_property`.
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | assetPath | string | Yes | - | Asset path of the ScriptableObject | | includeChildren | bool | No | `true` | Recurse into nested/array child properties | | limit | int | No | `200` | Maximum number of properties to return | | includeHidden | bool | No | `false` | Also list fields the Inspector hides (`[HideInInspector]` members and Unity's `m_ObjectHideFlags` / `m_PrefabInstance` bookkeeping); they count toward `limit` |
**Returns:** `{ success, path, typeName, properties: [{ propertyPath, name, displayName, propertyType, type, isArray, editable, value }] }`; an `ObjectReference` property also has `referenceState` (`none`, `missing` or `assigned`), which tells a never-assigned reference from one whose target was deleted when `value` reads `"null"`.
Set a single Inspector serialized property by `propertyPath`. Works where `scriptableobject_set` cannot: nested fields, arrays/lists, `UnityEngine.Object` references, private `[SerializeField]` fields, gradients, animation curves, and `[Flags]` enums.
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | assetPath | string | Yes | - | Asset path of the target ScriptableObject | | propertyPath | string | Yes | - | Serialized property path (see syntax below); `speed` auto-falls back to `m_Speed` / `_speed` | | value | string | No | `null` | Value to set (format depends on property type) | | valueAssetPath | string | No | `null` | For ObjectReference properties: asset path of the asset to reference | | valueObjectType | string | No | `null` | Optional type filter for the referenced asset (e.g. `"Sprite"`, useful for sub-assets) |
**property
REST API-based AI-driven Unity Editor Automation Engine Let AI control Unity scenes directly through Skills ๐ We are now indexed by DeepWiki! Got questions? Check out the AI-generated docs โ The current official maintenance baseline is Unity 2022.3+.
Source-anchored design rules for Unity Addressables 1.22.3/2.9.1
Manage Addressables groups, entries, profiles and content builds (com.unity.addressables, reflection-based)
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, orโฆ
Ask which skill or flow fits your situation. A router over the skills in this repo.