[Camera Shake] Attached components to a Camera during a Camera Shake don't shake with the camera

Is there a way to use the camera shake that also effects all objects attached to the Player Camera?

I’m using a Client Play Camera Shake inside a sub level, attached to the player controller. Using Play Space: Camera Local. The camera shakes, but the attached Components do not shake with it. I tried inside the character blueprint and still had the same results.

This is also using the FPS Template.

I also struggled with this issue, and finally got it working as follows - I did mine in C++ so not sure of how it would be done in Blueprints though.

Situation before fix:

So, I have a weapon spawned by the PlayerCharacter, and I set its location in the PlayerCharacter’s CalcCamera function. Now, unfortunately the CameraManager applies camera shake AFTER it gets the location of the PlayerCharacter’s eyes (GetActorEyesViewPoint()).

The Fix:

It might be a tad hacky, but instead of setting the Weapon’s location from the PlayerCharacter’s CalcCamera() function, I simply attached the Weapon’s Root Component to the CameraManager’s TransformComponent, as this TransformComponent stores the Camera’s Location INCLUDING the camera shake.

E.g. in my Character:

WeaponLeft = GWorld->SpawnActor<APWNWeapon>(WeaponLeftClass);

// Attach Weapons to the camera manager so camera shakes are taken into account
WeaponLeft->AttachRootComponentTo((Cast<APlayerController>(Controller))->PlayerCameraManager->GetTransformComponent());

Hope this helps.

Thanks staticvoidlol!

The information you provided let me hack my way into making a first prototype and it worked!

I Redid a few things and updated the blueprint. And here it is! Just have this occur during begin play.

Can confirm that 10 years later this still works. You instead need to use Attach Component to Component though:

Thanks

Can confirm that 11 years later this still works.