Originally forked from mthorson by iam-aydin, then restructured as Game Asset Manager to focus specifically on game asset organization and workflow management.
A desktop application for browsing, previewing, organizing, and managing game development assets in one place. Explore 3D models, inspect asset metadata, preview audio and video, organize your library, and export assets through a unified workspace.
| Category | Supported formats |
|---|---|
| 3D Models | .fbx, .gltf, .glb, .obj, .stl, .ply, .3mf |
| Images | .png, .jpg, .jpeg, .bmp |
| Audio | .wav, .mp3, .flac |
| Video | .mp4, .mov, .avi, .webm, .mkv |
| Text & Documents | .txt, .md, .ini, .html |
Preview and metadata availability may vary depending on the file format and the information contained in each asset.
Preview 3D assets directly inside your library without needing to open another application.
- WASD Navigation: Use
WandSto zoom,AandDto pan horizontally, andShift + W/Sto move vertically. - Lighting Presets: Choose from five lighting presets to inspect your models under different lighting conditions.
- Render Quality: Select from four quality tiers.
- Custom Thumbnails: Capture your preferred camera angle as an asset thumbnail.
- Orientation Overrides: Apply per-file rotation corrections to models that import in the wrong orientation.
- Viewport Visualization: Access available visualization modes, including wireframe and normals.
- Environment Controls: Adjust viewport environment settings when examining models.
Inspect useful information about your assets directly in the metadata panel.
For supported 3D models, available information includes:
- File size and modification date.
- Vertex and triangle counts.
- Mesh counts and material information.
- Bounding box dimensions.
- Referenced textures and their paths.
- Material names.
- Associated license information when available.
This makes it easier to inspect downloaded assets, understand their geometry, and locate resources associated with a model.
Find assets in your library using search and filtering tools.
- Fast Search: Search file names, tags, and supported metadata.
- File-Type Filters: Filter assets by supported 3D, image, audio, video, and text formats.
- Match Counts: See how many assets match your current filters.
- Folder Navigation: Browse nested folders using the folder tree and navigation controls.
- Grid & List Views: Switch between visual browsing and detailed file lists.
- Sorting: Sort files by available properties, such as size and modification date.
- Customizable Columns: Show, hide, and reorder file-list columns, with preferences saved between sessions.
Keep your asset collection organized as it grows.
- Hierarchical Tags: Organize assets using nested tags, such as
characters/heroes/hero_01. - Ratings & Labels: Assign star ratings from 1โ5 and use color labels with
Ctrl/Cmd + 1โ5. - Smart Collections: Save custom search queries and filter combinations.
- Favorites: Keep frequently used assets easy to access.
- Recent Assets: Return to recently accessed content.
- Folder Context Menus: Access common file and folder operations directly from the library browser.
Preview and inspect supported audio files directly in Game Asset Manager.
- Three-Band Equalizer: Adjust Sub Bass, Bass, and Treble in real time.
- Pitch Shifting: Adjust pitch by up to ยฑ12 semitones for sound design testing.
- Waveform Visualization: View waveform overlays on the audio seek bar.
- Large Audio Collections: Browse and play collections containing hundreds of audio files.
Preview supported video assets directly within the application.
Supported formats include:
.mp4.mov.avi.webm.mkv
Video previews make it easier to browse game cinematics, animation references, trailers, and other video assets alongside the rest of your library.
- Image Preview: Inspect supported images and textures directly in the application.
- Text Viewer: Read text files without leaving your library.
- Markdown Viewer: View project notes and Markdown documentation.
- Configuration Files: Open supported
.inifiles. - HTML Preview: Preview supported
.htmlfiles. JavaScript execution in the HTML preview is currently not working.
Use the compact window mode to keep previews accessible without occupying your entire screen.
- Compact Window: Switch to a smaller window for working alongside other applications.
- Media Previews: Access supported preview experiences, including audio and video, in the compact workflow.
- Sound & Video Effects: Access supported media effects while working with previews.
- Multitasking: Keep asset previews close while working in tools such as Unreal Engine, Blender, or other creative applications.
Manage files and move assets through your workflow.
- Drag and Drop: Move files between folders using drag and drop.
- Duplicate Files: Duplicate selected files with
Ctrl/Cmd + D. - Batch Renaming: Rename multiple files in one operation.
- ZIP Archives: Compress assets into ZIP archives.
- Collection Exports: Export collections using the ZIP export workflow.
- Custom Export Destination: Choose where exported archives are saved.
- Related Asset Files: Include associated textures, buffers, materials, and license files when available.
- Contact Sheets: Generate contact-sheet exports for visual asset browsing.
- External Applications: Configure an "Open With..." menu for tools such as Blender, Unreal Engine, Photoshop, and other applications.
Organize assets around folders that matter to your workflow.
- Folder-Based Libraries: Open folders as libraries and browse their contents.
- Saved Library Locations: Reuse registered library locations when importing library data.
- Custom Library Locations: Select a new location when needed.
- Library Navigation: Move between folders using Back, Forward, Up, and Breadcrumb controls.
- Folder Tree: Explore nested directories from the sidebar.
- Containers: Access and organize assets using the available container features.
Customize the interface to suit your workspace.
- Dark & Light Themes: Choose from available dark and light themes.
- Theme Selector: Browse themes through an organized selection interface.
- Saved Preferences: Retain supported interface and file-list settings between sessions.
- Adaptive Visuals: Browse files and folders with theme-aware visual indicators.
- Built-In Update Checker: Check for available application updates directly from the app.
- About Tab: Access application information and the project's GitHub page.
Game Asset Manager may experience temporary lag or become unresponsive while processing your first large library.
- Smaller Libraries: Libraries with fewer than approximately 1,000 files should generally be more manageable during initial loading.
- Large Libraries: Libraries containing thousands of files may take longer to process and can cause temporary hangs during initial setup.
- Performance Improvements: Initial library-loading performance is being actively investigated and improved.
If the application appears temporarily stuck during initial processing, allow it some time to finish before assuming it has crashed.
- 3D Camera Navigation: Keyboard zooming may move the camera inside certain meshes.
- Audio Waveform Rendering: Thumbnails may occasionally appear instead of waveforms when switching between asset types.
- HTML JavaScript Execution: JavaScript does not currently work in the HTML preview.
- Large Library Initialization: Processing a large library for the first time may cause temporary lag or hangs.
If you encounter an issue, please report it through the project's GitHub repository.
Game Asset Manager is built with Electron, React, Mantine UI, and Three.js.
The application is organized into three main process layers:
- Main Process: Manages the SQLite database through
better-sqlite3, filesystem watching throughchokidar, external application execution, and the thumbnail worker queue. - Renderer Process: Manages the React interface, application state, audio engine, and Three.js 3D viewport.
- Thumbnail Workers: Hidden
BrowserWindowinstances that render 3D models into PNG thumbnails in the background.
The renderer communicates with the main process and accesses assets through custom protocols:
wh3d-thumb://โ Handles thumbnail cache delivery.wh3d-file://โ Streams supported 3D, audio, and image asset data directly from disk.
Opening a folder as a library creates a .meshFlask.db SQLite database at the root of that folder. Each library is associated with a unique UUID.
Machine-specific library mount paths are stored in the application's user data directory.
- macOS:
~/Library/Application Support/meshFlask/ - Windows:
%APPDATA%/meshFlask/
libraries.jsonโ Maps library UUIDs to their local filesystem paths. Moving a library to another machine may require reconnecting it to its new location.preferences.jsonโ Stores global application settings, including units, external application routes, NAS polling intervals, and render quality.
Make sure Node.js and npm are installed, then run:
npm install
npm run devNative modules:
npm installautomatically rebuildsbetter-sqlite3against Electron's Node ABI through apostinstallscript.
Use the full test script to handle native module rebuilding for tests running in system Node:
npm run test:fullnpm run typecheck
npm run buildnpm run typecheckโ Runs TypeScript type verification.npm run buildโ Compiles the renderer and main-process bundles without modifying native modules.
Build standalone application packages using electron-builder:
npm run dist # Build for the current OS
npm run dist:mac # macOS DMG and ZIP (arm64 and x64)
npm run dist:win # Windows NSIS installer (x64)
npm run dist:linux # Linux AppImage (x64)Build outputs are placed in release/.
To regenerate application icon PNGs from the source SVG:
npm run build:iconsrc/
main/
db/ SQLite wrapper, migrations, repositories
libraries/ Library registry and attachment lifecycle
scanner/ Filesystem walker and watcher
thumb-pool/ Background thumbnail rendering queue
preferences/ Preferences read/write handlers
cache/ Thumbnail cache management
ipc/ Typed IPC handlers
protocol/ Custom thumbnail and asset protocols
renderer/
components/ Panels, modals, viewports, and media widgets
three/ Model viewer, lighting, and model loaders
util/ Custom React hooks and formatters
preload/ Context bridge IPC API
shared/ Shared utilities, paths, types, and queries
Found a bug, have a feature request, or want to contribute? Visit iam-aydin's GitHub profile to locate the repository and share your feedback.
Game Asset Manager aims to make game asset organization, previewing, and everyday development workflows easier through one unified desktop application.
