current game version: 1.5.0.0.3 (all mods confirmed working)
This guide will show you how to make your own texture swap .pak mods for Rivershine without the need to use Unreal Engine or Blender. All you need is the free tools listed below and a graphics editing program of your choice. Anyone who wants to use these mods will simply have to drop the resulting .pak file into their game's Paks folder and won't have to worry about patching their game or exact folder locations of multiple files. This also makes the mods easy to keep track of and uninstall if they're no longer wanted/needed.
The guide was inspired by the method described on Nexusmods. This is basically the same guide but I point out the differences to make it work for Ranch of Rivershine.
It's only tested in Windows, sorry Mac & Linux users!
This guide is pretty long and probably intimidating, but that's mostly because I am trying to explain everything in detail with the assumption of the person following the guide not having done anything like this before. But once you've worked through it, the steps will always be the same and you should find them easy to memorize.
FModel, which can be downloaded here.
UE4 DDS Tools, download the GUI version from here.
UnrealPak, download it from here.
Some sort of image editing program, for example Photoshop or the free online equivalent, photopea.
Extract all three tools in a convenient location, they don't need to be installed to work.
Last updated on the 8th February with clarification and additional info about .ubulk files!
Open FModel.exe, if it's giving strange errors try using it in Administrator Mode.
It should ask you to choose which game to open - if it doesn't, just click on the Directory->Selector menu option. You should see something similar like on the Screenshot 1.
Click on the arrows under "ADD UNDETECTED GAME". Enter something like "TheRanchOfRivershine" in the Name field, and then press the three dots to find the following directory: (your steam games folder)\The Ranch of Rivershine\TheRanchOfRivershine
Don't forget to press the blue + button afterwards or your selection will not be saved! I did not press it and was wondering why it didn't work way too many times.
Press OK and you should see something like on Screenshot 2 below (it's possible that FModel will want to restart itself first). Once it did, click on Directory->Selector again and make sure it says GAME_UE4_26 (lots of funky numbers) in the UE Versions field. If it doesn't, just change it to say that. (FModel will want to restart itself again.) I haven't noticed any issues when not doing this, but you wanna be safe just in case and set everything up as correctly as possible since debugging mods can be a pain with how many moving parts and steps are involved.
Screenshot 1
Screenshot 2
On a side note, once you install .pak mods in the Paks folder of the game, you will see more files appearing in the GAME ARCHIVES list. As you can see on my screenshot, I have two additional .pak files in the Paks folder (and its subfolders), which FModel picks up. You can just ignore them, or use FModel to take a peek inside to see their contents. This is handy if you have multiple .pak mods that seem to overwrite each other and you want to find out which files they overwrite.
Any additional .pak file that the game loads (also loose mod files) will overwrite something inside the main game's .pak file (or add something), so be careful both when making mods and installing them, and always inform users what files are being overwritten so they don't run into unexpected file conflicts.
Next, double-click on the highlighted .pak, which will take you to the Folders tab. The Folders tab shows you the entire game's file structure. Navigate to the "Horse" folder if you want to change textures directly related to the horses (Screenshot 3).
Double-click on the folder that contains the texture you want to change. This will take you to the "Packages" tab. In this example I am trying to change one of the coat base textures (of which there are 5 currently in use in the game) to look different.
All texture files have the prefix TEX_, and sometimes there will be files with other prefixes (like MAT_) in the same folder. You only need to pay attention to the TEX_ files as they contain the actual texture image files.
In the Packages tab, I right-click the texture I want and first I choose "Export Raw Data (.uasset)", then "Save Texture (.png)". See Screenshot 4.
A log window will appear on the bottom right telling you the exports were successful. If you click on the underlined parts of the text, the folder where the exported files are will be opened. You will need three* files: the .png texture, the .uasset file, and the .uexp file. All three have the same filename (the name of the texture) except for the file extension. Don't change these filenames or the game will not recognize them later.
You can leave these files in the exported folder or copy them somewhere else - I recommend moving them to a different folder where you keep your modding files so you don't accidentally overwrite them next time you use FModel.
We're done with FModel now! You can close it.
Screenshot 3
Screenshot 4
*Stahl from the future here! It has been pointed out to me that some settings lead to four files instead (the ones I mentioned + an .ubulk file, I believe this is related to either compression or mappings. But in any case, if an .ubulk file is also created you should definitely also use it or the conversion in the next step will fail.
Now you can go ahead and make edits to the .png file, or even replace it with an entirely different file. If you use a different file, you need to rename the new file to have the exact same filename as the old one. I am using the sooty gray texture shown below to replace the "BlackSock" base coat (light body, dark legs).
Since I'm completely replacing the file, I copy the filename of the old texture ("TEX_HorseBody_BlackSock_COL.png"), then delete it. I then rename the new file to what I just copied. I recommend copying and pasting the filenames, since some of the game's original assets contain typos (which you need to keep for the mod to work) or you could make a typo when renaming yours.
Image Credit: @Shiro on discord
The three files we need for the mod, with the new texture already renamed.
Create a new folder somewhere in your computer and name it what you want your mod's name to be, with _P added at the end. For example, if I name this mod "Texture Swap Tutorial", I name the folder "TextureSwapTutorial_P".
Open the UE4 DDS Tools program now (GUI.exe). A console window and an interface window will open. Fill out the fields like in the Screenshot 5 below:
Uasset file: the .uasset file you exported from FModel
Texture file: the new/edited .png file you want the mod to contain
Output folder: this can be anywhere on your PC, I recommend nearby to your modding files.
UE version: needs to be "4.26 ~ 4.27".
Screenshot 5
Once you clicked "Inject", you will find two new files in the output folder you defined:
the .uasset file
the .uexp file
There is no .png file, as it has been inserted/injected into the other two files.
As mentioned further above, it might also be three files, meaning there will also be an .ubulk file which needs to be included as well.
You can close UE4 DDS Tools now, but keep the output folder open. We need these newly created files in the next step.
Now we need UnrealPak, but first we need to recreate the folder structure we found the texture files in.
For my example, I am modding a coat texture, so I am creating the following folder structure for my mod:
TextureSwapTutorial_P\TheRanchOfRivershine\Content\Art\Material\Horse\Coat
You can see the _P folder at the top of the folder hierarchy, and then the same path that I followed in FModel to find the original files. If you don't remember, you can always open FModel again and just look up the path. Do remember to make the TheRanchOfRivershine folder as a containing one for the ones you find in FModel.
At the end of this hierarchy - in our case, inside the Coat folder - is where our modded files need to go. Take these two(/three) files from the UE4 DDS Tools output folder and move them to the mod's Coat folder. Go to the top of this folder hierarchy again and keep this window open.
Now, open the UnrealPak folder. Don't use the .exe file inside it.
Inside the UnrealPak folder, there's two .bat files.
Grab your mod's "_P" folder and drag it onto the "UnrealPak-Without-Compression.bat" file. A console window will open and the files will be processed. It should tell you to press any key after just a moment. Do that, and the console window will close.
Look at your mod folder again: in the same location, there should now also be a .pak file with the name of your mod. In my case, it's called "TextureSwapTutorial_P.pak", and this contains everything people need to use your mod.
This .pak file that UnrealPak created can now be shared and installed by players. There's no need to patch the game or do anything else for these pak mods to work except copying them into the game's Paks folder.
In the screenshot below you can see what the Paks folder looks like when the modded .pak file has been added:
The folder can be found by either right-clicking the game in the Steam library and choosing "Manage->Browse local files" and then navigating from there, or by going to this location directly via your file browser. With the game started up, my bay-based horses now look like this:
And that's all! I hope you found this guide reasonably easy to follow, and if there's any problems you run in, feel free to contact me in the game's discord server where I have a thread for modding the game. I might be able to help.
There's also some other modding resources I can share on discord like template graphics for some of the tack and coat patterns. Keep in mind that there's limitations imposed by the game's coding that might make it difficult to modify certain textures. (As you can see on the screenshots above, there's no way to directly change the appearance of any single coat color right now.)