v0.3.1 · Unity 6000.0+

Universal Asset Preview Studio

An Editor-only studio for Unity that indexes your whole project, then lets you browse, preview, validate, compare, organize and export every asset from one window — with live 3D playback, asset-health checks, thumbnail/GIF generation and headless CI automation. No runtime components, nothing to drop in a scene.

Unity 6000.0+ Editor-only · No runtime code URP · HDRP · Built-in Validation · Previews · Export
One window, the whole project. UAPS (Universal Asset Preview Studio) is an in-Editor workflow tool. Open the Studio window, let it index your assets once, and you have a unified browser, a live preview stage, asset-health validation, dependency graphs, comparison sheets and repeatable export — all without writing code. It does not add runtime behaviour to your game.
Built for real catalogs and reviews. Exports are intended for repeatable preview output — store thumbnails, documentation catalogs, contact sheets and JSON/CSV/Markdown/HTML reports — not one-off screenshots. The same pipelines run headless in CI.

This guide starts with installation and the quick start, then walks each feature page, the no-code Editor tools, and the scripting API. Reference and support are at the end.

Installation

Import once, open the Studio, let it index. There is nothing to add to a scene.

Import from the Asset Store
In Window → Package Manager → My Assets, download and import Universal Asset Preview Studio. It lands at Assets/UniversalAssetPreviewStudio/.
Read the Welcome window
On first import a Welcome window auto-opens once. It is dismissible and re-openable from Window → Universal Asset Preview Studio → Welcome.
(Optional) Open the Getting Started scene
Window → Universal Asset Preview Studio → Getting Started Scene opens a guided onboarding scene — a guidance card plus a ★ START HERE object whose Inspector launches the Studio, docs and demo in one click.
Open the Studio
Window → Universal Asset Preview Studio → Open Studio. Let the first scan finish — large projects may take a few minutes while assets are indexed.
(Optional) Open the demo
Window → Universal Asset Preview Studio → Open Demo Scene opens a WebGL-safe showcase that visualizes the editor workflows.

Requirements

What gets installed

Assets/UniversalAssetPreviewStudio/
  Editor/         // the Studio window, views, providers, analyzers,
                  //   validation rules, exporters and the CLI (editor-only)
  Runtime/        // intentionally minimal: UapsRuntimeInfo (name/version) only
  Demo/           // WebGL-safe interactive showcase scene
  Documentation/  // You are here
  Documentation~/ // Markdown source docs (QuickStart, UserManual, API, SDK, ...)
  Tests/          // EditMode + PlayMode (run headless via UapsTestAutomation)Project
Editor-only by design. UAPS is an Editor package. APIs that rely on UnityEditor, AssetDatabase, importers, previews or the Test Runner are not available in player builds. The runtime assembly only exposes UapsRuntimeInfo.ProductName and Version.

Quick Start

From a fresh import to a clean exported batch in a handful of steps.

Open the Studio & scan
Window → Universal Asset Preview Studio → Open Studio, then let the first index finish.
Filter to what you care about
Use search and query filters (for example type:prefab, tag:hero, triangles>10000) to narrow the result set.
Preview & favorite the best candidates
Select an asset to load it into the preview stage; review the image, metadata, validation findings and dependency list. Mark good ones as favorites.
Validate
Open Validation view, pick a profile preset, and apply it to the visible results to catch problems before export.
Generate thumbnails & export
Use Export PNG for the selection or Batch Thumbs for the filtered set, then spot-check naming and framing on the output.
💡
Suggested first pass. Scan the project → filter to the asset type you care about → favorite the best candidates → run validation on favorites → generate thumbnails → export a small batch and confirm output naming and framing.
Low Memory mode. Enable Low Memory in the toolbar when browsing very large projects, low-memory machines, or remote editor sessions. It caps browser thumbnail size, disables overscan rows, limits in-memory thumbnail retention, and uses cached/fallback cell images instead of loading every uncached preview during scroll.

How It Works

One index feeds a single browse / preview / validate / compare / export pipeline.

