Unity Editor plugin that automatically moves imported assets to configured folders and applies import presets based on naming rules. Drop a file into the project and it lands in the right place.
Namespace: Kodlon.AssetRouter
Unity: 2022.3 LTS or later
License: MIT
- Open Window > Package Manager
- Click + > Add package from git URL
- Paste:
https://github.com/kodlon/AssetRouter.git
Copy the package folder into your project's Packages/ directory.
- On first Editor load, Asset Router creates
Assets/AssetRouter/ImporterSettingsDatabase.assetwith six default rules. - Open Tools > Asset Router > Settings to view and edit rules.
- Drop an asset into the project. If the file name matches a rule pattern, the preset is applied and the file is moved to the target folder automatically.
Each rule defines:
- Pattern (glob or regex) — matched against the file name or full asset path
- Target Folder — where to move the file. Supports
{1},{name}tokens that expand to capture group values (see Path Templating). - Import Preset — Unity
.presetfile applied on import - Post-Import Actions — optional chain of actions that run after the move
First matching rule wins. Rules are reorderable via drag-and-drop.
| Pattern | Mode | Target folder | Preset | Post-import |
|---|---|---|---|---|
UI_* |
Glob | Assets/Art/UI/ |
TextureImporter_UI | — |
T_Char_*_* |
Glob | Assets/Art/Characters/{1}/ |
TextureImporter | — |
^T_Loc_(?<loc>\w+)_.* |
Regex | Assets/Art/Locations/{loc}/ |
TextureImporter | — |
T_* |
Glob | Assets/Art/Textures/ |
TextureImporter | Create Material From Texture |
SFX_* |
Glob | Assets/Audio/SFX/ |
AudioImporter | — |
Mus_* |
Glob | Assets/Audio/Music/ |
AudioImporter_Music | — |
11 built-in actions cover a range of automation patterns:
| Action | What it does |
|---|---|
| SetPivotAction | Sets sprite pivot on import |
| TrimAudioSilenceAction | Trims silence from 16-bit PCM WAV files |
| AppendToCatalogAction | Adds asset to an AssetCatalog ScriptableObject |
| RegisterAddressableAction | Registers asset in an Addressables group |
| EmitUnityEventAction | Fires a UnityEvent configured in the Inspector |
| CreatePrefabFromTemplateAction | Creates a prefab from a template with a setup callback |
| CreateScriptableObjectFromTemplateAction | Creates a ScriptableObject from a template |
| CreateMaterialFromTextureAction | Creates a material and assigns the texture |
| GenerateSpritePhysicsShapeAction | Derives physics shape from pixel alpha |
| GenerateNineSliceBordersAction | Sets 9-slice borders from transparent edges |
| CreateTilePaletteEntryAction | Creates a Tile asset for Tilemap |
├── Editor/
│ ├── Actions/ # IAssetImportAction, AssetImportActionAsset, 11 built-in actions
│ ├── Data/ # BaseImportRule, ImportRule, ImporterSettingsDatabase
│ ├── Logic/ # PatternMatcher, RuleValidator, Postprocessor, Initializer, DryRunPlanner
│ ├── View/ # AssetRouterWindow, DryRunView, HistoryView, NamingValidatorView, WelcomeWindow
│ └── Wizard/ # ActionScaffoldingWizard (code generator)
├── Runtime/ # AssetCatalog, IAssetRouterPrefabSetup, IAssetRouterDataSetup
├── Presets/ # 10 bundled .preset files
├── Tests/ # NUnit edit-mode tests
├── Samples~/
│ └── LegacyActions/ # GenerateMeshColliderAction, RunMenuItemAction
└── Documentation~/
Full documentation is in Documentation~/DOCUMENTATION_EN.md.
- Getting Started — install, first import, first rule in 10 minutes
- UI Reference — every window, tab, and button
- Pattern Cookbook — Glob and Regex recipes, common mistakes, how to test
- Presets — creating your own import presets
- Rule Sharing — copy a single rule between projects via clipboard
- Feature Catalog — every feature with description and example
- Full Reference
- Built-in Actions Reference
- Writing Your Own Action
- Changelog
