PluginBench
Skill
Pass
Audit score 90

msw-sprite-ruid

msw-git/msw-ai-coding-plugins-official

Assign sprite and animation RUIDs directly to renderers; use thumbnail:// prefix for item icons and static previews.

What is msw-sprite-ruid?

Native RUID type support for SpriteRendererComponent (world) and SpriteGUIRendererComponent (UI). Handles sprite and animationclip RUIDs directly, and provides thumbnail:// prefix to render static images from avataritem, skeleton, and other resources as icons or previews.

  • Assign sprite or animationclip RUIDs directly to SpriteRUID (world) and ImageRUID (UI) properties without extra animator components
  • Render static thumbnail images from any resource type using thumbnail:// prefix for inventory icons, shop listings, and item previews
  • Support both single looping animations and multi-state animations via StateAnimationComponent integration
  • Prevent silent failures when assigning skeleton or avataritem RUIDs by using the correct thumbnail:// prefix

How to install msw-sprite-ruid

npx skills add https://github.com/msw-git/msw-ai-coding-plugins-official --skill msw-sprite-ruid
Claude Code
Cursor
Windsurf
Cline

How to use msw-sprite-ruid

  1. 1.For world sprites: assign sprite or animationclip RUID directly to SpriteRendererComponent.SpriteRUID as a plain string
  2. 2.For UI images: assign sprite or animationclip RUID to SpriteGUIRendererComponent.ImageRUID as { DataId = ruid }
  3. 3.For static thumbnails (icons, previews): prepend thumbnail:// to any resource RUID before assigning to SpriteRUID or ImageRUID
  4. 4.For multi-state animations (stand/move/attack): use StateAnimationComponent + ActionSheet instead of assigning animationclip directly
  5. 5.Search for avatar item and resource RUIDs using the msw-search skill before assigning

Use cases

Good for
  • Displaying avatar item icons in inventory slots and shop UI
  • Rendering background decorations or idle effects as looping animations
  • Creating static preview thumbnails for equipment or cosmetic items
  • Assigning animationclip RUIDs directly to world sprite renderers without StateAnimationComponent for simple animations
  • Showing item icons in equip preview panels and UI slots
Who it's for
  • Game developers building inventory and shop UI systems
  • Developers implementing avatar customization and equipment preview screens
  • Programmers working with sprite-based animations and visual effects
  • UI engineers creating item icon displays and thumbnail galleries

msw-sprite-ruid FAQ

What happens if I assign a skeleton or avataritem RUID without thumbnail:// prefix?

It fails silently — no error is thrown, but nothing renders. Always use the thumbnail:// prefix for skeleton and avataritem RUIDs.

Can I use thumbnail:// for live animations?

No. The thumbnail:// prefix creates a static image only. For live animations, assign the animationclip RUID directly without any prefix.

Where does the thumbnail:// prefix go in UI components?

Inside the DataId field: { DataId = "thumbnail://" .. ruid }. It is not a separate property.

Do I need StateAnimationComponent for all animations?

No. Use it only for multi-state animations (stand/move/attack/hit/die). For single looping animations, assign the animationclip RUID directly to SpriteRUID or ImageRUID.

Should I apply thumbnail:// to a RUID already returned as an icon from msw-search?

No. The thumbnail:// prefix converts a source resource into its thumbnail. If msw-search already returned a thumbnail sprite RUID, assign it directly without the prefix.

Full instructions (SKILL.md)

Source of truth, from msw-git/msw-ai-coding-plugins-official.


name: msw-sprite-ruid description: "SpriteRendererComponent.SpriteRUID (world) and SpriteGUIRendererComponent.ImageRUID (UI) — native RUID type support (sprite / animationclip direct playback), thumbnail:// prefix for rendering avataritem / skeleton / animationclip as static thumbnail image, avatar item icon in inventory / shop / UI slot. Use when: assigning any RUID to a sprite renderer component, displaying an avatar item or resource as a thumbnail or icon, using animationclip directly in a renderer, rendering inventory item icons, displaying a thumbnail image in a world entity. Keywords: SpriteRUID, ImageRUID, thumbnail://, animationclip, RUID apply, RUID assign, thumbnail, item icon, sprite RUID, RUID to renderer"

MSW Sprite RUID

Rules for assigning a RUID to SpriteRendererComponent.SpriteRUID (world) or SpriteGUIRendererComponent.ImageRUID (UI).


Native type support

Both components accept a sprite or animationclip RUID directly — no extra animator component required.

ComponentPropertyValue formNative RUID types
SpriteRendererComponent (world)SpriteRUIDplain stringsprite, animationclip
SpriteGUIRendererComponent (UI)ImageRUID{ "DataId": "..." }sprite, animationclip
-- World: sprite or animationclip RUID both work
self.Entity.SpriteRendererComponent.SpriteRUID = ruid

-- UI: sprite or animationclip RUID both work
self.Entity.SpriteGUIRendererComponent.ImageRUID = { DataId = ruid }

A skeleton / avataritem RUID assigned without the thumbnail:// prefix fails silently (no error, nothing renders).


animationclip: single animation vs multi-state

  • Single looping animation (background deco, idle effect, prop): set SpriteRUID or ImageRUID directly to the animationclip RUID.
  • Multi-state (stand / move / attack / hit / die): use StateAnimationComponent + ActionSheet. See msw-general/references/monster.md.

thumbnail:// prefix — static thumbnail from any resource

Prepend thumbnail:// to SpriteRUID or ImageRUID to render a static thumbnail image from any resource — useful for icons, preview images, and item thumbnails.

thumbnail://<32-char hex RUID>

Accepted types: sprite · animationclip · skeleton · avataritem

-- World thumbnail (any resource type)
self.Entity.SpriteRendererComponent.SpriteRUID = "thumbnail://" .. anyRuid

-- UI thumbnail (any resource type)
self.Entity.SpriteGUIRendererComponent.ImageRUID = { DataId = "thumbnail://" .. anyRuid }

Primary use case: avataritem icons

avataritem RUIDs cannot render without thumbnail://. With the prefix they become item icons for inventory slots, shop listings, and equip previews.

slotEntity.SpriteGUIRendererComponent.ImageRUID = {
    DataId = "thumbnail://" .. avatarItemRuid,
}

Search avatar item RUIDs with the msw-search skill (searchAvatarItems).


Common pitfalls

  • skeleton / avataritem directly into SpriteRUID / ImageRUID without prefix → silently invisible.
  • thumbnail:// = static image only. For live animation, assign the animationclip RUID directly (no prefix).
  • ImageRUID prefix goes inside DataId: { "DataId": "thumbnail://..." } — not a separate field.
  • CostumeManagerComponent.Custom*Equip, StateAnimationComponent.ActionSheet, and SkeletonRendererComponent.SkeletonRUID do not accept thumbnail://.
  • Do not prepend thumbnail:// to a RUID that was already retrieved as a thumbnail or icon image from msw-search. The prefix converts a source resource into its thumbnail — applying it to an already-thumbnail sprite is logically redundant. If the search query targeted an icon / thumbnail image and returned a sprite RUID, assign that RUID directly without any prefix.
  • To search for RUIDs use the msw-search skill — searchAvatarItems for avatar items; searchResources for everything else.