A downloadable tool

Buy Now$10.00 USD or more

Originally made for Toolbox Jam as "Screenshake Asset for Unity"!

Easily implement screenshake, camera kickbacks, and hitstop into your game with Super Game Feel Effects! It's easier than ever to add these effects to your game.

Online Documentation

Easy Implementation
After importing Super Game Feel Effects, you can call Camera.Shake() or Camera.Stop() to use these effects! You don't even need to add the script to the camera yourself, as it will be added automatically.

No Interference
Already got a camera script up and running? No problem! All effects are specially-designed to not interfere with any other scripts.

Turn the (screenshake) dial to 11
Tweak every effect to your liking with fully-editable curves, and even options to round movement to a specific decimal place.

Online Documentation

Rated 4.8 out of 5 stars
(5 total ratings)
Tagsgame-feel, screenshake, tool, unity-asset


Buy Now$10.00 USD or more

In order to download this tool you must purchase it at or above the minimum price of $10 USD. You will get access to the following files:

SuperGameFeelEffects v1.0.unitypackage 126 kB


Log in with itch.io to leave a comment.


looks great but I'm experiencing an issue. I attached a Screenshake script to my Main Camera, and when there is an explosion ingame I call my gamecontroller, which invokes Camera.current.Shake();

On 2/3 of the explosions it works, but sometimes it doesn't and I get the following error:

NullReferenceException: Object reference not set to an instance of an object
ScreenshakeCameraExtentions.Shake (UnityEngine.Camera cam) (at Assets/Clavian/Screenshake/ScreenshakeCameraExtentions.cs:9)
GameController.Explosion () (at Assets/Scripts/GameController.cs:51)
DestroyByContact.OnTriggerEnter (UnityEngine.Collider other) (at Assets/Scripts/DestroyByContact.cs:34)

Line 9 of ScreenshakeCameraExtentions does this:

Screenshake shake = cam.transform.GetComponent<Screenshake>();

Any idea why it's failing to get the Screenshake component?


Looked into it, and the problem seems to be that Camera.current is meant for low-level render control, only: https://docs.unity3d.com/ScriptReference/Camera-cu...

Instead of using Camera.current, try using Camera.main or a public Camera variable!


With Camera.main it works like a charm :D

Thanks for the hint and for the asset!