How-To: Debug Lock-On with the Dev Tools

Goal: diagnose why a target won't lock, why soft lock picks the wrong enemy, or why a preset returns nothing - using the live Crimson.Camera.DevTools inspector.

Prerequisites
You are in PIE (the tools are PIE-gated) and have a pawn with a UCrimsonLockOnComponent. Open it from Tools -> Crimson Camera -> Camera Dev Tools, or type `Crimson.Camera.DevTools` in the console.
The Crimson.Camera.DevTools window in PIE, showing the Targets / Lock-On / Camera / Preset tabs.

What each tab shows

TabShowsUse it to
TargetsEvery candidate actor with per-column pass/fail: Lockable, CanLock (gate), LoS, Screen (centre score), Self, the hard-lock survivor + rank, Soft, and its Indicator state. Draws a magenta debug marker on the current soft target.See exactly which filter drops a target and where it ranks.
Lock-OnLive hard / soft state and what Get Current Lock On Target resolves to (HARD vs SOFT), plus the active lock point.Confirm what your gameplay code reads this frame.
CameraThe active mode, blend weights, and the shared shoulder / zoom values.Verify which mode is on top and how it is blending.
PresetThe hard preset's tasks and the soft preset side by side; flags a soft preset that is missing a Frontal Cone filter.Catch the most common soft-lock misconfiguration.

Symptom -> diagnosis

SymptomLook atLikely cause
Nothing locks at allThe Targets tab is emptyThe preset has no Selection task (e.g. AOE) - selection runs before filters, so zero selected = zero candidates.
A specific target is skippedThe failing column on that Targets rowThat filter dropped it - Lockable (no target component / health-gated), LoS (blocked), CanLock (gate), or wrong team.
Soft lock grabs enemies behind youThe Preset tab soft columnThe soft preset is missing a Frontal Cone filter (Reference Direction = Camera View).
Wrong soft target / flickerThe Targets Screen + Soft columnsStickiness too low - raise SoftStickinessScoreMargin / SoftMinDwellTime.
The #1 gotcha
A targeting preset with no Selection task always returns zero candidates - filters and sorts only ever narrow a selection. If the Targets tab is empty, add an AOE (or other selection) task first. See Concept: Lock-On Pipeline.

See also

  • How-To: Set Up Lock-On - the preset / config / component setup these tabs inspect.
  • How-To: Add Soft Lock-On - the soft-lock feel these tabs debug.
  • Concept: Lock-On Pipeline - Selection -> Filter -> Sort, and why selection must come first.