← All proposalsWork blog
Oil painting of musicians performing on a candlelit tavern stage while townsfolk listen

The Unplayed Score

A deep dive into Shroud of the Avatar's music and sound, what Ultima Online, LOTRO and eight games since can teach it, and thirty concrete proposals.

Shroud of the Avatar shipped a real ABC/MML music engine in 2015 — one of a handful of MMOs ever to do so — and in August 2026 it built the performer economy on top: Performance stances, the Inspiration meter, /watch and /tip, craftable stages, instrument quality. This document surveys what a dozen games learned about player music, voice, and game audio, measures our systems against that history, and proposes thirty improvements, each grounded in the actual classes that would carry them.

0 · Executive summary 1 · Where we are today 2 · Lessons: Ultima Online to modern 3 · The thirty proposals    Tier 1 · Quick wins (S1–S8)    Tier 2 · Core upgrades (S9–S20)    Tier 3 · Server-backed (S21–S25)    Tier 4 · The voice ladder (S26–S30)    Considered and rejected 4 · The Songbook window 5 · Sequencing 6 · Appendix
Section 0

Executive summary

Ultima Online made "bard" a combat verb and never put a note of music in it: Provocation, Peacemaking and Discordance are ability icons, and the instrument is a tool you carry, not a thing you play. LOTRO went the other way in 2007 and proved that notation plus community is an end-game: its ABC system still draws five to nine hundred players to a hilltop every summer for Weatherstock, fifteen years running, on tooling volunteers built because the studio never did. Shroud of the Avatar occupies a rare position between the two. It shipped a real ABC/MML engine in 2015, and in 2026 it built the performer economy UO never had and LOTRO never tried. What remains is everything around the engine.

  1. Discovery — playing a song means typing a filename into chat; there is no song window, no now-playing readout, and no way to find a live performance. (S5, S9, S24)
  2. Participation — ensembles stop at the party line, a bystander holding a lute has no way to join in, and a musician with a MIDI keyboard has no way to plug it in. (S11–S14)
  3. Housing and world — the one deco item that performs for visitors plays developer recordings, not player music; town owners cannot score their own streets. (S20–S22)
  4. The mix — no ambience slider, no combat music, weather that makes no sound, and a mute that has never actually muted a musician. (S1–S4, S6, S16–S18)

Thirty proposals follow. Twenty-two are client-side work alone; the eight that touch a server or an outside service are flagged with exactly what they cost, and the voice tier is honest about which rungs are practical and which are physics. Where a proposal exists because players asked for it on the wishlist or the forums, the card says so.

#ProposalTierSizeServerOne-line pitch
S1Make mute actually mute Built1Snoneblock-mute works; per-performer volume slider
S2Audible range + note-rate caps Built1Snonesongs get a real radius; free-play notes get a ceiling
S3One rule for starting songs1Snone/playstart obeys the same gates as /play
S4An honest Instruments slider1Snoneone slider provably governs all player music
S5What song is playing?1Snone/song names the track, the performer, the composer
S6Ambience slider1Snonebirds and wind get their own knob
S7Music stingers1Snoneachievements and milestones get a musical flourish
S8Distinct bard skill icons1Snonethe new Performance skills stop looking alike
S9The Songbook window2Mnonebrowse, search and play your songs; no more filename typing
S10Playable piano keyboard Built2Mnonean on-screen keyboard for live play
S11MIDI keyboard input Built2Mnoneplug in a real keyboard and just play
S12Band tokens Built2Snone/band syncs ensembles across parties and guilds
S13Ensemble panel2Mnonepart assignment, ready check, late join, optional quantize
S14Jam-in2M–Lnoneone key joins a nearby song as a backing part
S15Starter library + policy Built2S–Mnonebundled license-clean songs, import guidance, a plain policy
S16Combat and adaptive music2Mnonemusic that notices when you draw steel
S17Weather audio2Mnonerain you can hear; the loops already exist
S18Loop-fatigue pass2Mnonevaried ambient soundscapes for the busiest biomes
S19Sound captions2Mnonevisual cues for meaningful sounds
S20POT ambient audio kit2S–Mcatalog rowsplaceable soundscapes for town owners
S21The Orchestrion Box3M–Ldeco property + opa deco that performs your sheet music while you are offline
S22Collectible song cylinders3S–Mitem rowsthe soundtrack as loot
S23Sheet-music economy3M2 record fieldscomposer credit, grades, vendor discoverability
S24Gig board3M–Lnew collection + opsvenue registry and concert calendar
S25Artifact instruments3S–Mproperty migrationlooted instruments join the quality ladder
S26Venue stream URL4Mdeco propertylive broadcasts at player venues, opt-in
S27Proximity voice pilot + safety kit4Lreport intakepush-to-talk in social hubs, with real mute and reporting
S28Herald's horn and whisper4Snoneone item, two voice radii
S29Read-aloud TTS4S–Mnonechat read aloud, as accessibility
S30Community-tool API4Snonea sanctioned hook for player-built voice tools
Section 1

Where we are today

Two systems share the word "music" and are almost entirely disjoint in code. The ABC/MML performance system (2015): eighteen instruments plus a one-man band, free play on three octaves, .abc and .mml file playback from a local folder, multi-part band files, party-synced ensembles, stationary pianos and organs, and craftable sheet music that carries a player-written song as a tradeable item. The bard economy (August 2026): Performance and entertainer stances, the Inspiration meter, /watch and /tip, the craftable Performance Stage, instrument quality and masterworking, and the Flourish, Dance and Group Dance entertainer moves. The two share exactly one surface, the instrument equip slot; the bard loop never inspects what song is playing. That disjointness is why most of this page can be built without touching combat balance.

And yet the whole player-facing music UI is a chat window:

Chat
[You] /playlist
Songs: RuleBritannia.abc, greensleeves.abc, kingsport.txt
[You] /play greensleeves sync
Aldous has prepared Greensleeves. Party members type /playstart to begin.
[Party] Cora: which file was that? mine is named greensleeves2
[You] /playstart
You begin to play.
[Local] Jorat: how do I turn this down

The machinery every proposal plugs into

A performed song is not streamed: the whole file is compressed and uploaded once (64 KB cap), the server relays it to everyone nearby in 5 KB chunks, and each client's InstrumentPlayer synthesizes the notes locally on its own thread. Ensembles work by replicating a shared start tick; a late joiner seeks into the song. Free-play notes are the one exception, sent as individual note events. The bard economy sits beside all of this with its own manager and server ops. Every proposal below extends one of these nodes; none forks the pipeline.

