Screenshots and videos
Price history
Lowest recorded standalone price: $4.99. Recorded observations span to . This is our available history, not a guaranteed all-time low. Bundle package prices are separate.
Standalone price
Last three months, in USD. Bundle prices cover the whole package.
About DragDrawer System
- Art & Visuals > UI & GUI
Drag-to-Open Drawer System
Unity 2022.3 LTS | URP & Built-in Compatible
A lightweight, realistic, and plug-and-play drag-based drawer interaction system designed for first-person Unity projects.
This system allows players to physically drag drawers open and closed using mouse movement, creating natural and immersive interactions commonly seen in modern FPS and simulation games.
The package is built with clean code, no external dependencies, and focuses on simplicity, performance, and Asset Store–friendly structure.
Core Concept
• Uses a center-screen raycast to detect interactable drawers
• When the player looks at a drawer within range, a minimal interaction UI appears
• Pressing "E" and holding the left mouse button and dragging vertically moves the drawer along its local Z axis
• Drawer movement is fully clamped to prevent over-extension
• Audio feedback plays only when the drawer fully opens or closes
• A single shared UI instance is used to prevent flickering when looking between multiple drawers
Key Features
• Drag-based drawer opening & closing (mouse-driven)
• Realistic, physics-free drawer movement
• Distance-based interaction detection
• Center-screen raycast interaction
• Minimal Interact UI (Image + Text)
• Included lightweight FPS controller
• Optional open / close audio support
• One global UI controller for all drawers
• No ScriptableObjects
• No Cinemachine
• No third-party packages
• Clean, readable, Asset Store–safe code
Input System Requirement (Important)
This asset requires BOTH Unity Input Systems to be enabled
The system uses:
• Old Input Manager (for Input.GetAxis, Mouse X / Mouse Y, mouse buttons)
• New Input System (required for compatibility with modern Unity setups and controllers)
You MUST set:
Project Settings → Player → Active Input Handling
Both
If only one input system is enabled, the drawer dragging and FPS controls will not work correctly.
TextMeshPro Requirement (Important)
TextMeshPro is REQUIRED
The interaction UI uses TextMeshPro for clean, sharp instruction text.
Make sure TextMeshPro is installed:
• Window → TextMeshPro → Import TMP Essential Resources
Without TextMeshPro, the Interact UI text will not render.
Included Scripts
DragDrawer
• Handles drawer dragging logic
• Controls open / close limits
• Manages audio playback
• Performs raycast interaction detection
• Communicates with the Interact UI
• Ensures only one drawer controls the UI at a time
InteractUI
• Centralized UI controller (singleton)
• Handles interaction image + TextMeshPro text
• Automatically shows/hides based on raycast detection
SimpleFpsController
• Lightweight FPS controller
• Mouse look + WASD movement
• Sprint support
• Cursor lock / unlock handling
• Designed specifically to work with drag interactions
Drawer Setup
1. Add a Collider to the drawer mesh
2. Attach the DragDrawer script
3. Interact RangeSet: Move Speed, Max Z Offset
4. Assign the Interactable layer
5. Ensure the drawer opens along its local Z axis
Player Setup
1. Create a Player GameObject
2. Add SimpleFpsController: CharacterController
3. Assign the Camera Transform
4. Make the camera a child of the Player
Interact UI Setup
1. Create a Canvas (Screen Space – Overlay)
2. Add an Image (interaction icon) and a TextMeshPro Text (instruction text)
3. Attach the InteractUI script to the Canvas
4. Assign the Image and TMP Text references
Controls
• Look: Mouse
• Move: WASD
• Sprint: Left Shift
• Drag Drawer: Hold Left Mouse Button
• Open / Close: Vertical Mouse Movement
Compatibility
• Unity 2022.3 LTS
• URP
• Desktop platforms
Notes
• No external dependencies
• No complex setup
• Beginner-friendly
• Easy to extend for doors, cabinets, or other drag-based objects
Unity 2022.3 LTS | URP & Built-in Compatible
A lightweight, realistic, and plug-and-play drag-based drawer interaction system designed for first-person Unity projects.
This system allows players to physically drag drawers open and closed using mouse movement, creating natural and immersive interactions commonly seen in modern FPS and simulation games.
The package is built with clean code, no external dependencies, and focuses on simplicity, performance, and Asset Store–friendly structure.
Core Concept
• Uses a center-screen raycast to detect interactable drawers
• When the player looks at a drawer within range, a minimal interaction UI appears
• Pressing "E" and holding the left mouse button and dragging vertically moves the drawer along its local Z axis
• Drawer movement is fully clamped to prevent over-extension
• Audio feedback plays only when the drawer fully opens or closes
• A single shared UI instance is used to prevent flickering when looking between multiple drawers
Key Features
• Drag-based drawer opening & closing (mouse-driven)
• Realistic, physics-free drawer movement
• Distance-based interaction detection
• Center-screen raycast interaction
• Minimal Interact UI (Image + Text)
• Included lightweight FPS controller
• Optional open / close audio support
• One global UI controller for all drawers
• No ScriptableObjects
• No Cinemachine
• No third-party packages
• Clean, readable, Asset Store–safe code
Input System Requirement (Important)
This asset requires BOTH Unity Input Systems to be enabled
The system uses:
• Old Input Manager (for Input.GetAxis, Mouse X / Mouse Y, mouse buttons)
• New Input System (required for compatibility with modern Unity setups and controllers)
You MUST set:
Project Settings → Player → Active Input Handling
Both
If only one input system is enabled, the drawer dragging and FPS controls will not work correctly.
TextMeshPro Requirement (Important)
TextMeshPro is REQUIRED
The interaction UI uses TextMeshPro for clean, sharp instruction text.
Make sure TextMeshPro is installed:
• Window → TextMeshPro → Import TMP Essential Resources
Without TextMeshPro, the Interact UI text will not render.
Included Scripts
DragDrawer
• Handles drawer dragging logic
• Controls open / close limits
• Manages audio playback
• Performs raycast interaction detection
• Communicates with the Interact UI
• Ensures only one drawer controls the UI at a time
InteractUI
• Centralized UI controller (singleton)
• Handles interaction image + TextMeshPro text
• Automatically shows/hides based on raycast detection
SimpleFpsController
• Lightweight FPS controller
• Mouse look + WASD movement
• Sprint support
• Cursor lock / unlock handling
• Designed specifically to work with drag interactions
Drawer Setup
1. Add a Collider to the drawer mesh
2. Attach the DragDrawer script
3. Interact RangeSet: Move Speed, Max Z Offset
4. Assign the Interactable layer
5. Ensure the drawer opens along its local Z axis
Player Setup
1. Create a Player GameObject
2. Add SimpleFpsController: CharacterController
3. Assign the Camera Transform
4. Make the camera a child of the Player
Interact UI Setup
1. Create a Canvas (Screen Space – Overlay)
2. Add an Image (interaction icon) and a TextMeshPro Text (instruction text)
3. Attach the InteractUI script to the Canvas
4. Assign the Image and TMP Text references
Controls
• Look: Mouse
• Move: WASD
• Sprint: Left Shift
• Drag Drawer: Hold Left Mouse Button
• Open / Close: Vertical Mouse Movement
Compatibility
• Unity 2022.3 LTS
• URP
• Desktop platforms
Notes
• No external dependencies
• No complex setup
• Beginner-friendly
• Easy to extend for doors, cabinets, or other drag-based objects