A Unity package signature is a cryptographic identifier that helps verify where a package came from and that it was not changed after its developer created it. Unity's Package Manager shows one of four states: signed by a trusted channel, signed by an outside organization, signed but invalid, or unsigned. Each has a recommended action.
Which Unity versions check signatures
According to Unity's documentation, starting with Unity 6.3 the Package Manager checks for digital signatures on all tarball packages used in the Unity ecosystem. Starting with Unity 6.6, the check extends to asset packages exported and imported as local files, meaning .unitypackage files.
Unity checks in these scenarios: packages installed from registries, from tarballs, by technical name, from the Asset Store, and asset packages imported from local .unitypackage files. The Package Manager window displays the signature status and flags packages with problems.
If you are on an older editor, none of this appears, and you rely on your own review. Check which editor version each project uses before assuming the protection exists.
The four states
| State | What Unity says | Recommended action |
|---|---|---|
| Signed, official Unity channel or your own organization | Package is safe to use in your project | Use it |
| Signed, public channel or an organization you do not belong to | Understand where the package originates | Use only if you are certain of the source; try to get added to the signing organization if possible |
| Signed, but the signature is invalid | Might indicate tampering, or that the package is unsafe or malicious | Consider removing it |
| Not signed | Unsigned packages carry no origin check | Prefer signed packages; ask the owner to publish a signed version |
What a signature does and does not tell you
A valid signature from a channel you trust answers "who published this, and was it altered afterwards". It does not answer "is the code good". A signed package can still contain a vulnerability or poor practice, and a publisher can sign a package that behaves badly.
So treat the status as one input in your intake decision, next to the package's purpose, its maintenance state and what permissions or native code it carries. Our guide on what a verified publisher badge proves makes the same point for other ecosystems.
A note for companies with several Unity organizations
Unity's page says that when a company has several organizations in Unity Cloud, the Package Manager assigns indicators based on whichever organization signed each package. People outside the signing organization can still use the package, but they will not see the same safety signals. Unity's suggestion is to create a broader shared organization, add the relevant members, and re-sign the package under it. If your internal packages show as "outside organization" for half the team, this is why.
A short intake routine
- Open Window, Package Manager, and sort by the signature indicator.
- Write down every package that is unsigned or flagged invalid.
- For invalid signatures, stop and investigate before the next build.
- For unsigned ones, ask the owner for a signed release, or record an exception with a named owner and a review date.
- If you publish your own packages, sign them, as Unity recommends.
- Repeat after any engine upgrade, since the checks changed between versions.
Try it yourself
Click through it at your own pace, or open it full screen. Look at how a dependency inventory lists every package and where it came from, which is the list you review for signature status.
Safeguard's SBOM and dependency scanning builds that kind of inventory from your repository manifests, and you can try a free scan at gold.safeguard.sh/scan. The signature indicator itself lives in the Unity editor.
Quick check
Does a valid signature mean a package is free of vulnerabilities?
No. It speaks to origin and integrity, not to the quality or safety of the code inside.
Do I get signature checks on Unity 2022?
Unity's documentation ties the checks to Unity 6.3 and later, with local asset package checks from 6.6. Verify for your editor version before relying on them.
Sources
Last reviewed: 19 October 2026.