This is a C++ component that is implemented based on EventSystem, so it does not have any dependencies on the interaction system component.
This is just an optional solution. You can choose not to use it and use 2. Interaction Target as described in.
It creates three input types and three response types, which will be introduced one by one in this article.

1. Configurable parameters

- Auto Register Interaction Listen: Defaults to true. This is binding within the component and listening to events, so you don't need to register and listen to events as seen in 2. Interaction Target , but use the component's Delegate to complete the interaction.
- Default Interaction Text: This is the text of the interaction prompt. You can fill in the interaction prompt text you want here.
- Highlight Object Block Collision Channels: This is the object of the PrimitiveComponent that needs to be highlighted. The collision channel that blocks needs to be opened. WorldDynamic is configured by default here, because the interaction component detects the interactive target based on this channel by default.
- Associate: This is mainly the configuration of the associated object.
- Associated Interactable Actors: This is a key-value map of Actor - int32. When all Actors in this Map reach the value of int32, the start interaction event of this interactive object will be triggered; when the interaction has already occurred and the previous conditions are no longer met, the end interaction event of this interactive object will be triggered.
- Remove Associated Interactables On Completed: Whether to remove the interactivity of all key interactive objects when the conditions in the previous parameter description are met.
- Interactable Response Type: The interactive response type of this object. The system provides three types of response types:
- Persistent: This object will always respond to interactive events unless the object is destroyed or the interactivity is removed.
- OnlyOne: Only supports the character to interact with the target once, after which the interactivity of the object will be removed. And the interaction of this object cannot be enabled by reinitialization.
- Temporary: Like the OnlyOne response method, it only responds once, but the object can be reinitialized by ReInitialize.
- InteractableValue: Interaction value setting.
- InteractableValue: Each time an interaction is triggered, it will be +1, and its maximum value is InteractableMaxValue. When it reaches the maximum value, +1 will be reset to 0.
- InteractableMaxValue: Used to limit the maximum value of InteractableValue.