Skip to main content

Creating a Chest

Blueprint: BP_Chest Components:
Interaction Option Example:

Opening Container UI (C++ Example)


Transferring Items (UI Logic)

Player → Chest
Chest → Player

Hold Interactions

Use hold interactions for harvesting, mining, long actions, etc.

Configuration (Interaction Option)

Starting a Hold (C++ Concept)

Progress Feedback (Blueprint)

Completion & Cancellation

  • On Hold Completed → Execute the interaction (give items, open door, etc.)
  • On Hold Cancelled → Reset UI, optionally play cancel sound
These are usually exposed as Blueprint events or delegates on InteractionComponent.

Tool Requirements

Gate certain interactions behind tools (e.g., pickaxe for mining, axe for chopping).

Configuration (Interaction Option)

Validation Pattern

C++ Tool Check Example (Character)

Range & Line-of-Sight

Trace Configuration

Typical defaults:
  • TraceDistance: 500.0f
  • bUseSphereTrace: true
  • SphereTraceRadius: 20.0f

Trace Types

  • Line Trace: Precise, requires exact aim
  • Sphere Trace: More forgiving, better UX
  • Capsule Trace: Useful for tall objects

Line-of-Sight

Enable per-interaction:
Prevents interacting through walls/obstacles.

Animation Integration

Use interaction animations for better feel (pickups, opening chests, etc.).

Basic Pattern

C++ Example (Pickup with Animation)

Foliage Interactions

UMI supports interacting with foliage instances placed via the Foliage tool.

Foliage Hit Detection (C++)

Server RPC Pattern

All interactions should be server-authoritative:
Foliage integration is typically bridged to:
  • Loot System (to spawn items or add directly)
  • Respawn Manager (to regrow foliage later)