Index Browse / Preview Validate Compare Export
  1. Index. UAPS scans the project into UapsAssetRecord entries with GUID, path, type, health, tags, collections, dependencies, reverse referencers, metrics and validation findings. Domain analyzers extract per-family signals. Updates are incremental through Unity asset post-processor events while the window is open.
  2. Browse / Preview. Search and filter the index, then select an asset to load it onto the preview stage with shared camera / lighting / environment controls and live playback.
  3. Validate. The active UapsValidationProfile applies its rule set and thresholds to each record and surfaces info / warning / error findings.
  4. Compare. Place up to four assets side by side for metric, dependency, import-setting and validation diffs, plus a visual sheet.
  5. Export. Produce PNG thumbnails, GIFs, contact sheets, documentation catalogs, dependency graphs and reports — in the UI or headless in CI.
Domain-aware, not type-name-only. Validation and metadata use extracted signals: a single prefab can be checked as geometry, VFX, UI, audio and dependency content in one pass if its component hierarchy contains those systems.

🔍 Asset Browser

The indexed starting point for all work — search, filter, sort, organize.

Browse by name and path, or narrow with the left panel (type text, favorite state, collection, warning/error state). Select one asset for a detailed preview, or add up to four to Compare. Grid, list and presentation views are virtualized: only the visible row range plus a small overscan buffer is drawn, so very large result sets stay responsive.

Query filters

The search box accepts structured filters alongside free text. Invalid query fields are reported in the browser instead of silently matching every asset.

FilterMatches
type:prefab, tag:vfx, collection:<name>Asset type text, tag, or collection membership.
health:warning, health:errorValidation status.
triangles>10000, polycount>50000, width>2048Geometry and texture metrics.
lods>0, uv>0, shader:lit, pipeline:urp, format:unorm, alpha:trueImport / material / texture signals.
particles>500, drawcalls>4, raycasts>10VFX, draw-call proxy and UI raycast metrics.
dependencies>20, dep:missing, ref:hero, referencers>1Dependency and reverse-referencer signals.
addressable:true, addr:weaponsAddressable signals.

Sorting

Order visible results by name, type, path, package, health, triangle count, texture memory, audio duration, VFX particle count, dependency count and related browser keys. Descending sort keeps a stable ascending path tie-break for equal primary keys.

Favorites, tags & collections

🖼 Previews

A shared preview stage with camera, lighting, environment, floor and live playback.

The selected preview panel surrounds the asset with its metadata, validation findings, dependency list and export actions. Prefabs, meshes and materials are rendered through UapsPreviewRenderPipeline.CaptureAsset when Unity can render them; other asset types fall back to provider previews, cached thumbnails, or a type-colored fallback image.

Shared preview controls

ControlWhat it does
Yaw / Pitch / FOV / PaddingOrbit the camera and frame the subject.
Render mode overlaySwitch how the subject is shaded for review.
Environment sourceSkybox material, cubemap skybox, panoramic texture skybox (when the shader is available), or sampled-color fallback for unsupported assets.
Key light & fill lightAdjustable light angle via keyLightYaw / keyLightPitch (no longer a hard-coded rotation).
Floor planeOptional ground plane framed on subject bounds so it reads as an infinite floor.
Playback scrubLive timeline position for animated subjects.
Stats overlayOn-preview renderer stats: triangles, vertices, submeshes, renderers, materials, skinned meshes and particle systems.
Background / transparencyBackground color or transparent capture.

Live playback

UapsPreviewSceneAnimator advances Shuriken particle systems, samples Animator / legacy animation clips, and steps Visual Effect Graph effects (via reflection, with no hard dependency on the optional package) to a normalized timeline point before capture. CaptureAssetFrame(asset, state, size, normalizedTime) renders a single live frame, so 3D previews actually play instead of freezing at frame 0. Scene advancement is CPU-only and runs headless, though the final pixel render still needs a graphics device.

Domain-specific previews

Environment note. The built-in render path samples environment assets as a color fallback. Projects that require physically accurate HDRI / image-based lighting should provide a custom stateful preview provider.

🎥 Thumbnails & GIF

Static and animated thumbnails with caching, batch export and Project-window integration.

Thumbnails provide quick visual identification in the browser and in exported asset lists. Export thumbnails for the selected asset, or use Batch Thumbs for the entire filtered result set. Browser cells prefer cached thumbnails and Unity quick previews, so scrolling does not generate files for every asset.

