Interaction Engine Documentation

Troubleshooting

Debug interaction issues by isolating the failed stage.

Interaction Engine has several independent stages: focus acquisition, prompt display, input prediction, server validation, confirmed execution, runtime state replication, widget updates, and persistence. When something fails, identify the first stage that stops working before changing unrelated settings.

Recommended approach: test with one player, one target, one slot, and one expected result. Once that works, add multiplayer, foliage, custom widgets, save/load, or more slots back one at a time.

Useful debug commands

Enable only the categories related to the problem you are investigating. Disable them again after testing to keep the Output Log readable.

Command Use when
ie.Debug.Focus 1 Targets are not being acquired, the wrong actor receives focus, or slot selection feels incorrect.
ie.Debug.Validation 1 The prompt appears, but the server rejects the interaction.
ie.Debug.Net 1 Client and server behavior differ, or confirmed events do not arrive on clients.
ie.Debug.Transaction 1 You need to follow a specific interaction from prediction to server confirmation or rejection.
ie.Debug.Foliage.EventTrace 1 Foliage focus, proxy handoff, proxy events, or lifecycle resolution is not behaving as expected.
ie.Debug.FoliageProxy 1 A foliage proxy spawns, hides, restores, or replicates incorrectly.
ie.Debug.SaveLoad 1 Interactable or foliage proxy state does not restore correctly after loading.
ie.Debug.Glyph 1 Input glyphs do not match the active device, input action, or selected gamepad style.

Prompt never appears

Prompt appears, but the interaction does not execute

Interaction works on the server but not on the client

This usually means local prediction happened, but the server rejected the interaction or the client is listening to the wrong event. Client-side visuals may react immediately, but gameplay results should come from confirmed events.

Progress bar does not update

Input glyph is missing or wrong

Foliage prompt appears, but proxy events do not fire

Foliage starts as a virtual focus target. The proxy actor is spawned only when the interaction begins or needs an actor-backed runtime state. Debug the handoff before changing Blueprint logic.

Foliage changes on the server but not on clients

Save/load works for actors, but not for foliage

Runtime slot changes do not replicate correctly

UI attaches to the wrong position

Diagnostic order

  • 1. Reduce the test case Use one player, one target, one slot, and one visible Blueprint result.
  • 2. Identify the first failed stage Separate focus acquisition, prompt display, input, prediction, validation, confirmation, replication, widget update, and persistence.
  • 3. Enable the smallest relevant debug category Start with ie.Debug.Focus for acquisition, ie.Debug.Validation for rejection, ie.Debug.Net for multiplayer, or ie.Debug.Foliage.EventTrace for foliage.
  • 4. Fix the cause, not the symptom Avoid local-only visibility changes, duplicated Blueprint state, or direct runtime edits to static slot definitions.