ThirdPartyPackageVersion
Internal class representing a specific version of a third-party package. Contains the semantic version, .unitypackage file path, description, and upload ID. Created exclusively through static factory methods for two source types: local manifests and Asset Store packages.
Definition
Namespace: Paragon.Editor.ThirdPartyPackageImporter Assembly: Paragon.Editor.dll
internal class ThirdPartyPackageVersionRemarks
The constructor is private — instances are created via FromLocalManifest() or FromStorePackage(). The AssetPath points to the .unitypackage file on disk; Available checks that this path exists, which determines whether the version can be extracted and imported.
Version String
The VersionString property returns the explicit versionString field if set, otherwise falls back to the SemVersion's implicit string conversion (Major.Minor.Patch).
Properties
Available
bool
public
true if AssetPath is non-empty and the file exists on disk
Version
SemVersion
public
Parsed semantic version (supports comparison operators)
VersionString
string
public
Display string — explicit string if set, otherwise SemVersion.ToString()
AssetPath
string
public
Absolute path to the .unitypackage file
Description
string
public
Version description or package description fallback
UploadID
int
public
Asset Store upload identifier (0 for local manifests)
Operators
implicit operator string
Converts to string via ToString() (returns SemVersion string)
Static Factory Methods
FromLocalManifest
Creates a version from a local ThirdPartyPackageManifest (a package.json in the Third-Party/ directory).
packageManifest
ThirdPartyPackageManifest
Local manifest with version string, description, and folder path
Asset path resolution: Searches the manifest folder for a file matching *[{versionString}].unitypackage. If no matching file is found, AssetPath is null and Available returns false.
UploadID: Set to 0 for local manifests.
FromStorePackage
Creates a version from an Asset Store package and version entry.
package
Package
Store package (provides fallback description)
packageVersion
PackageVersion
Specific version entry (provides version string, local path, upload ID)
Description fallback: Uses packageVersion.description if non-empty, otherwise falls back to package.product.description.
Common Pitfalls
Check Available before calling Extract(). A version may exist as metadata (from the store) without the .unitypackage file being downloaded locally. Always check Available before passing a version to ThirdPartyPackage.Extract().
SemVersion supports implicit string conversion. Both ToString() and the implicit string operator return the semantic version string. SemVersion also supports comparison operators, so versions can be compared directly: version1.Version > version2.Version.
See Also
ThirdPartyPackageInfo — holds installed and store versions
ThirdPartyPackage — created from a version via
Extract()Package Overview — package subsystem overview
Last updated