.claude/skills/polish-game/SKILL.md
Applies visual polish using rendering MCP tools — materials, lighting, particles, post-processing, UI theming, and game feel. Use after implement-game to match reference screenshots.
npx skillsauth add punkfuncgames/tetris-clone polish-gameInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
.mcp.json must exist with correct paths (set up by clone-game Step 0b)Before any polish work, verify the MCP bridge is running:
.mcp.json exists with valid pathsexecute_editor_method (e.g., Application.unityVersion) to confirm the Unity editor is reachablelist_materials to verify rendering tools are accessible"MCP bridge is not connected. Please:
- Open the Unity project in the editor
- Restart Claude Code so the MCP server connects
- Run
/polish-gameagain"
Do NOT proceed with any polish work if MCP is not connected. All polish steps require MCP rendering tools.
| Tool | Purpose |
|------|---------|
| create_material | Create a new material with a specified shader |
| set_material_property | Set a property on a material (color, float, texture) |
| assign_material | Assign a material to a renderer on a GameObject |
| Tool | Purpose |
|------|---------|
| create_light | Create a light (Directional, Point, Spot, Area) |
| modify_light | Change light properties (color, intensity, range, shadows) |
| set_environment_lighting | Set ambient light, skybox, fog, reflections |
| Tool | Purpose |
|------|---------|
| create_particle_system | Create a particle system on a GameObject |
| set_particle_module | Configure particle modules (emission, shape, color, size, velocity) |
| Tool | Purpose |
|------|---------|
| create_volume | Create a global or local URP Volume |
| add_volume_override | Add an override to a Volume (Bloom, Vignette, ColorAdjustments, etc.) |
| set_volume_override | Modify an existing volume override property |
| Tool | Purpose |
|------|---------|
| capture_and_evaluate | Capture a screenshot and AI-evaluate it against a reference or prompt |
| capture_burst_sequence | Capture multiple frames in rapid succession for motion analysis |
Note: Step numbering continues from Step 0 (Verify MCP Connection) above.
Use capture_and_evaluate to capture the current state of the game. Provide the reference screenshot as comparison. Note the gaps between current and target.
For each visual entity in the game:
create_material with appropriate URP shader:
Universal Render Pipeline/Lit — standard PBR surfacesUniversal Render Pipeline/Unlit — flat/stylized looksUniversal Render Pipeline/Simple Lit — mobile-friendly litShader Graphs/Custom — custom effectsset_material_property to configure colors, metallic, smoothness, emissionassign_material to the target rendererWork in this order: ground/environment, player, enemies/obstacles, collectibles, projectiles.
Set up the lighting rig:
create_light type: Directionalmodify_light — color matching reference palette, intensity, shadow settingsset_environment_lighting — ambient color/intensity, fog color/densityAdd particle effects for game feel:
| Context | Particle Type | Key Settings | |---------|--------------|-------------| | Impacts | Burst, short lifetime | High start speed, small size, impact color | | Rewards | Burst upward, sparkle | Gold/bright colors, gravity, size over lifetime | | Transitions | Screen wipe, fade | Full-screen, short duration | | Ambient | Continuous, subtle | Low emission rate, slow drift, transparent | | Trails | Following entities | Trail module, color over lifetime |
For each: create_particle_system then set_particle_module for Main, Emission, Shape, Color over Lifetime, Size over Lifetime, Velocity over Lifetime as needed.
Create a global URP Volume and add overrides:
create_volume — global, priority 1Apply USS (UI Toolkit StyleSheets) to match reference:
Add juice and feedback:
capture_and_evaluate — compare current state against referenceUse capture_burst_sequence if motion/animation quality needs evaluation.
git add Assets/
git commit -m "art({game-name}): apply visual polish and post-processing"
Before/after evaluation summaries, list of materials and effects created, and any remaining visual gaps noted.
development
WalletModule reference — currency management with BigDouble support, reactive properties, caps, lifetime stats, and persistence. Use when working with currencies, wallets, or financial systems.
development
UnlockConditionModule reference — composable unlock conditions using ScriptableObjects with AND/OR/NOT logic, stat/currency/upgrade/prestige/gamestate/boolean checks, reactive service layer with progress tracking. Use when implementing unlock systems, gating, or progression requirements.
development
UndoModule reference — command pattern with undo/redo stacks, command merging, and reactive state. Use when implementing undo/redo, undoable actions, or command patterns.
tools
Unity UI Toolkit reference — UXML documents, USS styling, MVVM pattern (ViewModel + Presenter), custom VisualElements, responsive layout, animations, performance guidelines, and complete Figma-to-UI-Toolkit property mapping. Use when building or modifying UI with UI Toolkit, creating UXML/USS files, writing ViewModels or Presenters, designing screens/panels/components, or converting Figma designs to UI Toolkit.