Skip to main content

Quick Start

Install ElysImpact and play your first response in under 5 minutes.

Prerequisites

  • Unreal Engine 5.6 or later
  • C++ project (required for plugin activation)

Installation

1. Install from FAB Marketplace

Download ElysImpact from the FAB Marketplace and install it to your engine or project.

2. Enable the Plugin

  1. Open your project in Unreal Editor
  2. Go to Edit → Plugins
  3. Search for Elys Impact
  4. Check the box to enable it
  5. Restart the editor when prompted

3. Verify Installation

In the Content Browser, enable Show Plugin Content and verify the ElysImpact folder appears.

4. C++ Projects — Update Build.cs

Add the module to your .Build.cs file if you plan to use the C++ API:

PublicDependencyModuleNames.AddRange(new string[] {
"ElysImpact",
"GameplayTags",
});

Your First Response (Blueprint)

Step 1 — Create a Response Asset

  1. In the Content Browser, right-click → Miscellaneous → Data Asset
  2. Select UERP_ImpactResponseAsset as the class
  3. Name it DA_Impact_Test
  4. Double-click to open it

Step 2 — Add Handlers

In the Handlers array, click + and add:

  • Camera Shake — set Shake Class to any UCameraShakeBase subclass
  • Sound Effect — set Sound to any USoundBase
  • Debug Log — useful to verify the system is firing (Print To Screen: true)

Step 3 — Play from Blueprint

In any Blueprint (e.g., your Character):

Event: On Hit (or any trigger)
→ Play Impact Response
Response Asset: DA_Impact_Test
Target: Self (or the hit actor)

The Play Impact Response node is in the ElysImpact category (right-click → search "Play Impact Response").

Step 4 — PIE Test

Press Play and trigger your event. You should see:

  • The camera shake playing on the local player
  • The sound playing at the target location
  • "ElysImpact: Debug" on screen (from the Debug Log handler)

Your First Response (C++)

#include "Core/UERP_ImpactStatics.h"

// In any function with world context:
UERP_ImpactStatics::PlayResponse(this, TargetActor, ResponseAsset, 1.f);

// With full context:
FERP_ImpactContext Context;
Context.Target = TargetActor;
Context.Source = SourceActor;
Context.ImpactPoint = HitResult.ImpactPoint;
Context.ImpactNormal = HitResult.ImpactNormal;
Context.Magnitude = DamageAmount;
UERP_ImpactStatics::PlayResponseWithContext(this, ResponseAsset, Context);

Adding UERP_ImpactComponent (Optional)

UERP_ImpactComponent adds per-actor defaults and channel filtering:

  1. Add Component → UERP Impact Component on your actor
  2. Set Default Intensity (multiplies all responses played through this component)
  3. Set Muted Channels (tags that will be silenced for this actor)
// Play through the component — applies DefaultIntensity and MutedChannels:
ImpactComponent->PlayResponse(ResponseAsset, 1.f);

Troubleshooting

Nothing happens when I call Play Impact Response

  • Verify the plugin is enabled and the project recompiled
  • Check the Output Log for LogElysImpact messages
  • Add a Debug Log handler to the asset — if it doesn’t print, the session isn’t being created

Camera shake doesn’t play

  • Verify a local PlayerController exists in the scene
  • Check that the Shake Class property is set on the handler

Sound doesn’t play

  • Verify the Sound property is set
  • The handler uses PlaySoundAtLocation by default — set bIs2D: true for UI/menu sounds

Next Steps

Read Core Concepts to understand how the full pipeline works.

Browse Handler Reference to see all available effects.