Skip to Content
Mod BuilderCreating Mods

Creating Mods

This guide walks you through creating a mod pack from start to finish using the Arsenal Mod Builder.

1: Start a New Project

A fresh project starts with:

  • Empty folder structure
  • Default manifest template
  • Auto-generated mod UUID

2: Configure Basic Information

Edit the manifest in the right panel to set your mod’s identity:

{ "Version": 1, "Guid": "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx", "Name": "Your Awesome Mod", "Description": "A brief description of what your mod does", "IconPath": "" }

Field Descriptions

FieldPurpose
VersionManifest format version (always 1)
GuidUnique identifier (auto-generated)
NameDisplay name shown in mod managers
DescriptionBrief explanation of the mod
IconPathRelative path to icon image (optional)

3: Add Root Files

For mods without configurable options, add files directly to the root:

  1. Right-click in the empty file explorer area
  2. Select Add Files
  3. Choose your .patch_0, .gpu_resources, and .stream files

The files appear in the explorer:

texture_override.patch_0 texture_override.patch_0.gpu_resources manifest.json

4: Set Mod Icon

Give your mod a recognizable thumbnail:

  1. Right-click in the file explorer area
  2. Select Set Mod Icon
  3. Choose an image file (PNG, JPEG, or WebP)

The manifest updates automatically:

{ "IconPath": "icon.png" }

Supported sizes: 256x256 or 512x512 pixels.

5: Create Options

For mods with user-selectable variants, create option folders:

Adding an Option

  1. Right-click in the file explorer
  2. Select Add Folder
  3. A new folder “New Folder” appears
  4. Right-click and Rename Folder to give it a meaningful name

Option Structure

High Quality └── modfile.patch_0 Low Quality └── modfile.patch_0 manifest.json

The manifest reflects your options:

{ "Options": [ { "Name": "High Quality", "Description": "", "Include": ["High Quality"] }, { "Name": "Low Quality", "Description": "", "Include": ["Low Quality"] } ] }

6: Add Sub-Options

For nested choices within an option:

  1. Right-click on an existing option folder
  2. Select Add Sub Folder
  3. Rename the sub-folder

Sub-Option Structure

Weapon Skins ├── Gold │ └── gold_skin.patch_0 ├── Chrome │ └── chrome_skin.patch_0 └── Matte Black └── matte_skin.patch_0 manifest.json

7: Add Files to Options

Populate each option with its specific files:

  1. Right-click on an option or sub-option folder
  2. Select Add Files
  3. Choose the relevant patch files

8: Set Preview Images

Help users visualize each option:

For Options

  1. Right-click an option folder
  2. Select Set Option Image
  3. Choose a preview image

For Sub-Options

  1. Right-click a sub-option folder
  2. Select Set Sub-Option Image
  3. Choose a preview image

Preview images appear in the mod manager when users configure options.

9: Edit Descriptions

Add descriptions in the manifest editor:

{ "Options": [ { "Name": "High Quality", "Description": "4K textures for maximum visual quality. May impact performance on lower-end systems.", "Include": ["High Quality"], "Image": "High Quality/preview.png" } ] }

10: Save Changes

Press Ctrl + S or click the Save button whenever you manually modify the manifest.

The save indicator shows:

  • Unsaved — Disk icon is highlighted
  • Saved — Disk icon is dimmed/inactive

11: Build the Mod Pack

When your mod is ready:

  1. Ensure all changes are saved
  2. Click the Build button
  3. Choose an output location
  4. The mod pack folder is generated

Build Output

YourModName/ ├── manifest.json # Cleaned for distribution ├── icon.png # Mod icon ├── High Quality/ │ ├── preview.png # Option preview │ └── modfile.patch_0 └── Low Quality/ ├── preview.png └── modfile.patch_0

Testing Your Mod

  1. Use Add Mod in Arsenal’s mod management
  2. Select Folders and choose your built mod folder
  3. Enable the mod and configure options
  4. Deploy and test in-game

Common Mistakes

Missing Patch Files

Ensure every option folder has actual mod files, not just preview images.

Incorrect Include Paths

The Include array must match folder names exactly (case-sensitive).

Invalid JSON

Check for:

  • Missing commas between items
  • Trailing commas after the last item
  • Unclosed brackets or braces