Game Asset Management & Analysis Tool
A cross-platform desktop application for scanning, browsing, and analyzing game project assets.
Important: For optimal compatibility with 3D model preview and asset loading, please follow these guidelines.
- Use ASCII characters for file and folder names
- Use hyphens
-or underscores_instead of spaces - Keep paths short and simple
- Place texture files in the same directory as the model file
Good Examples:
/Projects/my-game/models/character_model.fbx
/Projects/my-game/textures/diffuse_map.png
| Issue | Example | Problem |
|---|---|---|
| Spaces in names | floor color.png |
May fail to load |
| Special characters | model[v2].fbx |
Breaks path parsing |
| Non-ASCII paths | ๆจกๅ/character.fbx |
Encoding issues |
| Very long paths | >200 characters |
System limitations |
Some 3D model formats (FBX, OBJ, DAE) embed texture paths internally. When these paths contain special characters, the Tauri asset protocol may not resolve them correctly. This is a known platform limitation.
- Fast async scanning with real-time progress and cancellation
- Project type detection โ Unity, Unreal, Godot, or generic
- Directory tree visualization with file counts and sizes
- Unity .meta file parsing โ extracts GUIDs for asset tracking
- Create custom color-coded tags
- Tag single or multiple assets at once
- Filter assets by tags (single or multi-select)
- Tags persist across sessions
| Asset Type | Extracted Info |
|---|---|
| Images | Resolution, alpha channel, format |
| 3D Models | Vertices, faces, materials |
| Audio | Duration, sample rate, channels, bit depth |
- Thumbnail preview with disk caching
- Virtual scrolling โ handles 10,000+ files smoothly
- Search by filename or path
- Filter by asset type
- 3D model preview with orbit controls
| Category | Checks |
|---|---|
| Naming | Forbidden chars, Chinese chars, prefix, case style |
| Textures | Power-of-two, max size |
| Models | Vertex/face/material limits |
| Audio | Sample rate, duration |
| Duplicates | SHA256-based detection |
| Category | Formats |
|---|---|
| Textures | PNG, JPG/JPEG, TGA, BMP, GIF |
| 3D Models | glTF, GLB, FBX, OBJ (+MTL), DAE |
| Audio | WAV, MP3, OGG |
| Other | Scripts, Materials, Prefabs, Scenes |
| Layer | Technology |
|---|---|
| Framework | Tauri 2.0 |
| Backend | Rust |
| Frontend | React 18 + TypeScript |
| Styling | Tailwind CSS |
| State | Zustand |
| 3D Rendering | Three.js |
| Virtualization | @tanstack/react-virtual |
image ยท gltf ยท tobj ยท symphonia ยท sha2 ยท walkdir ยท toml ยท git2 ยท rayon
# Clone repository
git clone https://github.com/AquaStarfish/Tidycraft.git
cd tidycraft
# Install dependencies
pnpm install
# Run in development mode
pnpm tauri dev
# Build for production
pnpm tauri build- Open Project โ Click "Open Project" and select your game project folder
- Browse Assets โ Navigate the directory tree, search, and filter
- Preview Assets โ Click any asset to view details and preview
- Tag Assets โ Right-click to add tags for organization
- Run Analysis โ Click "Run Analysis" to check for issues
- Review Issues โ Switch to Issues tab to see problems
Create a tidycraft.toml in your project root:
[naming]
check_forbidden_chars = true
forbidden_chars = ['<', '>', ':', '"', '|', '?', '*']
check_chinese = true
check_prefix = false
required_prefix = "tex_"
[texture]
check_pot = true
check_max_size = true
max_width = 4096
max_height = 4096
[model]
check_vertex_count = true
max_vertices = 100000
check_face_count = true
max_faces = 50000
[audio]
check_sample_rate = true
allowed_sample_rates = [44100, 48000]
check_duration = true
max_duration_secs = 300.0
[duplicate]
enabled = truetidycraft/
โโโ src/ # React frontend
โ โโโ components/ # UI components
โ โโโ stores/ # Zustand state
โ โโโ types/ # TypeScript types
โ โโโ lib/ # Utilities
โโโ src-tauri/ # Rust backend
โ โโโ src/
โ โโโ scanner.rs # Asset scanning
โ โโโ analyzer.rs # Rule engine
โ โโโ thumbnail.rs # Thumbnail generation
โ โโโ tags.rs # Tag management
โ โโโ lib.rs # Tauri commands
โโโ docs/ # Documentation
- Dependency analysis & reference tracking
- Statistics dashboard & reports
- Git integration (change detection)
- Incremental scanning
- Batch rename operations
- Custom rule scripting
- Export reports (JSON, CSV, HTML)
Made with โค๏ธ for game developers