Quick answer: Unity Cinemachine 3 CinemachineImpulseSource emitting but the camera doesn’t shake? You need a CinemachineImpulseListener on the camera with a matching Channel Mask.

Explosions call GenerateImpulse() but the camera stays still. The Impulse Listener is missing or its channel mask excludes the source’s channel.

Source and Listener

Impulse is one-to-many. The Source generates a signal on a channel; the Listener on the camera reads from one or more channels and applies it. No listener → no shake.

Channel Mask Must Match

Add CinemachineImpulseListener to your CinemachineCamera. Its Channel Mask is a bitmask of channels to listen on; the source emits on its Impulse Channel. Both must share at least one bit.

Distance and Falloff

The Source has range and dissipation. If the camera is outside the range, the impulse is zero. For a global “screen shake”, set the impulse type to Uniform — ignores world position.

Time Envelope

The Source’s impulse profile (attack / sustain / decay) is what you tune for feel. Use an editable signal asset instead of the default for art-tunable shakes.

Verifying

An explosion at the listener position produces the configured shake; far explosions produce a softer shake; very far ones don’t shake at all.

“Cinemachine Impulse needs a Source plus a Listener on the camera, matched by channel.”

Reserve channel 0 for hit-feedback and channel 1 for ambient camera life. The bitmask makes mixing trivial.