Manifest
Every mod requires a manifest.json file in its root directory. This file defines the mod's metadata, permissions, and configuration.
Example
json
{
"id": "my-awesome-mod",
"name": "My Awesome Mod",
"version": "1.0.0",
"author": "YourName",
"description": "An awesome mod that adds new quests and features.",
"apiVersion": 1,
"permissions": ["events", "network", "filesystem"],
"dependencies": ["other-mod-id"],
"cover": "cover.png",
"tags": ["quest", "network", "story"]
}Fields
| Field | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Unique mod identifier. Use lowercase with hyphens. |
name | string | Yes | Display name shown in the Mods menu. |
version | string | Yes | Semantic version (e.g. 1.0.0). |
author | string | Yes | Mod author name. |
description | string | Yes | Short description of the mod. |
apiVersion | number | Yes | SDK API version. Currently 1. |
permissions | string[] | No | Required permissions. |
dependencies | string[] | No | IDs of mods that must be loaded first. |
cover | string | No | Preview image path (used in Workshop). |
tags | string[] | No | Tags for Workshop categorization. |
workshopId | string | No | Steam Workshop item ID (set automatically on upload). |
ID Guidelines
- Use lowercase letters, numbers, and hyphens only
- Must be unique across all mods
- Examples:
stealth-missions,network-toolkit,cyber-story
Version
Follow Semantic Versioning:
- Major (
2.0.0): Breaking changes - Minor (
1.1.0): New features, backward compatible - Patch (
1.0.1): Bug fixes
Dependencies
If your mod requires another mod to be loaded first, list its ID:
json
{
"dependencies": ["core-library", "network-utils"]
}The mod loader ensures dependencies are loaded before your mod. If a dependency is missing, your mod will not load.
