Skip to content

How to package a game extension

Simon Davies edited this page Apr 16, 2024 · 5 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.

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.