Problem
When adding frames to an Animation Clip via the Add button, the stored path is incorrect (only filename, no directory), causing "file not found" errors at runtime. Dragging assets from Content Browser works correctly.
More broadly, asset selection across the editor uses a mix of OS native file dialogs and browser file inputs, leading to:
- Inconsistent path handling (some store UUID, some store relative path, some store just filename)
- Ability to select files outside the
assets/ directory, which breaks at runtime
- Inconsistent look & feel (OS dialog vs editor style)
Solution
Replace all OS file dialogs with a built-in Asset Picker — a modal window that browses only the project's assets/ directory.
What it looks like
┌─ Select Texture ─────────────────────────────────┐
│ [🔍 Search... ] [Grid|List] │
│┌───────────┬─────────────────────────────────────┐│
││ assets/ │ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ ││
││ ├ tex/ │ │ │ │ │ │ │ │ │ ││
││ ├ anim/ │ │a.png│ │b.png│ │c.png│ │d.png│ ││
││ └ fx/ │ ┌─────┐ ┌─────┐ ││
││ │ │ │ │ │ ││
││ │ │e.png│ │f.png│ ││
│└───────────┴─────────────────────────────────────┘│
│ [Cancel] [Select] │
└───────────────────────────────────────────────────┘
Features
- Browse assets in a familiar folder tree + grid/list view (same as Content Browser)
- Filter by asset type (images, animations, shaders, audio, etc.)
- Search across all assets
- Thumbnail previews
- Single-select and multi-select modes
- Returns correct relative path + UUID every time
Affected areas
- Animation Clip Inspector — Add frames button (fixes the original bug)
- Inspector property editors — Texture, material, shader, animation clip, timeline, audio, tilemap fields
- Material editor — Shader and texture selection
- Spine editor — Skeleton file selection
- BitmapFont Inspector — Image and .fnt file selection
Not changing
- Scene import/export dialogs (need access to files outside
assets/)
- BitmapFont "Import Folder" (needs folder selection)
Problem
When adding frames to an Animation Clip via the Add button, the stored path is incorrect (only filename, no directory), causing "file not found" errors at runtime. Dragging assets from Content Browser works correctly.
More broadly, asset selection across the editor uses a mix of OS native file dialogs and browser file inputs, leading to:
assets/directory, which breaks at runtimeSolution
Replace all OS file dialogs with a built-in Asset Picker — a modal window that browses only the project's
assets/directory.What it looks like
Features
Affected areas
Not changing
assets/)