Snap Studio Pro β Changelog¶
Version 1.3.3 β GUID Collision & Built-in Compile Fixes¶
Bug-fix release.
Fixed¶
- Built-in RP projects with Post Processing Stack v2 installed no longer hit a wall of CS0012 compile errors from Snap. When Snap detects PPSv2 on Built-in it enables its post-processing support by adding the SNAP_SUPPORTS_PPSV2 scripting define project-wide β including when you install the package via Snap's own "Install Post-Processing Stack" menu item. The preview assembly compiles code behind that define but was missing its reference to Unity.Postprocessing.Runtime, so the define took the assembly down, and the whole tool with it, until the package or the define was removed by hand. Present since 1.3.0; only the preview assembly definition changed. If a project is currently stuck, updating Snap is the fix β or, without updating, remove SNAP_SUPPORTS_PPSV2 from Project Settings β Player β Scripting Define Symbols to recover temporarily.
- Errors now always reach the Unity Console. Snap's diagnostic logging is category-gated and quiet by default, but the gate also covered errors β so with no diagnostic categories enabled (the default), a failure Snap caught and reported internally printed nothing: a faulted batch export would reset its progress bar with an empty Console, and "see the Console" messages pointed at nothing. Errors now bypass the category toggles; regular and warning-level diagnostics stay opt-in as before, and the support screenshot capture still only fires for categories you have explicitly enabled.
- Re-exporting with "Generate Sprite Sheet" into the same folder no longer breaks on the previous run's sheet. The sheet is written into the frames folder, and the next assembly scanned every PNG in that folder β so run 2 picked up run 1's sheet as if it were a frame, the size mismatch aborted assembly, and the folder kept the outdated sheet while looking complete. Worse, with "Skip Raw Frames" on, the panel then mistook the stale sheet for a fresh one and deleted the newly captured frames. Assembly now scans frame files only (the same rule the GIF assembler always used), reports its own success instead of trusting a file-exists check, and raw frames are only cleaned up after a genuinely successful build. A failed build now says so in the Console β naming the offending stale frame when sizes clash β and always keeps your frames. Same class as the 1.3.1 ping-pong fix; covered by new regression tests.
- Particle FX and VFX Graph exports can now be stopped. Both panels have a Stop Export button beside the progress bar; previously a bake could only be interrupted from another tab's Stop button, by entering Play mode, or by a script recompile β and any of those left the job half-finished: with "Force export shaders" on the preview stayed stuck rendering the flat export materials, VFX effects were left running free of the scrub position, and the frames captured so far didn't appear in the Project window until some unrelated refresh. Both exports now restore the preview and import what they captured however they end, so stopping is safe.
- Controls that would disturb a running FX bake are disabled while it runs. "Find Best Loop" was clickable mid-export and restarted the very effect being captured β putting a jump into the exported frames while the run still reported success β and the Export button could be pressed again mid-bake. Related: applying the export shader swap while the preview's own swap was active could lose track of the real materials for the rest of the session, so turning the preview toggle back off left the effect flat.
- The live preview no longer leaks memory while you work. On URP and HDRP every rendered preview frame left its raw capture behind β one preview-sized texture per frame, unrecoverable until scripts recompiled β so rotating a prefab or playing an animation could shed hundreds of megabytes a minute and leave the editor sluggish in a long session. The Built-in preview was unaffected. Two related leaks are fixed with it: the Static Sprite Animation multi-angle export held on to every captured frame (about 150MB for a 36-frame 1024px turntable, each run), and the sprite sheet it composed was never released. That export also now restores the camera and the prefab's pose when a run is cancelled β previously Stop left the preview mid-orbit, which the motion preview then adopted as its starting pose.
- Starting an export while another one is running no longer disturbs the run in flight. Only one export can run at a time β that has always been true β but the refusal was reported as a log line the panels ignored, so a panel that had already wired itself up stayed attached to the running export: it mirrored that export's progress and, when it finished, ran its own completion work and announced an export it never performed. The worst case was a second "Separate Character + Shadows" click, which captured a fresh visibility snapshot mid-pass and left the preview showing shadows only after the real export finished. Panels now claim the exporter before wiring anything up, and undo what they staged if they don't get it. Related: "Export All Clips" is disabled while an export is running; the Prefab Metadata scan refuses to start during an export (previously it reported the export's completion as an empty scan, and its Stop Scan button cancelled that export); and the Environment tab's Stop Export only stops its own run instead of whatever happened to be exporting.
- Game-Ready now builds a "Separate Character + Shadows" export from the character, as the documentation has always described. A separated run writes Character/ and Shadows/ side by side and the panel's Make Game-Ready button hands over the folder containing both β which Game-Ready read as two animations named "Character" and "Shadows". The result was a rig with a Shadows state in it, and, because one shared crop spans every frame of a build, the shadow's much wider footprint inflated the size of every character sprite. Selecting such a root now builds from Character/ and says so in the window; the Shadows set stays a separate layer to composite beneath it. Two related shapes are fixed by the same change: a multi-clip separated export no longer collapses to just its first clip, and a single-clip directional separated export (Angle_### folders beneath Character/) can be built at all. Covered by new regression tests.
- Animation exports now sample at each clip's own frame rate, as the tool has always said they do. With "Override FPS" off β the default β the Character Animation batch export actually sampled at the preset's FPS (24 unless you changed it), even though the toggle's tooltip promises "exactly what's in the clip" and the panel prints your clip's detected rate as "(used by default)". A 30 fps clip therefore exported 24 frames per second: missing poses, and GIF timing to match. The per-clip rate is now resolved for real, so a batch containing clips at different rates exports each as authored, and the estimated frame count shown before export matches what you get. "Export Full Clip" and "Export All Angles" on the Animation Preview had the same fault in a simpler form β they were fixed at 30 fps regardless of the clip β and now follow the clip too. Ticking "Override FPS" still forces your chosen rate on every clip, unchanged. Headless job files are unaffected: they state their own fps and always have.
- The seamless-loop crossfade and Auto-Detect loop had the same dirty-folder exposure and got the same fix: both scanned every PNG in the frames folder, so on a re-export the previous run's sprite sheet was counted as a frame β it shifted which frames were blended together, skewed every seam score the auto-detector computed, and could be deleted (or cause a real frame to be deleted) by the loop trim. Both now scan frame files only, matching the sheet and GIF assemblers, so all four folder consumers agree on the frame sequence. Also covered by new regression tests.
- Asset GUIDs are now unique to Snap Studio Pro. Ten assets shipped with GUIDs that were not ours: three matched unrelated files in RevFramework, having been copied from it with their .meta attached, and the seven inside ThirdParty/uGIF-master/Assets came straight from the public uGIF repository, so they were identical in every project that vendored uGIF the same way. Unity matches a .unitypackage entry by GUID before path, and where the GUID already exists it overwrites that asset wherever it already sits instead of creating the file at the path the package specifies. So importing Snap alongside RevFramework β or into a project that already used uGIF β wrote one package's source into the other's folder, where the wrong assembly tried to compile it, and left the rightful owner's assembly without the file at all. The result was a wall of CS0234 and CS0246 errors, and which side broke depended on import order. No Snap source changed; only the .meta GUIDs.
- "Export Full Clip" no longer locks up the editor, and its Stop Export button now works. The Animation Preview's single-clip export captured the entire clip inside one editor update: nothing repainted until the last frame was written, so the progress bar never moved, the Stop Export button never appeared to be pressed in the first place, and a long clip at a large size looked like a hang. The export now advances one frame per editor tick β the same cadence the multi-clip batch has always used β so the progress bar moves, the editor stays usable, and Stop takes effect at the next frame. Two things follow from it: the "GPU-safe export" pacing preference reaches this path for the first time, and a cancelled run imports the frames it did capture instead of leaving them invisible in the Project window until some later refresh. The "Separate Character + Shadows" variant, which ran both passes in that same single update, is fixed with it.
- Exported GIFs no longer corrupt after the first frame. Snap encoded each frame as a difference from the one before it, but the "this pixel is unchanged" marker was written without the transparency flag that gives it meaning β so viewers painted a solid palette colour, usually the darkest one in the frame, over every region that hadn't moved. Any animation on a stable background, which is most of them, played as a moving sprite over a spreading dark block from frame 2 onward, while the file itself looked perfectly valid to anything that inspected it. Frames are now written in full. GIFs are somewhat larger as a result: the other repair β keep the difference coding and declare the transparent colour properly β was rejected because that colour has to be a real entry in the frame's palette, so any part of your sprite matching it would turn see-through, a poor trade for the dark-subject-on-dark-background shots Snap exports constantly. GIF export remains experimental and aimed at previews and sharing rather than final delivery. Covered by new regression tests that decode the written GIF and check the background survives every frame.
- The headless capture API now reports what it actually produced. Every job returned Success with an image count taken from its own plan β prefabs Γ angles, or the frame total β so a run whose captures were skipped, failed to encode, or failed to write still reported a full count and a clean exit code. That is the one thing a headless API exists to provide, and it could not be believed. Images is now counted where files are written, and a job fails, with the reason, when it wrote nothing, wrote fewer files than it planned, or hit a write error β so the documented non-zero exit finally happens. A prefabs path that doesn't resolve fails the job before any capture runs, naming the path, rather than being dropped with a warning while the rest export as a success. Particle and VFX jobs are held to the weaker guarantee a bake allows β warm-up and trimming decide the frame count as it runs, so they report the files they wrote and fail on none or on a write error β which also corrects their count, previously over-stated by two per facing on a directional bake. A write that fails now also stops taking the rest of the job file down with it. Nothing about capturing changed; only what the API tells you afterwards.
- A misspelled directional preset in a job file now fails the job instead of quietly capturing one image. The preset names are exact β "TopDown_8", not "TopDown8" β and a name Snap didn't recognise used to fall through to a single front-angle capture that reported success: eight facings asked for, one image delivered, no Angle_### folders, and nothing said. The job now fails naming what you typed and listing the valid presets, and the same applies to an unrecognised sideScrollFacing. Omitting the directional block entirely still means a front-angle capture, unchanged β that is the only quiet path left, and it is the one you asked for.
- Snap no longer rewrites its generated shaders on every script recompile. The GeneratedShaders folder β where Snap materialises the shader for your active render pipeline β was deleted and rebuilt from scratch on every domain reload: every recompile, every time the editor started. Deleting a file takes its .meta with it, so each pass issued brand new asset IDs for files whose contents had not changed, with three consequences: version control showed the whole folder as modified every time anyone touched a script, any material you had pointed at a generated shader lost its reference, and the rebuild cost was paid on every reload for nothing. Snap now checks whether the generated shaders already match their templates and does nothing when they do; when they don't, it overwrites in place, which keeps the existing asset IDs. Shaders left over from a different pipeline are removed, so switching pipeline still cleans up after itself. "Reinstall Shaders" in the Shader Tools window is unchanged β it always regenerates, which is the point of pressing it.
- Game-Ready Output now tells you why a build failed, in the window. Every failure said "see the Console" and left the reason in a diagnostic message β but Snap's diagnostic categories are off by default, so the Console it sent you to was empty, and the release that made errors always visible didn't cover these: a folder with no frames, or frames your alpha threshold reads as fully transparent, is a setup problem rather than a fault, so they are warnings. The reason now travels back with the result and is printed where you already are, and several are more specific than they were β a fully-transparent build names the threshold that rejected everything and suggests lowering it, and a missing layout says which folder shape that build type expects. This covers all five failures in the window plus the Trim Clip Folder menu item. The log messages are unchanged for anyone who runs with diagnostics enabled.
- Snap no longer changes your project's render pipeline without asking. Opening Snap in a project with no Render Pipeline Asset assigned β a Built-in project β would assign one automatically if any URP or HDRP asset existed anywhere in Assets, which an imported asset pack or template leftovers are enough to provide. That rewrote a Project Setting, could trigger a full reimport, and turned pink anything that didn't survive the switch. The only notice was a window shown afterwards whose one button said "Understood". Snap now asks first, naming the pipeline it found and warning about the reimport, with "Keep Built-in" as the other answer β and it remembers a refusal for the rest of the session. The original intent, recovering a pipeline asset that another importer stripped, still works; it just needs your say-so. In batchmode Snap never prompts and never reassigns: it reports the situation and continues on Built-in, because a headless run must not block or silently rewrite settings.
- Built-in projects with a URP or HDRP package installed no longer break. Snap decided whether to compile its Built-in rendering support from which pipeline PACKAGES were installed rather than which pipeline was actually in use, so a URP package arriving in a Built-in project β an imported asset pack can do this on its own β compiled that support out while Built-in was still what the project rendered with. On a plain Built-in project the result was a NullReferenceException on the first prefab you selected, with the window stuck on "loading". On a Built-in project with Post-Processing Stack v2 β the usual Built-in setup β it was worse: three files referenced the compiled-out code behind a post-processing check that didn't also test for it, so the tool stopped compiling altogether, in the same way the 1.3.3 PPSv2 fix above describes. That state could not repair itself, because Unity runs no editor scripts in a project that doesn't compile, so Snap never got the chance to correct its own settings. Both are fixed: Built-in support is part of Unity itself and is now always compiled in, and those three files now test for it before using it, so no combination of installed packages can take the tool down. Which pipeline is active is decided while Snap runs, which is the only time it can be known β the same correction was applied to the Post-Processing Stack v2 check, which asked the same wrong question. A project already stuck in the non-compiling state recovers on its own once updated.
- Snap no longer leaves your scene's lighting settings changed on Built-in. Opening Snap set the ACTIVE scene's ambient mode to flat grey and switched fog off β settings that belong to your scene, not to Snap's preview β and nothing ever put them back, so closing Snap left your scene lit its way and saving made that permanent. The previous values are now captured before the first change and restored when the preview environment is torn down.
- The Built-in live preview no longer strobes, and it applies your Output Style. The Built-in preview drew straight to the window instead of going through the step every other pipeline uses, which cost it two things: the Output Style grade, so the preview showed an ungraded image while exports applied the grade β WYSIWYG broken on a pipeline the docs promise it on β and the cached frame that throttled repaints redraw. With "Optimize Live Preview" on, which is the default, the background repainted while the subject only painted on rendered frames, so dragging to rotate made the subject blink. One shared code path now serves all three pipelines.
- The Static Sprite Animation tab can now write the directional folder layout its own Make Game-Ready button expects. Multi-Angle Export wrote a flat Frame_### sequence, while the documentation, the 8/16/24/36 frame-count presets and that button all pointed at the Angle_### layout Game-Ready reads β so handing it a static multi-angle export produced one spinning clip rather than the direction-switching rig described. A new "Directional Layout (Angle_### folders)" tick in Capture Settings writes each frame into a folder named for the yaw it was shot at. It is off by default, so existing exports keep the shape anything downstream of them expects, and it applies to Rotate Asset Around Centre only β an orbit turntable captures viewpoints of one pose rather than facings, and filing those per-facing would be a lie about what they are. If a yaw range is narrow enough that several frames round to the same whole degree, they share a folder and Snap says so in the Console rather than looking correct. Sprite sheets are unaffected either way. The guide now documents both layouts.
- Straight-mode particle alpha now works on HDRP. Reconstructing a clean particle frame means rendering the same simulated moment over solid black, then over solid white, and recovering each pixel's transparency from the difference between them β but Snap asked for those two backgrounds by setting the camera's background colour, which HDRP does not clear from. HDRP takes its clear colour from a separate camera component that Snap set once when the preview camera was built, so on HDRP both passes cleared to the same colour, the two frames came out identical, and the difference the maths works from was zero. The result was garbage transparency on exactly the effects the mode exists for. Snap now sets the clear colour where HDRP reads it, restoring the camera's own settings afterwards. URP and Built-in are unaffected β they always read the colour Snap was setting. Additive mode, which renders over black only, was never affected.
Notes¶
- Following the GUID fix above, the RuntimeKit HealthSystem and the bundled uGIF CaptureToGIF components have new GUIDs. If you added either to your own GameObjects, they will show as a missing script after updating and need re-adding. Prefabs shipped with Snap are already repointed, and nothing else is affected.
- If a project is already broken by the collision, updating alone will not repair it: the overwritten file is on disk and Unity will not correct it. Delete Assets/RevGaming/SnapStudioPro, the other product's folder, and Library/, then re-import.
Version 1.3.2 β Game-Ready Targeting & FX Preview Fixes¶
Released: Jul 27, 2026
Bug-fix release.
Fixed¶
- The "Make Game-Ready" button on the Particle FX and VFX Graph export panels now selects the folder the export actually wrote into (Single/
under the export root) when opening the Game-Ready Exporter, instead of the export root itself. Pointing Game-Ready at the root could mis-read a folder of several exported effects as one multi-animation Character. - The Particle FX and VFX Graph previews now pause automatically while an export is running. A playing preview used to keep advancing the same effect the export was capturing, adding extra simulation time between captured frames and corrupting the exported clip's motion. The preview restores its scrub position once the capture finishes.
Version 1.3.1 β Particle FX Loop Fix¶
Released: Jul 20, 2026
Bug-fix release.
Fixed¶
- Particle FX / VFX ping-pong ("boomerang") loop export could corrupt its own output when re-exporting into a folder that already held a previous bake β the bounce was applied on top of leftover frames, producing a sequence with the motion doubled back on itself. Ping-pong now bounces only the frames from the current export, so re-exporting at the same settings is repeatable.
- Note: this does not clean an export folder for you. If a folder still holds frames from an older broken bake, clear it (or export to a fresh folder) before re-running.
Version 1.3.0 β Game-Ready Export & Advanced FX Update¶
Released: Jul 14, 2026
Snap Studio Pro v1.3.0 is a major feature release. It adds engine-native "Game-Ready" export, promotes Particle FX to a production feature, introduces deterministic VFX Graph export, and delivers an editor-wide consistency and polish pass - all on top of the 1.2.0 architecture foundation.
Game-Ready Export¶
- New Game-Ready export path that produces engine-native assets:
- sprite sheets and individual frames
- generated AnimationClips and an AnimatorController
- a ready-to-use prefab wired to the animator
- Single-angle and full directional (multi-angle) output
- Sprite trim options for tighter, cleaner sprite bounds
Particle FX (now a production feature)¶
- Graduated out of Labs into a full production tab
- Frame-by-frame particle baking to 2D sprites and sprite sheets
- Multi-system capture with an FX hierarchy view and per-layer include/exclude toggles
- Blend-mode-aware alpha capture (straight / additive) with subject isolation
- Per-effect guidance for good vs poor sprite-baking candidates
- Seamless Loop (Crossfade) export - cross-dissolves the tail of the capture back into the head for a seam-free loop on continuous effects, with an adjustable Crossfade Overlap
- Adjustable preview window and Skip Warm-up Ramp toggle for hunting two frames that match closely enough to cut a seamless 2D loop
- Auto-Detect Loop Point - Snap scores every candidate cut, trims to the closest-matching frame pair, and hides the small residual with a short crossfade, reporting how clean the resulting loop is; the manual crossfade stays as the fallback
- Find Best Loop button - runs a quick low-res scan and sets the Trim range to the best loop it finds (with a seam-quality readout), so you can review before exporting
- Ping-Pong Loop export - bounces the clip forward-then-back for a guaranteed seam-free loop on effects that can't be cut (best for non-directional effects like shimmer / pulse / glow); optional, off by default
VFX Graph Export (new)¶
- Deterministic export built on VisualEffect.Simulate stepping - frame-accurate
- Single-angle and multi-angle export to sprites and sprite sheets
- Alpha modes tuned for VFX: Blended (smoke / soft FX) and Additive (glow / energy FX)
- Live VFX inspector for tweaking exposed properties before baking
- Looping tools: manual Seamless Loop (Crossfade), Auto-Detect Loop Point that scores every cut and cleans the seam automatically, a Find Best Loop button that scans and sets the Trim range for review before exporting, and a Ping-Pong Loop bounce for a guaranteed seam-free loop on effects that can't be cut
Expert FX & Optional Dependencies¶
- Particle FX and VFX Graph are now always-visible "Expert" tabs (un-gated from Labs), each with a first-run, dismissible intro that sets honest expectations
- VFX Graph export is an optional dependency: Snap Studio Pro compiles and runs without the Visual Effect Graph package installed, with an install nudge on the VFX tab
- Dropped the com.unity.editorcoroutines dependency - FX export needs no extra packages
Headless Capture API (new)¶
- Public headless capture API for driving Snap exports from editor scripts - no window interaction needed
- JSON job runner: define capture jobs in a file and run them from a menu command
- Covers single-sprite and full directional / all-angle capture, matching the interactive output
- Contract-tested against the interactive path for parity
Editor Polish & Consistency¶
- Unified, dismissible-but-recallable intros across every workflow tab
- Declarative toggle labels and consistent themed controls throughout
- Prefab browser: grid/list parity, clearer empty states (empty folder vs filtered-to-zero), and selectable FX placeholder tiles
- Real header icons (settings / info) and a Direct3D11 advisory for heavy FX capture
- New tabbed Preferences window with inline guidance, settings-profile export/import, and rebindable prefab-browser navigation shortcuts
- Granular "Reset to Defaults": reset everything in one click, or choose individual areas (layout, camera, lighting, background, post-processing, theme, export, preferences) - via a single, complete reset path shared by the Preferences tab and the Tools menu
- Workflow tabs now read left-to-right as a difficulty/workflow gradient - Static Sprite Animation precedes Character Animation
- Transform Motion effects now preview live in the viewport (rotate / bob / pulse / wobble) before export, without overwriting your saved transform
Fixes & Stability¶
- Fixed FX preview flicker during URP/HDRP capture by defaulting to a synchronous capture path, with an "FX-Safe Preview Capture" toggle as the escape hatch
- Transparent-ground shadows are no longer size-limited - the shadow plane holds cleanly across the full size range (removed an obsolete 8x8 caveat the URP shadow-shader fix had already made moot)
- Fixed the Particle FX and VFX Graph directional capture panels not updating the live preview when adjusting pitch, orientation preset, side-scroll orientation, or camera distance - the scene now refreshes on change instead of only on a snap-angle or pivot edit, matching the character animation tab
- Fixed a NullReferenceException when clearing the thumbnail cache
- Fixed leaked embedded inspector editors in the Global Volume panels
- Prefab browser: folder ordering, refresh, asset-type filtering, search perf, list virtualization
- Unified background/quad-material ownership, fixing a texture-bleed issue
- Removed dead code paths and superseded export services
- Cleared two nullable-reference (CS8602) compiler warnings that surfaced on a clean package import
- RuntimeKit: GameManager now clears its static instance on destroy, so it stays correct under Unity 6.6+ Fast Enter Play Mode (domain reload disabled)
Notes¶
- Snap Studio Pro remains Editor-only with no runtime dependencies.
- Particle FX and VFX Graph are power-user ("Expert") features: they bake 3D effects down to flat sprites, so results depend on the effect and settings.
- For heavy FX capture on older GPUs, the Direct3D11 graphics API is recommended.
Version 1.2.1 β Unity 6.5 Compatibility¶
Released: Jun 29, 2026
Restores clean compilation on Unity 6.5 (6000.5).
- Unity 6000.5 promoted
Object.GetInstanceID()from a deprecation warning to a hard compile error (CS0619). The single affected call was in the Prefab Attachment panel (the child-object enable/disable hierarchy), where it keyed each row's expand/collapse foldout state. Replaced with a version-portable equivalent (RuntimeHelpers.GetHashCode) β same stable per-object key, identical behaviour. - Verified compiling cleanly on Unity 6.5, and remains fully compatible with earlier supported versions (Unity 6.0 LTS and up) β the replacement uses only long-standing .NET APIs.
- No functional, feature, or workflow changes. Existing projects are unaffected.
- Confirms Snap Studio Pro remains Editor-only with zero runtime dependencies.
Version 1.2.0 β Architecture, Workflow & Static Sprite Update¶
Released: June 2026
One of the largest updates Snap Studio Pro has received since launch. While much of the work focused on architecture, maintainability, and long-term stability, this release also introduces major improvements to Static Sprite Animation workflows, Environment exports, documentation, and editor organization.
Static Sprite Animation (graduated from Labs)¶
- Static Sprite Animation is now a fully supported Snap Studio Pro feature
- Promoted from experimental Labs workflows into the main editor experience
- Dedicated workflow registration and feature ownership
- Updated documentation and navigation throughout Snap
New Multi-Angle Export Workflow¶
- Unified multi-angle export system
- Supports asset-rotation capture and orbit-camera (turntable) capture
- Frame presets: 8 / 16 / 24 / 36 / 360
- Exports respect the current preview camera orientation and current prefab rotation
- Simplified workflow: Camera Orientation β Transform Motion β Multi-Angle Export
Transform Motion Effects¶
Optional procedural motion effects for Static Sprite Animation exports, applied relative to the current preview setup without overwriting user transforms:
- Rotation
- Scale Pulse
- Y-Bob
- Wobble
Static Sprite Camera Controls¶
Dedicated controls for:
- Pitch
- Prefab Yaw
- Orthographic / Perspective switching
- Studio Lighting integration
Environment Workflow Improvements¶
Environment exports have been fully separated from Static Sprite Animation systems, and now focus exclusively on buildings, trees, props, vehicles, modular assets, and static scene elements.
- Improved orthographic framing
- Improved camera fitting
- Better clipping behaviour
- More predictable multi-angle exports
- Current preview rotation can now be used as the export base angle
RuntimeKit Improvements¶
- Reorganized into Runtime / Editor / Samples
- New assembly definitions and cleaner architecture
- Improved discoverability
- Better separation between runtime systems and demo content
Documentation Overhaul¶
- New dedicated MkDocs documentation site (README-driven generation, GitHub Pages)
- Extensive ownership documentation across Features, Preview, Rendering, Panels, UI, Window systems, Diagnostics, Infrastructure, and RuntimeKit
- Documentation now mirrors the architecture standards used throughout RevFramework
Major Architecture Refactor¶
Large portions of Snap Studio Pro were reorganized to improve maintainability and future development. No workflow changes are required for existing projects.
- Feature-based ownership structure
- Namespace standardization
- Assembly definition stabilization and cleaner dependency boundaries
- Capture, preview, and rendering ownership cleanup
- Preference system decomposition
- Removal of obsolete code paths and reduced technical debt
Performance & Stability¶
- Improved long-running export responsiveness and progress reporting
- Improved batch runner lifecycle stability
- Reduced likelihood of Unity "Hold On" stalls during large exports
- Validated with 12,000+ frame exports, multi-angle exports, transparent backgrounds, sprite sheet generation, and large animation batches
- Improved capture lifecycle safety, RenderTexture cleanup, and async render handling
- Improved texture ownership, cleanup, and session restore reliability
Cleanup¶
- Removed obsolete legacy systems and superseded workflows
- Removed unused helper classes
- Removed dead code discovered during architecture review
Notes¶
This update lays the foundation for future Snap Studio Pro releases by significantly reducing architectural debt while promoting Static Sprite Animation into a fully supported production workflow. Most users experience the same workflows they already know β just with a cleaner, more stable, and more maintainable foundation underneath.
No runtime dependencies added. Snap Studio Pro remains Editor-only.
Version 1.1.3 β Security Advisory Rebuild¶
Released: Oct 6, 2025
Snap Studio Pro v1.1.3 β Security Advisory Rebuild¶
- Rebuilt with Unity 6000.0.58f2 (patched LTS) in response to Unityβs September 2025 security advisory (
UNITY-SEC-SEPT-2025-1) - No functional or feature changes
- Confirmed Snap Studio Pro remains Editor-only with zero runtime dependencies
RuntimeKit¶
- Added universal
InputAdapter -
Runtime demo controller now works with:
-
Legacy Input
- Input System (via reflection)
- No package dependency required
-
Supports:
-
WASD / Arrow movement
- diagonal normalization
- Space / Tab / Enter / Escape
- Shift / Ctrl / Alt
- digits 0β9
- AβZ actions
Version 1.1.2 β Shader API Update & Stability Fixes¶
Released: Sept 2025
Changes¶
- Replaced obsolete
ShaderUtilAPI calls with modernShader.GetProperty*methods (Unity 6+ compatibility) - Fixed background/vector material inspector to correctly display vector properties
- Cleaned up
CS0618warnings across Material, Ground, and Background panels - Minor editor polish and consistency improvements
Version 1.1.1 β Stability & Preview Optimization¶
Released: Aug 2025
Changes¶
- Fixed rotation drift and camera snapping issues at 360Β°
- Eliminated repaint spam and preview drift in editor
- Major repaint optimizations across all panels
- Improved editor responsiveness and reduced CPU usage
- Fixed thumbnail overflow bug in final grid row
- Added βOptimize Live Previewβ toggle (~30 FPS cap during live rotation)
- Added live FPS overlay for preview window
- Fixed editor scripts incorrectly entering builds
Version 1.1.0 β RuntimeKit Update¶
Released: Aug 2025
RuntimeKit¶
Added RuntimeKit β a bonus 2D top-down runtime demo environment for previewing Snap animation exports in action.
Includes¶
- Character animation controller
- Prefab swapping
- Health system
- Camera follow system
- Modular runtime demo architecture
Editor Tools¶
- Animation Definition Importer
- Auto-Linker
- Batch Renamer
Additional Changes¶
- Added RuntimeKit welcome window and quick-start workflow
- Updated
ThirdPartyNotices.txt -
Updated language disclaimers and documentation links:
-
English
- Chinese
- Japanese
- Korean
Notes¶
RuntimeKit is completely optional and isolated under: RuntimeKit/
It does not affect the core Snap Studio Pro editor architecture and can be removed safely if not needed.
Version 1.0.0 β Initial Release¶
Released: Jul 8, 2025
Initial Release Features¶
- Full prefab-to-2D export pipeline
- Icon export workflows
- Sprite export workflows
- Animation sheet export workflows
- Multi-angle export support
- Batch export processing
- Directional capture support
- Lighting customization
- Camera customization
- Background customization
- Post-processing customization
- Fully themeable editor UX
- Preset support
- Built-in, URP, and HDRP compatibility
Notes¶
Snap Studio Pro launched as an Editor-only Unity tool with:
- zero runtime dependencies
- full render-pipeline support
- modular editor architecture
- asynchronous export workflows