How-To: Configure Collision

Goal: control which channel the scan queries and how interactables respond - without hand-editing config literals.

It already works
The default InteractionTraceChannel is Visibility, so any actor with default collision is detected with zero setup. Only change this when you want interactables off the Visibility channel.

1. Tune the defaults in Project Settings

Project Settings -> Crimson -> Crimson Interaction (UCrimsonInteractionSettings) is the single source of scan defaults. Read them in C++ with UCrimsonInteractionSettings::Get() when spawning your tasks; in Blueprint, mirror the values in your ability's defaults (the settings are not BP-readable).

Project Settings -> Crimson -> Crimson Interaction: trace channel, overlap/block profile names, scan range/rate, top-down distance/radius, debug.

2. (Optional) use a dedicated channel + the shipped profiles

On Visibility, interactables share the channel with world geometry. For a cleaner setup, add a custom trace channel and assign the shipped profiles to your interactables' collision components.

  1. The plugin ships Interactable_OverlapDynamic (overlaps the trace, blocks nothing) and Interactable_BlockDynamic (blocks the line trace) via its Config/DefaultEngine.ini.
  2. Assign Interactable_OverlapDynamic to your interactable's collision component (Collision Presets).
  3. If you add a dedicated trace channel in Project Settings -> Collision, point InteractionTraceChannel at it and update the profiles' response to that channel.
Custom channel indices are project-global
Named profiles ship cleanly, but a custom trace-channel index (ECC_GameTraceChannelN) is allocated per project and can clash with other plugins. Confirm the slot is free before relying on it; the Visibility default avoids the issue entirely.
Overlap, not block
The forward-trace scan uses a multi-trace precisely so interactables can overlap the channel without stopping it. Interactable_BlockDynamic is for the rare solid interactable that should also stop the trace (a lever on a wall).