CustomTextures
Fork of aedenthorn's CustomTextures for Valheim 1.0. Allows you to replace instances of game textures with custom png files.
About this mod Author’s original text
CustomTextures
Updated for Valheim 1.0
A fork of aedenthorn/CustomTextures
| GitHub
Replace game textures with custom png files.
This mod should allow you to replace the following:
- player model textures
- item inventory icons
- equipment textures like armor, weapons, and tools
- terrain and water textures
- environmental textures
- special location textures (villages, crypts, rune stones, etc.)
- world object textures, almost everything else in the game world
It also now supports layers, so you can apply multiple textures to the same vanilla texture.
EXAMPLE
-
- Take the image above for a Karve sail, save it as "renderer_sail_full_MainTex.png"
- Put it in the folder cjayride-CustomTextures/CustomTextures
The next time you run the game, it will replace the Karve sail with this image.
Basic Usage
To extract the vanilla textures for reference, I use Asset Studio. The textures are in the valheim_Data/sharedassets files.
To replace a texture, you simply add a png file to the folder BepInEx/plugins/CustomTextures with the proper name format explained below, and then load the game.
You can also organize textures into subfolders! If you are publishing a texture pack I encourage you to do this, to allow easy install and removal.
Also, if you are publishing a texture pack, putting your textures in a CustomTextures folder before creating the zip file will allow Vortex to install them automatically!
To reload world textures while in game, there is a hotkey (default Page Down). Note: this doesn't reload any vanilla textures, so if you remove a custom texture file, you'll have to restart the game to see the vanilla texture again.
Here's some kind person's video on how to use this mod with premade texture packs.
Filter Mode
Valheim textures use point filtering, which makes them look pixelated up close. If you want to use bilinear or trilinear filtering for higher-res textures, place your textures in a subfolder named bilinear or trilinear and the mod will change the filter mode for those textures (they can still be in sub-subfolders if you choose).
File Naming Summary
File names are made up of up to four parts, prefixes, identifiers, property names, and layer names. To get most of this information, use the scene dump (see Scene Dump below)
You create file names starting with a prefix, usually followed by an underscore, then an identifier, then the property name (and optionally an underscore followed by a layer name, as explained under Layers), i.e. for a complete texture replacement:
\_\\.png
or for a layer:
\_\\_\.png
You end up with a file name like this, and you place it somewhere in the CustomTextures folder.
DETAILED INFORMATION
Prefixes
Property names are usually prefixed by an underscore, so don't forget that too. Also, if you have Windows hiding your file extensions, don't add.png to the end or you'll end up with a file called \_\\.png.png which won't work. Seriously, just have Windows show file extensions, it's dumb that it doesn't.
Here's an explanation of each of the four parts:
The following prefixes are implemented, based on the type of thing being modified:
- player_model for player textures
- atlas_item_icons for inventory icons
- object for object textures
- armor for armor textures
- zone for water textures
- terrain for terrain textures
- environment for environment textures
- location for special locations
For objects, water, terrain, environment, and location textures, the prefix can be further modified as follows:
- renderer - for replacing textures on specific named renderers on specific named things
- mat - for replacing textures on specific named materials on specific named things
- renderermat - for replacing textures on specific named materials on specific named renderers on specific named things
- texture - for replacing specific named textures on specific named things
e.g.:
environmentrenderermat_branch_yggdrasil_branch (Instance)_MainTe
Install & use Install: BepInEx plugin
- The archive from playbuff is the mod itself — usually a BepInEx plugin (a .dll or a plugin folder once unzipped).
- Recommended: use a community mod manager (such as r2modman) — pick this game, import the mod, and the manager sets up BepInEx and its dependencies for you.
- Manual route: install the BepInEx loader in the game folder, then drop the unzipped .dll or plugin folder into BepInEx/plugins/.
- Launch the game — the BepInEx console logs every plugin it loads; seeing this mod in the log means it is installed.
Mods with listed dependencies need those installed too, or they will not load. Options are usually changed in-game or in the plugin's config file. In multiplayer, the host and every client need the same mods installed.
Install these first, or the mod will not work: