> For the complete documentation index, see [llms.txt](https://rwe-labs.gitbook.io/sdvmm/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://rwe-labs.gitbook.io/sdvmm/developer/developing-for-stardew-valley-mod-manager/making-mods-compatible-with-the-mod-update-check-utility..md).

# Making Mods Compatible with the Mod Update Check utility.

This article will help you, as a mod developer, ensure that your mod is compatible with the Mod Update Check utility that is offered within Stardew Valley Mod Manager.

## Understanding the Mod Update Check Tool

The Mod Update Check tool allows the Stardew Valley Mod Manager user select a mod and check to see if they have the most up to date version of the mod. It uses a series of important information and details from the local machine and the web to determine this.

{% hint style="success" %}
If you currently offer your mod via the NexusMods website, the chances are you are already compatible with the Mod Update Check utility.
{% endhint %}

## Making your Mod Compatible

### Pre-Requisites

In order for your mod to be compatible with the Mod Update Check utility, please ensure that your mod meets the following criteria:

* [ ] Your mod must contain a `manifest.json` file that **is stored in the root directory**.
* [ ] Your mod must be hosted on NexusMods and have an Update Key (the digits in the URL to your mod listing)
* [ ] The `manifest.json` file must contain a NexusMods Update Key (configured as:\
  `"UpdateKeys": [ "Nexus:####" ]` where the `#` includes your numerical update key for NexusMods)
* [ ] The `manifest.json` file must contain a version number that is formatted in the same format as your NexusMods website listing.
* [ ] The `manifest.json` file must not contain multiple update keys *or* update keys for other services.

### Manifest JSON Examples

The following is an example of a **good** `manifest.json` that is located at the root directory. It is a good `manifest.json` file as it contains a version number and a properly formatted NexusMods UpdateKey.

```
{
    "Name": "My Awesome Mod",
    "Author": "RWE Labs",
    "Version": "1.24.8",
    "MinimumApiVersion": "3.14.0",
    "Description": "A really cool mod for demonstration purposes.",
    "UniqueID": "RWELabs.AwesomeMod",
    "EntryDll": "AwesomeMod.dll",
    "UpdateKeys": [ "Nexus:1234" ]
}
```

The following is an example of a **bad** `manifest.json` that is located at the root directory. It is a bad `manifest.json` file as it contains multiple update keys for different services. *Please note when we say this manifest is bad, we only mean in context of being compatible with the Stardew Valley Mod Manager. Otherwise, this Manifest is completely functional and good.*

```
{
    "Name": "My Awesome Mod",
    "Author": "RWE Labs",
    "Version": "1.24.8",
    "MinimumApiVersion": "3.14.0",
    "Description": "A really cool mod for demonstration purposes.",
    "UniqueID": "RWELabs.AwesomeMod",
    "EntryDll": "AwesomeMod.dll",
    "UpdateKeys": [ "Nexus:1234","GitHub:MyUser\Repo2" ]
}
```

### Check for Compatibility Issues

Now that you have created a compatible manifest file, simply open the Stardew Valley Mod Manager and click "Updates". Use this to check your mod for updates.
