Neverinth

Neverinth

31 ratings
Neverinth Character Model Swapping
By Lavian
This guide will walk you through basic text editing of Neverinth's asset file to swap character models around.
5
2
   
Award
Favorite
Favorited
Unfavorite
Disclaimer
This guide involves directly editing the Unity assets file with a text editor, which obviously isn't something that's normally done or is supposed to happen. Things may break, and I haven't exactly tested the results thoroughly. I've managed to complete a run with a swapped model, so it seems okay, but I'm not going to be responsible for any breakage of any kind. Since this isn't the kind of thing that's supposed to be done, I make no assurances about what may happen when the game starts executing on the edited data.

Follow this guide at your own risk.
Should you not want to edit the assets file
I've found you don't have to edit the assets file to access the missing Aspirants.

Instead, you can edit your save file to make them the active character.

You can find your save file at:
\Users\YourWindowsUserName\AppData\LocalLow\CreAct\Neverinth

As usual, make a backup.

Your save file will be Record0, Record1, or Record2, depending on which save slot you picked.

Open it with the text editor of your choice (it's only 2 lines, though the second line is quite long).

The second line will start with something like
{"m_param":[505,0,0,0,0,0,55,313,0,1,0,0]

That first number is the one we're interested in. Just replace it with the outfit you want to be using.

For example, to use the 5th Aspirant, this should be changed to:
{"m_param":[18,0,0,0,0,0,55,313,0,1,0,0]

This will actually make you the 5th aspirant, with her own levels, "growth" (really, lack thereof), and UI (she has no icon though). This will make it so her phantom clone will match her, and she has a different voice for taking damage (no swing grunts and what not though). The big drawback to this is that if you ever change away from her, you'll have to edit your save file again if you want to access her again. Also, leveling up doesn't appear to raise her stats at all.
Why model swap?
As you know may know, there were five characters planned for Neverinth.

What you might not have known is that the basic outfit for all of them are already in the game's files.

This guide is generally designed to let you use the models for the two characters that didn't make it into the formal release.




WARNING: DO NOT try swapping in an enemy model to an outfit slot. If you try selecting an enemy model, it will break, and may destroy your save file.
Getting started
You'll probably want a slightly more advanced text editor than is available in Windows by default. Something like VIM or Notepad++ should work fine. Technically I didn't try it, but from past experience, default Windows Notepad (not ++), struggles with large files, and the file you're going to be opening is large.

The file we're working with is "resources.assets" located in \Steam\steamapps\common\Neverinth\Neverinth_Data

You can get here by right clicking Neverinth in your Library, going to Mangage > Browse local files

You'll probably want to make a copy of it as-is, in case you need to revert. Messing up this modding process may cause your game to crash on boot (or cause some other strangeness, like the CreAct logo not displaying correctly, which probably isn't a good sign), and simply replacing the broken file with the original is probably easier than repairing through file verification or a reinstall.

This is a process where you're simply swapping in a model to an existing Aspirant's outfit slot, so it should be noted that the levels, stats, voice, and HUD of the Aspirant you're swapping onto will be retained. I mention this, since you may want to use a certain set of stats or have a certain voice for a certain model. Also, the shadow servant skill will use a model based on the model you replaced, rather than looking like the model you swapped in here.
Editing in the models
It's a relatively simple process.

First, open "resources.assets" in your text editor of choice.

It's relatively large and full of a bunch of stuff that you won't be able to read. This is fine.

What you're looking for is a large XML section in the middle that assigns models (among other things).

The section we'll be working with is starts on line 554123. The easiest way to reach here is by doing a find on "<Character>1</Character>".

In here, you'll see sections that look like this:
<item> <Character>1</Character> <HP>0</HP> <Stamina>0</Stamina> <Damage>0</Damage> <Guard>0</Guard> <Resist>0</Resist> <Body>1</Body> <Weapon>1</Weapon> <Armor>-1</Armor> <Helm>-1</Helm> <Neck>-1</Neck> <Ring>-1</Ring> <Property>1</Property> <A>0</A> <B>0</B> <C>0</C> <D>0</D> <Crystal>1</Crystal> <Soul>0</Soul> <Exp>0</Exp> <Item>201</Item> <ItemNum>3</ItemNum> <Size>2</Size> <Name>Player01_Begin</Name> </item>
The section above is for the first (Immaculate) Aspirant's default outfit.

What we're interested in here are the "Body" and "Name" sections. (Of note: the Name section may not matter at all, but I haven't tested a full run of the game without it swapped. The game seems to at least boot fine with that section untouched though.)

The two missing Aspirants are named "Player02_Begin" and "Player05_Begin". Their IDs are 13 and 18, respectively.

You want to swap the relevant values into an active outfit's Body and Name slot, so for example, if you wanted to replace the Immaculate Aspirant's default outfit, you'd end up with something like
<item> <Character>1</Character> <HP>0</HP> <Stamina>0</Stamina> <Damage>0</Damage> <Guard>0</Guard> <Resist>0</Resist> <Body>13</Body> <Weapon>1</Weapon> <Armor>-1</Armor> <Helm>-1</Helm> <Neck>-1</Neck> <Ring>-1</Ring> <Property>1</Property> <A>0</A> <B>0</B> <C>0</C> <D>0</D> <Crystal>1</Crystal> <Soul>0</Soul> <Exp>0</Exp> <Item>201</Item> <ItemNum>3</ItemNum> <Size>2</Size> <Name>Player02_Begin</Name> </item>

IMPORTANT: Note that you should probably also go to the model you're swapping in, and put in the values of the model you're replacing, so for the above, you should also have
<item> <Character>13</Character> <HP>0</HP> <Stamina>0</Stamina> <Damage>0</Damage> <Guard>0</Guard> <Resist>0</Resist> <Body>1</Body> <Weapon>22</Weapon> <Armor>-1</Armor> <Helm>-1</Helm> <Neck>-1</Neck> <Ring>-1</Ring> <Property>1</Property> <A>0</A> <B>0</B> <C>0</C> <D>0</D> <Crystal>1</Crystal> <Soul>0</Soul> <Exp>0</Exp> <Item>201</Item> <ItemNum>3</ItemNum> <Size>2</Size> <Name>Player01_Begin</Name> </item>
Note: This may actually not be necessary all the time, but an error seems to occur when there's a wrong number of chars in the file. So the issue seems to stem from the fact that, in the above example, if you shoved "13" where there was previously a "1", you've now got an extra char, adding to the length of the assets file. It's probably just safer to swap values around as is said above.

To find different models to swap, you can look for any "<Name>Player01" (the Immaculate Aspirant), "<Name>Player03" (the Rebellious Aspirant), or "<Name>Player04" (the Proud Aspirant). These will have names like "Player01_Garm" (for the Garm outfit), "Player01_Marauder" (for the Predator outfit), and so on.

Just swap out the relevant values for the outfit you want to replace and you should be fine.
Outfits
This section is a reference for which outfits are missing from the final release, but can be accessed by using the method in this guide. As you can see, a few of them appear to be unfinished works.

13 - Player02_Begin


18 - Player05_Begin


314 - Player01_Flameguard


350 - Player01_Valentine


351 - Player01_ValentineS


414 - Player03_Flameguard


450 - Player03_Valentine


451 - Player03_ValentineS


514 - Player04_Flameguard


550 - Player04_Valentine


551 - Player04_ValentineS
Changing enemies
Not only are there Aspirants not implemented, there's also some enemies (specifically the Flameguard).

You can actually swap these enemies into the game similar to the way you can with Aspirants.

The area where you handle this starts on line 555830. It has short sections that look like this:
<item> <NPC>2</NPC> <AI>2</AI> <Body>2</Body> </item>

Just replace the AI and Body with the ID of the enemy you want to swap in. Keep in mind the char length. Again, you should probably actually swap values rather than just overwriting if you want to be safe(r), but I don't think you have to do this if they have the same ID length.

The Flameguards are IDs 19, 20, 21, 22. They're pretty strong, so you should probably switch them in for an uncommon spawn if you're going to do this, like a Cathar (7) or Deaconess (12). I also don't suggest using the Mage (22), since its animations don't seem to be complete (it may seem like you're getting hit by nothing), though I'm not absolutely sure the others are totally complete either.

You can also swap bosses around like this, like getting the Salamander (24) into the dungeon (and working) as a boss fight (since he doesn't activate in his own arena in normal dungeon gameplay). He works totally fine in Boss Rush without having to do any modding though.
21 Comments
Bolivia 13 Dec, 2022 @ 4:14am 
Thanks, this is a really cool guide!
MrRabbit(Linux)#L2G 19 Apr, 2021 @ 4:24pm 
incredible :lunar2020hearteyesrabbit:
MIKA 25 Mar, 2021 @ 11:54am 
Made even sadder by the fact that the 5th aspirant is IMHO the best looking one in the game.
Wardog Bob 24 Mar, 2021 @ 10:35pm 
Not sure you'd need textures specifically for those areas... since there are textures from others that would work well enough but indeed it'd usually be done through an editor not raw text. I tested the unfinished characters and it does seem they don't gain stat boosts per level. They also seem to use characteristics from other characters so it's anyone's guess what weapons and dodge they were meant to have. My best guess to weapon additions could be ranged weapons and polearms/spears. In any event, thanks for sharing how to at least glimpse these characters even if ultimately they function like skins.
Lavian  [author] 24 Mar, 2021 @ 12:15pm 
I've only actually looked at the raw text, and level components in the assets file don't seem to be too obviously named, so that's a "no". Could probably view the textures that exist if the files were unpacked, but I'm not particularly interested in downloading third party tools for this.
MIKA 24 Mar, 2021 @ 6:22am 
By any chance, through your haxing of the game, have you come across any textures that looked like they might be from the last area, Lavian?
Lavian  [author] 23 Mar, 2021 @ 11:07pm 
There's Unity unpacking and repackaging tools out there that I haven't really looked into. It might be possible to pull off that sort of thing with those (I really don't know). I'm not sure what the limitations of those tools are since I haven't really looked into them.
Wardog Bob 23 Mar, 2021 @ 10:40pm 
Shame there's no way to populate the information to texture those last couple filler sections of the game. It's pretty jarring when you go into those.
MIKA 23 Jun, 2020 @ 2:07pm 
Would be worth looking into, for completeness's sake, if you feel like it and have the time.
Lavian  [author] 23 Jun, 2020 @ 2:02pm 
Possibly. I didn't go looking for it though. My guess is that there's probably information about that defined in the XML somewhere, but even then, there's not guarantee the models for the unimplemented Aspirant's phantoms exist. It doesn't really bother me at all, so I didn't make an effort to see if I could change it, but I may go poking around out of curiosity.