Cache

Animated thumbnails & GIF

UapsAnimatedThumbnailService.GenerateFrameSequence(...) writes a bounded PNG frame sequence (maximum 24 frames at 512 px). Temporal preview providers are sampled frame-by-frame; when timeline sampling is unavailable, it emits a static fallback sequence and records a warning. Use Export Selected GIF when a short native GIF is required — UAPS keeps the source PNG frames and a manifest beside the GIF.

GIF only is bundled. GIF encoding is built in for short bounded preview exports. WebP and video encoding are not bundled; those requests write a PNG frame sequence plus a JSON manifest unless you supply an external encoder (-uapsEncoderPath, optional -uapsEncoderArgs and -uapsFps) such as FFmpeg.

Validation

Asset-health checks that answer one question fast: is this asset ready to preview, thumbnail and export?

The Validation view holds the active profile editor. Choose a built-in preset, assign an existing UapsValidationProfile asset, adjust grouped thresholds, apply the profile to the visible result set, reset from the preset, and save the tuned profile under Assets/ when it should live in source control.

Severity levels

LevelMeaningExamples
InfoDoes not block preview work; flags choices that may affect consistency.Unusual dimensions, missing optional metadata, asset outside a preferred folder.
WarningPreviews or exports may be incomplete, inconsistent or misleading.Texture read/write enabled, high prefab component count, high dependency count, looping animation that moves root position, animator with empty states, duplicate Addressables addresses.
ErrorShould be fixed before export.Prefab contains a missing script, renderer slot with a missing material, material references a missing shader.

Rule catalog & profiles

The built-in catalog contains 51 validation rules. Presets adjust both severity policy and thresholds over the same rule set. Available presets:

General Development Mobile Low Mobile High Desktop VR Console Asset Store Publisher UI Heavy Project VFX Heavy Project Animation Library

For example, Mobile Low flags smaller textures, lower mesh budgets and lower particle counts than Desktop; UI Heavy relaxes UI thresholds; VFX Heavy relaxes VFX thresholds; Animation Library relaxes animation/controller thresholds. Project profiles can also override rule severities, disable rules, set a minimum severity and decide whether package assets are included.

Typical checks

Editorial, not QA. Validation is a fast editorial check for preview readiness. It reports editor-time signals and does not claim authoritative runtime performance results or prove an asset pack is defect-free.

🕸 Dependency Graph

Explore the selected asset's dependencies and reverse referencers, then export.

The Dependency Graph view supports traversal depth, incoming / outgoing toggles, type and path filtering, a draggable in-window node canvas, node expand/collapse controls, node summaries, labeled edges, and select / ping actions. The index records direct dependencies and reverse referencers for indexed assets, so graphs can show incoming reference edges where that data is available.

Exporting

FormatUse it for
MarkdownReview documents.
DOTRendering with external graph tools.
SVGA deterministic visual graph you can open in a browser or embed in docs.

Export from the Export view or headless with UapsCli.ExportDependencyGraph; the underlying service is UapsDependencyGraphService.

Comparison

Place up to four assets side by side with metric, dependency, import and visual diffs.

Compare view holds up to four assets. Each card shows the preview, type, health and a metric summary, and the view builds metric, dependency, import-setting and validation diffs.

Linked preview state

Camera and playback sync toggles drive a shared comparison preview state for compatible assets. Linked yaw, pitch, FOV, padding, render mode, environment and playback scrub values are applied to built-in captures and to providers that implement the stateful or temporal preview contracts. Assets without those capabilities fall back to their normal preview behavior and report compatibility notes.

Export

Heatmap scope. The visual diff heatmap is generated from equal-sized captured or fallback preview textures. It is useful as visual review evidence but is not a physically accurate render-pipeline diff.

📦 Package & Addressables Audit

Quick project-structure and Addressables checks, in the UI or headless.

Package audit

The package audit reads Packages/manifest.json and reports dependency counts, Unity package/module counts, whether URP is present, and whether the Addressables package is installed. Run it headless with UapsCli.PackageAudit (UapsPackageAnalyzer underneath).

Addressables audit

