Skip to content

How to package a game extension

Simon Davies edited this page May 1, 2024 · 6 revisions

This is for authors who have created a game extension for Vortex and want to upload it for others to enjoy.

The easiest way for users to find and install extensions is through Vortex's built-in Extensions dialog. For your extension to be listed there, it needs to be part of our manifest and a few things need to happen:

  • It has to be packaged in the correct way (see below)

  • Follow the rules of Semantic Versioning. The info.json version should always exactly match what is specified when uploading to Nexus Mods

  • It has to be uploaded to Nexus Mods, added to the correct category (Vortex > Extensions) and can only have a single file under "Main Files"

  • It has to be manually reviewed by us. Please see How to submit a game extension for review

Package structure and specifications

Game extensions need to contain at least these files for them to work correctly within Vortex:

  • info.json
  • gameart.png
  • index.js

Each file needs to contain certain information or be in a certain format

info.json

The main metadata file that Vortex uses. All fields are mandatory

{ 
    "name": "Starfield",
    "author": "Nexus Mods",
    "version": "0.6.7",
    "description": "Vortex Extension for Starfield"
}
  • name - The name of the game that should match how it is displayed on Nexus Mods. This shouldn't be changed in future updates of this extension and should never contain the version number.
  • author - Name of the author of this extension
  • version - Starting with 0.1.0 and always following the rules of Semantic Versioning. This should always exactly match what is specified when uploading to Nexus Mods
  • description - Extra information that is displayed within the Extensions dialog in Vortex

gameart.png

The thumbnail image that is displayed within Vortex. This image should meet the following criteria:

  • Optimized for landscape 16:9 aspect ratio
  • Clearly visible on a dark page background
  • Not contain text (the game name is automatically overlayed within Vortex)

File Specifications:

Specification Requirement
Dimensions 640 x 360 px
File Size (Max) 1 MB
File Type png

Appropriate imagery can be found at a variety of sites, such as SteamDB or SteamGridDB or even a Google Images search. These images may still need to be cropped and resized to fit the above criteria, an online tool such as Photopea can help with this.

Good Bad
alt text

index.js

The main code entry point of the extension and will be different for supporting each and every game.

Prepare the Archive

The above files need to be placed in the top-level of the archive and not in a nested folder. If you include further assets or libraries (libraries that aren’t baked/webpacked into the index.js) you are free to arrange them into subdirectories.

├── info.json *
├── gameart.jpg *
├── index.js *
├── assets
    ├── fancy.jpg
    ├── icon.svg

* mandatory

Upload to Nexus

With these files and archive ready to go, it can now be uploaded to Nexus.

Please read How to upload an extension to Nexus.

Submit for Review

When the extension has been uploaded, it can then be submitted to us for review via GitHub.

Please read How to submit a game extension for review.

Vortex

Games

Starfield

  • Troubleshooting
  • Developers

Baldur's Gate 3

  • Troubleshooting
  • Developers
  • Valheim
  • Bannerlord

Tools

  • BepInEx

Developers

Extensions

Outdated Documentation

Warning

The below documentation has not been checked for quality since migrating to GitHub Wiki and the information contained is potentially out of date and\or repeated.

Modding.wiki (Users)

General

User Interface

Game Guides

Troubleshooting

Modding.wiki (Developers)

General

Reference

Troubleshooting

Other links

Legacy

General

Tutorial

UI

Language

Feature

Harmony Patcher

Other

Clone this wiki locally