Getting Started

Kickstart Your Game Feel

  1. ⚡ The Juice API
    1. 1. The Simple Shake
    2. 2. HitStop (The Game Feel King)
    3. 3. Slow-Motion Burst
  2. 🎥 Camera “Juice”
    1. Camera Punch
    2. Camera Kick
  3. 🏗️ Architecture Overview
  4. 🚀 Next Steps

⚡ The Juice API

The Game Feel & Juice System uses a static API facade: Juice. This means you can trigger almost any effect from any script without needing to cache references or use GetComponent.

1. The Simple Shake

Need to add weight to an explosion? Just call:

Juice.Shake(0.5f); // 0.5 trauma level

[!NOTE] Trauma vs Shake: Trauma is a value from 0 to 1 that decays over time. Higher trauma results in more intense, randomized shaking.

2. HitStop (The Game Feel King)

To simulate a heavy hit where the game freezes for a moment:

Juice.Time.HitStop(0.1f); // Freeze for 0.1 seconds

3. Slow-Motion Burst

For a cinematic kill or a special move:

Juice.Time.SlowMo(0.2f, 1.5f); // 20% speed for 1.5 seconds

🎥 Camera “Juice”

The camera isn’t just a viewport; it’s a character. Use Punch and Kick to add reactive motion.

Camera Punch

Push the camera in a direction and let it snap back:

Juice.Camera.Punch(Vector3.back * 2f); 

Camera Kick

Rotate the camera based on an impact:

Juice.Camera.Kick(new Vector3(5f, 0, 0));

🏗️ Architecture Overview

The system is modular by design. Each behavior is handled by a specialized Module:

Module Responsibility
ShakeModule Trauma-based oscillations.
TimeModule TimeScale manipulation for HitStop/SlowMo.
FlashModule Efficient MaterialPropertyBlock flickering.
GhostingModule Phantom trail rendering and pooling.
CameraModule Spatial offsets (Punch/Kick).

[!TIP] Pro Tip: You can create your own modules by inheriting from JuiceModuleBase and registering them with the JuiceManager.


🚀 Next Steps


This site uses Just the Docs, a documentation theme for Jekyll.