Extending the framework
The general patterns for building on the framework rather than forking it.
Adding a new interaction type
- Derive a component from
BPC_Interaction. - Add a matching interface with a
CanBe…function returning an override flag and an answer. - Add a pawn or controller ability that traces and calls into your interaction, passing Source Info.
- Call
TickHighlighton the interaction while hovering so highlighting works for free.
AFS_UX_Select is the smallest complete example to copy the shape from.
Adding a new ability
Derive from BPC_PawnAbility for a whole-player ability or BPC_ControllerAbility for a per-hand
one. Override ComponentActivated and ComponentDeactivated to add and remove your input mapping
context — this is what makes the blocker system automatically manage your input.
Adding a new highlight style
Derive from BPC_Highlight, override StartHighlight, EndHighlight and UpdateColor. See
Custom highlight style.
Adding a new widget
Derive from WBP_Base and implement BPI_WidgetElement. Put styling in
WidgetElement_UpdateTheme, content in WidgetElement_Initiate, and nothing in Construct.
Adding a value type
Implement BPI_Value on your object and every settings widget binds to it. Derive from BPC_State
if you want a component rather than an object.
Adding a platform pawn
Derive from an existing pawn, implement BPI_PawnInfo, and return the appropriate E_Pawn_Type.
Assign it in PDA_Level.