npcs

Create non-player characters in Decentraland scenes using the NPC Toolkit or AvatarShape.

Updated Sep 11, 2026
One-click install
npx skills add https://github.com/ansonj-dev/neon-reverse --skill npcs-ansonj-dev
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: npcs
Source: https://github.com/ansonj-dev/neon-reverse/tree/main/agent/skills/npcs
Command: npx skills add https://github.com/ansonj-dev/neon-reverse --skill npcs-ansonj-dev

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires dcl-npc-toolkit, and includes references (resource) components.

What problem does it solve? Adding interactive non-player characters to a Decentraland SDK7 scene requires choosing between GLB-based NPCs with dialogue and movement, or avatar-look NPCs with wearables, and each approach has engine-specific pitfalls that cause crashes, clipped UI, or broken interactions. ## Core Features & Use Cases - NPC Toolkit integration: Create GLB-based NPCs with dialogue trees, walking paths, state machines, and interaction handling via the dcl-npc-toolkit library. - AvatarShape NPCs: Spawn NPCs that look like Decentraland avatars with custom wearables, emotes, mannequin display mode, and tween-driven movement. - Interactivity patterns: Add click handling via invisible MeshColliders or proximity-based triggers, since AvatarShape entities have no collider by default. - Use Case: Build a quest-giver shopkeeper that walks a patrol path, opens a dialogue window with short button labels, and plays emotes, while avoiding the createDialogWindow theme crash and faceUser parenting bugs. ## Quick Start Add an NPC to my Decentraland scene that greets players with dialogue when they walk up to it.

Frequently Asked Questions about npcs

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

FAQPage Schema
How do I add an NPC with dialogue to a Decentraland scene?

Install dcl-npc-toolkit and call npc.create with a position, GLB model, idle and walk animations, and an onActivate callback that calls npc.talk with your dialog array. The toolkit handles dialogue UI, movement paths, and interaction out of the box.

NPC Toolkit vs AvatarShape in Decentraland, which should I use?

Use the NPC Toolkit when you need a GLB model with dialogue, walking, and state machine behavior. Use AvatarShape when the NPC must look like a Decentraland avatar with wearables, expressions, and emotes.

Why does createDialogWindow crash with a theme undefined error?

createDialogWindow only sets the dialog component, not npcDataComponent, so openDialogWindow fails reading theme. Fix it by calling npcDataComponent.set on the window entity with a valid theme such as lightTheme and the minimal required fields.

Can players click on an AvatarShape NPC in Decentraland?

AvatarShape entities have no collider, so pointer events do not register directly. Add an invisible MeshCollider cylinder and use pointerEventsSystem.onPointerDown, or trigger interaction through a proximity distance check in a system.

Why are my NPC dialog button labels getting cut off?

Dialog buttons render with nowrap text in a fixed-width slot, silently clipping anything past roughly 15 characters. Use short labels like Yes or Decline, or reduce fontSize to fit longer text.

How do I play a custom emote on an AvatarShape NPC?

Set expressionTriggerId to a built-in emote name or a scene emote .glb path, and bump expressionTriggerTimestamp to replay the same emote. There is no triggerSceneEmote equivalent for AvatarShape entities.