Skip to main content

ElysImpact

Version Unreal Engine Proprietary licence

A modular, data-driven game feel and response system for Unreal Engine 5. Play camera shakes, sound effects, particle bursts, material flashes, physics impulses, and more — all driven by composable Response Assets with no code required.

Quick Navigation

Quick Start - Install and play your first response in minutes

Core Concepts - Handlers, Response Assets, Sessions, Subsystem

Handler Reference - All 30 built-in handlers with properties

Feel Profiles & Dramatic Intensity - Dynamic intensity scaling

Channel System - Mute, amplify, and route responses by tag

Beat Quantization - ElysMusicEngine integration

API Reference - Complete C++ class documentation

Quick Reference - Cheat sheet and common patterns


Overview

ElysImpact replaces scattered PlaySoundAtLocation / SpawnEmitterAtLocation / ClientStartCameraShake calls with a unified, configurable pipeline. You define Response Assets (data assets listing one or more handlers), then call PlayResponse from Blueprint or C++ — the subsystem handles timing, concurrency, channel filtering, and intensity scaling automatically.

Core workflow:

  1. Create a UERP_ImpactResponseAsset and add handlers (camera shake, sound, scale punch…)
  2. Call Play Impact Response from Blueprint (or UERP_ImpactStatics::PlayResponse from C++)
  3. The subsystem creates a session, applies intensity modifiers, and runs all handlers concurrently

Architecture

Handler (UERP_ImpactHandler): An atomic effect — one camera shake, one sound, one material flash. Configured in-line on a Response Asset. Handlers run concurrently within a session.

Response Asset (UERP_ImpactResponseAsset): A UDataAsset containing a list of handlers plus metadata (channels, choreography, dramatic contribution, intensity multiplier).

Session (UERP_ImpactSession): A GC-managed runtime object created per PlayResponse call. Owns per-session copies of all handlers (duplicated from the asset template) so concurrent sessions never share mutable state.

Subsystem (UERP_ImpactSubsystem): A UGameInstanceSubsystem that manages all active sessions, per-actor Dramatic Intensity, the active Feel Profile, channel state, and global intensity.

Feel Profile (UERP_FeelProfile): A data asset defining global intensity scale, DI curve, suppression flags (particles/audio/camera/post-process), and forced-muted channels.

What It Includes

  • 30 built-in handlers across 8 categories (Transform, Movement, Visual, PostProcess, Time, Audio, Camera, Particles, Gameplay)
  • Data-driven Response Assets with inline handler configuration
  • Per-actor Dramatic Intensity accumulation and decay
  • Channel system with GameplayTag-based muting and intensity overrides
  • Response Choreography for area effects (Primary/Secondary/Tertiary roles)
  • Feel Profile system for global intensity scaling
  • Blueprint node Play Impact Response with full context pins
  • Optional UERP_ImpactComponent for per-actor defaults and channel filtering
  • ElysMusicEngine bridge flag (bQuantizeToBeat) for beat-sync effects

What It Does Not Include

  • Built-in UI or HUD elements
  • AI or NPC behavior (see ElysAwareness for perception systems)
  • Automatic damage or health systems

Key Concepts

Handler: The atomic building block. Each handler performs exactly one effect. Add multiple handlers to a Response Asset to compose complex responses.

Intensity: A float [0..∞] that scales every handler’s output. Computed from: ContextOverride × AssetMultiplier × GlobalScale × ChannelScale × DI curve value.

Dramatic Intensity (DI): Accumulates per-actor on each PlayResponse call. Decays over time. Normalized to [0, 1] and fed through the Feel Profile’s DI curve to produce an intensity multiplier — making combos feel increasingly impactful.

Channels: FGameplayTag labels on a Response Asset. Use them to mute (e.g., suppress all audio during cutscenes) or scale (e.g., reduce camera effects on low settings) entire categories.

Context (FERP_ImpactContext): Rich event data passed with each PlayResponse call — Target, Source, Instigator, EventTag, Magnitude, ImpactPoint, ImpactNormal, IntensityOverride.


Quick Start

Minimal Blueprint setup (full guide in Quick Start):

  1. Create a Response Asset: Right-click in Content Browser → Miscellaneous → Data Asset → UERP_ImpactResponseAsset
  2. Add handlers: In the asset, click + in Handlers → choose e.g. Camera Shake, Sound Effect, Scale Punch
  3. Configure each handler: Set shake class, sound asset, punch scale, durations
  4. Play it: In any Blueprint, call Play Impact Response → connect Target and the asset

Next Steps

New users: Quick Start — install and configure in under 5 minutes.

Understand the system: Core Concepts — how the pipeline works.

Browse effects: Handler Reference — all 30 handlers with properties.

Tune game feel: Feel Profiles & Dramatic Intensity.

Organize responses: Channel System.