Skip to main content

Creating an Effect (Blueprint)

Effects now use a single-class model:

  • UEDInteractionEffect is the class you author
  • UEDInteractionEffect is also the runtime object that gets spawned and ticked
  1. Create a Blueprint class derived from UEDInteractionEffect.
  2. Configure its defaults, such as:
    • Channel
    • bStopPreviousInSameChannel
    • bRunOnDedicatedServer
    • Any custom variables you add in your derived Blueprint
  3. Implement one or more event entry points:
    • On Start
    • On Tick
    • On Finish
  4. Add that Blueprint class to one of the effect arrays in UEDInteractionEffectsComponent.

Template Blueprint

The plugin adds a single asset factory entry:

  • ED Interaction Effect Blueprint

When you create the Blueprint from that entry, the Event Graph already contains:

  • On Start
  • On Tick
  • On Finish

Accessing interaction data

Inside the effect Blueprint you can use the event parameters directly, or call:

  • GetEffectContext()

Useful direct helpers on the effect object:

  • GetTargetComponent()
  • GetTargetMeshComponent()
  • GetTargetStaticMeshComponent()
  • GetTargetSkeletalMeshComponent()
  • GetInteractableActor()
  • GetInstigatorController()
  • GetInstigatorPawn()
  • GetElapsedSeconds()
  • GetNormalizedProgress(...)
  • GetPreferredEffectLocation()
  • GetPreferredEffectNormal()

What the events provide

On Start and On Finish provide:

  • Full FEDInteractionEffectContext
  • UPrimitiveComponent*
  • UMeshComponent*
  • UStaticMeshComponent*
  • USkeletalMeshComponent*

On Tick provides:

  • DeltaSeconds
  • Full FEDInteractionEffectContext
  • The same typed component pointers as above

This makes it easy to build one Blueprint that works with both Static Mesh and Skeletal Mesh targets without extra casting in common cases.