audio-video

Add sound effects, music streams, and video screens to Decentraland scenes.

1|Updated Apr 4, 2026
One-click install
npx skills add https://github.com/stom66/dcl-bowling --skill audio-video-stom66
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: audio-video
Source: https://github.com/stom66/dcl-bowling/tree/main/agent/skills/audio-video
Command: npx skills add https://github.com/stom66/dcl-bowling --skill audio-video-stom66

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Adding media to a Decentraland scene requires choosing the right component (AudioSource, AudioStream, or VideoPlayer), wiring up textures and materials for video, handling retriggering quirks of the CRDT-based ECS, and sourcing actual audio files — all of which is easy to get wrong without guidance. ## Core Features & Use Cases - Component Selection Guidance: Decision flow for choosing AudioSource (local spatial sound effects), AudioStream (radio/live URL streams), or VideoPlayer (video on meshes and GLTF nodes). - Reliable Playback Patterns: Correct retriggering via AudioSource.playSound/stopSound, finish detection through the playing flag or audioEventsSystem, and video state monitoring with videoEventsSystem. - Free Audio Catalog: A references/audio-catalog.md listing 50 free Decentraland audio clips with curl-ready download URLs across music, ambient, interaction, sound effects, and game mechanics categories. - Use Case: A creator wants a jukebox in their scene that plays music when clicked, plus a video screen showing a live HLS stream — this Skill provides the exact component setup, material wiring, and downloadable audio clips. ## Quick Start Add a click sound effect and looping background music to my Decentraland scene using free audio from the catalog.

Frequently Asked Questions about audio-video

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

FAQPage Schema
How do I play a sound effect on click in Decentraland SDK7?▼

Create an entity with AudioSource (playing: false), then call AudioSource.playSound(entity, clipUrl) inside a pointerEventsSystem.onPointerDown callback. Use playSound rather than mutating getMutable().playing, because repeated identical writes can be deduplicated by the LWW-CRDT and silently ignored.

What is the difference between AudioSource and AudioStream in Decentraland?▼

AudioSource plays local audio files (mp3, ogg, wav) and is spatial by default, making it suited for sound effects. AudioStream plays audio from an external URL like a radio stream, is non-spatial by default, and suits continuous background music or live broadcasts.

How do I display a video on a screen in a Decentraland scene?▼

Create an entity with MeshRenderer.setPlane, add a VideoPlayer component with the video src, then apply Material.Texture.Video({ videoPlayerEntity }) via Material.setBasicMaterial or setPbrMaterial. For curved screens on GLTF models, use GltfNodeModifiers to swap the material.

Can AudioSource use external URLs for audio files?▼

No, AudioSource only works with local file paths such as assets/Audio/clip.mp3. Download external audio into the scene's assets/Audio/ folder first with curl, then reference the local path in audioClipUrl.

Why does my sound only play the first time I click in Decentraland?▼

Hand-mutating getMutable().playing = true can be swallowed by LWW-CRDT deduplication when values are unchanged, so later clicks do nothing. Use AudioSource.playSound(entity, clipUrl), which writes the full component and reliably retriggers from position 0 every call.

How many videos can play simultaneously in a Decentraland scene?▼

The limit depends on each player's quality setting: 1 on Low, 5 on Medium, and 10 on High. Treat 1 as the only safe floor and avoid playing multiple videos at once unless explicitly required.