> For the complete documentation index, see [llms.txt](https://docs.msquared.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.msquared.io/creation/unreal-development/tutorials/reference/setup-local-asset-validation.md).

# Setup Local Asset Validation

{% hint style="success" %}
verified: 2025-11-20 version: v39
{% endhint %}

The setup is recommended to be done by one person in your team and version controlled to avoid unnecessary duplication of work.

#### Linting <a href="#setuplocalassetvalidation-linting" id="setuplocalassetvalidation-linting"></a>

1. Enable the “Linter” plugin by adding the following to your `.uproject` file.\
   `{`\
   `"Name": "Linter",`\
   `"Enabled": true,`\
   `}`
2. Version control this so all devs can use it without doing this step \\

   ![](/files/g3RUUrTR2oej7iW9xEym)
3. Run a first-pass validation
   1. Right-click your plugin folder and select “Scan with Linter”\\
   2. Select the WorldBuilder Preflight RuleSet and click “Next”\\

      <figure><img src="/files/HOvDbUUw0wGMPSGui3BK" alt=""><figcaption></figcaption></figure>
4. Once you have your first validation result and opened, there will likely be many errors under “*2.11 Asset references across plugins*“. To fix this, in your World Builder `.uplugin` that stores your content and that you’ll upload, you need to add the content dependencies that you use.
   1. Using your validation result, collate a list of plugins you need to add dependencies for. In the below example, I’ll add `M2Core, M2Content, JunoSkypark` (e.g. if the error says “*This asset references "/M2Core/…”\`* then you need the `M2Core` dependency)\\

      <figure><img src="/files/b5BKY7JJTFhZ4E5yqXEt" alt=""><figcaption></figcaption></figure>
   2. Navigate to the `.uplugin` file, open it in your favourite text editor which should look like this\\

      ![](/files/aijshvESd1uSYsakChfa)
   3. Add the following section, and add each plugin dependency you need.\\

      ```
      	"Plugins":
        	[
      		{
      			"Name": "M2Content",
      			"Enabled": true
      		},
      		{
      			"Name": "M2Core",
      			"Enabled": true
      		},
      		{
      			"Name": "JunoSkypark",
      			"Enabled": true
      		}
        	]
      ```
5. The `.uplugin` file should now look like this. Make sure to also version control this modified file.\\

   ![](/files/FTdMFJuBvHDm2XGuHlVz)
6. Re-run the linter, which should now be free of those errors and will be left with relevant validation issues.
7. (optional) Copy the `M2upPreflightRuleSet` you just used and make a local version so you can control your own validation settings. To use this asset, set it as the `Default Lint Rule Set` in the Project Settings, and ensure you check in `/Config/DefaultLinter.ini` where this is saved.

#### Cooking <a href="#setuplocalassetvalidation-cooking" id="setuplocalassetvalidation-cooking"></a>

You can run a normal World Builder package to test your content cooks correctly, while also avoiding uploading the content which can take a long time and is unnecessary for pure validation.

1. Navigate to your World Builder settings and enable “Show Package Only Command”\\

   ![](/files/zvCWql3MKCHlRMUE1soQ)

You can version control this change by using “Set as Default” in the top-right of the Editor Preferences, which will update `DefaultPerProjectUserSettings.ini` in your project config folder.
