Every plugin directory must contain aDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/CollapseLauncher/Collapse/llms.txt
Use this file to discover all available pages before exploring further.
manifest.json file at its root. Collapse reads this file before loading the DLL to obtain the plugin’s display metadata and the list of files that make up the plugin. The same schema is used for both local installation manifests and remote update manifests served from CDN.
Schema
MainLibraryName
MainLibraryName
File name of the native plugin DLL, including the
.dll extension.Used to locate the entry-point binary inside the plugin directory. If the file does not exist at <pluginDir>/<MainLibraryName>, the plugin is skipped with a warning.Example: "MyGame.Plugin.dll"MainPluginName
MainPluginName
Human-readable plugin name displayed in the Plugin Manager and in error messages.Collapse falls back to this value if
IPlugin.GetPluginName returns null after loading.Example: "My Game"MainPluginDescription
MainPluginDescription
Short description of the plugin, shown in the Plugin Manager.Collapse falls back to this value if
IPlugin.GetPluginDescription returns null.Example: "Community plugin adding support for My Game Global server"MainPluginAuthor
MainPluginAuthor
PluginVersion
PluginVersion
The plugin’s own release version in four-part format:
Major.Minor.Build.Revision.This value is parsed into a GameVersion struct and compared against the version returned by the GetPluginVersion export. During managed update checks, Collapse fetches the remote manifest and compares PluginVersion to decide whether an update is available.Format: "1.0.0.0"PluginStandardVersion
PluginStandardVersion
The plugin SDK standard version this plugin was compiled against, in four-part format.This value is parsed and stored alongside the value returned by
GetPluginStandardVersion. Used for future compatibility checks between the plugin SDK and the launcher.Format: "1.0.0.0"PluginCreationDate
PluginCreationDate
Creation or release date of this plugin version.Stored as a
DateTimeOffset and surfaced in the Plugin Manager. Collapse also uses this value as the LastUpdated timestamp in the launcher’s metadata stamp dictionary.Format: "2026-01-15T00:00:00Z"Assets
Assets
List of files that make up the plugin. During installation and managed updates, Collapse copies and verifies each file in this list.Minimum: Must contain at least the DLL entry point. Collapse automatically adds
manifest.json to the asset list if it is absent, with an empty hash.Each element is a PluginManifestAssetInfo object:Relative path of the asset file within the plugin directory (and within the ZIP archive during packaging). Use forward slashes for subdirectory separators.Example:
"MyGame.Plugin.dll", "data/resources.bin"MD5 hash of the file contents, represented as a JSON array of bytes (integers 0–255).During managed updates, Collapse downloads each asset and verifies its MD5 hash against this value. The check accepts both little-endian and big-endian byte order (Collapse tries both). An empty array (
[]) disables hash verification for that asset (used for manifest.json itself).File size in bytes. Used for download progress calculation during managed updates. Optional — omitting it results in indeterminate progress for that asset.
PluginAlternativeIcon
PluginAlternativeIcon
URL or base64-encoded image used as the plugin’s icon in the Plugin Manager.Optional. If absent, Collapse uses a default plugin icon.
ManifestDate
ManifestDate
Date the manifest was generated. Used internally in update result processing (
SelfUpdateReturnInfo.CompiledDate).Optional. If absent, defaults to DateTimeOffset.MinValue.Asset hash format
FileHash is an MD5 digest expressed as a JSON array of bytes, not a hex string. To generate the correct value:
Set
FileHash to [] (empty array) for manifest.json itself. Collapse always skips hash verification for the manifest file.Directory naming convention
When Collapse installs a plugin, it creates the plugin directory using this formula:MainLibraryName = "MyGame.Plugin.dll", the directory will be:
Hi3Helper.Plugin.* at startup.
Complete example
manifest.json
CDN update manifest
When serving an update manifest from a CDN (viaGetPluginUpdateCdnList), the file must be named manifest.json and served from the CDN base URL. Collapse fetches <cdnBaseUrl>/manifest.json and compares PluginVersion to the installed version.
The update manifest’s Assets list drives the file download — Collapse downloads each asset from <cdnBaseUrl>/<asset.FilePath>, verifies its hash, and stages the files in the _markPendingUpdate/ staging directory.