Quick Reference
Cheat sheet for the most common ElysImpact patterns.
Blueprint Nodes
| Node | Category | Description |
|---|---|---|
| Play Impact Response | ElysImpact | Play a Response Asset on a target |
| Stop Session | ElysImpact | Cancel a running session |
| Stop All On Actor | ElysImpact | Cancel all sessions on a target |
| Set Feel Profile | ElysImpact|Feel | Switch the active Feel Profile |
| Mute Channel | ElysImpact|Channels | Silence a channel tag |
| Unmute Channel | ElysImpact|Channels | Restore a channel tag |
| Set Channel Intensity | ElysImpact|Channels | Scale a channel’s intensity |
| Set Global Intensity | ElysImpact | Scale all response intensities |
| Get Dramatic Intensity | ElysImpact|Dramatic | Read actor’s current DI [0..1] |
| Reset Dramatic Intensity | ElysImpact|Dramatic | Clear actor’s DI to 0 |
| Make Impact Context | ElysImpact|Context | Build a context from target + magnitude |
| Make Impact Context From Hit | ElysImpact|Context | Build a context from a hit result |
C++ Quick Reference
// Play (simple)
UERP_ImpactStatics::PlayResponse(this, Target, Asset, IntensityOverride);
// Play (full context)
FERP_ImpactContext Ctx = UERP_ImpactStatics::MakeImpactContextFromHit(Hit, Damage);
UERP_ImpactStatics::PlayResponseWithContext(this, Asset, Ctx);
// Stop
UERP_ImpactStatics::StopAllOnActor(this, Target);
// Channel muting
UERP_ImpactStatics::MuteChannel(this, FGameplayTag::RequestGameplayTag("ElysImpact.Channel.Audio"));
UERP_ImpactStatics::UnmuteChannel(this, AudioChannel);
UERP_ImpactStatics::SetChannelIntensity(this, CameraChannel, 0.5f);
// Global intensity
UERP_ImpactStatics::SetGlobalIntensity(this, 0.5f);
// Feel Profile
UERP_ImpactStatics::SetFeelProfile(this, MyProfile);
// Dramatic Intensity
float DI = UERP_ImpactStatics::GetDramaticIntensity(this, Target); // [0..1]
UERP_ImpactStatics::ResetDramaticIntensity(this, Target);
// Subsystem direct access
UERP_ImpactSubsystem* Sub = UERP_ImpactSubsystem::Get(this);
Handler Decision Guide
| You want to... | Use handler... |
|---|---|
| Camera shake | Camera Shake |
| FOV zoom/pulse | Camera FOV Pulse |
| Scale punch (cartoon hit) | Scale Punch |
| Spring jiggle | Jiggle |
| Squash & stretch | Squash And Stretch |
| Physics impulse | Impulse |
| Oscillate position | Oscillate |
| Spin actor | Spin |
| Bounce | Bounce |
| Attract toward source | Attract |
| Flash material overlay | Material Flash |
| Rim/outline glow | Rim Highlight |
| Ghost after-image | After Image |
| Blink actor | Visibility Blink |
| Flicker actor | Visibility Flicker |
| Screen fade | Screen Fade |
| Play sound | Sound Effect |
| Controller rumble | Controller Rumble |
| Chromatic aberration | Chromatic Aberration |
| Bloom flash | Bloom Pulse |
| Depth of field blur | Depth Blur |
| Color grade | Color Grade |
| Niagara burst | Particle Effect |
| Slow time | Time Dilation |
| Spawn actor | Spawn Actor |
| Enable/disable actor | Set Active |
| Trigger GAS event | Trigger Gameplay Event |
| Chain another asset | Chain Response |
| Debug output | Debug Log |
Common Patterns
Hit Response on Character
- Response Asset with: Camera Shake + Sound Effect + Scale Punch + Material Flash
- All on channel
ElysImpact.Channel.Hit DramaticContribution: 0.5- Call from
OnTakeAnyDamagewithMagnitude = DamageAmount
Explosion Area Response
- Response Asset with: Camera Shake (Attenuate by Radius) + Chromatic Aberration + Bloom Pulse + Particle Effect
- Set
ChoreographyGroup.GroupTagtoImpact.Explosion PrimaryLockDuration: 1.0,MaxSecondaryCount: 3- Call on all actors in explosion radius — Choreography handles visual budget
Menu / Pause Profile
- Create
UERP_FeelProfilewith:bSuppressAudio: truebSuppressCameraEffects: truebSuppressParticles: trueGlobalIntensityScale: 0.0
SetFeelProfile(this, PauseProfile)on pause,SetFeelProfile(this, nullptr)on resume
Per-Platform Intensity
// In GameInstance BeginPlay:
float Scale = UGameUserSettings::GetGameUserSettings()->GetOverallScalabilityLevel() / 3.f;
UERP_ImpactStatics::SetChannelIntensity(this, PostProcessChannel, Scale);
UERP_ImpactStatics::SetChannelIntensity(this, ParticleChannel, Scale);
Naming Convention
| Class | Prefix | Example |
|---|---|---|
UObject-derived classes | UERP_ | UERP_ImpactSubsystem |
| Structs | FERP_ | FERP_ImpactContext |
| Enums | ERP_E | ERP_EChoreographyRole |
| Data Assets | DA_ (project convention) | DA_Impact_HeavyHit |
| Response Assets | DA_Impact_ | DA_Impact_Explosion |
| Feel Profiles | DA_FeelProfile_ | DA_FeelProfile_Cinematic |