msw-sprite-ruid — Claude Code skill: RUID in sprite renderers
Rules for assigning RUID to SpriteRendererComponent.SpriteRUID and SpriteGUIRendererComponent.ImageRUID, plus the thumbnail:// prefix for icons.
npx skills add MSW-Git/msw-ai-coding-plugins-official --skill msw-sprite-ruid -a claude-codeWhat msw-sprite-ruid does
This skill covers assigning RUID to sprite renderers, both in the world and in UI. Both components take a sprite or animationclip RUID directly, so no separate animator is needed. In the world SpriteRUID stays a plain string; in UI ImageRUID is a DataRef, so runtime .mlua code writes DataRef(ruid). The { DataId: ruid } object form belongs in .ui and .model JSON or builder patch data only — the LSP rejects it in runtime code as a DataRef type mismatch.
The thumbnail:// prefix turns any resource into a static thumbnail image. It accepts sprite, animationclip, skeleton and avataritem. The main case is item icons: an avataritem RUID renders nothing on its own, and with the prefix it becomes an icon for an inventory slot, a shop listing or an equip preview. For live animation you skip the prefix and assign the animationclip RUID itself.
Watch the silent failures. A skeleton or avataritem RUID assigned without the prefix gives no error and draws nothing, which is worth checking first when a slot stays empty. The prefix is not accepted by CostumeManagerComponent.Custom*Equip, StateAnimationComponent.ActionSheet or SkeletonRendererComponent.SkeletonRUID. And do not prepend it to a RUID you already pulled as an icon or thumbnail through the msw-search skill. Multi-state setups (stand, move, attack) need StateAnimationComponent with an ActionSheet.
What it helps with
- assign a RUID to a sprite renderer in the world or in UI
- show an avatar item as an inventory slot icon
- render a static thumbnail from a skeleton or animationclip
- play a single animation straight in a renderer with no animator
- find out why a resource draws nothing and throws no error
Example prompts for the agent
- Assign an avataritem RUID as an inventory slot icon with
thumbnail:// - Put a single looping animation into
SpriteRUIDwith no prefix - Why does a
skeletonRUID inImageRUIDrender nothing?
How to install msw-sprite-ruid
1Skills CLI (Vercel)
npx skills add MSW-Git/msw-ai-coding-plugins-official --skill msw-sprite-ruid -a claude-code2Manually: put the files in place
~/.claude/skills/msw-sprite-ruid/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/msw-sprite-ruid/
1Skills CLI (Vercel)
npx skills add MSW-Git/msw-ai-coding-plugins-official --skill msw-sprite-ruid -a codex2Manually: put the files in place
.agents/skills/msw-sprite-ruid/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add MSW-Git/msw-ai-coding-plugins-official --skill msw-sprite-ruid -a cursor2Manually: put the files in place
.cursor/skills/msw-sprite-ruid/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install MSW-Git/msw-ai-coding-plugins-official msw-sprite-ruid2Manually: put the files in place
.github/skills/msw-sprite-ruid/SKILL.md1Skills CLI (Vercel)
npx skills add MSW-Git/msw-ai-coding-plugins-official --skill msw-sprite-ruid -a gemini-cli2Platform CLI
gemini skills install https://github.com/MSW-Git/msw-ai-coding-plugins-official --path plugins/msw-maker-base-skill/skills/msw-sprite-ruidManually: put the files in place
.devin/skills/msw-sprite-ruid/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add MSW-Git/msw-ai-coding-plugins-official --skill msw-sprite-ruid -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about msw-sprite-ruid
How do I install msw-sprite-ruid in Claude?
Run npx skills add MSW-Git/msw-ai-coding-plugins-official --skill msw-sprite-ruid -a claude-code. The skill file lands at ~/.claude/skills/msw-sprite-ruid/SKILL.md.
What does msw-sprite-ruid do?
It sets the rules for assigning RUID to SpriteRendererComponent.SpriteRUID and SpriteGUIRendererComponent.ImageRUID, and explains the thumbnail:// prefix for static thumbnails and icons.
How is thumbnail:// different from assigning an animationclip directly?
The prefix produces a static image, while a direct animationclip RUID plays the animation. Multi-state setups need StateAnimationComponent with an ActionSheet.