flowchart LR
  A[".abc / .mml / band .txt
Sheet Music folder"] --> C["InstrumentManager
load + queue"] B["Sheet Music item
(inventory / database)"] --> C C --> D["gzip upload
64 KB cap"] D --> E["game server relay
5 KB chunks"] E --> G["nearby clients download"] G --> H["InstrumentPlayer synth
per-entity thread"] C -- "replicated start tick + seek" --> H K["free play, keys 1-8"] -- "per-note events" --> H subgraph BARD ["bard economy 2026 (beside it, not inside it)"] W["/perform /watch /tip"] --> X["Inspiration, venues, tips"] end
The one hard constraint. The server does not know where players stand. Range, facing and line of sight are always computed on the client, and the server bounds what those claims can be worth using facts it does own: same scene, scene type, live session, cooldowns, per-second ceilings. The bard economy already ships on that pattern, and every proposal here that cares about distance inherits it. Nothing below pretends otherwise.

Built this year — credited, not re-proposed

The August 2026 bard rework ships as one package and is the foundation this page builds on: Performance Stance party support, the in-town entertainer loop (Inspiration, /watch, /tip), the craftable Performance Stage with its venue bonus, instrument quality, masterwork and enchantment on ten crafted instruments, the Instrument Proficiency, Flourish, Dance and Group Dance skills, and Melody of Mending. Alongside it: the tip jar deco, /partner and /mimic paired dancing, Performer achievements (on the achievements page), NPC voice-over with per-character casting and its own volume and cache controls, the UI Toolkit jukebox, phonograph and radio windows, and four broadcasters per town plot. Scheduled and therefore also not proposed here: the fire-magic audio polish batch, and native voices for the multilingual program. The bard package itself reached the test shard in August, and the school's remaining design questions now live on the Bard page.

Territory: the towns page owns the town crier and the festival spawner; decorating owns the decorator camera; achievements owns Performer titles; economy owns sinks and pricing. This page links rather than claims.

Section 2

Lessons: Ultima Online to modern

UO's bard was a power fantasy with no music in it, and it taught two lessons the genre still lives by. First: music as combat utility works, but a mandatory buff kills its flavor — Discordance became a raid tax, not a serenade. Second: everything players loved about barding, they loved because it was a choice of song, target and moment. LOTRO inverted the formula: no combat power at all, pure expression, and a file format (ABC) simple enough that a community could build converters, archives and a concert culture around it. The result outlived every content cycle: Weatherstock, a player-run festival on a hilltop, has drawn hundreds of simultaneous attendees for fifteen straight years — on volunteer scheduling, third-party tooling, and a music volume slider that was famously broken for years while players muted their speakers in Bree. The through-line of every system since is that the engine is never the bottleneck. Discovery, participation, and abuse control are.

Two-panel oil painting: a lone street musician playing to an empty village lane at dusk, and the same lane alive with a band, dancers and listeners at night
The whole argument in one image: the same engine in both panels. Everything that changed is around it — the band, the audience, the venue, the box on the porch that keeps playing after the musicians go home.
1997
UO bardic verbs
Provoke, peace, discord: music as combat utility, with no actual music. The buff-obligation trap.
2007
LOTRO /music + ABC
Notation + community = an end-game. Also: ship the volume controls first.
2008
Mabinogi Compose
Sheet music as a craft and a market. Length caps and consumable scores: the resented parts.
2015
SotA ships ABC/MML
Eighteen instruments, band files, party sync. The engine arrives; the surroundings do not.
2018–20
SoT + Rust
Zero-friction jam-in; native MIDI. Participation beats performance.
2026
SotA bard economy
Stances, Inspiration, tips, stages. The performer gets paid; the song still has no window.

What each game contributes

LOTRO: the ABC lineage SotA inherits — plus the Songbook plugin, built by players because typing /play folder/file sync for eight people is miserable; SotA has no plugin API, so that UI must be first-party. Mabinogi: composition as a ranked craft, score scrolls as a tradeable good, jam sessions — and the warning that in-client editors always lose to desktop tools, so make import excellent instead. FFXIV: the Orchestrion turned the soundtrack into a collectible housing economy; Ensemble Mode's ready check and metronome make live human bands workable; and its blanket in-game prohibition on third-party music is the copyright posture SotA can improve on. Sea of Thieves: the highest fun-per-byte idea in the survey — anyone near a player who is playing can join instantly and the game hands them a thinned backing part, converting music from performance into participation. Rust: native MIDI keyboard support turned instruments into the best advertisement the game ever shipped; concerts became server events in a full-loot PvP sandbox. Guild Wars 2: the Bell Choir taught that score and reward must be decoupled, and missing parts should be auto-filled. ArcheAge: housing instruments plus composed music paper, and the anti-lesson of taxing composition with a scarce resource. Second Life: twenty years of real live-music careers built on one mechanic, a parcel-scoped stream URL plus a tip jar. Minecraft: note blocks and jukebox discs — music as something a place performs, with the owner absent. WoW and ESO: the garrison jukebox shows collectible tracks work; ESO's three unsynced instrument emotes show what players call "an earsore" and abandon.

Capability matrix

CapabilityUOLOTROMabinogiFFXIVSoTRustGW2ArcheAgeSecond LifeSotA todaySotA proposed
Notation file playback (ABC/MML)◐ scroll◐ 3rd-party◐ paper● 2015● +S9
Song library window◐ plugin○ chat only● S9
Live keys / free play● canned● 3 octaves● +S10
MIDI hardware input◐ keybind● S11
Composition as tradeable item● built● +S23
Ensemble sync● 24 + quantize● jam 16● ready check● proximity◐ 3rd-party◐ seasonal● party tick● +S13
Cross-party ensembles◐ raid○ party only● S12
Jam-in (drop-in backing part)◐ auto-fill● S14
Housing music deco, owner offline● orchestrion● parcel URL◐ dev tracks● S21 player music
Collectible tracks● rolls◐ shanties◐ cylinders● S22
Busking economy (tips, audience)◐ culture◐ market● built 2026● +S24
Venue / event discovery◐ community◐ 3rd-party● directory● S24
Player-music volume + mute◐ broken slider◐ mute inert● S1/S2
Voice (proximity or venue stream)● both◐ S26/S27 opt-in
Adaptive scene music◐ layers◐ death only● S16
Ambience layering / weather audio◐ no glue● S17/S18

● native · ◐ partial or third-party · ○ absent. Cells reflect the August 2026 survey; a few are best readings of thin sources. "SotA today" includes the bard rework, which is built but not yet on the test shard.

The copyright sidebar, up front. Notation is not a recording. ABC and MML files describe notes, the way sheet music does, and no ABC-based game has ever faced the takedown waves that audio-hosting platforms did: Roblox was sued for two hundred million dollars over hosted audio clips, and Twitch's 2020 crisis was about recorded VODs. FFXIV answers with a blanket in-game prohibition. SotA's structural position is better — player music here is text, synthesized locally — and this page keeps it that way: nothing below ever uploads or hosts player audio. The one proposal that touches real audio (S26, venue streams) points at a URL the venue owner supplies and is opt-in for every listener, with a takedown process stated plainly.
Section 3

The thirty proposals

Tier 1 · Quick wins — small, client-only, controls before volume

S1 · Make mute actually mute

BuiltTier 1Size SServer: none

Built 13 August 2026. The gain the game had been computing for years now reaches the speakers. Ignoring a player fades their instrument out over two seconds and keeps it silent, for written songs and for notes played by hand, and the drone instruments go with it. A new Performance Volume option on a player's right-click menu gives each performer their own slider and a mute box, remembered between sessions and heard by nobody but you. Not on the test shard yet.

Blocking a player today does not silence their music, even though the game means it to: the per-performer volume control is set by the ignore list and then never applied to the synthesizer. This makes it real, for file songs and free-play notes both, and adds a right-click volume slider per performer so one loud lute can be turned down without muting the whole square.

Seen in: LOTRO's famously broken player-music slider, which taught players to mute their speakers in Bree; ESO's unsynced emotes, "quite the earsore" per its own support pages.

Implementation notes

InstrumentPlayer.Volume is written by PlayerController.UpdateIsBlocked and the instrument state, and read by nothing: neither the synth mixdown thread nor the streaming audio source consults it. The fix applies it in the mixdown gain (beside the per-note and sound-bank volumes) and honors the block list in InstrumentManager.PlaySingleNote, the free-play one-shot path. The per-performer slider persists locally per character and surfaces through the existing player context menu. Watch for the DOTween writer the block path already uses.

client Sserver noneperf nonetests mixdown gain unit test + ignore-list regression

S2 · Audible range and note-rate caps

BuiltTier 1Size SServer: none

Built 13 August 2026. Everything a musician plays now carries the same distance: 25 metres, and 50 while they are standing on a Performance Stage. Before this a written song reached 30 metres, a note played by hand died at 10 — closer than the distance at which the game counts you as part of the audience, so a listener could be watching a performance and hear none of it — and the drone instruments, bagpipes and the street organ, carried 500 metres because nothing had ever set a distance on them at all. Notes played by hand also gained a ceiling of 14 a second, with room for all eight keys at once so chords still work, applied both when you play and when your client hears somebody else. Not on the test shard yet.

Player songs get an explicit audible radius so one performer cannot blanket a town, with a larger radius when performing on a Performance Stage. Free-play notes get a per-second ceiling so the note channel cannot be machine-gunned. These are the abuse controls the genre says to ship before putting more music in the world, and half the cards below list this one as a prerequisite.

Seen in: FFXIV's 14-notes-per-second performance cap; LOTRO's Bree, the standing cautionary tale.

Implementation notes

The engine already declares a 25-meter attenuation constant (InstrumentPlayer.kAttenuationRange) that nothing references; wire it onto the streamed-song source using the custom rolloff pattern the free-play one-shots already use. The venue bonus radius reads the existing venue handshake in BardManager. The note cap clamps in PlayerStatePlayingInstrument.CheckControls on the way out and in InstrumentManager.PlaySingleNote on the way in; file playback already validates density at parse time, so this brings manual play up to the same standard.

client Sserver noneperf fewer live sources at rangetests rolloff + clamp unit tests

S3 · One rule for starting songs

Tier 1Size SServer: none

Starting a band song currently skips checks that starting a solo song enforces, so a synced song can begin while mounted or mid-craft. One rule set everywhere, plus two invisible housekeeping fixes: a stray debug log removed from a hot network path, and the "instrument keeps playing through a Flourish" behavior actually enforced rather than accidental.

Seen in: internal consistency; no precedent required.

Implementation notes

The /playstart handler re-implements a subset of PlaySongContext.CanPlaySong inline and misses the Mounted, Crafting and ExecutingRune gates; route it through CanPlaySong plus GetErrorMessage like /play. Remove the leftover Debug.LogWarning in QueueSongStartRPC. Implement the rune flag PlayerCurrentInstrumentInstead, which is set on the bard songs and Flourish and documented in comments, but has no runtime reader.

client Sserver noneperf removes a per-start logtests PlaySongContext gate parity test

S4 · An honest Instruments slider

Tier 1Size SServer: none

One slider should provably govern every piece of player music: file songs, free-play notes, stationary pianos. Today the routing is partial and the setting rides a legacy preference key. Audit the whole path, rename the slider to Player Music, and migrate the preference without resetting anyone's saved volume.

Seen in: LOTRO's multi-year "please fix the player music volume" thread — a slider that half works is worse than none.

Implementation notes

The option maps to the Instruments mixer group but persists under the legacy key PlayerVolume_SFX. Audit the streamed-song source pool, the 20-source free-play pool, and stationary-instrument sound-bank overrides for mixer routing; the project's voice-bus routing tests already pin the name-mapping trap that made another slider a silent no-op once. Preference migration copies the stored value to a new key on first run.

client Sserver noneperf nonetests bus-routing coverage extended to instrument paths

S5 · What song is playing?

Tier 1Size SServer: none

A /song command, and a small toast on track change, that names the current scene-music track, a nearby performer's song, or the cylinder in a phonograph, with composer credit where it exists. Players have asked for exactly this on the wishlist; the soundtrack finally gets a byline.

Seen in: FFXIV's orchestrion log and WoW's jukebox, which both surface track names; every music player ever made.

Implementation notes

Scene music: every track start already funnels through one method in MusicStackManager; expose the current entry. Player songs: the title is already parsed from the file's T: header, and a public played-song event exists. Cylinders carry song, composer and album fields today. The toast reuses the chromeless readout pattern the bard HUD shipped. The one content gap: scene tracks are filename-only, so a small display-name table is part of the card.

client Sserver noneperf nonetests title parse + event wiring

S6 · Ambience slider

Tier 1Size SServer: none

A dedicated Ambience volume slider so birds, wind, water and weather can be turned down without gutting combat sounds. Today ambience hides under the SFX slider. This is a basic accessibility expectation, and it is the knob the world-audio cards below assume exists.

Seen in: the Game Accessibility Guidelines basic tier; the options screen of every modern MMO.

Implementation notes

The mixer's World and Weather groups already exist and are ready for exposed parameters; the work is one new mixer-group enum entry, its two name mappings, an options row, a ceiling value, and a line in the volume loader. The one real decision is bus nesting: ambience must become a sibling of SFX rather than stay under it, or the two sliders double-scale each other.

client Sserver noneperf nonetests bus-routing test row

S7 · Music stingers

Tier 1Size SServer: none

A short musical flourish when you earn an achievement, learn a skill tier, or finish a quest line. Right now those moments get the same flat interface blip as closing a window. The cheapest "this game feels alive" trick in the genre, shipped with a frequency cap and an off switch.

Seen in: FFXIV's level-up fanfare; WoW's achievement sting.

Implementation notes

No sting path exists today. Add a dedicated stinger source beside the interface-audio source — not on it, because the interface source deliberately cuts itself off and the login flow depends on that. The achievement, skill-learned and gold-received wrappers already exist to upgrade. An optional momentary music duck can ride the same blend the radio already uses.

client Sserver noneperf one extra sourcetests non-diegetic audio rules test

S8 · Distinct bard skill icons

Tier 1Size SServer: none

The bard tree's icons are hard to tell apart at a glance on a hotbar. Give the new Performance skills visually distinct art. This was the highest-traction bard interface ask on the forums before the rework, and it is already filed as follow-up art.

Seen in: the game's own players, repeatedly, with a developer "possible" on record.

Implementation notes

Art-only: new icon textures on the Performance Stance, Flourish, Dance and Group Dance rune assets. No code.

client art onlyserver noneperf nonetests none

Tier 2 · Core upgrades — the Songbook, the band, the world

S9 · The Songbook window

Tier 2Size MServer: none

A searchable in-game window listing every song you own — files on disk, sheet music in your bags, and the bundled library — with one-click play, loop and band-sync, favorites, and folders. No more typing /play foldername/songname sync from memory. LOTRO's community built exactly this as a plugin and called it indispensable; SotA has no plugin system, so it must be first-party. The single highest-leverage card on this page: it multiplies the value of everything after it.

Seen in: LOTRO's Songbook plugin; Sea of Thieves' shanty list as the zero-friction reference.

Implementation notes

Everything enumerable already is: the sheet-music folder scan, inventory items, and the disk-vs-item resolution order live in InstrumentManager, titles come from the parsed T: header, and the multi-part band file format already names its parts. The window is a read-only browser in the UI Toolkit list style the jukebox window established, driving the exact code path the /play command uses. It also becomes the first place the band file format is documented in-game. Scope guard: read-only and dumb, not a file manager.

client Mserver noneperf folder scan on open, cachedtests song enumeration + title parse

S10 · Playable piano keyboard

BuiltTier 2Size MServer: none

Built 13 August 2026. Ready an instrument and the keyboard comes up: eight white keys, five black ones, an octave control, and the number key that plays each note printed on the key it plays. The notes themselves have been on the number row for years and nothing in the client ever said so. It shows your own keys only. The highlights for nearby performers described below were cut before it was built. Closing it unticks a new Show Instrument Keyboard row in Options, Interface, which is the way back to it. Bagpipes and accordion draw their black keys and octave control dim, because those instruments are recorded one note per key and have never had sharps to give. Not on the test shard yet.

A clickable on-screen keyboard when you play an instrument live, with key highlights showing what you and nearby players are playing. The three-octave free-play system already exists; today it is a hidden keybind cheat sheet. This gives it a face, and it is the one music interface idea the project has already marked as belonging on the roadmap.

Seen in: FFXIV's performance widget; Rust's instrument interface.

Implementation notes

Drives the existing PlaySingleNote/StopSingleNote path and enters through the existing playing state, preserving its note-identity scheme so remote stops keep working. The starting octave is already a tunable. The known risk is focus: the playing state consumes the quickbar keys, so the window must not fight it.

client Mserver noneperf nonetests note mapping unit tests

S11 · MIDI keyboard input

BuiltTier 2Size MServer: none

Built 13 August 2026. Plug a MIDI keyboard in, equip an instrument, and the keys play it. How hard you strike a key sets how loud the note is, the sustain pedal works, and everyone nearby hears exactly what you played. Middle C sounds the note the 1 key sounds, so the two ways of playing agree. Four touch settings, an octave shift, and /midi for a panel that says which keyboard is connected and whether the game is hearing it.

Plug in a USB MIDI keyboard and your equipped instrument just plays — velocity and all. Real musicians playing live in a virtual tavern are the best advertisement a player-music system can buy, and Rust proved the feature converts. FFXIV players do this today through gray-market keystroke tools; SotA can do it legitimately.

Seen in: Rust's Instruments Pack, whose native MIDI support turned concerts into server events.

Implementation notes

Maps MIDI note-on/off onto the existing free-play pipeline; PlaySingleNote already takes a volume, so velocity carries through cleanly, and the animation keep-alive logic is untouched. Requires S2's note-rate cap first. The honest risk is cross-platform device plumbing on the three shipping platforms.

client Mserver noneperf bounded by S2 captests note translation table

S12 · Band tokens: ensembles beyond the party

BuiltTier 2Size SServer: none

Built 13 August 2026. Type /band harborfest and everyone in the scene using that name plays as one ensemble, starting together on one beat. No party invite, no size limit, and it works across guilds. Add pass and a word of your own to keep a band private — the name and the password never leave your machine, so a stranger who guesses the name still ends up in a band of their own. /band on its own reads back your band and an eight-character code; if you and a friend expected to play together and did not, compare codes. /band off leaves.

Type /band harborfest and anyone in the scene using the same band name syncs into one ensemble — no party invite required. Forty players from twelve guilds can play one piece at a festival. This is the cheapest sync primitive in the genre, and it is what Weatherstock-scale events actually run on.

Seen in: Starbound's free-text band names; LOTRO's raid-sized bands as the demand proof.

Implementation notes

Ensemble grouping is one key: party hash or player id, chosen in PlayerController.GetInstrumentId. Add a third branch, the active band-token hash. The start tick already replicates to the whole scene, so no server change is needed; the group key just stops requiring a party. An optional passphrase keeps trolls out of a public token, and everything stays bounded by the scene instance.

client Sserver noneperf nonetests grouping-key unit tests

S13 · Ensemble panel: parts, ready check, late join, quantize

Tier 2Size MServer: none

Load a multi-part song and the game assigns parts by who holds which instrument, runs a ready check, counts the band in, and lets a latecomer snap in at the current bar. An eight-piece band starts on the first try instead of the fourth. An optional quantize toggle snaps live players to the beat grid, off by default because expressive timing matters.

Seen in: FFXIV Ensemble Mode's ready check and metronome; LOTRO's optional Quantize Player Music.

Implementation notes

Part matching reads the band file's named parts against each member's equipped instrument. Late join already exists mechanically — a joining client seeks into the song from the replicated start tick — so the panel mostly surfaces machinery as buttons. Sync remains a shared start tick plus seek, not a continuous clock; the panel makes no drift-correction promises.

client Mserver noneperf nonetests part-assignment rules

S14 · Jam-in: one key joins the song

Tier 2Size M–LServer: none

Someone is playing nearby; press one key and your instrument joins with a simpler backing part, phase-locked to theirs. No files, no party, no setup. Sea of Thieves proved this converts music from a performer-and-audience relationship into a participation one, and it is the single most charming idea in the whole survey. Version one works for the bundled multi-part library; auto-arranging arbitrary songs is explicitly out of scope.

Seen in: Sea of Thieves' proximity auto-join, where the first player leads and joiners get thinned backing parts.

Implementation notes

The client already raises an event when any song starts nearby; the prompt listens there. For bundled songs, the matching backing part comes straight from the band file's named parts, and the joiner phase-locks through the same seek path a late band member uses. Grouping rides S12's token branch. The content dependency is real: S15's curated multi-part library is what makes every bundled song jammable.

client M–Lserver noneperf nonetests part-selection rules

S15 · Starter library, import guidance, and a plain policy

BuiltTier 2Size S–MServer: none

Built 13 August 2026. Seventy-five public-domain arrangements went in, from ten named sources printed before 1900: Playford's country dances of 1651, Susato and Praetorius, Ravenscroft's rounds, Chappell, Bunting, the Scots Musical Museum, Piae Cantiones, Dowland, Purcell and Handel. Every piece is arranged for all fifteen instrument channels, so a lute player hears the melody, a harper the harmony, and a One Man Band the whole ensemble. Two changes to the card below. The library is not copied into a folder on first run; it is earned from a bard in Soltown who copies out a tradition at a time in exchange for blank sheet music, ten batches in all. And nothing modern went in, on taste as much as licence: the rule that decided the list was whether a piece belongs in a tavern in Novia, which is stricter than the copyright test and refused most of what the copyright test would allow. A new Helpful Guide to Sheet Music names the community's MIDI converters and documents the band file format for the first time, and a short policy appears once the first time you perform. Every song's source is recorded, piece by piece, in a provenance ledger. Not on the test shard yet.

Fifty to a hundred license-clean, multi-part arrangements installed with the game; a short in-game guide to converting MIDI files with the community's proven tools; and a plain-English performance policy shown once at first play. Every music game's onboarding dies on "where do I get songs" — SotA already ships one preinstalled tune and has bundled licensed community music before, so the pattern just needs volume.

Seen in: the gap every music MMO left open — LOTRO, Mabinogi and GW2 all outsourced libraries and converters to volunteers; FFXIV's posted policy, with a lighter touch.

Implementation notes

First-run copy into the sheet-music folder the game already creates; help text rides the existing instruments help entry. Public-domain and original arrangements only, in the multi-part band format so S13 and S14 have content on day one. The policy is short: notation sharing is what the system is for, nothing you perform is hosted by us, and your own stream of a cover is your exposure, not the game's. Endorse existing MIDI-to-ABC tools in the guide; do not fork or maintain one.

client S code, M curationserver noneperf nonetests bundled files validate at parse

S16 · Combat and adaptive scene music

Tier 2Size MServer: none

Music that notices when you draw steel. A combat state slides in over the exploration score and gracefully hands back when the fight ends — entering fast, leaving on a timer, so it never thrashes at the edge of a fight. Players asked for more music variety on the wishlist; this is variety with intent.

Seen in: Guild Wars 2's layered contextual music, the right scale of ambition for an MMO; the genre's cautionary tale is combat-music whiplash.

Implementation notes

The music system already has states, and the death-music override is the exact template: a combat state slots beside it, all starts funnel through the single crossfade path, and hysteresis constants live beside the existing fade tunable. Code is the small half; combat cues per biome are the real cost, and may mean commissioning stems. The four-source ceiling is respected since only one state plays at a time.

client M codeserver noneart combat cues per biometests state-transition + hysteresis unit tests

S17 · Weather audio

Tier 2Size MServer: none

Rain you can hear. The game ships rain, thunder and wind loops, a Weather mixer bus, and a weather system — and they have never been introduced to each other. Storms become audible, interiors muffle them, and the world stops going silent when the sky turns black.

Seen in: every open-world game shipped this decade; the absence is the anomaly.

Implementation notes

The audio audit called this three-quarters of a system with no glue: the skybox manager knows the weather state, the Weather bus exists, and a family of weather loop prefabs sits unused by any system. A small driver crossfades loop gains on weather transitions; indoor attenuation rides the existing outside-detection raycast. Start with rain and wind in outdoor adventuring scenes and expand by tuning, respecting the engine's 32-voice ceiling.

client Mserver noneperf a handful of loopstests transition driver unit tests

S18 · Loop-fatigue pass

Tier 2Size MServer: none

The same bird loop for six hours is the quiet killer of long sessions. Unity 6's randomized audio containers turn static ambient loops into varied soundscapes — different birds, spaced creaks, weather-worn variation — scoped first to the six busiest biomes, then expanded by measurement.

Seen in: the engine feature is purpose-built for this; loop fatigue is the most-cited perceived-quality complaint in long-session games.

Implementation notes

Retrofit the ambient prefab library and the top global biome music stacks. Silence injection between tracks is already a first-class feature of the scene playlist component — extend that spirit to ambience rather than replacing it. Authoring time exceeds code time; that is the reason for the six-biome scope. Mind the project's documented clip-import gotchas and the distance-culling interplay.

client S code, M authoringserver noneperf neutraltests container config validation

S19 · Sound captions and visual cues

Tier 2Size MServer: none

Optional captions for meaningful sounds — an arrow for the growl behind you, a text line for the door creak — so deaf and hard-of-hearing players get the information everyone else hears. Starts with the combat and interaction sound families and grows from there.

Seen in: Fortnite's visual sound indicators, the shipped consumer standard; the accessibility guidelines call a visual cue for every meaningful audio cue basic.

Implementation notes

The world-sound engine is event-name driven and dispatches through one method, so a caption is an event-name-to-string map plus a small HUD feed with a direction indicator. The localization volume is the real cost, which is why the card starts with two event families. Pairs naturally with S27's speaker floaters later.

client Mserver noneperf HUD feed onlytests event-to-caption map

S20 · POT ambient audio kit

Tier 2Size S–Mitem catalog rows

A catalog of placeable ambient sound decorations — tavern murmur, forge hammering, gulls, market crowd, night insects — so town and lot owners can score their own streets. One such deco already exists in the files; this ships the family. Town ambience is a named wishlist ask.

Seen in: the housing cultures of FFXIV and Minecraft, where owners sound-design given any tools at all.

Implementation notes

The player-deco ambient emitter pattern already exists as a prefab; productize roughly twenty emitters from the existing 81-prefab ambient library. Every prefab carries distance culling and mixer re-homing already. Active emitters per plot are capped following the four-broadcaster precedent, and everything lands on the bus S6's slider governs. Server cost is item catalog rows only.

client Sserver catalog rowsperf per-plot emitter captests emitter routing + cap

Tier 3 · Server-backed — each carries its cost on the label

S21 · The Orchestrion Box

Tier 3Size M–Ldeco property + 1 op

A placeable music box that performs a player-composed song to visitors even while you are offline. Assign any sheet music you own — yours, a friend's, one bought off a vendor — set a playlist, a radius and an order, and your house plays your music around the clock. No other MMO can ship this: FFXIV's orchestrion plays developer recordings, Minecraft's note blocks need a builder, but only SotA has both an ABC engine and player housing. This is the differentiator card.

Seen in: FFXIV's Orchestrion crossed with Minecraft's note blocks, running on an engine only SotA has.

Orchestrion Box
Playlist (3 of 8)Power: On
#TitleComposerLength
1GreensleevesAldous2:41
2Tavern Reel No. 3Cora of Aerie1:47
3Ode to JoyBundled1:58
Add Sheet MusicRemoveUpDown
Order: In orderRadius: 20 mBroadcasters on this lot: 2 of 4
Implementation notes

The playback contract already exists: implement the music-volume interface and push into the scene music stack, exactly as the jukebox broadcast does, with the same radius-poll pattern. Replication mirrors the jukebox's minimal state (start ticks plus, new here, the sheet-music ids). Song text arrives through the existing published-sheet-music database path, which already handles banned and dangling content. The synth renders at the deco's position under S2's radius cap, and the box counts against the plot's existing broadcaster budget — a deliberate answer to the jukebox-limits wishlist thread. Server cost: one deco archetype, one replicated property list, one owner-permission-checked assign op. Player music is text, so there is no audio hosting and no bandwidth story.

client Mserver deco property + 1 opperf counts against broadcaster captests playlist rules + broadcaster-limit extension

S22 · Collectible song cylinders

Tier 3Size S–Mitem rows + loot tables

Soundtrack recordings drop in the world as collectible cylinders: restore a faded one, slot it into your phonograph, chase the set. The game's score gets a second life as content, and the phonograph you already own becomes a collection display.

Seen in: WoW's garrison jukebox rolls and their collection achievement; FFXIV's faded orchestrion copies restored by crafters.

Implementation notes

The wax cylinder is already the game's one item archetype that carries an audio clip, with song, composer and album metadata and typed variants — add a soundtrack type and feed the existing jukebox and phonograph players. Needs twenty-five plus tracks to read as a collection; the music catalog is deep, but per-track license terms must be checked for redistribution as items before the list is drawn. The collection achievement itself belongs to the achievements page.

client Sserver item rows + loot tablesperf nonetests archetype data validation

S23 · Sheet-music economy: credit, grades, discoverability

Tier 3Size M2 fields on the music record

Published sheet music permanently names its composer, carries an at-a-glance grade — parts, length, instruments — and can be found on player vendors by searching for music. A great composer builds a name and a market; a buyer knows what they are getting before they pay. Deliberately absent: length caps and consumable charges, the two most resented features of the games that pioneered music markets.

Seen in: Mabinogi's score scrolls and their busk-first-then-sell culture; ArcheAge's composed music paper.

Implementation notes

Custom sheet music is already a database-backed item with a write path and size limits; sale mail already names the song. Add an immutable author field set server-side at publish (never client-asserted) and an auto-computed grade from the parsed song, then a vendor-search facet and a short preview play. Vendor economics themselves stay on the economy page.

client Mserver 2 record fields + query facetperf nonetests grade computation + author immutability

S24 · The gig board

Tier 3Size M–L1 collection + 2–3 ops

Register your Performance Stage as a venue, post a show time, and the gig appears on a board anyone can browse; the scene gets a quiet announcement at showtime. Discovery, not playback, is what keeps virtual concerts empty — LOTRO's biggest festival runs on out-of-game spreadsheets, and it should not have to.

Seen in: Weatherstock's fifteen years of volunteer scheduling; Second Life's event directory; VRChat's frictionless venue booking.

Implementation notes

Venue proof follows the shipped pattern exactly: the scene server certifies a placed, publicly-permissioned stage and mints a database record the game server reads — registration extends that record's life. Gig posts are venue, performer, time. Ops land beside the existing bard op group. Anti-decay measures are part of the design: posts expire, per-account caps apply, and the calendar seeds with developer-run shows so it never launches empty. The towns page's festival spawner is the sibling feature for everything that is not a stage.

client Mserver 1 collection + 2–3 opsperf nonetests registration + expiry rules

S25 · Artifact instruments join the quality ladder

Tier 3Size S–Mproperty migration

The bard rework gave crafted instruments quality, masterworking and enchantment. Looted artifact instruments should join the same ladder, with a salvage path — so the rare lute from a dungeon is not strictly worse than a workshop one. Players filed exactly this ask, in these words, on the wishlist.

Seen in: EverQuest's instrument-multiplier tradition; SotA's own wishlist.

Implementation notes

The instrument bonus formula already prices quality and enhancements through pure, unit-tested statics — the work is extending its inputs to artifact instruments and backfilling existing items through the established migration path. Artifact quality caps at the crafted masterwork ceiling to keep the ladder honest, and the PvP flattening rule already bounds the power ceiling.

client Sserver property migrationperf nonetests bonus formula extension

Tier 4 · The voice ladder — honest about every rung

The hardest ask gets the straightest answer. Real-time "sing with the band" voice is physically impossible over the internet — live musical sync needs about thirty milliseconds end to end, and no voice relay on earth delivers that. Everything else is a ladder, climbed in order, each rung optional and each honest about its cost. The rungs that involve other people's ears ship with their controls, not before them.

S26 · Venue stream URL

Tier 4Size Mdeco property

A venue owner pastes a stream address into their stage or radio deco, and visitors who opt in hear a live broadcast — a real musician playing from home into a tavern full of avatars. This is how live performance has actually worked in Second Life for twenty years and in VRChat's club scene today, and it routes around the physics that make voice-chat jamming impossible.

Seen in: Second Life's parcel music URL, the mechanic an entire live-performance economy stands on; Tower Unite's delegated media permissions.

Implementation notes

The streaming client already exists: the personal radio plays station URLs with distance fade on its own mixer bus. This points the same machinery at a venue-scoped station whose URL is a deco property the scene server stores. Listeners opt in through a client setting that is off by default; the existing radio slider governs volume; the owner can delegate control. The two real risks: the game hosts nothing but must still run a plain takedown process for reported URLs, and the radio decoder's codec coverage for endless streams needs verifying before promises are made.

client Mserver deco propertypolicy takedown processtests opt-in gating

S27 · Proximity voice pilot, with its safety kit built in

Tier 4Size Lreport intake

Push-to-talk voice for taverns and town squares — off by default, opt-in, social scenes only, never combat zones — shipped in the same patch as its safety kit: a mute that really mutes, wired to the ignore list; a floater showing who is speaking; per-player volume; and clip-based reporting where the game keeps a short rolling buffer only the reporter can submit. Voice for hanging out, not a new harassment channel. The kit is not a follow-up; it is the feature.

Seen in: Sea of Thieves, where overheard proximity talk is the social engine; the console platform standard for clip-based voice reporting; industry research putting voice harassment above text.

Implementation notes

Commodity cloud voice, not new servers: the voice relay is a separate service on its own connection, rooms keyed per scene instance, and positional falloff computed client-side from positions the client already renders — the server's ignorance of player positions is a non-issue here. A new voice bus and slider land in options; hub scoping reuses the same scene-type discipline the bard venue checks use; mute and block ride the ignore list S1 makes real. The true cost is not code: consent language in the policies, a moderation runbook, and the standing human attention reports demand. That is why this is a pilot, scoped to hubs, and why the card is sized L despite modest engineering.

client Mserver report intake, short retentionops moderation runbooktests scoping + mute wiring

S28 · Herald's horn and whisper

Tier 4Size SServer: none

Raise a herald's horn and your voice carries across the square for announcements and stage banter; cup a whisper and only the player beside you hears it. One item, two radius tricks, endless roleplay — the cheapest lines of code in this tier per unit of delight.

Seen in: Sea of Thieves' Speaking Trumpet, which amplifies or inverts to a whisper.

Implementation notes

Scales the voice playback source's distance per speaker item state. Amplification is the griefing surface, so the loud mode is a craftable item and plot owners can disable it with a permission flag alongside S26's. Requires S27; pointless without it.

client Sserver noneperf nonetests radius state rules

S29 · Read-aloud TTS

Tier 4Size S–MServer: none

An opt-in setting that reads nearby chat aloud in a synthesized voice — for players who cannot read small text quickly, and for anyone crafting with the window unfocused. It is not voice chat; it is the text chat you already have, audible. Framed and shipped as accessibility, because that is what it is.

Seen in: Roblox's native text-to-speech, framed explicitly as accessibility.

Implementation notes

Operating-system speech synthesis on the chat receive path, per-listener opt-in, per-speaker mute reusing S1's surface, with rate and length caps. Its quiet advantage over live voice: everything spoken already passed the text-chat filters. The NPC voice program is a separate, already-built system and is not touched.

client S–Mserver noneperf nonetests gating + caps

S30 · A sanctioned hook for community voice tools

Tier 4Size SServer: none

A documented, local, read-only feed of who is near you in social scenes — names and rough positions — so the community can legitimately build positional voice overlays and companion tools. Every game where community voice succeeded had a hook; every game without one stayed silent. This is the literal, cheapest version of "let players figure out a way to add voice," and it is also the graceful fallback if S27 waits.

Seen in: Minecraft's community voice mod with over a hundred million downloads, and its siblings for other games — all built on hooks the game exposed or modders could reach.

Implementation notes

The Lua add-on surface is the natural host: it already exposes audio channels and callbacks, and the client already renders every nearby player, so a coarse nearby-players table discloses nothing new. Scoped to social town scenes only, never PvP, with the boundary documented — the scope note is what separates a social tool from a radar.

client Sserver noneperf nonetests scene scoping

Considered and rejected

Section 4

The Songbook window

The danger with thirty proposals is a game with thirty new windows. The composition rule for the client tier: one window. The Songbook has three tabs — Library, Ensemble, Keys — and a persistent Now Playing strip along its foot. Eleven cards live inside it: the browser (S9), now-playing and listener controls (S5, S1), the ensemble panel with band tokens and jam-in (S12–S14), the keyboard and MIDI (S10, S11), and the bundled library (S15). Every slash command stays as a power-user alias. Here is the Library tab at default size:

Songbook
LibraryEnsembleKeysInstrument: Fine Lute
tavern  ✕Folder: All Songs ▾★ Favorites
TitlePartsLengthSource
Greensleeves12:41Local file
Kingsport Set46:12Band file
Ode to Joy11:58Bundled
Return of Lord British13:05Sheet music item
Rule Britannia12:22Bundled
Scarborough Fair23:40Local file
Tavern Reel No. 311:47Sheet music item
PlayLoopSyncOpen FolderRefresh
Now Playing: Greensleeves0:42 / 2:41Stop
Nearby: Cora of Aerie · Banish Misfortune  vol ▮▮▮▮▮▯▯▯  Mute

The Ensemble tab is where a band forms — from your party, or from anyone in the scene sharing a band token:

Songbook
LibraryEnsembleKeysInstrument: Fine Lute
Song: Kingsport Set (4 parts)Band token:moondial
PartInstrumentAssigned toStatus
1 MelodyLuteAldous (you)Ready
2 HarmonyHarpCora of AerieReady
3 BassBagpipesJorat the PiperDownloading
4 RhythmTabor Drum(unassigned)Invite
Ready CheckAll parts start on the same beat. Latecomers join at the current bar.
Players near you may press J to jam in on a backing part.

The Keys tab gives live play its face, and the two settings rows below it are the whole options footprint of the audio tiers:

Songbook
LibraryEnsembleKeysOctave: 3  − +
12345678
Keys 1-8 play notes. Hold Shift for sharps. Click keys to play.
MIDI device: USB keyboard detectedEnableNote cap: 14 per second
Options · Audio, after S6 / S4 / S27
Options: Audio
Master▮▮▮▮▮▮▮▮▮▯
Music▮▮▮▮▮▮▮▮▯▯
Ambience new▮▮▮▮▮▮▮▯▯▯
SFX▮▮▮▮▮▮▮▮▮▯
Player Music renamed▮▮▮▮▮▮▯▯▯▯
Phonograph▮▮▮▮▮▮▮▮▯▯
Radio▮▮▮▮▮▮▮▮▯▯
Voice Chat new, off by default▯▯▯▯▯▯▯▯▯▯
[ ] Enable voice chat in social hubs
[ ] Play external streams at player venues
What did not change

Every existing slider keeps its place; the mockup shows two additions and one rename. Character Voices, NPC Dialogue, UI and the NPC voice cache controls are untouched. The rename retires a legacy preference key without resetting anyone's saved volume (S4). The two checkboxes are the entire opt-in surface of Tier 4: voice and streams are things you turn on, never things that arrive.

Section 5

Sequencing

The ordering argument is one sentence long: controls before volume. LOTRO let player music into the world before the volume slider worked, and the towns filled with mufflers and muted speakers. S1 and S2 land before anything that adds more music to the world; the policy card gates the venue-stream and voice rungs; and the voice safety kit is defined as part of the voice pilot, not a follow-up to it.

PhaseThemeShipsDepends on
1Fix and mixS1, S2, S3, S4, S5, S8
2The SongbookS9, S10, S12, S15, S6, S7, then S11, S13S11 needs S2; S13 needs S9 and S12
3The world gets a soundtrackS16, S17, S18, S19, S20S17, S18, S20 want S6 first; S20 wants S1
4Housing, economy, venuesS21, S22, S23, S24, S25, S14S21 needs S1 + S2; S23 needs S15; S24 needs S12; S14 needs S12 + S15
5The voice ladderS26, S27, S28, S29, S30S26 needs S15 + S1; S28 needs S27; S29, S30 independent
flowchart TD
  S1["S1 real mute"] --> S21["S21 Orchestrion Box"]
  S2["S2 range + rate caps"] --> S21
  S2 --> S11["S11 MIDI input"]
  S9["S9 Songbook"] --> S13["S13 ensemble panel"]
  S12["S12 band tokens"] --> S13
  S12 --> S14["S14 jam-in"]
  S12 --> S24["S24 gig board"]
  S15["S15 library + policy"] --> S14
  S15 --> S23["S23 sheet-music economy"]
  S15 --> S26["S26 venue streams"]
  S1 --> S26
  S1 --> S27["S27 voice pilot + safety kit"]
  S27 --> S28["S28 horn + whisper"]
  S6["S6 ambience slider"] --> S17["S17 weather audio"]
  S6 --> S18["S18 loop-fatigue pass"]
  S6 --> S20["S20 POT ambient kit"]
Section 6

Appendix

A1 · The fix-first ledger

Four things the page found already broken or inert, each folded into a Tier 1 card rather than left as trivia: the per-performer volume property that is written but never read (S1); the declared 25-meter attenuation constant wired to nothing (S2); the band-start command that skips the solo-start gates (S3); and the rune flag for "the instrument keeps playing" that has no runtime reader (S3). A proposal page that starts by fixing the mute button earns the right to propose an orchestrion.

A2 · The physical envelope

LimitValueWhy it matters here
Song uploadwhole file, compressed, 64 KB cap, relayed in 5 KB chunkssongs are text, not streams; S21 and S23 reuse this path unchanged
Song validationduration and note-density limits at parse timeS2 brings manual play up to the file-playback standard
Published sheet music64-character title, 8,000-character bodythe ceiling S23's grades are computed within
Engine voices32 real / 1,024 virtual, one mixerevery ambience and deco card budgets against it
World one-shots16 pooled positional sourcesnew emitters must not steal from combat
Scene music4 sources, one audible, single crossfade pathS16 slots into existing states; no second music system
Ensemble syncreplicated start tick + seekS13 promises a clean start, not mid-song drift correction

A3 · Constraints every proposal honors

A4 · Test surface

The music systems are unusually well covered for pure logic already: the bard package shipped with ten EditMode suites (inspiration math, watch gates, venue certification, buff categories, entertainer rules), and the audio side has fade math, broadcaster limits, bus routing and non-diegetic rules under test. The new pure-logic targets follow the same pattern: the S1 mixdown gain, S2's clamps, S12's grouping key, S13's part assignment, S23's grade computation, and S24's registration and expiry rules.

A5 · Player asks answered on this page

From the wishlist and forum sweeps: a "what song is playing" command (S5); more background-music variety (S16); town ambience for player-owned towns (S20); higher jukebox limits (answered structurally by S21 within the shipped cap); upgradeable and salvageable instrument artifacts (S25); and distinct bard skill icons (S8). Where a request has a name attached in the tracker, the implementation credit will carry it.

A6 · Selected sources

Ultima Online: official bardic skill documentation and community wikis. LOTRO: the community music-system guides, Songbook plugin pages, Maestro and BruTE tooling documentation, and fifteen years of Weatherstock coverage in the gaming press. Mabinogi: Compose skill and Score Scroll wiki documentation, jam-session updates, and the Musical Nexus archive. FFXIV: Performance Actions and Orchestrion official wiki pages and Square Enix's posted performance terms. Sea of Thieves: shanty and instrument wiki documentation. Rust: the Instruments Pack release notes and Rustissimo. Guild Wars 2: Bell Choir Ensemble and instrument wiki pages, Music Box community site. ArcheAge: Artistry and Songcraft documentation. Second Life: Linden Lab's live-performance and parcel-music documentation. Minecraft: note block and jukebox wiki pages. WoW: garrison jukebox guides. Voice and audio technology: vendor documentation for the major Unity voice middlewares, platform voice-reporting announcements, industry harassment research, and the game accessibility guidelines. Full link list in the research notes accompanying this proposal.

Prepared 2026-08-12 against the unity-6.5 migration branch. Companion markdown: docs/plans/2026-08-12-music-sound-improvements-proposal.md. Thirty proposals: twenty-two client-only, eight touching a server or an outside service, each grounded in the classes that would carry it.

Feedback

General comments

No account needed. Every proposal above also has its own Discussion box for talking about that one alone; this thread is for the plan as a whole. Comments are plain text, held to basic decency, and may be trimmed.

← All proposalsWork blog