Watched folders
A watched folder imports files into your AssetHoard library automatically and keeps it in sync as the folder changes.
How it works
AssetHoard watches the folder while it's running and rescans it on launch. New files are imported into the target bundle, edited files are refreshed, and renamed or moved files keep their tags, category, bundle and project links.
Deleted files are flagged, not removed. Files on a disconnected drive are paused, not flagged.
Adding a watched folder
From Settings
- Open Settings > Imports and click Add New Watch.
- Browse to the folder and choose a Target bundle, or create one.
- Set the options and click Start Watching.
The folder is scanned and imported straight away.
From a bundle
Right-click a bundle and choose Manage > Set up Watched Folder. That bundle is the target. This isn't available for package bundles (zips and other archives).
To change settings later, use Manage > Manage Watched Folder or the gear icon in the bundle's Watched Folder panel.
Options
| Option | What it does |
|---|---|
| Subfolders | Flatten: everything goes into the target bundle. Top-level bundles only: one bundle per top-level folder. Nested bundles: one bundle per subfolder, mirroring the tree. Defaults to Flatten from Settings and Nested bundles from a bundle. |
| Ignore patterns | Skips matching files, such as *.psd or **/node_modules. build matches the top level only, **/build any depth. Quote
patterns that contain spaces. Adding a pattern doesn't remove assets already imported. |
| Category, Tags, License | Applied to every imported file. |
Bundles created from subfolders are linked to their folder, not their name. Rename one and new files from that folder still go into it.
Hidden files, .git folders and system files such as Thumbs.db are
always skipped. Each folder can only be watched once.
Status and controls
| Status | Meaning |
|---|---|
| Active | Watching for changes. |
| Scanning... | Comparing the folder with your library. |
| Paused | Not watching. Changes are caught up when you resume. |
| Offline | The drive isn't connected. See Disconnected drives. |
| Broken | See Fixing a broken watch. |
Each watch in Settings > Imports has Open directory, Edit settings, Scan now, Pause watching and Remove watch buttons. Import History lists recent imports, updates, skips and failures.
When files change
Changes are batched after about a second, so copying in a large pack is one import.
| You | AssetHoard |
|---|---|
| Add a file | Imports it with the watch's category, tags and licence. |
| Edit a file | Refreshes its thumbnail and search index. Godot and GameMaker references are resolved again. |
| Delete a file | Waits 5 seconds, then flags the asset File not found if the file is
still gone. The delay stops editors and git, which briefly replace files,
from triggering it. |
| Restore a deleted file | Clears the flag. |
| Rename or move a file | Keeps the same asset at its new path. See Renames and moves. |
| Remove the asset in AssetHoard | Doesn't re-import it when the file is edited, rescanned or moved. Undo with Ctrl+Z (Cmd+Z on macOS) or import the file manually. |
| Change files while AssetHoard is closed | Catches up on the next launch. |
Renames and moves
A file renamed or moved within a watched folder stays the same asset, including case-only renames. Its name updates unless you've renamed it in AssetHoard. With subfolder bundles, renaming or moving a folder renames or moves its bundle.
AssetHoard records each file's disk id, so files moved while it was closed are matched on the next scan. This also covers moves between folders on Windows. You'll see Relinked N moved files.
A file moved between watched folders follows the rule in Nested watched folders.
Treated as new files
These are imported as new assets, and the old asset is flagged missing:
- Copies, including hard links.
- Moves to another drive.
- Extension changes, such as
rock.pngtorock.jpg. - Archives and packages (
.zip,.unitypackage,.rar,.tar,.gz,.tgz,.yyz,.yymps). - A file with a known disk id whose name and size have both changed.
- Files moved before AssetHoard recorded their disk id. Existing libraries are recorded in the background.
- Moves made while AssetHoard was closed on network shares, FAT32 or exFAT. Disk ids need NTFS, ReFS, APFS, HFS+, ext2/3/4, btrfs, xfs or f2fs.
To fix one, select the missing asset and use Relink.
Disconnected drives
Assets on a disconnected drive or network share are paused, not flagged missing. They show an unplugged icon, and watches on that drive show Offline.
AssetHoard checks for the drive every 30 seconds, or press F5. When it's back, its watches restart and catch up.
If the drive comes back at a different letter or path, AssetHoard checks your files are there and updates your assets and watches to match. This works for local drives, mapped drives and UNC shares on Windows, and drives on macOS. On Linux, a drive mounted at a different path stays offline. A drive that would clash with assets already in your library also stays offline.
Nested watched folders
You can watch a folder inside another watched folder. The innermost watch owns its files. Before you save, the form shows how many files will move between bundles.
A file only moves if it's still in the bundle its watch put it in. Files you've moved to another bundle stay put. The same applies when you change a watch's path, or move a file from one watched folder to another. Bundles left empty are kept.
Missing files
A missing asset stays in your library with its tags, flagged File not found. Select it and use Relink to point it at the file, or Remove. A deleted archive or package flags everything inside it.
To clear missing assets, click the warning button in a bundle's header, or use Settings > Data > Remove Orphaned Assets for the whole library. Ctrl+Z undoes it.
Re-importing files
These apply to every import, not only watched folders:
- A changed file updates the existing asset.
- Files already in your library are skipped and listed under Duplicates with their bundle.
- A moved file that AssetHoard recognises is relinked, not duplicated.
- An import never adds an asset to a second bundle.
Fixing a broken watch
| Message | Fix |
|---|---|
| Target bundle was deleted, or Target bundle no longer exists | Click Fix error, choose a new Target bundle and click Save Changes. The folder is rescanned into it. |
| Folder path no longer exists | The watched folder was renamed, moved or deleted. Click Fix error and Browse to its new location, or click Retry watching if it's back. |
Stopping a watch
Use Remove watch in Settings > Imports, or Stop Watching in the manage window. Assets stay in your library and subfolder bundles become normal bundles. If the folder was inside another watch, that watch takes over.
AssetHoard eventually forgets which assets you removed from the folder, so watching it again later can re-import them.
Troubleshooting
| Problem | Fix |
|---|---|
| A renamed file was imported as new | Check Treated as new files. Remove the new asset and use Relink on the old one. |
| File not found, but the file is there | Press F5 if its drive was disconnected. Otherwise use Relink. |
| Removed files came back | The folder was probably unwatched and added again. Remove them again. |
| Files land in the wrong bundle | Check the Subfolders option and whether a nested watch owns the folder. |