Addressable status on indexed assets is detected from labels and common folder names. When the Addressables package is installed, UapsAddressablesAnalyzer uses reflection to report groups, entries, duplicate addresses and missing asset references; it also has a YAML fallback that scans Assets/AddressableAssetsData when present. Detailed bundle layout and remote/local risk simulation remain limited.

Release readiness & clean-import audits

🤖 Headless / CI

Run the same pipelines in batchmode for continuous integration.

Invoke entry points with Unity -batchmode -nographics -projectPath <project> -executeMethod <method>. The CLI surface lives in UapsCli, and test automation in UapsTestAutomation.

Entry points

MethodDoes
UapsCli.RunValidationProject validation report.
UapsCli.GenerateThumbnailsThumbnails for a filtered set.
UapsCli.ExportReportJSON / CSV / Markdown / HTML report.
UapsCli.ExportCatalogMarkdown / HTML documentation catalog.
UapsCli.ExportContactSheetContact sheet (-uapsSize, -uapsColumns, -uapsMaxItems).
UapsCli.ExportMediaPNG frames + native GIF; external encoder for WebP/MP4.
UapsCli.ExportTurntableTurntable contact sheet.
UapsCli.ExportDependencyGraphMarkdown / DOT / SVG graph.
UapsCli.PackageAudit / AddressablesAudit / CleanImportAuditProject-structure and Addressables audits.
UapsCli.ReleaseReadinessRelease gate (non-zero exit on blocking errors).
UapsTestAutomation.RunEditMode / RunPlayModeRun the test suites and write results XML.

Example commands

# Validation report
Unity.exe -batchmode -nographics -quit -projectPath "<project>" \
  -executeMethod UniversalAssetPreviewStudio.UapsCli.RunValidation \
  -uapsOutput "UAPSReports/validation.json"

# Contact sheet
Unity.exe -batchmode -nographics -quit -projectPath "<project>" \
  -executeMethod UniversalAssetPreviewStudio.UapsCli.ExportContactSheet \
  -uapsOutput "UAPSReports/contact-sheet.png" -uapsSize 160 -uapsColumns 4 -uapsMaxItems 64

# Animated media (GIF) for one clip
Unity.exe -batchmode -nographics -quit -projectPath "<project>" \
  -executeMethod UniversalAssetPreviewStudio.UapsCli.ExportMedia \
  -uapsAssetPath "Assets/MyClip.anim" -uapsOutput "UAPSReports/media" \
  -uapsFormat gif -uapsFrames 24 -uapsSize 256

# Test automation
Unity.exe -batchmode -nographics -projectPath "<project>" \
  -executeMethod UniversalAssetPreviewStudio.UapsTestAutomation.RunEditMode \
  -uapsOutput "TestResults/uaps-editmode.xml"Shell
Headless rendering caveat. Headless Unity sessions may not provide a graphics device. When UapsPreviewRenderPipeline.CaptureAsset cannot capture in batchmode, UAPS falls back to provider previews, cached thumbnails or documented frame-sequence fallbacks where the workflow supports them. Live scene advancement (particles/animation/VFX) still runs, but the final pixel render needs a render target.

🔧 Editor Tools / No-Code

Everything UAPS does is reachable from menus, windows and Create-asset entries — no scripting required.

Windows & menus

Menu pathWhat it opens
Window → Universal Asset Preview Studio → Open StudioThe main Studio window (UapsWindow) — browse, preview, validate, compare, organize, export, audit.
Window → … → Open Toolkit StudioA UI Toolkit browser shell for modern docking / search / details. The classic Studio remains the feature-complete surface for all export and analysis actions.
Window → … → WelcomeThe first-run Welcome window. Auto-opens once, dismissible, and re-openable here.
Window → … → Getting Started SceneOpens the onboarding scene — an on-screen guidance card plus a ★ START HERE object whose Inspector has one-click buttons to open the Studio, docs and demo.
Window → … → DocumentationOpens this documentation.
Window → … → Open Demo SceneOpens the WebGL-safe interactive demo scene.
Window → … → Project Window ThumbnailsToggles cached Project-window thumbnail overlays.
Assets → UAPS → Preview SelectedJumps the Studio to the currently selected asset.
Tools → Universal Asset Preview Studio → Demo / SamplesRebuild the Welcome / demo / example scenes and generate the fixture library.

