# validate-urp-render-graph-renderer-feature

Reviews a Unity 6 URP ScriptableRendererFeature built on the Render Graph API: material binding, resource wiring, pass structure. Useful before you merge the feature.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 5600 installs · ★ 1149
- Author: Unity-Technologies
- License: LicenseRef-Unknown · policy=link-only · description only; the file stays with the author
- Source: https://github.com/Unity-Technologies/skills/tree/HEAD/skills/validate-urp-render-graph-renderer-feature/SKILL.md
- Updated: 2026-10-23
- HTML: https://affpapa.org/en/nevibecode/skills/validate-urp-render-graph-renderer-feature

## What it does

The skill reviews your `ScriptableRendererFeature` and its pass implementation. It checks material binding, texture resource wiring, the static render function, Render Graph descriptor usage and API versioning. You get a summary, confirmed issues, risky assumptions, targeted fixes and corrected snippets.

It also inspects `PassData`. Every field the render function reads has to be assigned again during the current recording; if some fields survive from a previous frame, the skill flags it. Another common find is a fresh `TextureDesc` where a descriptor from an existing graph resource would do, such as `resourceData.activeColorTexture.GetDescriptor(renderGraph)`.

For a confident review the skill expects the Unity version, the URP version, the feature and pass code, plus intended behavior and expected inputs and outputs. Without them, some findings land in the risky-assumptions section instead. The source text is cut off, so the full checklist may run longer than what is described here.

## Requirements
- Works with: Unity

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add Unity-Technologies/skills --skill validate-urp-render-graph-renderer-feature -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/validate-urp-render-graph-renderer-feature/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/validate-urp-render-graph-renderer-feature/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add Unity-Technologies/skills --skill validate-urp-render-graph-renderer-feature -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/validate-urp-render-graph-renderer-feature/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add Unity-Technologies/skills --skill validate-urp-render-graph-renderer-feature -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/validate-urp-render-graph-renderer-feature/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install Unity-Technologies/skills validate-urp-render-graph-renderer-feature
```

2. **Manually: put the files in place**
- File: `.github/skills/validate-urp-render-graph-renderer-feature/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add Unity-Technologies/skills --skill validate-urp-render-graph-renderer-feature -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/Unity-Technologies/skills --path skills/validate-urp-render-graph-renderer-feature
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/validate-urp-render-graph-renderer-feature/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add Unity-Technologies/skills --skill validate-urp-render-graph-renderer-feature -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/Unity-Technologies/skills/tree/HEAD/skills/validate-urp-render-graph-renderer-feature/SKILL.md

## When to use it
- check material binding in a pass before integrating it
- spot a texture used as a write target instead of a read source
- confirm the render function is declared `static`
- catch `PassData` fields left over from a previous frame
- decide between a graph-derived descriptor and a new one

## Example prompts
- Review this Unity 6 URP `ScriptableRendererFeature`: material binding, resources, pass structure
- Here is the feature and pass code plus intended behavior — tell me what breaks
- Check whether `PassData` keeps a stale handle between frames

## Similar
- [unity-developer](https://affpapa.org/en/nevibecode/skills/unity-developer.md) — skill · 3000 installs
- [game-feel](https://affpapa.org/en/nevibecode/skills/game-feel.md) — skill · 9700 installs
- [audio-design](https://affpapa.org/en/nevibecode/skills/audio-design.md) — skill · 7400 installs
- [reverse-engineering](https://affpapa.org/en/nevibecode/skills/rehan-remade-reverse-engineering.md) — skill · 1600 installs
- [mashup-mods](https://affpapa.org/en/nevibecode/skills/mashup-mods.md) — skill · 1500 installs
- [make-game](https://affpapa.org/en/nevibecode/skills/make-game.md) — skill · 1100 installs

From the same set: [unity-technologies/skills](https://affpapa.org/en/nevibecode/by/unity-technologies/skills.md) — 31 cards

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
