Overview
Simple Interaction System is a drop‑in, Inspector‑driven framework for first‑person projects. Add a single InteractionController to your player, place the Interactable component on scene objects, pick a type, and press Play.
This asset is used by our upcoming game, more features and updates will be added as they are needed during the game's development.
Supported interaction types:
- Door
- Button
- Lever
- Wheel
- Switch
- Tangible (pickup/hold)
- Place (placement)
- Custom
Demo Game Coming Soon... The Reactor
Promo Video
Gallery









Why Use It
- One controller orchestrates detection (overlap and raycast), input, UI prompts, selection and highlighting, and simple animations.
- Clean editor flow: focused custom inspector per type, plus a bulk‑add window.
- Look‑to‑interact option and "auto start/stop" when NeedInteraction is disabled.
- Placement previews and "out‑of‑range" indicators built in.
- UnityEvents on Interactable let you hook gameplay without writing code.
What's Included
- Core runtime: Interactable, InteractionController, InteractionType and Exclusivity
- Editor tooling: custom inspector and Interactable window
- URP outline material for selection highlights
- Minimal demo scene and prefabs for every interaction type
- DOCUMENTATION.pdf (setup, tips, and notes)
How It Works (Runtime Highlights)
- Periodic sphere overlap collects nearby colliders; per‑frame selection with optional camera‑based look targeting.
- Doors, buttons, and switches animate via coroutines. Levers and wheels expose angle and percentage, with clamp or free‑spin modes.
- Holding: mouse wheel adjusts distance; right mouse plus move rotates held items; drop key restores physics.
- Exclusivity: world‑lock or type‑lock prevents conflicting interactions.
Limitations
- Single‑player only (no networking).
- Uses Unity's classic Input by default (New Input System not integrated).
- URP outline material included; Built‑in/HDRP users should supply a compatible outline or disable highlight.
- Demo controller uses a Unity 6 API; see Compatibility below.
Render Pipeline Compatibility
The Built-in Render Pipeline is Unity's default render pipeline. The Universal Render Pipeline (URP) is a Scriptable Render Pipeline that is quick and easy to customize. The High Definition Render Pipeline (HDRP) is a Scriptable Render Pipeline for high-fidelity graphics on high-end platforms.
Unity Version | Built-in | URP | HDRP |
---|---|---|---|
6000.0.42f1 (Unity 6) | Not compatible | Compatible | Not compatible |
Additional Compatibility Information
- Minimum editor for demo: Unity 6000.x (Unity 6) because the demo uses
Rigidbody.linearVelocity
. - Using 2022.3 LTS: Import the Core, Core/Editor, and Prefabs folders; exclude the Demo folder or wrap the demo controller for pre‑6. Core scripts are compatible.
- Render pipelines: URP outline included. Built‑in and HDRP should use a compatible outline material or leave outline disabled.
Documentation & Setup Guide
Complete user guide with setup instructions, interaction type details, troubleshooting, and performance tips.
Download User Guide (PDF)Quick Setup:
- Add the InteractionController component to your player root.
- Ensure your player has a child Camera (the first child Camera is used).
- Create a Canvas with a Panel and a TMP Text template. Assign the Panel to InteractionPanel and the TMP Text to TextPrefab on the controller.
- (Optional) Assign an Outline Material for selection highlighting.
- Add the Interactable component to any GameObject you want to interact with, choose an Interaction Type, and press Play.
Support
Email intrafirestudios@gmail.com (typical response 24–48 hours). Includes integration assistance, bug fixes, and feature clarification.
If you need any features not covered, contact the support email with your request.