ThirdPartyPackageCatalog

Dictionary-backed collection of third-party package metadata, keyed by Asset Store ProductID. Implements IEnumerable<ThirdPartyPackageInfo> for iteration over all registered packages.

Definition

Namespace: Paragon.Editor.ThirdPartyPackageImporter Assembly: Paragon.Editor.dll

internal class ThirdPartyPackageCatalog : IEnumerable<ThirdPartyPackageInfo>

Implements: IEnumerable<ThirdPartyPackageInfo>

Remarks

ThirdPartyPackageCatalog is a simple typed wrapper around Dictionary<int, ThirdPartyPackageInfo>. It is not created directly by consumers — instead, ThirdPartyPackageUtility deserializes it from Google Sheets CSV data via DeserializeCatalog(), and ThirdPartyPackageManager holds the active instance.

The dictionary key is the Asset Store ProductID (an integer), which uniquely identifies each third-party asset.

Quick Lookup

Goal
How

Get a package by ID

catalog.GetPackage(productID)

Add a package entry

catalog.AddPackage(name, productID, packageName, catalogID, importFolder, hash)

Iterate all packages

foreach (var info in catalog) { ... }

Debug print all entries

catalog.ToString()

Constructors

ThirdPartyPackageCatalog()

Creates an empty catalog with no packages.

Methods

AddPackage

Adds a new package entry to the catalog. Constructs a ThirdPartyPackageInfo from the provided parameters and stores it keyed by ProductID.

Parameter
Type
Description

productName

string

Human-readable product name from the Asset Store

productID

int

Unique Asset Store product identifier (dictionary key)

packageName

string

Package bundle name (e.g., com.vendor.asset-name)

catalogID

int

Google Sheets GID for this package's processor table sheet

importFolder

string

Target folder path for importing (relative to project)

hash

string

Content hash for cache invalidation

GetPackage

Retrieves a package by its ProductID. Throws KeyNotFoundException if the ID is not registered.

Parameter
Type
Description

packageID

int

The Asset Store ProductID to look up

GetEnumerator

Returns an enumerator over all ThirdPartyPackageInfo values in the catalog.

ToString

Returns a newline-separated string of all packages in "ProductName - ProductID" format.

Common Pitfalls

circle-exclamation
circle-exclamation

See Also

Last updated