inputsystem-modify

Applies SerializedMember diffs to Unity InputActionAsset objects via ReflectorNet TryModify.

Updated Jul 20, 2026
One-click install
npx skills add https://github.com/PMK95/GridSquad --skill inputsystem-modify-pmk95
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: inputsystem-modify
Source: https://github.com/PMK95/GridSquad/tree/main/GridSquadUnity/.agents/skills/inputsystem-modify
Command: npx skills add https://github.com/PMK95/GridSquad --skill inputsystem-modify-pmk95

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires unity-mcp-cli.

What problem does it solve? Unity's Input System stores bindings in .inputactions assets, and some asset-level fields and properties are not exposed by dedicated editing tools. This Skill provides a generic escape hatch to modify any field or property on an InputActionAsset directly, without hand-editing serialized files. ## Core Features & Use Cases - Generic Asset Modification: Applies a SerializedMember diff to any field or property of an InputActionAsset via ReflectorNet's TryModify. - Field/Property Routing: Routes fields through the 'fields' channel and properties through the 'props' channel, matching how ReflectorNet resolves members. - Automatic Persistence: Re-serializes and saves the asset back to disk on success, returning applied modification logs. - Use Case: You need to change an asset-level setting on a .inputactions file that no dedicated tool exposes. First inspect the structure with the inputsystem-get skill, then apply the targeted diff here. ## Quick Start Ask the AI to modify a field on your .inputactions asset by providing the asset path and a SerializedMember diff, after inspecting its structure with inputsystem-get.

Frequently Asked Questions about inputsystem-modify

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

FAQPage Schema
How do I modify a Unity .inputactions asset field programmatically?▼

Provide the Assets-rooted path to the .inputactions asset and a SerializedMember diff describing the change. The tool loads the asset, applies the diff via ReflectorNet TryModify, and saves the re-serialized asset back to disk.

How to change InputActionAsset properties not exposed by dedicated tools?▼

Use this generic modify tool as an escape hatch. First inspect the asset structure with the inputsystem-get skill, then build a SerializedMember diff targeting the specific field or property and apply it.

What is the difference between fields and props in the SerializedMember diff?▼

Fields must be routed through the 'fields' channel and properties through the 'props' channel. ReflectorNet resolves them separately with no cross-fallback, so placing a property in fields will not apply.

Why is my InputActionAsset modification not being applied?▼

The most common cause is routing a property through the fields channel or vice versa, since ReflectorNet has no cross-fallback. Also verify the assetPath is Assets-rooted and the typeName in the SerializedMember is correct.

When should I use this generic modify tool instead of dedicated Input System tools?▼

Use it only for asset-level fields or properties that the dedicated tools do not cover. Prefer dedicated tools when available, and always inspect the structure with inputsystem-get first to build an accurate diff.