No-code authoring assets

Create configuration as ScriptableObjects (with inspector tooltips) from Assets → Create → Universal Asset Preview Studio:

✅ Validation Profile

A UapsValidationProfile — rule overrides, minimum severity, package inclusion and threshold values. Pick a preset in Validation view, tune it, and save it here so it lives in source control.

📤 Export Preset

A UapsExportPreset describing repeatable export settings for thumbnails, reports and catalogs.

👥 Team Workspace

A UapsTeamWorkspaceSettings asset storing shared saved searches, tags, collections, pinned comparisons, recents and review assignments — project metadata that belongs in source control instead of personal EditorPrefs.

The Welcome window & Getting Started scene

On first import the Welcome window auto-opens once to orient new users toward opening the Studio, the documentation and the onboarding scene. It is dismissible and can always be re-opened from the menu. It is informational only — nothing about your project changes when it shows.

The Getting Started scene (Window → … → Getting Started Scene) is a self-contained onboarding scene: it shows an always-visible guidance card with the three-step quick start, and a ★ START HERE object whose Inspector turns into a launcher — one click opens the Studio, the documentation, the interactive demo or the Welcome window. Regenerate it any time from Tools → Universal Asset Preview Studio → Demo → Rebuild Welcome Scene.

💡
Recommended team conventions. Keep tags short and consistent, use collections for handoff boundaries, validate before exporting, and regenerate thumbnails after large art, material or import-setting changes.

🧩 Asset Type Modules

One index and shared pipeline, with domain-specific metadata and validation layered over each asset family.

FamilyExtracted signalsCommon checks
Textures & spritesDimensions, graphics format, mipmaps, alpha import setting, readability, sprite count, estimated memory, average brightness, alpha coverage.Size thresholds, read/write, missing mipmaps, high memory, NPOT, low alpha coverage, uncompressed formats.
Meshes & prefabsVertices, triangles, submeshes, UVs, blend shapes, bounds, material slots, renderers, components, colliders, rigidbodies, lights, cameras, animators, AudioSources, LOD groups, missing scripts/materials, draw-call proxies.Missing scripts/materials, triangle & submesh thresholds, missing UVs, high-poly without LODGroup, prefab budgets.
MaterialsShader name, render queue, enabled keywords, texture slots, assigned/missing textures, normal map, basic PBR completeness.Missing shaders, high keyword counts, transparent/late render queues, incomplete PBR on lit materials.
AudioDuration, channels, frequency, estimated memory, waveform, peak, RMS, zero-crossing rate, loop-candidate estimate.Expensive load for long clips, long stereo clips, high memory, clipping risk, high sample rates.
Animation & controllersDuration, frame rate, loop state, curve/event counts, root-motion signals; controller layers, parameters, states, transitions, blend trees, empty states, referenced clips.Dense curves, high event counts, looping root-motion mismatch, empty states, controller complexity.
VFXParticle systems, renderers, trails, lines, bursts, max particles, emission-rate estimate, world-space simulation, estimated overdraw.Max particle thresholds, system/trail/line counts, estimated overdraw.
UI prefabsRectTransforms, graphics, raycast targets, layout groups, canvases, fixed/stretch anchors, negative-size rects, responsive-anchor signal.Excessive raycast targets / layout groups / canvases, missing responsive anchors.
Graph assetsShader Graph / VFX Graph text analysis: estimated nodes, connection signals, properties, exposed properties, error/missing text.Error/missing text signals, high estimated node counts (lightweight static pass).
Editor-time signals. Metrics are editor-time signals for preview readiness, catalog quality and review triage — not authoritative runtime performance results. Validate final behaviour in target builds and on devices.

📙 Scripting API

The extension surface lives in the UniversalAssetPreviewStudio namespace. Treat public editor APIs as package contracts.

Registry

UapsRegistry stores editor extension implementations. Registration deduplicates by ID where one exists, otherwise by implementation type.

using UniversalAssetPreviewStudio;

UapsRegistry.RegisterPreviewProvider(new MyPreviewProvider());
UapsRegistry.RegisterMetadataExtractor(new MyExtractor());
UapsRegistry.RegisterValidationRule(new MyRule());
UapsRegistry.RegisterExportAction(new MyExportAction());C#

