Struct ScyllaDependencyInfoData
A lightweight data container describing a single external dependency of a Scylla component. Carries all metadata needed by the editor tooling to display installation status, version requirements, and quick-install links -- without requiring any Editor-only type references, making it safe to use in runtime assemblies.
Inherited Members
Namespace: Scylla.Core
Assembly: ScyllaCore.dll
Syntax
public struct ScyllaDependencyInfoData
Remarks
Instances are typically created using one of the static factory methods: UPM(string, string, bool, string, string, string, string), AssetStore(string, string, string, string, bool, string, string, string), ThirdParty(string, string, string, string, bool, string, string, string), or ScyllaModule(string, string, bool, string, string). Each factory pre-populates the SourceType field with the appropriate numeric code.
Source type codes:
0= Unity Package Manager (UPM)1= Unity Asset Store2= Third-party library3= Scylla module (internal dependency)
Fields
Description
A brief description of what this dependency provides or why the component needs it
(e.g., "Required for gamepad and keyboard input handling"). Displayed as
supplemental information in the editor UI. Defaults to Empty when
created via factory methods with a null description.
Declaration
public string Description
Field Value
| Type | Description |
|---|---|
| string |
DetectionTypeName
Fully qualified C# type name (including namespace) used as a fallback mechanism to
detect whether the package is installed at compile time. The editor tooling checks
if this type exists in any loaded assembly. For UPM packages this is optional
(UPM registry queries are preferred); for Asset Store and third-party packages
this is typically the primary detection mechanism. May be null.
Declaration
public string DetectionTypeName
Field Value
| Type | Description |
|---|---|
| string |
DisplayName
Human-readable display name shown in the Getting Started window and dependency
reports (e.g., "Input System", "TextMeshPro").
Declaration
public string DisplayName
Field Value
| Type | Description |
|---|---|
| string |
DocumentationURL
URL pointing to the package's documentation. Displayed as a clickable link in the
Getting Started window so developers can quickly access setup instructions. May be
null if no documentation URL is available.
Declaration
public string DocumentationURL
Field Value
| Type | Description |
|---|---|
| string |
InstallURL
URL for installing or downloading the package. For UPM packages this is typically
null (the editor installs via the package name). For Asset Store packages,
this is the Asset Store product page URL. For third-party packages, this is the
download or repository URL.
Declaration
public string InstallURL
Field Value
| Type | Description |
|---|---|
| string |
IsRequired
Indicates whether this dependency is required for the component to function correctly. Required dependencies that are missing will produce errors in the Getting Started window; optional dependencies produce informational notices.
Declaration
public bool IsRequired
Field Value
| Type | Description |
|---|---|
| bool |
MinVersion
The minimum acceptable version string (e.g., "1.18.0"). When null or empty,
any installed version is considered acceptable. Version comparison logic is handled by
the editor tooling.
Declaration
public string MinVersion
Field Value
| Type | Description |
|---|---|
| string |
PackageID
Unique identifier for the package. For UPM packages this is the package name
(e.g., "com.unity.inputsystem"). For Asset Store or third-party packages,
use a stable identifier that uniquely identifies the asset. For Scylla modules,
use the module ID (e.g., "ScyllaUI").
Declaration
public string PackageID
Field Value
| Type | Description |
|---|---|
| string |
SourceType
Numeric code indicating the dependency source:
0 = UPM, 1 = Asset Store, 2 = Third Party, 3 = Scylla Module.
Determines how the editor tooling attempts to detect and install the package.
Declaration
public int SourceType
Field Value
| Type | Description |
|---|---|
| int |
Methods
AssetStore(string, string, string, string, bool, string, string, string)
Creates a dependency entry for a Unity Asset Store package. Sets SourceType
to 1. Detection relies on the detectionTypeName parameter since
Asset Store packages cannot be queried programmatically via UPM.
Declaration
public static ScyllaDependencyInfoData AssetStore(string packageID, string displayName, string assetStoreURL, string detectionTypeName, bool isRequired = true, string minVersion = null, string description = null, string documentationURL = null)
Parameters
| Type | Name | Description |
|---|---|---|
| string | packageID | A stable identifier for the asset (e.g., the publisher's package name or a custom slug). |
| string | displayName | Human-readable name shown in editor UI. |
| string | assetStoreURL | URL to the Asset Store product page, stored in InstallURL. Displayed as a clickable install link in the Getting Started window. |
| string | detectionTypeName | Fully qualified C# type name used to detect whether the asset is imported into the project. This is the primary detection mechanism for Asset Store packages. |
| bool | isRequired |
|
| string | minVersion | Minimum acceptable version, or |
| string | description | Brief explanation of why this dependency is needed. |
| string | documentationURL | URL to the package's documentation, or |
Returns
| Type | Description |
|---|---|
| ScyllaDependencyInfoData | A new ScyllaDependencyInfoData configured for an Asset Store dependency. |
ScyllaModule(string, string, bool, string, string)
Creates a dependency entry for another Scylla module (internal framework dependency).
Sets SourceType to 3. Both InstallURL and
DetectionTypeName are set to null because Scylla modules are
detected through the module system itself rather than type scanning.
Declaration
public static ScyllaDependencyInfoData ScyllaModule(string moduleID, string displayName, bool isRequired = true, string minVersion = null, string description = null)
Parameters
| Type | Name | Description |
|---|---|---|
| string | moduleID | The Scylla module identifier, matching a value from |
| string | displayName | Human-readable name shown in editor UI (e.g., |
| bool | isRequired |
|
| string | minVersion | Minimum acceptable version, or |
| string | description | Brief explanation of why this module dependency is needed. |
Returns
| Type | Description |
|---|---|
| ScyllaDependencyInfoData | A new ScyllaDependencyInfoData configured for a Scylla module dependency. |
ThirdParty(string, string, string, string, bool, string, string, string)
Creates a dependency entry for a third-party library that is not distributed through
UPM or the Asset Store (e.g., a GitHub repository, NuGet package, or standalone DLL).
Sets SourceType to 2. Detection relies on the
detectionTypeName parameter.
Declaration
public static ScyllaDependencyInfoData ThirdParty(string packageID, string displayName, string downloadURL, string detectionTypeName, bool isRequired = true, string minVersion = null, string description = null, string documentationURL = null)
Parameters
| Type | Name | Description |
|---|---|---|
| string | packageID | A stable identifier for the library (e.g., a NuGet package name or repository slug). |
| string | displayName | Human-readable name shown in editor UI. |
| string | downloadURL | URL where the library can be downloaded, stored in InstallURL. Displayed as a clickable link in the Getting Started window. |
| string | detectionTypeName | Fully qualified C# type name used to detect whether the library is present in the project. This is the primary detection mechanism for third-party dependencies. |
| bool | isRequired |
|
| string | minVersion | Minimum acceptable version, or |
| string | description | Brief explanation of why this dependency is needed. |
| string | documentationURL | URL to the library's documentation, or |
Returns
| Type | Description |
|---|---|
| ScyllaDependencyInfoData | A new ScyllaDependencyInfoData configured for a third-party dependency. |
UPM(string, string, bool, string, string, string, string)
Creates a dependency entry for a Unity Package Manager (UPM) package. Sets
SourceType to 0 and InstallURL to null
(UPM packages are installed by package name through the Package Manager).
Declaration
public static ScyllaDependencyInfoData UPM(string packageID, string displayName, bool isRequired = true, string minVersion = null, string description = null, string documentationURL = null, string detectionTypeName = null)
Parameters
| Type | Name | Description |
|---|---|---|
| string | packageID | The UPM package identifier (e.g., |
| string | displayName | Human-readable name shown in editor UI (e.g., |
| bool | isRequired |
|
| string | minVersion | Minimum acceptable version string (e.g., |
| string | description | Brief explanation of why this dependency is needed. |
| string | documentationURL | URL to the package's documentation page, or |
| string | detectionTypeName | Optional fully qualified type name used as a fallback detection mechanism if the UPM registry
query is unavailable. |
Returns
| Type | Description |
|---|---|
| ScyllaDependencyInfoData | A new ScyllaDependencyInfoData configured for a UPM package dependency. |