API Reference
Types are in CrimsonInput unless noted. BP = Blueprint-callable; BP (pure) = Blueprint pure node; C++ only = no Blueprint node. The binding templates on UCrimsonInputComponent are C++ only.
Config & component
| Type | Kind | Description |
|---|---|---|
UCrimsonInputConfig | UDataAsset (Const) | Maps UInputAction assets to tags across NativeInputActions, AbilityInputActions, UIInputActions. BP: FindNativeInputActionForTag, FindAbilityInputActionForTag, FindUIInputActionForTag. |
FCrimsonInputAction | Struct (BlueprintType) | One TObjectPtr<const UInputAction> + FGameplayTag pair; the element type of all three config lists. |
UCrimsonInputComponent | UEnhancedInputComponent | C++ only: BindNativeAction (tag -> callback, one ETriggerEvent), BindAbilityActions (press Triggered; release Completed+Canceled; callback void(FGameplayTag)), BindAbilityActionsWithAction (press Started; release Completed+Canceled; callback void(UInputAction*, FGameplayTag)), RemoveBinds. BP but reserved no-op: AddInputMappings / RemoveInputMappings currently do nothing - apply IMCs with UCrimsonInputHelpers::AddMappingContextWithChordTriggers instead. |
Modifiers & settings provider
| Type | Kind | Description |
|---|---|---|
ICrimsonInputSettingsProvider | UInterface | Implement on your ULocalPlayer. C++ virtuals GetGamepadMoveStickDeadZone, GetGamepadLookStickDeadZone, GetGamepadLookSensitivityPreset, GetGamepadTargetingSensitivityPreset, GetInvertVerticalAxis, GetInvertHorizontalAxis, GetSharedSettingsObject (C++ only). Each has a K2_ BP BlueprintNativeEvent the virtual defaults to. |
UCrimsonInputModifierDeadZone | UInputModifier | Radial/Axial deadzone. Lower threshold from the provider (DeadzoneStick = Move/Look); Type, UpperThreshold are properties. NotBlueprintable. |
UCrimsonInputModifierGamepadSensitivity | UInputModifier | Scales look by SensitivityLevelTable->SensitivityEnumToFloat() at the player's preset. TargetingType (Normal/ADS) selects which preset. NotBlueprintable. |
UCrimsonInputModifierAimInversion | UInputModifier | Inverts X and/or Y from provider flags. No properties. NotBlueprintable. |
UCrimsonSettingBasedScalar | UInputModifier | Scales axes by named float/double properties read from GetSharedSettingsObject() via reflection. X/Y/ZAxisScalarSettingName, Min/MaxValueClamp. NotBlueprintable. |
ECrimsonTargetingType | Enum (BlueprintType) | Normal / ADS - which sensitivity preset the gamepad modifier reads. |
EDeadzoneStick | Enum (BlueprintType) | MoveStick / LookStick - which deadzone value the deadzone modifier reads. |
Chord system & rebinding
| Type | Kind | Description |
|---|---|---|
UInputTriggerCrimsonDynamicChord | UInputTrigger | Enforces a modifier chord (exact match; gamepad bypass). DefaultChord (inline default), MappingName (set to opt into per-player overrides), bOverrideSlot/OverrideSlot. NotBlueprintable, NotInputConfigurable. |
UInputTriggerCrimsonPressAndHold | UInputTrigger | Explicit trigger for Tap/Hold/Toggle: Triggered once on actuation, Ongoing while held, Completed on real release. No properties. |
FCrimsonChordRequirement | Struct (BlueprintType, CrimsonCommon) | bRequiresShift, bRequiresCtrl, bRequiresAlt (all SaveGame). IsEmpty(), GetDisplayName(FKey). |
UCrimsonInputUserSettings | UEnhancedInputUserSettings | Per-player chord persistence (ChordMappings, SaveGame). BP: SetChordRequirement, GetChordRequirement, GetChordRequirementWithDefaults, ClearChordRequirement, ClearAllChordRequirements, OnSettingsApplied (BlueprintNativeEvent). BP (pure): HasChordRequirement, FindChordConflict. Reach it via the subsystem's Get Enhanced Input User Settings then cast. |
FCrimsonChordMappingEntry | Struct (SaveGame) | MappingName + Slot + FCrimsonChordRequirement; the persisted array element in UCrimsonInputUserSettings. |
UCrimsonPlayerMappableKeySettings | UPlayerMappableKeySettings | Attach to a UInputAction for the rebindable flow; its Name keys the per-player overrides. BP (pure): GetTooltipText; Tooltip property. |
UCrimsonInputSettings | UDeveloperSettings (Config=Game) | Project Settings -> Crimson -> Crimson Input. Shift/Ctrl/Alt modifier action soft-refs + UIConfirmAction/UIBackAction. BP (pure): GetShiftModifierAction, GetCtrlModifierAction, GetAltModifierAction, GetUIConfirmAction, GetUIBackAction. (static Get() is C++ only.) |
UCrimsonInputHelpers | UBlueprintFunctionLibrary | BP: CreateIMCWithChordTriggers, AddMappingContextWithChordTriggers (subsystem), AddMappingContextToPlayerWithChordTriggers (local player). BP (pure): GetChordDisplayTextForAction (formatted key+chord label). |
Sensitivity & extension bases
| Type | Kind | Description |
|---|---|---|
UCrimsonAimSensitivityData | UPrimaryDataAsset (Const) | TMap<ECrimsonGamepadSensitivity, float> SensitivityMap. BP (pure): SensitivityEnumToFloat. |
ECrimsonGamepadSensitivity | Enum (BlueprintType, CrimsonCommon) | 10 named presets (Slow ... Insane). Defined in CrimsonCommon/Public/Input/CrimsonSensitivityTypes.h. |
UCrimsonPlayerInput | UEnhancedPlayerInput | Thin extension point for player-input processing (telemetry, latency markers). Optional; dormant in the shipped project. |
UCrimsonPlayerMappableKeyProfile | UEnhancedPlayerMappableKeyProfile | Fires OnProfileEquipped / OnProfileUnequipped BlueprintNativeEvents on key-profile change. |
Related (other plugins)
| Type | Plugin | Why it matters here |
|---|---|---|
UCrimsonAbilitySystemComponent::AbilityInputTagPressed / AbilityInputTagReleased | CrimsonAbilitySystem | BP - forward ability input by tag from Blueprint (Enhanced Input event -> these nodes). Standalone GAS input entry point. |
ACrimsonCharacter, UCrimsonPawnData | CrimsonCore | The Blueprint fast path: subclass the character, set PawnData->InputConfig, and all input auto-binds. See Concept: Full-Stack Integration & Multiplayer. |