Quick answer: CameraShakeSourceComponent applies only when the camera is within InnerAttenuationRadius. Set the radii to cover your camera, ensure the active PlayerCameraManager receives shakes, and configure the shake class with non-zero amplitudes.

Here is how to fix Unreal CameraShakeSourceComponent emitting from explosions or hits but not visibly shaking the player camera. Distance falloff and active camera manager need to align.

The Symptom

You attach a CameraShakeSourceComponent to a bomb. Calls Start. Camera does not shake even when player is right next to the bomb.

What Causes This

Attenuation radii too small. Default radii may not reach the camera position.

Shake class amplitudes zero. Built-in UCameraShakeBase requires you to configure Location/Rotation oscillation manually.

PlayerCameraManager absent. Custom camera setups may bypass PlayerCameraManager which is what processes shakes.

The Fix

Step 1: Configure attenuation radii.

// CameraShakeSourceComponent inspector
InnerAttenuationRadius = 500     // full strength inside
OuterAttenuationRadius = 5000    // fades to 0 here
Attenuation            = Linear

Step 2: Define a shake class with motion.

UCLASS()
class UExplosionShake : public ULegacyCameraShake
{
    GENERATED_BODY()
public:
    UExplosionShake()
    {
        OscillationDuration = 0.5f;
        OscillationBlendInTime = 0.05f;
        OscillationBlendOutTime = 0.45f;

        RotOscillation.Pitch.Amplitude = 5.0f;
        RotOscillation.Pitch.Frequency = 15.0f;
        RotOscillation.Yaw.Amplitude = 3.0f;
        RotOscillation.Yaw.Frequency = 15.0f;

        LocOscillation.X.Amplitude = 5.0f;
        LocOscillation.X.Frequency = 10.0f;
    }
};

Step 3: Trigger the shake.

ShakeSource->Start(UExplosionShake::StaticClass(), /*scale*/ 1.0f);

Step 4: For direct shake on player.

APlayerController* PC = ...;
PC->PlayerCameraManager->StartCameraShake(UMyShake::StaticClass(), 1.0f);

Step 5: Verify with debug. Place the source very close to the camera (1m). Trigger. Should shake hard. If not, the shake class amplitudes are zero.

“Radii reach camera. Shake class has amplitudes. PlayerCameraManager active. Shakes apply.”

Related Issues

For Cinemachine impulse in Unity, see Cinemachine Impulse. For multicast RPC, see Multicast RPC.

Radii cover camera. Shake class amplitudes set. PCM active. Shake felt.