{"id":19259587,"url":"https://github.com/kiwifruitdev/sfm-asset-browser","last_synced_at":"2025-09-01T03:04:51.200Z","repository":{"id":65286700,"uuid":"589272911","full_name":"KiwifruitDev/SFM-Asset-Browser","owner":"KiwifruitDev","description":"Issue tracker \u0026 source code for my SFM asset browser script","archived":false,"fork":false,"pushed_at":"2023-09-13T11:20:25.000Z","size":277,"stargazers_count":7,"open_issues_count":2,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-06T02:06:18.721Z","etag":null,"topics":["asset-management","python","source-engine","source-film-maker"],"latest_commit_sha":null,"homepage":"https://steamcommunity.com/sharedfiles/filedetails/?id=2918590103","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/KiwifruitDev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-01-15T16:39:16.000Z","updated_at":"2025-02-22T08:16:14.000Z","dependencies_parsed_at":"2025-04-21T16:44:08.516Z","dependency_job_id":null,"html_url":"https://github.com/KiwifruitDev/SFM-Asset-Browser","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/KiwifruitDev/SFM-Asset-Browser","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KiwifruitDev%2FSFM-Asset-Browser","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KiwifruitDev%2FSFM-Asset-Browser/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KiwifruitDev%2FSFM-Asset-Browser/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KiwifruitDev%2FSFM-Asset-Browser/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KiwifruitDev","download_url":"https://codeload.github.com/KiwifruitDev/SFM-Asset-Browser/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KiwifruitDev%2FSFM-Asset-Browser/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265820190,"owners_count":23833562,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["asset-management","python","source-engine","source-film-maker"],"created_at":"2024-11-09T19:17:01.374Z","updated_at":"2025-07-18T19:33:21.661Z","avatar_url":"https://github.com/KiwifruitDev.png","language":"Python","funding_links":["https://ko-fi.com/kiwifruitdev","https://www.patreon.com/kiwifruitdev"],"categories":[],"sub_categories":[],"readme":"# Asset Browser\n\nThis is a simple asset browser script for Source Filmmaker.\n\n![Screenshot of Asset Browser](https://i.imgur.com/vfnOvKv.png)\n\n## Features\n\n- Setting thumbnails (cannot generate thumbnails automatically)\n- Saving/loading of asset index\n- Ignore specific heavy folders\n- Set depth level of indexing\n- Search by keyword\n- Filter by type and mod\n- Browse folders in a tree view\n- Double click on folders to expand them\n- User-defined asset tags with custom icons (modifiable via JSON)\n- Importing of several models at a time (using the \"Model Stack\" asset tag)\n- Copying paths to clipboard\n- Visiting the file in explorer\n- Previewing of sounds (requires game window/F11)\n- Viewing assets in external apps (HLMV, VTFEdit, etc.)\n- Session loading\n- Map loading\n\n## Warning\n\nThis script pulls image data from a GitHub release using PowerShell.\nI advise you to review the script contents before trusting it.\n\n## How to Use\n\nThe asset browser can be opened using the `Scripts` tab \u003e `KiwifruitDev` \u003e `Asset Browser` in SFM.\n\nHere are some rundowns of the workflow and features of the asset browser.\n\n### Indexing\n\nThe first time you open the asset browser, no assets will be indexed. This gives you an opportunity to filter before indexing, or to load an existing index hive.\n\nTo index assets, click the `Refresh` button in the toolbar. This will recursively search through the `game` folder while filtering out anything specified.\n\n### Saving and Loading Index Hives \u0026 Settings\n\nOpening the `File Options` menu in the toolbar will provide options to save and load index hives and filter settings.\n\nThere are options for saving to a current file, saving to a new file, loading while merging, and loading while replacing.\n\nReload options are also available, which restores the index hive and filter settings to the last saved state.\n\nMerging the index hive will append the new index hive to the current one, and will not remove any assets that are not in the new index hive.\n\nReplacing the index hive will discard the current index hive and replace it with the new one.\n\nSettings will always be replaced.\n\n### Filtering\n\nThe filter settings can be found in the toolbar. You can filter by asset type, mod, root folder, and search term.\n\nThe search term is a simple string search, and will match any asset that contains the search term in its name.\n\nFiltering after building the index hive will be non-destructive, and will only hide assets that do not match the filter.\n\nOnly filtered assets will be included in the index hive.\n\n### Tags\n\nTags are a way to group assets together, or to mark assets as special.\n\nAt the moment, tags cannot be added or removed from the asset browser. They must be added to a specific JSON file located at `game/assetbrowser/assettags.json`.\n\nTags will forcibly add assets to the index hive, even if they are filtered out. This is to ensure that assets with tags are always available and can be excluded without filtering.\n\n#### Adding Tags to Assets\n\nTo add a tag to an asset, right click on the asset and check the tag you want to add. The tag will be added to the asset.\n\nIf the asset is discarded through rebuilding the index hive or is otherwise unavailable, the tag will add the asset back to the index hive.\n\nOnly files can be tagged, folders will not provide tagging options.\n\nAdding a tag will write to the tag JSON file, so it can be persisted between sessions.\n\n#### Removing Tags from Assets\n\nTo remove a tag from an asset, right click on the asset and uncheck the tag you want to remove. The tag will be removed from the asset.\n\nRemoving a tag will write to the tag JSON file.\n\n#### Creating Tags\n\nTo create a tag, add a new object to the `tags` array in the JSON file. The object must have the following properties:\n\n- `tagName`: The name of the tag. This will be displayed in the asset browser.\n  - Example: `My Custom Tag`\n- `tagValue`: The value of the tag. This must be unique.\n  - Example: `my_custom_tag`\n- `tagImage`: The icon to use for the tag. This must be a valid path to an image file.\n  - Example: `assetbrowser/images/assettags/tag_sm.png`\n- `children`: An array of asset paths. Filling this out is optional, but it must be present as an array.\n  - Example: `[\".\\\\hl2\\\\models\\\\props_c17\\\\furniturefridge001a.mdl\"]`\n\n#### Removing Tags\n\nTo remove a tag, remove the object from the `tags` array in the JSON file.\n\n### Previewing Assets\n\nTo preview an asset, double click on it. This will open the asset in its default application.\n\nPreviewing a model asset will prompt you with information about adding models to the current scene.\n\nSingle clicking on sound assets will play the sound in the game window. The game window (F11) must be open for this to work.\n\n### Adding Models to the Scene\n\nTo add a model to the scene, add the special `Model Stack` tag to the asset.\n\nThen, right click on any animation set within the `Animation Set Editor` window and click on `Rig` \u003e `asset_browser_import_models`.\n\nThis bypasses an SFM limitation where models cannot be created by scripts dynamically.\n\n### Copying Paths\n\nRight clicking on an asset will provide a context menu with options to copy the relative or full path to the clipboard.\n\nThe relative path can be useful for copying paths to use in existing SFM import dialog boxes, such as when adding sounds to the timeline.\n\n### Visiting in Explorer\n\nTo visit the location of an asset in explorer, right click on the asset and click `Open folder`.\n\nFor folder assets, this will open the folder itself.\n\nFor file assets, this will open the folder containing the file.\n\n### Thumbnails\n\nThumbnails can be optionally added to assets.\n\nFirst, you'll need an image. This can be an external image file or an image saved to the clipboard.\n\nThen, right click on the asset and click `Set thumbnail from file` or `Set thumbnail from clipboard`.\n\nThe thumbnail will be saved to the `game/assetbrowser/thumbnails` folder with the directory structure of the asset.\n\nTo clear a thumbnail, right click on the asset and click `Clear thumbnail`. This will delete the thumbnail file.\n\nThere is no way to generate a thumbnail from an asset.\n\nIf you would like to quickly set thumbnails, you may use the Snipping Tool (Win + Shift + S) to take a screenshot of the asset preview and then set the thumbnail from the clipboard.\n\n## Installation\n\n1. Download the script from the [Workshop](https://steamcommunity.com/sharedfiles/filedetails/?id=2918590103)\n2. Optional: Download the [latest release](https://github.com/KiwifruitDev/SFM-Asset-Browser/releases/latest) and extract it to `game/assetbrowser/`\n3. Open the script in SFM using the `Scripts` tab \u003e `KiwifruitDev` \u003e `Asset Browser`\n4. If the GitHub release is not present, the script will download it automatically\n\n## Support Me\n\nIf you like my work, consider supporting me on [Ko-fi](https://ko-fi.com/kiwifruitdev) or [Patreon](https://www.patreon.com/kiwifruitdev).\n\n## License\n\nThis project is licensed under the [MIT License](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkiwifruitdev%2Fsfm-asset-browser","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkiwifruitdev%2Fsfm-asset-browser","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkiwifruitdev%2Fsfm-asset-browser/lists"}