Screen Shake, Tweens & Game Feel — 17 drop-in scripts and 22 easing functions for instant game juice in the Fyrox Rust game engine.
| Script | Category | Description |
|---|---|---|
| CameraShake | Camera | Perlin-noise screen shake with configurable intensity, frequency, and decay |
| CameraZoomPulse | Camera | Quick zoom in/out punch effect on the camera |
| SmoothCameraFollow | Camera | Smooth interpolated camera follow with configurable damping |
| HitStop | Timing | Freeze the game for N frames on impact for emphasis |
| SlowMotion | Timing | Temporarily scale time to a fraction with smooth ramp in/out |
| TweenPosition | Tweening | Animate position from A to B with easing |
| TweenScale | Tweening | Animate scale from A to B with easing |
| TweenRotation | Tweening | Animate rotation from A to B with easing |
| SquashAndStretch | Tweening | Volume-preserving squash/stretch on impact or jump |
| Pulse | Tweening | Repeating scale pulse (heartbeat effect) |
| Bounce | Tweening | Physics-style bounce with configurable height and decay |
| SpriteFlash | Visual | Flash a sprite white/red on damage |
| TrailRenderer | Visual | Render a fading trail behind a moving object |
| AfterImage | Visual | Spawn translucent ghost copies during fast movement |
| DamageNumber | UI | Floating damage/heal numbers with rise and fade |
| UIShake | UI | Shake a UI widget (health bar, portrait, etc.) |
| UIBounce | UI | Bounce a UI element on events (collect, notification) |
Every tween script supports all 22 easing functions, selectable from the editor inspector.
Constant speed, no acceleration. 1 variant.
Quadratic acceleration. In, Out, InOut.
Cubic acceleration. In, Out, InOut.
Sinusoidal curve. In, Out, InOut.
Exponential curve. In, Out, InOut.
Spring overshoot. In, Out, InOut.
Slight overshoot past target. In, Out, InOut.
Ball-drop bounce. In, Out, InOut.
| Genre | Preset | Effects |
|---|---|---|
| Action | Light Hit | CameraShake (low) + SpriteFlash |
| Heavy Hit | CameraShake (med) + HitStop (3f) + SquashAndStretch | |
| Critical Hit | CameraShake (high) + HitStop (6f) + CameraZoomPulse + SlowMotion + SpriteFlash | |
| Enemy Death | CameraShake + SlowMotion + AfterImage + SpriteFlash | |
| Platformer | Landing | SquashAndStretch + CameraShake (low) |
| Jump | SquashAndStretch (stretch) + CameraZoomPulse | |
| Wall Jump | SquashAndStretch + CameraShake (low) + TrailRenderer | |
| Collect Item | Pulse + UIBounce + DamageNumber ("+1") | |
| RPG | Damage Number | DamageNumber + UIShake (health bar) |
| Heal | DamageNumber (green) + Pulse | |
| Level Up | CameraZoomPulse + SpriteFlash + UIBounce | |
| UI | Button Press | TweenScale (press) + Bounce |
| Notification Pop | TweenScale (pop in) + Bounce + Pulse | |
| Error Shake | UIShake (strong) | |
| Tab Switch | TweenPosition (slide) + TweenScale |
Fyrox Juice is a game feel plugin for the Fyrox Rust game engine. It provides 17 drop-in scripts and 22 easing functions that you attach to nodes in the editor. No boilerplate code required — just configure parameters in the inspector.
The Free version depends only on fyrox 1.0. No additional third-party crates are required. The Pro version adds a dependency on the Fyrox editor for its preset browser panel.
Add the script component to any node in the Fyrox editor. Configure parameters (intensity, duration, easing) in the inspector. Trigger effects from code by calling methods like camera_shake.trigger(0.5) or by sending messages.
EffectChain is a Pro script that combines multiple juice effects into a named sequence. Define chains as RON presets (e.g., "CriticalHit" = CameraShake + HitStop + CameraZoomPulse + SpriteFlash). Trigger the entire chain with one call.
Yes. All 17 scripts and 22 easing functions are included in the Free (MIT) version. Pro adds the EffectChain combinator and the preset library — but every individual script works standalone.
17 scripts, 22 easings, 15+ presets — drop-in game juice for Fyrox.
Get Pro on itch.io GitHub (Free)