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).
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.
- The plugin ships
Interactable_OverlapDynamic(overlaps the trace, blocks nothing) andInteractable_BlockDynamic(blocks the line trace) via itsConfig/DefaultEngine.ini. - Assign
Interactable_OverlapDynamicto your interactable's collision component (Collision Presets). - If you add a dedicated trace channel in Project Settings -> Collision, point
InteractionTraceChannelat 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).