Skip to content

🎁 Pickups — Effects

Folder: Runtime/Systems/Pickups/Effects

This folder contains the concrete runtime implementations of pickup effects.

Each effect is a ScriptableObject deriving from PickupEffect and defines the behaviour executed when the pipeline reaches OnApply(...).


🎯 Purpose

The Effects layer provides the runtime behaviours executed by the pickup system.

It is responsible for:

  • implementing concrete PickupEffect types
  • providing reusable built-in behaviours
  • demonstrating standard effect authoring patterns

This folder does not include:

  • the effect pipeline
  • decorator construction
  • definition authoring
  • scene interaction logic
  • authority resolution

📦 Folder Overview

This folder provides:

  • concrete effect implementations
  • payload logic executed after pipeline validation
  • compatibility with decorators and cooldowns

🧩 What Lives Here

Built-in effects include:

  • AnimatorTriggerEffect
  • CompositeEffect
  • ShieldEffect
  • TeleportEffect
  • VfxBurstEffect

🧠 Usage Guidance

Effect Execution

Effects are executed through the pickup pipeline.

Typical flow:

  1. definition creates a core effect
  2. decorators wrap the effect
  3. effect is invoked through the runner or standard path
  4. base validation and cooldown checks are applied
  5. OnApply(...) executes the effect logic

Null-Damageable Support

Effects that operate on the context object may implement:

IEffectAllowsNullDamageable

This allows execution without an IDamageable.

Effects that do not implement this marker require a valid target.


Composite Execution

CompositeEffect executes multiple child effects in sequence.

  • each child runs independently
  • each child enforces its own validation and cooldown rules

🧪 Diagnostics

Effect behaviour depends on:

  • provided context object
  • available components (Animator, Rigidbody, etc.)
  • configuration values set on the effect

Effects may perform no action when required data or components are missing.


⚠️ Important Notes

  • effects define behaviour, not execution policy
  • cooldown and validation rules are handled by the base pipeline
  • decorator wrapping is applied externally by the factory
  • context and targeting are provided by the caller

🚫 Not for Production Use

This folder does not provide:

  • pipeline control or execution rules
  • scene trigger systems
  • authority or networking logic

It defines effect payloads only.


  • Core
  • Definitions
  • Decorators
  • Abstractions
  • UnityIntegration