# Making Mods Compatible with the Mod Update Check utility.

## 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.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://rwe-labs.gitbook.io/sdvmm/developer/developing-for-stardew-valley-mod-manager/making-mods-compatible-with-the-mod-update-check-utility..md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
