Try โ€‚โ€‰HackMD

How to make eye textures unique to NPCs


by munchyfly ( Nexus | Carrd )



This tutorial will talk you through the process on making an eye texture unique to an NPC.

Currently, to my knowledge, the only NPCs that have unique eye textures are Geralt, Yennefer Avallac'h & Ciri. The rest use generic eye textures.

This is how I, munchyfly, do it. If you have another method, then by all means use it.

This tutorial:

  • Does not cover texture editing.
  • Uses Wolvenkit 0.6.1. I will not make a tutorial for other versions. Nightly and Preview are not stable enough for me.
  • Assumes you have set up Wolvenkit properly and have the game uncooked.
  • Uses Triss' eyes as a base. Every eye mesh is different so take note of that.

Credits to Ard Carraigh for helping me start off.




  1. Create a new project in Wolvenkit. Name doesn't matter but try and keep it short.

  2. Add the eye mesh (both w2mesh and w2mesh.1.buffer) of the character you want. They are generally found in the h_01_wa__xxx folder of the character. For this tutorial, we will be using Triss' eyes.

(click to enlarge)


You should now have something like this:

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More โ†’

  1. Add an eye texture XBM. You can find eye textures at characters\models\common\textures\eyes\ or use one of the above mentioned characters eyes. I will be using Yennefer's.

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More โ†’

  1. Right-click any of the folers and click Open Folder in Explorer.

  2. Navigate to where Yennefer's eye XBM is. Rename it to whatever you want and move it to a new folder called eyes inside the same folder as the eye mesh.

Technically, you can move the eye XBM to wherever you want. It doesn't have to be the same folder as the eyes or in a folder called eyes. This is mostly for convenience.


You should now have something like this:

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More โ†’

  1. Open the eye mesh and take note of the following materials:

characters\models\common\materials\eyes\eye__iris__bottle_green.w2mi
characters\models\common\materials\eyes\eye__iris__bottle_green__lod.w2mi


(click to enlarge)


  1. Add the materials to your project. Just like in the beginning of the tutorial.
  2. Just like the XBM, move both materials to the eyes folder and rename them if you wish. Not necessary but it's good practice.

Just like the XBM, you can place it wherever you want.


You should now have something like this:

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More โ†’

  1. Right-click on the XBM and click Copy Relative Path
  2. Open eye_triss.w2mi and replace the location of the XBM path with the one you just copied.
  3. Do the same with eye_triss_lod.w2mi.


  1. Press Save All. Just in case, press it at least 3 times. Not entirely necessary but you can never be too careful.

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More โ†’

  1. Right-click on eye_triss.w2mi and click Copy Relative Path
  2. Open the eye mesh (if you closed it) and replace the material path with the one you just copied.
  3. Do the same but with eye_triss_lod.w2mi.

Make sure to only replace the eye materials. Check the image on STEP 6 if you forgot where they were.


(click to enlarge)


  1. Press Save All. Just in case, press it at least 3 times. Not entirely necessary but you can never be too careful.

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More โ†’

  1. In Raw, make a new folder called Mod.
  2. Inside that folder, create a new one called TextureCache.
  3. Inside TextureCache, create the folder hierarchy until you reach where the XBM is located.
  4. Inside that folder, place the texture you want to import.

Remember that the name of this texture should match the XBM.


You should have something like this:

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More โ†’

  1. Open the Import Utility and press Use mod files.
  2. Under Texturegroup, select either Default or CharacterDiffuse.
  3. Make sure the box next to the texture name is checked

(click to enlarge)


  1. Press Import

You should now have something like this:

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More โ†’

  1. Pack and install the mod

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More โ†’

  1. The mod should now be in your Mods folder where your game is installed.
  2. Run the game and check if everything is up and running.
  3. If it is, good job! You got through this crap ass tutorial! Have fun making eye textures.