Interactive Furniture System


Key Pickup & Drop ... Add interactive environmental objects with animated behavior. Fans support: Animated spinning Acceleration & deceleration Physical switches ... Demo Scene


by SuperHorizonstudios


Price History +

Drag-and-drop doors, drawers, cabinets & trunks with locks, keys, audio, and a ready-to-use interaction system. Zero dependencies. Works in any Unity project instantly

Engine & Compatibility

  • Unity 2021.3 LTS and above
  • Universal Render Pipeline (URP) and Built-in Render Pipeline compatible
  • No third-party dependencies; only requires Unity.TextMeshPro (included with Unity)
  • Assembly Definition (.asmdef) included for clean compile isolation

Architecture

The system is built around two lightweight interfaces:

  • IInteractable — implemented by all interactive objects (GetPrompt(), OnInteract()). Any custom object implementing this interface is automatically picked up by the Interactor.
  • IPickupable — implemented by collectible items such as KeyItem.

Interaction Flow

  1. FurnitureInteractor fires a Physics.Raycast each frame from the player camera.
  2. Hit collider is queried for IInteractable via GetComponentInParent.
  3. InteractionPromptUI displays the result of GetPrompt().
  4. On KeyCode.E press, OnInteract(this) is called on the target.
  5. Lock check → key consumption → animation coroutine → state update.

Lock & Key System

  • Each lock holds a requiredKeyID string.
  • Each KeyItem holds a matching keyID string.
  • FurnitureInteractor holds at most one key at a time; keys are consumed on use and can be dropped (KeyCode.G) back into the world with physics restored.

SuperHorizon Interactive Furniture System is a modular interaction framework for Unity designed for first-person games. Add interactive doors, drawers, cabinets, trunks, keys, fans, and other environmental objects with a simple camera-based interaction system.

✦ Interactive Furniture

Ready-to-use controllers for common environmental interactions:

  • Single & Double Doors
  • Drawers & Drawer Sets
  • Cabinets
  • Trunks
  • Keys & Locks
  • Fans & Switches

Each controller provides configurable animation, interaction, and optional audio behavior.

✦ Simple First-Person Interaction

The included FurnitureInteractor uses a camera raycast to detect interactive objects and display an interaction prompt.

Configure:

  • Interaction Range
  • Interaction Key
  • Interactable Layer
  • Player Camera

The system is independent of your movement controller, making it easy to integrate with an existing player system.

✦ Keys & Locks

Create locked furniture that requires specific keys.

  • Unique Key IDs
  • Locked Doors, Drawers, Cabinets & Trunks
  • Key Pickup & Drop
  • Required Key IDs
  • Unlock Interactions
  • Pickup Prompts

✦ Fans & Switches

Add interactive environmental objects with animated behavior.

Fans support:

  • Animated spinning
  • Acceleration & deceleration
  • Physical switches
  • Looping audio

✦ Audio Support

Add interaction sounds to furniture and environmental objects using Unity AudioSources and AudioClips.

✦ Developer-Friendly Architecture

The system uses interfaces such as IInteractable and IPickupable, making it possible to extend the framework with your own interactive objects and custom pickup systems.

✦ Included

  • Furniture Interaction System
  • Interaction Prompt UI
  • Door Controller
  • Double Door Controller
  • Drawer Controller
  • Drawer Set Controller
  • Cabinet Controller
  • Trunk Controller
  • Key & Lock System
  • Fan Controller
  • Fan Switch
  • Ready-to-use Prefabs
  • Demo Scene
  • Example Player Controller
  • Audio Support
  • API & Extension Support
  • Documentation

Built for First-Person & Environmental Interaction

Create interactive environments for horror, survival, RPG, adventure, exploration, immersive simulation, and first-person games.

Interact. Open. Unlock. Explore.