Resource Patching: Mesh Appearances

Modifying game items with minimal conflicts

Summary

Published: July 23 2024 by Zhincore Last documented update: October 24 2025 by mana vortex

This guide will teach you how to use ArchiveXL: Resource patching to change or add appearances to existing meshes. By creating a patch mesh, your changes will not conflict with other mods, and be future-proof against game updates!

Concepts discussed here can be applied to many other areas in the game. See the general guide for more info: ArchiveXL: Resource patching

Wait, this is not what I want!

Prerequisites

Step 0: Finding the correct file

  1. Use RedHotTools -> World Inspector: Watch (the player) to find the correct mesh and appearance name on the player puppet.

    1. If the many components confuse you, you can use Appearance Creator Mod — you can go through the list of components one by one and toggle them off until you have found the correct one. Use that name to find it in RedHotTools.

  2. Find the mesh file in the Asset Browser

  3. Add it to your project by double-clicking

  4. Open it by double-clicking it in the Project Explorer - once we are done, this will be our patch mesh.

To add a whole new appearance, you have to edit the .app and .ent file as well:

Right-click on your mesh in the asset browser, then select "find files using this" and add them to your project. The steps below apply to these files as well, although we won't go into detail.

Step 1: Delete everything that you aren't changing

The guide below shows this process for the .mesh file. If you are changing a different kind of file, the same principle applies!

  1. In the appearances array at the top of the file, select those appearances that you want to keep

  2. Right-click, then press the shift key and select Delete All but Selection

  3. Optional: If you want to add a new appearance, rather than editing an existing one, re-name the entry (from e.g. gbstripes to sammy_gbstripes)

  1. From the menu bar, select Clean Up -> Delete unused materials

  1. Save your file (Hotkey: Ctrl+S)

1.2 Delete everything that you aren't changing

You are creating a patch file, which will be used to change data in the original file via ArchiveXL. To rule out side effects, you should delete everything that you aren't changing.

  1. If you are changing an appearance in a .mesh file, you do not need

    • renderResourceBlob

    • parameters

    • lodLevelInfo

  2. Right-click each of them and select Reset Object.

  3. Save your file.

Step 2: Rename your material(s)

While the appearance name must be the same as in the original mesh, the appearance name must be different. Expand the material node and right-click on a material to change its name; this will update it in all places that need updating:

Step 3: Custompath your patch files

If you install your mod right now, your item would be broken and the game might even crash. To avoid that, we need to move your patch files.

Moving any .mlsetup files that you edited will remove the dependency to Material Texture Override.

  1. Create a custom folder for your mod: keep it outside of base and ep1. The common pattern is your_name\mod_name\ (e.g. zhincore\new_gun_appearance).

Example folder structure of my mod.
  1. Right-click your custom folder and select Copy Relative Path

  2. In the Project Explorer, select each file, and use Rename (hotkey: F2) to move them. The Update in Project Files box must be ticked!

  1. If you still have files open, Wolvenkit will want to reload these. Click "Yes" - the paths were updated for you.

  2. Optional: Run File Validation from the menu bar (Project -> Run File Validation on the entire project) to check if there are any errors.

Step 4: Configure ArchiveXL

Now we need to tell ArchiveXL about our patch file(s). We do that via an .archive.xl file in our resources folder — use any text editor, such as Notepad++.

  1. Switch your Project Explorer to the resources or source tab

  2. Create the file your_mod_name.archive.xl (File -> New File, or via text editor)

My .archive.xl file.
  1. Open the file in your favorite text editor and add the following lines. Mind the indent (the number of leading spaces)!

resource:
  patch:
    relative\path\to\your\file.mesh:
      - relative\path\to\original\game\file.mesh
    relative\path\to\your\file.app:
      - relative\path\to\original\game\file.app
Wait, how does this work?

You are creating a map with instructions for ArchiveXL.

Each key (anything ending with a :) is a patch file path, while the array entries below (anything starting with a -) are the destination files.

AXL will take the data from the patch file, and add it to every file in the list.

  1. Replace the example file paths with the paths of your actual files

In WolvenKit's Project Explorer you can right-click a file and choose "Copy relative path" and just paste in into your .xl file. You don't have to write the paths manually

  1. Delete any lines that you aren't using.

Step 5: Test!

And you should be good to go! Install your mod and test it.

Last updated