Extension contracts

InterfacePurpose
IUapsAssetPreviewProviderReturns preview textures for supported records.
IUapsStatefulPreviewProviderConsumes UapsPreviewState for linked camera, render mode, environment and playback-aware previews.
IUapsTemporalPreviewProviderSamples provider frames at normalized playback times for animated thumbnails and media.
IUapsThumbnailProviderReturns thumbnail textures for supported records.
IUapsMetadataExtractorAdds extracted signals to a record's metrics.
IUapsValidationRuleOne deterministic finding rule (severity, message, optional fix).
IUapsComparisonAdapterContributes comparison data between assets.
IUapsExportActionA registered export operation.
IUapsPreviewOverlayDraws overlay content on the preview stage.
IUapsPreviewControlProviderAdds preview control descriptors.
IUapsAssetTypeClassifierClassifies indexed assets into families.
IUapsRenderPipelinePreviewAdapterAdjusts the preview camera/lights/root for the active render pipeline.

Key entry classes

TypePurpose
UapsAssetRecord / UapsAssetMetricsThe indexed asset model and its extracted metric signals.
UapsPreviewRenderPipeline.CaptureAsset(record, state, size)Render a supported prefab / mesh / material capture with the shared preview state.
UapsPreviewRenderPipeline.CaptureAssetFrame(asset, state, size, normalizedTime)Render a single live frame at a timeline point (advances particles / animation / VFX first).
UapsPreviewStateShared yaw, pitch, FOV, padding, render mode, environment, background, lighting (incl. keyLightYaw/keyLightPitch), floor/stats toggles and playback values.
UapsPreviewSession.Create(record)A plan-oriented preview lifecycle: provider, capabilities, controls, overlays, rendering and cleanup scope.
UapsAnimatedThumbnailService.GenerateFrameSequence(...)Bounded PNG frame sequences using temporal providers, with static fallback.
UapsThumbnailServiceThumbnail generation, cached lookup, PNG export, sidecar metadata, cache stats and budget enforcement.
UapsValidationProfileService.Validate(record, profile)Applies a profile to one record; CreateProfile(...) builds the built-in presets.
UapsSearchQuery.Parse(query) / UapsAssetIndexService.Search(...)Parse browser filters and search indexed records.
UapsReportExporter / UapsDocumentationGenerator / UapsContactSheetExporterJSON/CSV/Markdown/HTML reports, catalogs and contact sheets.
UapsDependencyGraphService / UapsComparisonReportService / UapsMediaExportServiceGraph export, comparison reports/visual sheets and media exports.
UapsTeamWorkspaceServiceShared saved searches, tags, collections, pinned comparisons, recents and review assignments.

Built-in providers

UapsAudioWaveformPreviewProvider, UapsAnimationTimelinePreviewProvider, UapsTextureInspectorPreviewProvider, UapsLiveSceneTemporalProvider (live prefab/model playback, priority 50) and UapsDefaultPreviewProvider. Analyzers include UapsAnimationAnalyzer, UapsAnimatorControllerAnalyzer, UapsRetargetAnalyzer, UapsVfxAnalyzer, UapsMaterialAnalyzer, UapsTextureAnalyzer, UapsAudioAnalyzer, UapsUiAnalyzer, UapsAddressablesAnalyzer and UapsGraphAssetAnalyzer.

Editor-only. These APIs depend on UnityEditor, AssetDatabase, importers, previews and the Test Runner and are not available in player builds. Capture methods can return null in graphics-limited batchmode — handle that with thumbnail / provider fallback paths.

💡 Troubleshooting

The issues that come up most, and how to resolve them.

An asset doesn't appear in the browser

Refresh the browser and confirm the asset is inside the Unity project. Incremental updates run through Unity asset post-processor events while the Studio window is open; if the window was closed during a large import, a full rescan picks up the new assets.

A preview is blank

Check whether the asset type is supported, whether dependencies are missing, and whether import settings allow preview generation. Metadata and validation still work for many assets even when Unity cannot render a rich preview image; UAPS falls back to a mini thumbnail or a type-colored fallback.

A 3D preview freezes at frame 0

Use the Playback scrub control — live captures advance particles, animation and VFX before rendering. In headless sessions, scene advancement still runs but the final render needs a graphics device, so it may fall back to a static frame.

Exports are inconsistent

Regenerate thumbnails for the same filtered set and confirm the same output size and background option is used for the whole batch. Regenerate stale thumbnails after large art, material or import-setting changes.

Contact-sheet output is unexpectedly small

Check -uapsMaxItems or the current filtered result count. The CLI clamps large projects intentionally so automation cannot generate unbounded sheets by accident.

WebP / MP4 export wrote PNG frames instead

Only GIF encoding is bundled. For WebP/MP4, supply an external encoder with -uapsEncoderPath (plus optional -uapsEncoderArgs and -uapsFps), e.g. FFmpeg. Without it, UAPS writes a bounded PNG frame sequence plus a JSON manifest and records the attempted command.

The browser is sluggish on a huge project

Enable Low Memory in the toolbar. It caps browser thumbnail size, removes overscan rows, limits in-memory thumbnail retention, and uses cached/fallback cell images for uncached assets — ideal for very large projects, low-memory machines and remote editor sessions.

FAQ

Quick answers to the questions that come up most.

Is there anything to add to a scene at runtime?

No. UAPS is an Editor-only workflow tool. The runtime assembly is intentionally minimal — it only exposes UapsRuntimeInfo.ProductName and Version. There are no runtime components to drop into a scene.

Which Unity versions and render pipelines are supported?

Unity 6000.0 or newer, on URP, HDRP and Built-in. Addressables and the Visual Effect Graph are optional — they are auto-detected and degrade gracefully when absent.

Do I need Addressables or the VFX Graph installed?

No. The Addressables audit uses reflection when the package is installed and falls back to scanning Assets/AddressableAssetsData otherwise. Live VFX previews step the Visual Effect Graph via reflection when present, with no hard dependency on the package.

What export formats are supported?

PNG thumbnails and contact sheets; native GIF for short animated previews; JSON / CSV / Markdown / HTML reports; Markdown / HTML documentation catalogs; and Markdown / DOT / SVG dependency graphs. WebP and MP4 require a project-supplied external encoder; otherwise UAPS writes PNG frames plus a manifest.

Can I run it in CI without a display?

Yes — the UapsCli and UapsTestAutomation entry points run under -batchmode -nographics. When a graphics device is unavailable, render capture falls back to provider previews, cached thumbnails or documented frame-sequence fallbacks. ReleaseReadiness returns a non-zero exit code on blocking errors so release gates fail correctly.

Is the validation result authoritative for runtime performance?

No. Validation is a fast editorial check for preview readiness using editor-time signals. It does not claim authoritative runtime performance results or prove that an asset pack is defect-free; validate final behaviour in target builds.

Can my team share tags, collections and saved searches?

Yes. The UapsTeamWorkspaceSettings asset stores shared saved searches, project tags, collections, pinned comparisons, recents and review assignments, so this metadata can live in source control instead of personal EditorPrefs.

Can I extend it with my own previews or rules?

Yes. Implement one of the provider / extractor / rule / adapter / export interfaces and register it through UapsRegistry. See the Scripting API.

📬 Support

Need help? We're here for you.

📧

Get in Touch

Bug reports, feature requests, workflow questions — reach out and we'll get back to you.

✉ szekipapa77@gmail.com

We typically respond within 24–48 hours.

💬 Before contacting
  • Check the Troubleshooting section
  • Refresh the browser / rescan the project
  • Confirm the asset is inside the Unity project
  • Check the Console for skipped-asset or capture messages
📋 Helpful info to include
  • Unity version (e.g. 6000.0.30f1)
  • UAPS version (v0.3.1)
  • Render pipeline (Built-in / URP / HDRP)
  • The asset type + a sample asset path
Enjoying Universal Asset Preview Studio? A review on the Unity Asset Store helps other developers discover the asset and helps us keep improving it. Thank you!

Universal Asset Preview Studio v0.3.1 · Built for Unity 6000.0+ · Editor-only · URP, HDRP & Built-in

Support: szekipapa77@gmail.com