The potion in an early build was a filter sweep: band-limited noise rising from around 400 Hz to 4 kHz, a soft body underneath, a reverb tail. Solo, it sounded like a potion. In a fight, with a sword hitting a shield a few metres away, testers heard something happen and kept running. Several of them asked afterwards whether the drink had gone through.
The problem was not the sound. It was the number of events. A drink from a bottle is a chain of three physical causes, and the ear uses each one to check a different assumption: the seal broke, something went down the throat, the effect is running. When all three arrive inside one gesture, none of them gets confirmed on its own.
Three Events Are Hiding Inside the Word “Potion”
Split the effect on a timeline before opening a synth. Friction and opening, physical consumption, magical or chemical effect. Each has its own duration, its own frequency range and its own job in the chain. They are not three layers of one sound. They are three sounds that happen to share a trigger.
The cork is broadband and brief. The gulp is low-mid and resonant. The shimmer is high, tonal and long. Nothing in those three descriptions overlaps, which is why they can sit on top of each other without fighting.
What Each Event Has to Confirm
The cork confirms intent: the player committed to drinking. The gulp confirms transfer: the contents left the bottle. The shimmer confirms outcome: the effect is now active. Skip one and the chain has a hole the player may not be able to name but will feel.
The Cork Is Friction, Not a Pop
A cork leaving a bottle is stick-slip friction followed by a pressure release. That gives two components: a short rough rub, then a softer low thump as the seal gives way. Most sample libraries sell it as a single bright pop, and the pop is usually the part you can cut.
The rub is what sells it. Band-passed noise between 1.5 and 4 kHz, 40 to 90 ms long, with a resonant peak around 2.5 to 3 kHz if the container is glass or wax-sealed. Keep the peak's Q moderate, somewhere between 3 and 6. Push it higher and the cork starts to squeak like a hinge instead of releasing.
Do not low-pass the cork. The event is the brightest moment in the chain, and it has to survive a mix that already contains metal impacts and footstep detail. If the cork sounds dull in solo, it will be inaudible in play, and the player loses the first confirmation.
Randomisation Is Part of the Design
Players drink a lot of potions. A single cork sample retriggered a dozen times in one boss fight turns into a machine. Two or three variants behind a container switch, plus a small pitch offset, is usually enough. In Wwise, SetSwitch on the event with values for cork, wax and glass; in FMOD, a parameter such as Container with a discrete range. In Unity, a pitch range of 0.92 to 1.08 on the AudioSource covers the cheap version.
Keep the container switch on the cork only. The gulp can change if the liquid is thick; the shimmer should not change with the bottle.
The Gulp Is a Resonance Problem
A gulp is not a tone with a pitch. It is two or three short low-mid pulses, coloured by the air cavity of the bottle and the shape of the throat. For a small bottle, the cavity resonance tends to land between 200 and 400 Hz depending on how full it is. The throat adds a formant higher up, often around 500 to 700 Hz.
Build it as pulses rather than one blob. Two pulses of 40 to 70 ms with a 20 to 30 ms gap read as swallowing. One continuous 150 ms body reads as pouring instead. A slight downward glide across the pair, 5 to 10 percent, helps the sound feel like liquid moving rather than a drum hit.
Low-pass around 900 Hz to 1.2 kHz. A sub thump at 60 to 90 Hz can add weight on headphones, but it will vanish on phone speakers, so treat it as support and keep the recognisable part of the gulp above 150 Hz.
The Shimmer Is the Only Element That Says “Healing”
Cork and gulp describe a drink. They do not describe a heal. The shimmer is where the effect becomes legible, and it is the one element that needs a musical decision rather than a foley one.
Because the cork and gulp already delivered the transients, the shimmer does not need one. That is the useful inversion: a slow attack of 30 to 80 ms, no click, no noise burst. Partials stacked on a root between 700 Hz and 1 kHz, with overtones reaching 4 to 5 kHz, detuned by a few cents each so they beat at 2 to 6 Hz. Rising a fifth or an octave across 300 to 500 ms.
Keep it mostly dry. A shimmer that arrives already wet reads as ambience, and ambience does not confirm a state change. A short plate at 0.4 to 0.8 seconds, low in the mix, is usually enough. The guide on synthesizing a heal shimmer covers the oscillator and detune setup if you want to build it from scratch.
Where the Parts Should Overlap
The overlaps are not sloppiness. They are how three events get heard as one action. Butt-joined samples with clean edges read as three separate sounds in sequence.
Two overlaps do most of the work. The gulp should start 70 to 120 ms after the cork, which puts its onset under the cork's tail and hides the edit. The shimmer should start 20 to 40 ms before the gulp's release finishes, so the ear never gets a gap between consumption and effect. Use an equal-power crossfade of 20 to 40 ms at each joint; linear fades tend to dip in the middle and leave an audible hole.
| Element | Enters | Duration | Energy centre | Job |
|---|---|---|---|---|
| Cork | 0 ms | 40–90 ms | 1.5–4 kHz | Announce the action |
| Gulp | 70–120 ms | 120–180 ms | 180–500 Hz | Confirm consumption |
| Shimmer | 200–260 ms | 500–900 ms | 2.5–5 kHz | Confirm the effect |
Total length lands between 0.9 and 1.2 seconds. That is longer than a pickup cue, and it can be: drinking is a deliberate action with an animation attached, not something the player runs over. The part that has to read fast is the first 300 ms. The shimmer is allowed to outlast the animation and fade under the next event.
Why the Single Whoosh Fails
A sweep parks its energy in the 1 to 3 kHz band for most of its duration, which is exactly where the cork's rub and the shimmer's overtones need to live. Everything masks everything else, and the ear resolves the result as one broad event. Sweeps also flatten the attack shapes: friction, resonance and sustain want different envelopes, and one filter envelope cannot produce all three.
The other failure is structural. A whoosh has no causal order, so it cannot confirm a sequence, and a sequence is the whole message. If other layered effects in the project came out muddy for related reasons, the diagnostics in when layering makes a sound worse apply here too; the fix is usually subtraction and timing rather than another layer.
A quick test: solo each element and mute it. If muting the cork is unnoticeable, the chain is really two events. If muting the shimmer does not change how the outcome reads, it is too quiet or too wet.
Scaling the Skeleton: Drink, Spray, Scroll
Once the three slots exist, most variants are a slot swap rather than a new design. Friction changes with the container, the body changes with the payload, and the effect stays inside the game's heal vocabulary.
A spray replaces the cork with a pump or a valve: a short broadband click around 2 to 4 kHz, then a resonant hiss decaying over 150 to 250 ms. There is no gulp, so the shimmer can enter earlier, at 150 to 200 ms, because nothing is being swallowed.
A scroll replaces both with paper and leather: a dry crinkle for the unroll, a page flutter for the body, a soft chord for the effect. Scrolls often sustain, so the shimmer may need to loop. Put the loop point after the initial rise and keep the crossfade short enough that the chord does not pulse.
Keep the spacing consistent across the family — 70 to 120 ms from friction to body, 20 to 40 ms from body into effect — and the three variants will sound like they belong to the same game. When the effect is a fast pickup instead of a deliberate drink, the constraint changes; the timing budget in fast health pickup cues is the better starting point there.
Export at 48 kHz, 24-bit, trimmed so the file starts within a millisecond of the first transient. Then drop all three parts into the combat mix and listen from where the player stands. The chain is working when nobody notices the edit points and everybody knows they healed.