INSODIMENSIONStudios

Quick Start Guide

Get Agentic FeedbackFX working in your UE5 project in 5 minutes

Quick Start Guide

1. Enable the Plugin

Add to your .uproject:

{
    "Name": "AgenticFeedbackFX",
    "Enabled": true
}

2. Create a Config Data Asset

  1. Right-click in Content Browser
  2. Miscellaneous → Data Asset → AgenticFeedbackFXConfig
  3. Name it (e.g., DA_FeedbackConfig)

3. Add Event Mappings

In your config asset, add entries:

Event TagEvents
Event.Damage.LightShake (small), Audio
Event.Damage.HeavyShake (large), HitStop (short), Haptics
Event.Damage.CriticalShake, HitStop, PostProcess (blood), Audio
Event.Status.LowHealthPostProcess (vignette, persistent)

4. Add Component to Controller

Blueprint

  1. Open your PlayerController Blueprint
  2. Add Component → Agentic FeedbackFX Component
  3. Set Feedback Config to your data asset

C++

// In your PlayerController header
UPROPERTY(VisibleAnywhere, BlueprintReadOnly)
TObjectPtr<UAgenticFeedbackFXComponent> FeedbackComponent;

// In constructor
FeedbackComponent = CreateDefaultSubobject<UAgenticFeedbackFXComponent>(TEXT("FeedbackFX"));

5. Trigger Events

From C++

// Get component from controller
UAgenticFeedbackFXComponent* Feedback = GetController()->FindComponentByClass<UAgenticFeedbackFXComponent>();

// Simple - just magnitude
Feedback->TriggerFeedbackEventSimple(
    FGameplayTag::RequestGameplayTag("Event.Damage.Heavy"),
    0.8f  // 0-1 intensity
);

// Full context
FAgenticFeedbackFXContext Context;
Context.Magnitude = FMath::Clamp(DamageAmount / 100.0f, 0.0f, 1.0f);
Context.WorldLocation = HitLocation;
Context.SourceActor = Attacker;
Context.TargetActor = Victim;
Feedback->TriggerFeedbackEvent(Tag, Context);

// Helper for damage
FAgenticFeedbackFXContext Ctx = FAgenticFeedbackFXContext::FromDamage(
    DamageAmount, 0.0f, 100.0f, Attacker, Victim, HitLocation);

From Blueprint

  1. Get reference to your FeedbackFX Component
  2. Call Trigger Feedback Event or Trigger Feedback Event Simple

6. Automatic Triggers (Optional)

Add triggers to your config for automatic effects:

Low Health Vignette:

  • Trigger Type: Attribute
  • Attribute: Health
  • Max Attribute: MaxHealth
  • Comparison: Less Than
  • Threshold: 25 (percent)
  • Hysteresis: 5
  • Event Tag: Event.Status.LowHealth

The effect auto-triggers when health drops below 25% and auto-removes when health rises above 30%.

Context Fields

FieldTypePurpose
MagnitudefloatIntensity scaling (any value, often 0-1)
WorldLocationFVectorFor directional/3D effects
ImpactTransformFTransformFor spawning world VFX (Niagara, decals)
SourceActorAActor*Who caused the event (attacker)
TargetActorAActor*Who received the event (victim)
ContextTagsFGameplayTagContainerAdditional filtering
ValuesTMapNamed values for material parameters

Named Context Values

Use Values to pass multiple named parameters to material effects:

FAgenticFeedbackFXContext Context(1.0f);
Context.SetValue("HitAngle", 45.0f);
Context.SetValue("IsCritical", 1.0f);
Feedback->TriggerFeedbackEvent(Tag, Context);

Events can map these values to material parameters using FAgenticFXScalarParam with ContextValue source. See Events Reference for details.

Tips

  • Magnitude is generic - not damage-specific. Use it for any intensity scaling.
  • Persistent effects (Duration=0) stay until removed with RemovePostProcessEffectByTag()
  • Hysteresis prevents flickering near thresholds
  • Events can trigger multiple effects - add Shake + HitStop + Audio to one tag
  • Hit Stop defaults to LocalVisual mode which is multiplayer-safe