Elden Ring Modding
Summary
In this post, I recount the tools and resources I discovered and used when trying to make a mod in Elden Ring.
[Elden Ring Spoilers] Preview video
Context
At around 60 hours into my Elden Ring playthough, I took a slight detour from the game to investigate the modding scene of the game in search of nicer-looking armor. It seemed like some work has been done here, and there are some custom armor and character mods being shared on Nexus Mods, but none of them seemed very impressive. Most of these mods were minor cosmedic tweaks to existing armor pieces. However, this one did catch my eye. It was a mod that aims to replace the player character with Ayaka from Genshin Impact, a completely new character model from a game with a wildly different aesthetic. Skeptical that this could be any good, I downloaded the mod and tried it myself.
The mod had some problems, mainly, many of the proportions were off (like they were stretched to fit the Elden Ring player model), and the anime-styled face did not look good when rendered in the game. However, it did convinced me of its potential. I later dug around on the internet for more resources on Elden Ring modding and eventually decided that it was something worth trying out.
Process
This is my lengthy detour of modding a custom character into Elden Ring:
-
Inspired by the Ayaka mod, I wanted to mod an anime character into the game because I thought it would be relatively difficult, but rewarding if done right. I also wanted something Japanese themed to fit my Katana build. I eventually found this MMD model of Sendai from Kantai Collection and found this Blender addon to import it into Blender.
-
In Blender, I split the imported Sendai model into its head, arms, body, and legs, corresponding to the 4 types of armor pieces in Elden Ring. Then, I followed this tutorial by skymoon and this tutorial by Scrub Milk to replace each of the 4 pieces of the base samurai set (the Land of Reeds set) with the corresponding parts of the model. This involved using UXM to unpack the game's files, this article to identify the filenames of the armor pieces I was looking to replace, Yabber to further unpack (and later repack) the game's files, and FLVER_Editor to merge the FBX models (exported from Blender) into the game's own model files.
-
Following along the same tutorials again, I imported the textures needed for the new models into the game. The process was similar to importing the models, but during the process, I noticed that the game had several different materials available to play with, like ones for fabric, metal, cloth, and fur. Most of these materials looked quite complicated and had a lot of texture inputs, which was concerning because there were no resources online for what each texture input was doing. None of the tutorials I found explored the various materials that were available; they just used the default material. However, after a lot of experimentation, playing around with various texture, and investigation with this MTD Editor, I had some idea about how each of the materials worked. I figured out enough to convert certain parts of my model into decently looking metallic and fabric pieces. It seemed like there is potential to get even more realistic and nice-looking rendering in-game, but without knowing how each material worked exactly, I didn't pursue this any further.
-
Moving onto cloth and hair physics, based on this tutorial by Scrub Milk, it seems like certain armor pieces have cloth bones set up, which moves based on the game's physics and is used to animate things like ropes, tassles, and loose armor plates. I was not sure how to go about setting up my own cloth bones or if that was even possible. Fortunately, I didn't need to, as I found that certain existing armor pieces (the Okina Mask and the Land of Reeds chest armor) had just enough cloth bones to do what I needed. I happily yoinked these cloth bones to add physics to my model's hair, scarf, skirt, and other loose clothing parts.
-
My mod was quite functional at this point so I started walking up to random bosses with it. One thing that I immediately notice after a few fights is that the dark, realistic style of the player voicelines in Elden Ring clashed heavily with the bright, "anime" aesthetic of my custom model. I really wanted to change the player voicelines, but at the time of writing, there seemed to be zero existing work on sound modding in Elden Ring. This was because UXM was bugged and did not allow for the game's sound files to be replaced. I was about to look into UXM's source code to see if I can fix the issue myself, but it turns out I was born at just the right time to be able to join the ?ServerName? Discord, a community for Soulsborne modding, and find a freshly posted beta version of UXM with the bug finally fixed.
-
Modding Elden Ring's sound files was not well documented process, but it was easy to figure out since they use Wwise, like many other games people have tried to mod (e.g. Monster Hunter: World). I've also worked on projects that use Wwise before, so I was pretty confident that I could make it work. I looked through the game's files and discovered that all the player voiceline are located in the
sd\enus\vcmain.bnk
soundbank (if you delete that file, the player sounds disappear). This soundbank can be unpacked and converted to OGGs with Wwise-Unpacker, which I did to listen to all the audio clips and find the ones I wanted to replace. The soundbank can also be edited with BNKEditor, which I used to replace various WEM audio clip inside with custom ones. Audio clips can be converted into the required WEM format with the free version of Wwise as shown in this video by Hp Xro. There is another tool made to edit Wwise soundbanks called wwiseutil, but it does not seem to be able to editing the ones in Elden Ring. Still, it can be useful for looking through the bank and finding the IDs of certain audio clips. -
Finding the actual voice clips to replace the player voicelines in Elden Ring was tricky. Most of the voice clips in Elden Ring are ones of the player being hit (or dying). There are about 20 variations of this. The best place to find anime-style replacements for these voicelines is probably either Code Vein ("anime Dark Souls") or fighting games (where characters also have many voicelines for getting hit). I tried to look for similar characters from anime fighting game, and also thought about altering voicelines via voice changing software or AI. Eventually, I discovered that Linne, from anime fighting games Under Night In-Birth Exe:Late and BlazBlue: Cross Tag Battle, share a voice actor with the Kantai Collection character my model was made after. And, the voice she used for Linne fit pretty well with the visual aesthetic of me model. In the end, I was very happy being able to copy-paste Linne's voicelines from BlazBlue into Elden Ring.
-
With this, my Sendai cosplay mod was complete and functional. I continued tweaking it as I used it in my playthrough, playing with the color of the textures, fixing various clipping issues, adjusting the shape of certain parts to make them not deform horribly when doing certain animations, and adding a mask to the character, since the anime face did not look good when rendered in-game. There were also several voiceline replacements that I could not test properly until I progressed far enough to find certain enemies that will trigger these voicelines.
Result
With all that said and done, I am very happy with the result of my modding adventure.
[Elden Ring Spoilers] Video Preview: Fighting a Boss with the Mod
I feet like the basic Blender knowledge I've picked up over time and my experience working in the game industry has made has made this whole project possible. I can recall times where a good sense of how the game might work internally has helped me navigate some problems that I otherwise could have gotten stuck on for days. With how this project turned out, I am very excited to play more FromSoft games. Elden Ring was my first one, but now with what is essentially an endless character customizer, it certainly won't be my last one. I never planned to share this mod with the world, but maybe for the next one, I can keep that possibility in mind. Either way, I'm looking forward to what I can make for my Dark Souls playthroughs.