BPC_UsableWorldObjectSystem — Usable World Object System
Parent Class: ActorComponent
Category: Interaction
Target UE Version: 5.5–5.7
Build Phase: 2 — Interaction
1. Overview
BPC_UsableWorldObjectSystem powers generic usable objects in the world — switches, buttons, valves, terminals, readable notes, audio logs. Provides a unified interaction interface for any object the player can "use" via the InteractionDetector.
2. Enums
E_UsableObjectType
| Value |
Description |
Switch |
Toggleable switch |
Button |
Pressable button |
Valve |
Rotatable valve |
Terminal |
Interactive screen |
Readable |
Note/book |
AudioLog |
Audio playback device |
Generic |
Custom interaction |
3. Variables
| Variable |
Type |
Description |
ObjectType |
E_UsableObjectType |
Type of usable object |
InteractionData |
DA_InteractionData* |
Interaction definition |
bIsActive |
bool |
Object enabled |
bSingleUse |
bool |
Can only be used once |
bHasBeenUsed |
bool |
Tracked if single-use |
CooldownSeconds |
float |
Reuse cooldown |
4. Functions
| Function |
Description |
OnUse |
Executes interaction logic |
SetEnabled |
Enable/disable object |
ResetObject |
Return to initial state |
5. Event Dispatchers
| Dispatcher |
Payload |
Description |
OnObjectUsed |
AActor* User |
Object successfully used |
OnObjectStateChanged |
bool bIsActive |
State toggled |
6. Dependencies
| System |
Relationship |
BPC_InteractionDetector |
Focus and interaction routing |
DA_InteractionData |
Data-driven interaction config |
7. Reuse Notes
- Generic base for all "press E to use" world objects
- Can be subclassed for specialized behavior