Skip to content

ThirdParty

Overview

The ThirdParty folder contains external libraries, plugins, and third-party dependencies used by Snap Studio Pro.

These assets are developed and maintained by external authors and are included to provide functionality that would be impractical or unnecessary to reimplement internally.


Purpose

Third-party assets are isolated from Snap Studio Pro's core architecture to:

  • Clearly distinguish external code from Snap-owned code.
  • Simplify upgrades and dependency management.
  • Reduce the risk of accidental modification.
  • Make license attribution and auditing easier.
  • Improve project navigation and maintainability.

Current Contents

uGIF

Used to support GIF generation and export workflows within Snap Studio Pro.

This library is maintained separately from Snap Studio Pro and should be treated as an external dependency.

Applied modifications

Per the modification policy below, the following deviations from upstream are recorded here.

  • Meta GUIDs regenerated. The seven assets inside uGIF-master/Assets/ (the uGIF and Scripts folders and the five scripts) shipped with the GUIDs from the public uGIF repository. Those GUIDs are identical in every copy of that repository, so any project holding uGIF already — whether the user cloned it themselves or another asset vendored it the same way — collides with ours on import. Unity matches .unitypackage entries by GUID before path and overwrites the existing asset in place, which would replace the user's copy with ours and leave our own ThirdParty/uGIF-master folder with an asmdef and no source, breaking every editor assembly that references it. The GUIDs are now Snap-specific. No uGIF source was changed.

Guidelines

Appropriate Content

Assets placed here should generally be:

  • External libraries
  • Open-source dependencies
  • Third-party plugins
  • Vendor-provided integrations
  • Runtime or editor dependencies maintained outside the Snap Studio Pro codebase

Avoid

Do not place Snap Studio Pro systems, utilities, editor tooling, or runtime features in this folder.

Code developed as part of Snap Studio Pro should remain within the normal Snap architecture.


Modification Policy

Where possible, third-party assets should remain unmodified.

If changes are required:

  • Document the reason clearly.
  • Prefer wrapper or adapter layers where practical.
  • Keep modifications isolated and easy to identify.
  • Consider future upgrade paths before altering vendor code.

Notes

The ThirdParty folder exists to make dependency ownership explicit.

If a file or system originates outside the Snap Studio Pro codebase, it should generally live here rather than being mixed into Snap's core folders.