The Unity Asset Store has a free asset called EZ Camera Shake. Since I had a half-day at work (training day), I decided to port this to Roblox. Thankfully there wasn’t a lot of code, so porting it wasn’t too difficult at all.
The original author of the Unity3D asset, Road Turtle Games, gave me written permission via email to make and open-source this port to Roblox. I contacted the developer since there was no licensing information available for the Unity3D asset.
Example of the module using the Explosion preset:
local camShake = CameraShaker.new(Enum.RenderPriority.Camera.Value, function(shakeCf) camera.CFrame = playerCFrame * shakeCf end) camShake:Start() -- Explosion shake: camShake:Shake(CameraShaker.Presets.Explosion)