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 ThirdPartyPackageVersion

Remarks

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

Property
Type
Access
Description

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

Operator
Description

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).

Parameter
Type
Description

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.

Parameter
Type
Description

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

circle-exclamation
circle-info

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

Last updated