What is it?
DecorSFX is a lightweight, "just-because-it's-fun" addon designed to spice up the soundscape of World of Warcraft player housing. It offers a UI that, when used in tandem with SharedMedia addons, lets you assign specific audio files to play when right clicking any identifiable (and non-'secret') object, with the primary intent to spice up the soundscape of interactable housing decor elements. A mad scienstist lair should sound like one!
As a knock-on effect of how this addon is designed, it also works on objects outside of housing, such as certain NPCs, mailboxes, and even your fellow players. It allows you to assign custom, immersive (or silly) sound effects to these world objects using your personal audio files or those downloaded as part of pre-compiled SharedMedia audio package addons.
Key Features
- One-Click Item Capture: Click "Add New Object" from the main UI menu and right-click any interactive prop to instantly add it to your soundboard directory list.
- Simple UI Layout: Type
/dsfx,/decorsfx, or click the native Add-On Compartment icon near your minimap to toggle the management dashboard. - Easy Editing: Left-click any tracked item row to open a scrollable, alphabetically sorted selector panel. Your most recent addition in the current session will be highlighted in green for easy tracking.
- Zero Input Interruption: Calibrated so camera mouse-look panning won't accidentally trigger your custom sound effects.
- Basic Audio Spam Protection: A brief cooldown safety net protects your ears from redundant, hardware double-clicking macro glitches (though if you rapidly trigger a dozen long audio files back-to-back, don't blame me if it gets loud!).
To be crystal clear, this addon only plays the assigned sound effects locally. You cannot use it to annoy your friends with goofy sound effects unless you somehow trick them into installing everything themselves.
Known Issues / Limitations
Due to how the game engine handles scenery decoration objects, you may experience the following behavioral quirks:
- Out-of-Range Triggers: Sounds will trigger outside of standard interact range. The addon functions by scanning the tooltips of elements you are hovering over, irrespective of player distance. (No reliable engine method exists to calculate absolute player-to-housing-prop distance vectors).
- Audio Cooldown: A 2.5 second cooldown delay for each individual element you assign a SFX to is built-in to prevent audio from stacking/playing multiple times per interact. As such, if you're spamming a bunch of the same item in rapid succession, you won't hear SFX's play for any after the first, until the 2.5 sec cooldown is done.
- Decor is More Like a... Guideline: Since WoW cannot track interactive scenery props the way it tracks NPCs, this addon relies entirely on world-hover tooltip strings. Consequently, it will also play sounds for anything with a right-click tooltip interaction (NPCs, nodes, mailboxes, etc.). While built specifically to make housing levers and gears make fun noises, you can technically use this addon on anything identifiable, including players (though this could make click cast healing setups... interesting).*
How to Setup Custom Audio Files
- CallbackHandler-1.0 (BSD 3-Clause License)
- LibStub (MIT License)
- LibSharedMedia-3.0 (LGPL v2.1)
- Navigate to your game files directory at: `_retail_\Interface\AddOns\SharedMedia_MyMedia\sound\`
- Drop your custom `.ogg` format sound files directly inside that folder.
- Double-click the `MyMedia.bat` compiler script inside the parent `SharedMedia_MyMedia` folder to register your new sounds.
- Completely close and restart World of Warcraft (the game client cannot discover new physical file assets on a simple `/reload`).
- Log in, open the menu via DecorSFX slash commands or the minimap compartment, add an object, and select your custom sound file straight out of the selection list!
Disclaimer: Google Gemini (and to a lesser extent ChatGPT) prompt-based engineering was heavily used to build this addon. This started as a personal weekend project to make a way to play a couple, specific hard-coded sound effects and grew into something more scalable that I thought other folks might get some use out of too.

