A lightning-fast, offline-first 3D asset manager and companion with native drag-and-drop support for your creative workflow.
DragNProp is a professional desktop utility designed for 3D game developers, digital artists, and creators. It operates as a local "stash" manager, bridging the gap between your offline asset libraries and production applications (such as Blender, Unity, Unreal Engine, Godot, Maya, and 3ds Max) through a seamless, premium drag-and-drop workflow.
Built on the modern Tauri v2 and Svelte 5 stack, DragNProp is ultra-lightweight, offline-first, and backed by a local SQLite engine to guarantee blistering speed and absolute data privacy.
Organize your complex model directories with a nested, hierarchical category system. The UI stays sleek, responsive, and adapts perfectly to large asset lists using virtualization.
Inspect your items, edit asset properties, manage technical documentation/sheets, view texture folders, and review 3D model properties directly inside the companion application.
- ⚡ Offline-First & Blazing Fast: No cloud accounts, no subscription, and no telemetry. All metadata, index tables, and thumbnails are stored entirely on your local machine using SQLite.
- 📦 True Drag-and-Drop Workflow:
- External OS Dragging: Select any 3D asset and drag it directly out of the DragNProp window into external apps (Blender, Unity, Unreal, Windows Explorer, etc.). The native OS-level file drop is handled via a customized Rust backend.
- Internal Organization: Move assets between categories or nest/reorder folders with a fluid mouse-pointer drag interface.
- Quick Import: Drag files or folders from Windows Explorer directly onto categories or specific asset cards to initiate imports instantly.
- 🤖 Automatic 3D Preview Engine:
- Recursively monitors and scans your selected stash directory.
- Supports popular 3D models (
.glb,.gltf,.obj,.fbx,.stl) and images (.webp,.png,.jpg,.jpeg). - Leverages a fast background pipeline powered by
@google/model-viewerand Svelte to auto-render and capture high-resolution thumbnail previews.
- 🔍 Recursive Scoped Search: Instantly filter models globally or lock search queries to a specific parent category and all its nested subcategories.
- ♻️ Physical Recycle Bin System: Never worry about accidental data loss. Deleting assets moves them to a hidden
.trashdirectory on your drive, allowing full recovery or safe bulk emptying at any time. - 📌 Always on Top Utility Mode: Toggle the pin button to lock the DragNProp window on top of other applications, enabling a convenient sidebar workflow when composing scenes in your 3D engines.
DragNProp expects and maintains a clean, modular folder layout in your library. When a directory is marked as an Asset, it scans and organizes the files under the following structure:
📁 My_Stash_Library/
│
├── 📁 Uncategorized/ # Automatically created for orphan assets
│
└── 📁 Weapons/ # Category Folder
│
├── 📁 SciFi_Blaster/ # Asset Folder (Identified by 3D model presence)
│ ├── 📄 .dragnprop_id # Hidden unique UUID file (keeps DB references intact)
│ ├── 📄 blaster_model.glb # Primary 3D object file (.glb, .gltf, .obj, .fbx, .stl)
│ │
│ ├── 📁 sheets/ # Auxiliary diagrams, blueprints, and orthographic references
│ │ └── 📄 blueprint.png
│ │
│ ├── 📁 textures/ # Model textures and materials
│ │ ├── 📄 base_color.png
│ │ └── 📄 normal.png
│ │
│ └── 📁 preview_images/ # Cached thumbnails generated automatically by DragNProp
│ ├── 📄 manual_preview.webp
│ └── 📄 blaster_model.glb.thumb.webp
│
└── 📁 Melee/ # Subcategory Folder
To run or build the application from source, make sure you have the following installed on your machine:
- Node.js (v18+)
- Rust & Cargo (v1.75+ for Tauri v2 dependencies)
- C++ Build Tools (on Windows, standard MSVC toolchain via Visual Studio Build Tools)
-
Clone the repository:
git clone https://github.com/yourusername/DragNProp.git cd DragNProp -
Install dependencies:
npm install
-
Run in developer mode:
- Using the convenience batch file (Windows):
Simply double-click
run-dev.batin the root folder. - Or run via terminal:
npm run tauri dev
- Using the convenience batch file (Windows):
Simply double-click
To compile a highly optimized, production-ready desktop installer (.msi or .exe for Windows):
npm run tauri buildThe compiled binaries will be output to:
src-tauri/target/release/bundle/
- Frontend: Svelte 5 (SvelteKit), Vite, TypeScript, Vanilla CSS, Grid Layouts
- 3D Viewer: @google/model-viewer (interactive WebGL component)
- Backend: Rust, Tauri v2 (native OS windowing & custom shell integrations)
- Database: SQLite via
rusqlite - File Watching & Threading:
notify(cross-platform directory monitoring),rayon(data parallelism for thumbnail processing),image(fast thumbnail resizing)
This project is licensed under the MIT License - see the LICENSE file for details.

