ElysImpact
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:
- Create a
UERP_ImpactResponseAssetand add handlers (camera shake, sound, scale punch…) - Call
Play Impact Responsefrom Blueprint (orUERP_ImpactStatics::PlayResponsefrom C++) - 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 Responsewith full context pins - Optional
UERP_ImpactComponentfor 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):
- Create a Response Asset: Right-click in Content Browser → Miscellaneous → Data Asset →
UERP_ImpactResponseAsset - Add handlers: In the asset, click
+in Handlers → choose e.g.Camera Shake,Sound Effect,Scale Punch - Configure each handler: Set shake class, sound asset, punch scale, durations
- 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.