About unity-volume
A skill module for managing SRP Volumes in Unity 2022.3+, for developers configuring URP or HDRP scenes. It supports querying, creating, and editing Volumes and profiles, with guidance to inspect live component types and parameters rather than guess.
Key features
- 01Create VolumeProfile assets
- 02Create global or local Volumes
- 03List pipeline-supported component types
- 04Inspect components and parameters
- 05Add, remove, and edit component overrides
- 06Set multiple parameters in a batch
Use cases
- 01Create global or local scene Volumes
- 02Add component overrides to a VolumeProfile
- 03Inspect parameters before adjusting component values
MCP support
The module provides skills for querying and modifying Unity Volumes, including creating profiles, managing Volumes, and configuring component parameters.
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ besty0728/ unity-skills --skill unity-volumeAfter installing, type/unity-volumein Claude Code to confirm it loaded.
Details
From the project READMEBefore calling any skill in this module: if you are about to call a skill with parameters guessed from its name or description, STOP — read this file (or fetch its schema via
GET /skills/recommend?includeSchema=true) first. If you already have the parameter definitions from recommend/schema, you may proceed straight to dryRun.
Triggers
- Setting up volumes
- Creating or loading a VolumeProfile
- Adding global/local volumes
- 搭建 Volume、创建或加载 VolumeProfile、向场景添加全局/局部 Volume
Volume Skills
Shared SRP Volume framework skills for Unity 2022.3+ — works in URP and HDRP via SRP Core.
Operating Mode
- Query skills (
volume_list_component_types,volume_get_component) areSkillMode.SemiAuto— they run in all three modes without grant. - Mutating skills (
volume_profile_create,volume_create,volume_set_profile,volume_add_component,volume_set_parameter,volume_set_parameter_batch) areSkillMode.FullAuto— under Approval they need user grant (grant triggers one server-side execute returning the result); under Auto / Bypass they execute directly. volume_remove_componentcarriesSkillOperation.Deleteand is auto-forbidden in Approval / Auto modes (NeverInSemi). Only Bypass or the user-managed Allowlist can run it.
SRP Package Stub
This module is compiled against com.unity.render-pipelines.core (SRP_CORE). When neither URP nor HDRP is installed (no SRP Core), every skill returns a stub { error: "Scriptable Render Pipeline Core package … is not installed." } (RenderPipelineSkillsCommon.NoSRP()). The stub is a diagnostic payload, not a permission denial — it does not require grant and is not treated as NeverInSemi. Inspect project_get_render_pipeline first when you see this error.
Guardrails
Routing:
- For Volume container/profile CRUD: use this module
- For high-level modern post-processing effects like Bloom/DOF/Tonemapping: prefer
postprocess
Runtime-first rules:
- Always call
volume_list_component_typesbefore assuming a component type exists on the active pipeline - Use
volume_get_componentafter add/create to inspect the actual parameter names before writing values - Prefer exact parameter names returned by the live component data instead of guessing from memory
volume_set_parameter_batchexpectsitemsto be a JSON array string
Skills
volume_profile_create
Create a VolumeProfile asset.
volume_create
Create a global or local Volume GameObject.
volume_set_profile
Assign or replace the profile on an existing Volume.
volume_list_component_types
List explicit supported VolumeComponent types for the active SRP pipeline.
volume_add_component
Add a VolumeComponent override to a VolumeProfile.
volume_remove_component
Remove a VolumeComponent override from a VolumeProfile.
volume_get_component
Inspect a VolumeComponent override and its parameters.
volume_set_parameter
Set one override parameter on a VolumeComponent.
volume_set_parameter_batch
Set multiple override parameters on one VolumeComponent.
Exact Signatures
Exact names, parameters, defaults, and returns are defined by GET /skills/schema or unity_skills.get_skill_schema(), not by this file.