Features
Complete reference for all Smart Asset Finder capabilities.
Semantic Search
How It Works
Smart Asset Finder uses CLIP (Contrastive Language-Image Pre-training) to understand both images and text in the same 512-dimensional vector space.
Process:
- Your query (e.g., “red sword”) is encoded into a 512-dim vector
- Asset thumbnails are encoded into 512-dim vectors during indexing
- Cosine similarity computes how “close” your query is to each asset
- Results ranked by similarity score (0.0-1.0, displayed as 0-100%)
Supported Languages
Search in multiple languages:
| Language | Status | Example |
|---|---|---|
| English | Fully tested | ”red sword” |
| Chinese | Fully tested | ”红色武器” |
| Japanese | Fully tested | ”赤い剣” |
| Korean | Fully tested | ”빨간 무기” |
| German | Fully tested | ”rotes Schwert” |
| French | Fully tested | ”épée rouge” |
| Spanish | Fully tested | ”espada roja” |
| Russian | Fully tested | ”красный меч” |
Note: The underlying AI model (XLM-RoBERTa) supports additional languages, but only the above are tested with Unreal Editor’s input system.
Search Tips
Be descriptive:
✅ "weathered stone wall texture"
✅ "glowing blue magic crystal"
❌ "texture"
❌ "thing"
Use visual keywords:
✅ "rusty" (describes appearance)
✅ "glowing" (visual effect)
✅ "dark fantasy" (art style)
Try synonyms:
- “sword” vs “blade”
- “fire” vs “flame” vs “burning”
- “stone” vs “rock”
Index Management
Building the Index
Manual Rebuild
- Click Index Assets button
- Scans all assets in configured paths
- Replaces existing index
- Use when: First-time setup, major project changes
Incremental Update
- Auto-update processes changes in small batches in the background
- Only reindexes new/modified assets
- May cause brief editor hitching during thumbnail generation
- Use when: Normal development workflow
Index Files
Location: YourProject/Saved/SmartAssetFinder/
Files:
metadata.json- Index metadata (version, timestamp, asset count)index_data.bin- Binary feature vectors and thumbnails
Size estimate: ~100MB per 1000 assets
Index Operations
Rebuild: Replace entire index
Click: Index Assets button
Clear: Delete index (forces rebuild on next search)
Delete: Saved/SmartAssetFinder/ folder
Backup: Copy index to another location
Copy: Saved/SmartAssetFinder/ folder
Restore: Replace index with backup
Replace: Saved/SmartAssetFinder/ folder
Restart editor
Auto-Update System
Automatic Monitoring
Auto-update watches for:
- New assets: Added via import or copy
- Modified assets: Reimported or changed
- Deleted assets: Removed from project
- Renamed assets: Treated as delete + add
Monitoring Lifecycle
- Detection: Asset Registry fires change event
- Queueing: Asset added to update queue
- Debouncing: Wait for debounce time (default 3s)
- Processing: Process batch of queued assets
- Indexing: Generate thumbnail + extract features
- Saving: Update index on disk
Status Indicators
Button color:
- 🟢 Green: Enabled, idle
- 🟡 Yellow: Processing queued assets
- ⚫ Gray: Disabled
Status bar:
Auto-Update: Idle (0 pending)
Auto-Update: Processing (5 pending)
Auto-Update: Paused (PIE active)
Pause Conditions
Auto-update pauses when:
- Playing in Editor (PIE): Avoids performance impact during testing
- Packaging: Disabled during cook/package operations
- Manually disabled: Click Auto-Update button to toggle
Queue Management
Queue limits:
- Default max: 100 assets
- Configurable in settings
- Warns user if exceeded
Bulk imports:
- Disable auto-update before importing 100+ assets
- Re-enable after import completes
- Click Index Assets for immediate rebuild
Asset Type Support
Supported Types
| Asset Type | Priority | Thumbnail Provider |
|---|---|---|
| Texture2D | 100 | Texture2DThumbnailProvider |
| StaticMesh | 90 | StaticMeshThumbnailProvider |
| Material | 85 | MaterialThumbnailProvider |
| SkeletalMesh | 80 | SkeletalMeshThumbnailProvider |
| ParticleSystem (Cascade) | 75 | ParticleSystemThumbnailProvider |
| NiagaraSystem | 74 | NiagaraSystemThumbnailProvider |
Note: MaterialInstance uses MaterialThumbnailProvider. PaperSprite uses generic provider.
Niagara Thumbnail Limitation
NiagaraSystem assets require manual thumbnail setup in the Niagara Editor. Unlike other asset types, Niagara does not auto-generate thumbnails.
To set a Niagara thumbnail:
- Open the Niagara System in the editor
- In the Details panel, find the
Thumbnail Imageproperty - Assign a Texture2D as the thumbnail
Assets without a manually set thumbnail will appear with a default icon in search results.
Thumbnail Generation
Process:
- Load asset on GameThread
- Render using UE’s ThumbnailManager
- Convert BGRA → RGBA format
- Resize to 224×224 pixels
- Encode with CLIP image encoder
Quality: High-quality 224×224 RGBA (200KB per asset)
UI Features
View Modes
Tile View
- Layout: Grid of large thumbnails
- Best for: Visual browsing, art asset selection
- Controls: Thumbnail size slider
Filters
Asset type filters:
- Toggle individual types on/off
- Shows count per type:
Materials (42) - Auto-disables types not in index
Quick actions:
- Select All: Enable all filters
- Clear All: Disable all filters
Behavior:
- Empty selection = no results (Content Browser pattern)
- Changes apply instantly
Context Menu
Right-click any asset for:
Actions:
- Open Asset: Open in appropriate editor
- Find in Content Browser: Locate in Content Browser
Clipboard:
- Copy Asset Path: Full object path
- Copy Reference: Asset reference for code
File System:
- Show in Explorer: Open containing folder
Drag & Drop
Supported targets:
- Viewport (place in scene)
- Material Editor (add to material graph)
- Blueprint Editor (create variable/reference)
- Content Browser (copy/move)
Usage: Left-click and drag asset tile to target
Thumbnail Scaling
Control: Slider in top toolbar
Range: 10% - 100% of base size (128px)
Result size: 64px - 128px thumbnails
Use case:
- Large: Detailed preview, fewer visible
- Small: See more results at once
Performance Features
Batch Processing
Index builds:
- Process assets in configurable batches
- Prevents memory spikes
- Shows per-batch timing and ETA
Auto-updates:
- Smaller batches for responsiveness
- Queue system prevents overload
- Debouncing reduces redundant work
Multi-Threading
ONNX inference:
- Auto-detects CPU cores
- Default: 50% of cores
- Configurable: 0 (auto), 1-16 (fixed)
Async operations:
- Thumbnail generation on GameThread
- Feature extraction on ThreadPool
- File I/O on background threads
Caching
Index persistence:
- Binary format for fast load/save
- Incremental saves on changes
- Version-compatible format
Thumbnail cache:
- Stored in index (no regeneration)
- Cleared on asset reimport
- Memory-efficient format
Advanced Features
Settings Integration
Configuration UI:
- Integrated with UE’s DeveloperSettings
- Persisted in
Config/files - Per-project settings
Access: Edit → Editor Preferences → Plugins → Smart Asset Finder
Progress Tracking
Status bar shows:
- Operation name
- Progress percentage
- ETA (estimated time remaining)
- Asset counts (recognized/pending/failed)
Progress bar:
- Visual feedback during index build
- Color changes on completion
- Cancel button when available
Error Handling
Graceful failures:
- Failed assets logged to Output Log
- Continues processing remaining assets
- Shows failed count in status
Common errors:
- Missing thumbnail provider (logs warning, skips asset)
- Asset load failure (logs error, skips asset)
- ONNX inference error (logs error, skips asset)
Logging
Log categories:
LogTemp- General plugin messages[IndexManager]- Index operations[ProviderName]- Thumbnail provider messages
Verbosity:
- Normal: Important events only
- Detailed: Enable in settings for debug info
Limitations
Current Limitations
- Linear search: No spatial indexing (future: Top-K optimization)
- CPU only: No GPU acceleration
- Visual assets only: No audio/animation support
- Windows only: macOS/Linux planned
- English UI: Interface in English (search is multilingual)
Not Supported
❌ Audio assets: SoundWave, SoundCue (no visual representation) ❌ Animation: AnimSequence, AnimBP (not visual search target) ❌ Blueprints: Blueprint classes (no thumbnail) ❌ Text-only search: No filename/metadata search (use Content Browser)
Next Steps
- Configuration - Optimize settings
- FAQ - Common questions and solutions