Releases: kodlon/AssetRouter
Releases · kodlon/AssetRouter
Release list
v0.9.5
Added
CreateMaterialFromTextureAction— pipeline-default fallback. WhenbaseMaterialis null the action now resolves to the active SRP'sRenderPipelineAsset.defaultMaterial(URP/HDRP) or the Built-in RPDefault-Material, so the defaultGeneral Texturesrule produces a.matout of the box without manual configuration. Texture assignment also falls back from the configuredtexturePropertytoMaterial.mainTexturewhen the property isn't on the shader — makes_MainTex(Standard) and_BaseMap(URP Lit) work with the same default.CreateMaterialFromTextureAction.outputFolderaccepts relative paths. Absolute (Assets/...) still works as before; a relative value likeMaterialsresolves as a subfolder of the imported texture's folder. Default is nowMaterials, so materials group underTextureFolder/Materials/instead of being scattered next to textures.- Default database —
General Textures(T_*) now runsCreateMaterialFromTextureAction. Dropping aT_*.pnginto the project creates aMaterials/T_*_Mat.matnext to it automatically. - Undo cleans up assets and folders created by import actions (materials, prefabs, SOs, tile-palette entries). New
IArtifactSink+ArtifactCollector; the 4 built-in Create actions andPathUtility.EnsureFolderExistsfeed into it. Log schema bumped to v2 withcreatedAssets/createdFolders; v1 files still load. - Undo now writes itself to the operation log with
source = "Undo"(audit trail + de-facto redo when clicked again). - Recycle folder
Assets/_AssetRouterRecycle— Undo of root-drop imports moves assets here instead of dumping them back atAssets/root. Files originally in a subfolder still restore in place. - History timestamps show in local time.
- Clear Rule Statistics menu item.
Tools > Asset Router > Clear Rule Statisticsresets the
per-rule match counters shown as(N✓)in the rules list, after a confirmation dialog. Previously
the counters could not be cleared from the UI (Library/AssetRouter/stats.jsonhad to be deleted
manually). - Beginner documentation. New
Documentation~/getting-started.md(step-by-step first run),
ui-reference.md(every window, tab, and button),patterns.md(Glob and Regex cookbook), and
presets.md(creating and assigning presets). Stale references fixed across existing docs: old
menu pathTools > Asset Router Settings, removedAssetsBeingMovedguard description, built-in
action count (11, not 10), full-database JSON format documented. - Welcome Window on first launch. When no
ImporterSettingsDatabaseexists in the project and the
Editor is running interactively, a small utility window opens once per session and asks whether to
create a default database. Clicking Create writes the database toAssets/AssetRouter/and opens
the Asset Router Settings window; clicking Not now dismisses without any side-effects. The window
is suppressed in batch/CI mode (Application.isBatchMode). - ConflictDetector sample-path caching.
ConflictDetector.Detectnow re-uses a cached set of
sample paths across repeated calls and invalidates it onprojectChangedand
importPackageCompleted. Eliminates repeatedAssetDatabase.FindAssetscalls during the same Editor
session.BuildSamplePathsalso sorts the raw GUID list before truncation for deterministic overlap
detection across machines.
Fixed
HandleUnknownAssetsno longer opens a modal dialog in batch/CI mode (Application.isBatchModeguard).DatabaseLocatorno longer silently picks the first DB when the project has more than one — auto-import is disabled with aLogWarninguntil only oneImporterSettingsDatabaseremains. Warning fires once per domain reload (from the postprocessor path only); the migrator / initializer stay silent to avoidprojectChangedspam.- One log line per import batch instead of one per file.
[AssetRouter] Moved N asset(s): a, b, c, …. Also drops the per-preset "Preset applied" info line (kept the warning on type mismatch). BuildPatternPreviewscopes itsAssetDatabase.FindAssetstorule.scopeFolderwhen set — was walking all ofAssets/for 3 samples.AssetCatalog.Contains/AppendToCatalogActionare O(1) now:HashSet<Object>cache rebuilt viaISerializationCallbackReceiver. Serialized list is unchanged; existing catalogs load without any migration.
Removed
- Diagnostic Window — duplicated History, only worked while open, cleared on every assembly reload. A proper debug view is deferred.
- Legacy model formats from default monitored extensions.
.3dsand.daewere dropped;.fbxand.objremain. The removed formats are effectively dead in modern Unity pipelines (.3dsis 30+ years old;.dae/Collada silently drops animation data). Users who need them can still add the extension back via the Settings window. SetPivotActionfrom defaultUI Texturesrule. Pivot on a full-image sprite is a no-op unless the sprite is set toCustomalignment first — kept the action in the codebase for users who need it, but out of defaults so a fresh database doesn't ship with a rule that silently does nothing.Samples~/QuickStartsample. Content was duplicative ofREADME.mdandDocumentation~/getting-started.md, and the sample shipped no asset files (only a written walkthrough). The walkthrough remains in the docs.