Runtime Settings
UInteractionFrameworkRuntimeDeveloperSettings appears under project plugin settings as Interaction Framework > Runtime.
| Setting | Default | Use It For |
|---|---|---|
| InteractionInputMappingContext | /InteractionFramework/Blueprints/Input/Interaction/IMC_Interaction | Mapping context that contains interaction command input actions used for prompt controls and local bindings. The default supports bundled demo content; replace it with a project mapping context for production input. |
| FocusDistanceWeight | 0.05 | How much distance affects focus scoring. Increase when closer points should win more strongly. |
| FocusViewWeight | 1.0 | How much view alignment affects focus scoring. Increase when the point nearest the crosshair should win. |
| FocusMinHoldSec | 0.15 | Minimum time before focus can switch away from the current point. Increase to reduce flicker. |
| FocusSwitchScoreMargin | 0.01 | Score advantage a new candidate needs before replacing current focus. Increase to make focus stickier. |
| RouteMismatchPolicy | ServerRouteFallback | How the server handles client activation requests whose route no longer matches server state. |
| ServerMinRequestIntervalSec | 0.07 | Minimum accepted interval between server interaction requests from the same source. |
| MaxSessionDurationSec | 30.0 | Safety limit for hold and multi-tap sessions on the server. Set above your longest legitimate hold duration. |
| ActivationSnapshotMaxDistanceOriginDeltaCm | 150.0 | Tolerance for client press-time distance origin snapshots. |
| ActivationSnapshotMaxViewOriginDeltaCm | 150.0 | Tolerance for client press-time view origin snapshots. |
| bEnableRuntimeDebugDiagnostics | false | Verbose non-shipping diagnostics for focus, activation, authority outcomes, rejected candidates, and page-scan failures. Keep disabled for normal play and release-facing examples. |
| bLoadExampleTags | true | Loads the plugin example gameplay tag source from Config/Tags/InteractionFrameworkExampleTags.ini after restart. Enabled by default so bundled demo content has valid Interaction.* tag references. Disable only after replacing demo tags with project-owned tags. |
| WorldGridMaxCandidates | 128 | Maximum spatial query candidates before detailed filtering. |
| WorldGridDirtyUpdateBudgetPerTick | 128 | Budget for dirty spatial-grid updates per tick. |
| bLogWorldBudgetPressure | true | Log when the spatial-grid dirty update budget is under pressure. |
| WorldGridMaxQueryRangeCm | 0.0 | Optional hard cap for interaction query range. Values <= 0 leave authored ranges uncapped. |
| bPreloadTargetDefinitionSoftAssets | true | Load soft assets referenced by definitions early to reduce first-use hitches. |
UI Settings
UInteractionFrameworkUIDeveloperSettings appears under project plugin settings as Interaction Framework > UI.
| Setting | Default | Use It For |
|---|---|---|
| DefaultInteractionUIWidgetClass | /InteractionFramework/Widgets/WB_VerticalInteractionList | Bundled vertical prompt list used when no target or payload overrides the widget. Replace with a project widget derived from UInteractionUIWidgetBase for production UI. |
| CommandStringTable | /InteractionFramework/Widgets/LocalizationStringTable | Plugin-owned default string table for localized command labels. Use the full command id tag as the key, such as Interaction.Command.Open, and put the prompt label in Source String. |
| GlobalInputPromptPresentationRules | Keyboard/mouse and neutral gamepad defaults | Fallback text/glyph rules used when no input-family profile rule matches. Use for labels such as Esc, LMB, LT, D-Up, View, or Menu. |
| InputPromptPresentationProfiles | KeyboardMouse, Generic, Letters, Symbols, AltLetters | Input-family-specific prompt rules. Use for face-button labels or glyphs that differ by controller layout. |
| bDebounceInputFamilyChanges | true | Prevents prompt flicker from noisy device events or analog drift. |
| InputFamilySwitchDebounceSeconds | 0.12 | How long a new input family must remain pending before prompt labels/glyphs switch. |
| InputFamilySwitchCooldownSeconds | 0.25 | Minimum time after a committed family switch before another switch can commit. |
| bPreloadCommandStringTableAtStartup | true | Avoid first-prompt text lookup hitches. |
| bPreloadRuntimeInputAssetsAtStartup | true | Avoid first-prompt input display hitches. |
| ClampMode | ViewportEllipse | Default projected prompt clamp behavior. |
| ViewportPadding | 32, 32 | Padding for rectangular or hybrid clamp behavior. |
| EllipseRadiiPx | 320, 320 | Ellipse radius for ellipse or hybrid clamp behavior. |
| PositionSmoothingSpeed | 18.0 | Smoothing speed while prompt target is in front of the camera. |
| BehindTargetSmoothingSpeed | 9.0 | Smoothing speed when the projected target moves behind the camera. |
| bShowRuntimeRouteDebugOverlay | false | Show route/projection debug text in runtime UI. |
| bLogRuntimeRouteProjectionChanges | false | Log route projection changes while playtesting. |
Config Defaults Strategy
The plugin config supplies a working first-run baseline: demo gameplay tags, the bundled interaction input mapping context, default vertical prompt widget, localization string table, preloading, projection defaults, prompt presentation fallbacks, and debug toggles. Keep these defaults while exploring the bundled examples. Replace InteractionInputMappingContext, DefaultInteractionUIWidgetClass, and disable example tags when your project has its own input actions, prompt widget, and gameplay tag taxonomy.
Tuning Order
- Get one interaction working with defaults.
- Set the input mapping context and default widget class.
- Tune point proximity in the definition before changing global focus settings.
- Tune projection defaults after the widget layout is stable.
- Use debug settings temporarily while diagnosing focus, route, or projection issues.
Tuning Recipes
- Prompts flicker between nearby targets: increase focus hold time or score margin, then review point range overlap.
- Nearest object wins too aggressively: increase view weight or point view threshold.
- Looked-at object loses too easily: reduce distance weight or increase point priority on the important point.
- Too many prompts are considered in dense spaces: reduce point ranges or candidate limits.
- Network activation rejects valid-looking prompts: review request interval, snapshot tolerance, route mismatch policy, and authority path.
- Widgets appear too close to screen edges: adjust UI projection clamp and alignment defaults before adding widget offsets.