It is possible to change textures in the game without affecting the gameplay. A skin mod doesn’t need any scripts, but an anim folder with the new animations and animated textures, and an images folder for icons, hud, etc.
Decompile and edit textures / animations
- Decompile images using either tools and edit the file as you wish. Keep in mind the xml atlas specifies specific areas of the tex as the actual images.
- Copy the animation zip and decompile the tex file inside. Try not to make the textures bigger, it can result in cut off corners. When you’re done, put it back into the copy.
- Decompile the entire animation using krane (from ktools), change the individual png textures (and maybe the animation if you dare) and recompile with the autocompiler (found on Steam and github).
Recompile and integrate textures / animations
There are also two ways to integrate new images and animations:
- Put the copied and edited animation with the same name in your mod in the same folder as it was in “data” (your mod root folder would be “data”). This method overrides the texture when loading the game. In other words, the game gives your animation priority and uses it instead. You don’t need to write any code.
- If your texture is needed only under specific conditions, call the animation build differently and put it in the same place as in method one, now edit modmain.lua and use AddPrefabPostInit to control when which skin is used. e.g.:
if [condition] then
inst.AnimState:SetBuild("mypig") --how you called your build
AddPrefabPostInit("pigman",OverridePig) --the first variable is the prefab name
Note: Remember that assets from other games are not allowed by Klei, for good reason. You’d have to draw “inspired” sketches that look similiar to what you want.