Releases: NightHawkHSI/UniView
Release list
UniView 2.3.1
Fixes
- Font previews in Source, Source 2 and Unreal games:
.ttf/.otffonts now show their sample sheet instead of an error (they only worked in Unity games before). - Your game list and settings are safer:
projects.jsonandsettings.jsonare saved in one step, so a crash or full disk can't leave them half-written. If one can't be read, UniView keeps a copy asprojects.json.bad/settings.json.badinstead of starting over and overwriting it. - A bad value in
settings.jsonnow only resets that one setting (and says so in the log) instead of being ignored silently. - More problems are written to
viewer.loginstead of being swallowed (textures that fail during OBJ export, Blender lookup, etc.).
For plugin authors
- The plugin API in
engines/sdk.pyis fully type-annotated, with named shapes for the dicts plugins return (GameInfo,AssetStats,PluginOption,Rig, ...). Keep the template's type hints and your editor, ormypy, flags mistakes like a misspelled stats key. See Type checking inPLUGINS.md. - New optional
GameSession.font(asset). By default it rendersraw(), so returning the font file's bytes fromraw()is enough.
Under the hood
- The app's code moved from one 4,800-line file into a
uniview/package (unity_viewer.pystill starts it). No change in behavior. - Automated tests for GLB export, skeleton/animation math, settings and plugin loading, run on every build.
Windows: download UniView-v2.3.1-win64.zip, unzip, run UniView.exe. No Python needed.
🤖 Generated with Claude Code
UniView 2.3.0
New
- Humanoid animations (Unity): humanoid (muscle) clips now play on any humanoid character, using each character's Avatar the way Unity does. Most character animations in games like Valheim now play.
- Rigged, animated GLB export: skinned models save to GLB with their skeleton and skin weights. Save animated GLB... on an animation adds the clip, so an animated character opens in Blender.
- Fly camera: scenes, maps and terrains open in a game-style camera. WASD to move, Q/E down/up, drag to look, Shift for speed, a speed slider (and the mouse wheel), double-click to jump to a spot. Walls stay drawn up close, so you can go inside buildings. Press F to switch.
- Source 2 data: compiled resources are readable: game data (
.vdata, e.g. Deadlock hero stats), particles, materials, sound events, animation graphs, UI layouts, styles and scripts..vsvgicons show as images. - More file types: Unreal
.locreslocalization (all of a game's text, every language), SVG/ICO/CUR/PSD images, subtitles and more text formats in every engine. - Unity scripts: data assets without their own field layout borrow the one stored in the game's bundles (fixes localization tables); when fields can't be decoded, their readable text is listed.
Fixes
- Animations are offered on the right model first when several creatures share bone names.
- Fonts and videos save with the right file type in the save dialog.
Windows: download UniView-v2.3.0-win64.zip, unzip, run UniView.exe. No Python needed.
🤖 Generated with Claude Code
UniView 2.2.0
New for Unity games
- Terrains: terrain heightmaps show as 3D ground, painted with the terrain layers blended by their splat maps, with holes cut out. They're listed as
Terrain: nameand also appear inside their scenes (tested with Schedule I, Megabonk, Car Mechanic Simulator 2018). - Sprite sheets: a texture outlines every sprite cut from it (toggle Sprite outlines) and links to them.
- 2D sprite animations: sprite animation clips play frame by frame with Play sprite animation.
- IL2CPP data fully readable: item stats, enemies, skins and other data in IL2CPP games (e.g. Megabonk) now decode completely instead of showing only the common fields. References to other objects say what they point to, e.g.
icon → Texture2D 'ItemBattery'.
Fixes
- Big scenes that use static batching (e.g. Schedule I) no longer run out of memory.
- The window stays responsive while UniView measures assets right after a game loads.
Download
Unzip UniView-v2.2.0-win64.zip and run UniView.exe. You don't need Python. (Windows 64-bit.)
🤖 Generated with Claude Code
UniView v2.1.0
UniView is now a game asset viewer for many engines, not just Unity. This is the first release since v1.2.0 and includes everything from 2.0 and 2.1.
More engines
| Engine | Games (examples) | What you get |
|---|---|---|
| Unity | Valheim, Muck, Among Us, Megabonk | models, textures, sprites, sounds, text, plus everything new below |
| Source | TF2, HL2, Portal, CS:S, L4D2, GMod | .mdl models with materials, whole maps (.bsp) with terrain and props, .vtf textures, sounds |
| Source 2 | CS2, Deadlock, Dota 2, HL: Alyx | .vmdl_c models with materials, .vtex_c textures, .vsnd_c sounds |
| Unreal 4/5 | Satisfactory, Dead as Disco, Headliners | .pak and IoStore (.utoc/.ucas), encrypted games with their AES key, textures (incl. virtual textures), static and skeletal meshes with their materials |
| Fallout 1/2 | Fallout, Fallout 2 | .dat archives, sprites, splash images, sounds, text |
| Loose files | any other game | images, sounds, text, .obj/.x models, files inside .zip/.gro/.pk3 |
Find games in Steam now finds games of every supported engine, and the Projects page can group and filter games by engine.
New for Unity games
- Scenes & prefabs in 3D: open a level or a prefab and see every object in place. Static batching, lower-detail LOD copies and hidden objects are handled.
- Material colors: parts without a texture show their material's color (low-poly games no longer look grey), and colors are saved in GLB/OBJ exports. The info panel shows a color swatch and the material's values.
- Animations: pick a clip, choose a model with a matching skeleton and press Play on model (play/pause and a time slider), or save the keyframes as JSON.
- Scripts & data: item stats, loot tables, configs and other data assets are shown as readable text and save as JSON. Fields are read from the game's own code (Mono and IL2CPP).
- Fonts: preview as a sample sheet, save as
.ttf/.otf. - Videos: VideoClips play in a built-in video player.
- Sounds: AudioClips play in the built-in player.
- Games that use Addressables (
StreamingAssets/aa) load, and models find textures stored in other bundles.
For every engine
- Textures per part: models with several materials show each part with its own texture.
- Sound player with play/pause, seek, volume and autoplay. Wwise (
.wem), FMOD banks and many other game audio formats play after Help → Install sound decoder (vgmstream), a one-time download of the free vgmstream decoder. - Engine plugins: add support for another engine by dropping a
.pyfile into thepluginsfolder. Start fromplugins/_template.py; see PLUGINS.md.
Fixes
- Big maps no longer freeze the window, and Find games in Steam no longer blocks it while it scans.
- Models without a texture no longer lose their lighting after changing a view option.
- Models now stand upright in the 3D view.
Download
Unzip UniView-v2.1.0-win64.zip and run UniView.exe. You don't need Python. (Windows 64-bit.)
🤖 Generated with Claude Code
UniView v1.2.0
Unity version on every game
Each game box now shows the Unity version the game was built with (e.g. 2019.4.40f1) and its scripting backend (Mono or IL2CPP). It's read straight from the game files, so you don't need to load the game first. It also shows in the window title and status bar while a game is open.
Catalog your game library
- Tags: right-click a game → Tags... (e.g.
lowpoly,fps,dead game). Tags show on each box. - Search bar on the Projects page: plain words, or filters like
tag:lowpoly unity:2019 backend:il2cpp status:works. - Filter by tag, group by tag / Unity version / backend / compatibility / loaded, and sort by recent, name, Unity version or asset count. Your choices are remembered.
Models open much faster
The first model you open in a big game no longer freezes the app. In BattleBit it took over a minute; now it takes under a second. Figuring out which objects use which mesh now happens in the background right after a game loads.
More models find their texture
Textures are now found for models whose mesh lives in a different file from the object that uses it. In a 300-model sample, BattleBit went from 113 to 215 textured models, and Car Mechanic Simulator 2018 from 216 to 266.
The compatibility list now also records each game's Unity version.
Download
Unzip UniView-v1.2.0-win64.zip and run UniView.exe. You don't need Python. (Windows 64-bit.)
🤖 Generated with Claude Code
UniView v1.1.2
New app icon
UniView has a proper icon now: a cube and a magnifying glass on a blue tile. It shows clearly on the taskbar, the window and UniView.exe, even at small sizes. The old placeholder was a squashed screenshot.
If you pinned an older UniView to the taskbar, unpin it and pin the new
UniView.exe. Windows caches icons.
Everything from 1.1.1 is included (the empty-texture fix and 15 games marked as working).
Download
Unzip UniView-v1.1.2-win64.zip and run UniView.exe. You don't need Python. (Windows 64-bit.)
🤖 Generated with Claude Code
UniView v1.1.1
Fixes
- Empty textures no longer crash. Textures that games build while running (like Font Texture) are only empty 0×0 placeholders in the game files. They used to fail with a confusing
Permission deniederror. Now UniView says clearly that the texture is empty.
Compatibility list
- 15 games tested and marked as working, each with notes and measured numbers: Among Us, BattleBit Remastered, Car Mechanic Simulator 2018, Fallout Shelter, Mage Arena, Make Way, Megabonk, Muck, Papers Please, Probably Stolen, Robocraft, Schedule I, Trailmakers, Unturned and Valheim. They show on each game's box on the Projects page.
Download
Unzip UniView-v1.1.1-win64.zip and run UniView.exe. You don't need Python. (Windows 64-bit.)
🤖 Generated with Claude Code
UniView v1.1.0
What's new in 1.1.0
Finding things
- Search filters:
tris>1000,size>1mb,w>=512,type:mesh. Combine them, e.g.gun tris>2000 size<5mb. - Sortable columns: Name, Info (triangles or pixel size) and Size.
- Favorites (Ctrl+D), saved per game, with a ★ Favorites view.
- Grid view (Ctrl+2): big thumbnails you can flip through with the arrow keys.
- Jump between related assets: model → texture, texture → every model that uses it, and sprite → sprite sheet.
Model viewer
- UV set picker (UV0/UV1/…) and a UV layout window.
Export
- GLB export: one file with the textures inside, opens in Blender.
- Open in Blender (Ctrl+B).
- Bulk export that can keep the game's folder structure.
Projects page
- Notes for each game, pinned games, and drag and drop a game folder to add it.
- Community compatibility list shown on each game's box. Right-click → Report compatibility… to add yours.
- Progress bar while loading and exporting.
Fixes
- Unnamed assets are named after their prefab.
- Meshes with line/point parts no longer fail to load.
Download
Unzip UniView-v1.1.0-win64.zip and run UniView.exe. You don't need Python. (Windows 64-bit.)
If SmartScreen warns you, click More info → Run anyway.
🤖 Generated with Claude Code
UniView v1.0.0
First release of UniView - Unity Asset Viewer.
Download
Grab UniView-v1.0.0-win64.zip below, unzip it anywhere, and run UniView.exe. You don't need Python. (Windows 64-bit.)
Features
- Projects page with a box per game (green = loaded, red = not), file/asset counts, and auto-detection of Unity games in your Steam libraries
- 3D model viewer with auto-found textures, plus a panel listing the model's materials, textures and source file
- Zoomable texture viewer
- Thumbnails in the asset list
- Export models as OBJ + MTL + PNG (open textured in Blender), textures as PNG, or everything in bulk
- Console,
viewer.logandcrash.logfor troubleshooting
Notes
- Windows SmartScreen may warn the first time because the exe isn't code-signed. Click More info → Run anyway.
- Game files are only read, never changed.
🤖 Generated with Claude Code