Firstly you need some text editor. I'm using Notepad++ but anything capable of editing .txt will do.
Second of all you'll need a tool for editing .unity3d files. I'm using "Unity Asset Bundle Extractor" (UABE for short). You can download it here (https://github.com/SeriousCache/UABE/releases) // UPDATE: just use stable release 2.2. Beta branch seems to crash a lot. // Put it wherever you like.
//UPDATE for 2024-07-15: In game version 3.7.1.1411+ most of the assets actually use compressed format without .unity3d extension. You can edit those in pretty much the same way with UABEA which is designed for more recent versions of Unity engine (https://github.com/nesrak1/UABEA).//
You can use this to edit not only talents and abilities but also many item properties.
Thirdly you need a ".unity3d" file or two to edit itself //or compressed file without extension in 3.7.1.1411+// . Each skill/talent/whatever usually has two with corresponding names. Both should be edited in the same way. Otherwise you will end up with situations where gaining talent through leveling will net different results than gaining it through plot progression and/or in game console command. It can also make things buggy (sometimes game loads assets from different file on reload) although from what I checked separation works well with something like 'greater focus'.
You'll find most of asset files in "[Game_Folder]\PillarsOfEternity_data\assetbundles\prefabs\objectbundle" For character ability "Arcane Veil" as an example those two files are "tln_arcane_veil.unity3d" & "arcane_veil.unity3d". //in 3.7.1.1411+ it's just "tln_arcane_veil" & "arcane_veil"// For active Item ability "Major Spellbind: Dimensional Shift" those two are "spellbind_major_dimensional_shift.unity3d" "spellbind_major_dimensional_shift_ability.unity3d" (you can make those work per encounter in the same way).
For the sake of discussion let's re-edit Arcane Veil through "arcane_veil.unity3d".
You launch UABE. From top ribbon you go 'file' > 'open'. Then you choose: 'Info' Bunch of columns, bunch of lines. You should focus on Columns 'Name' and 'Type' (Widen it for convenience).
Look for the Line with: Name "MonoBehavior" Type "MonoBehavior : GenericAbility (Assembly-CSharp.dll)" For Items it's slightly more varied so let's stick to abilities.
Mark that MonoBehavior line. "Export Dump" (it exports monobehavior as .txt). Put it wherever you want. Name doesn't matter. Only contents. I suggest keeping UABE Open.
Now you have ".txt" file you can easily edit. That's where we jump.
Inside look for the line with "int CooldownType = " In unmodded version it's: int CooldownType = 2 2 stands for "per rest" while 1 works "per encounter" and 0 is... modal I think although that one can be quite buggy and requires way more changes. Anyway: changing int CooldownType = 2 to int CooldownType = 1 makes Arcane Veil "per encounter".
In the same file you can see some other properties like float Cooldown = 2 Which stands for number of uses. And so on. For editing different properties you should look at other abilities that do what or work the way you like and compare differences.
Now back to UABE. You need to have the same MonoBehavior marked. Click "Import Dump" and use edited ".txt" file. From UABE Asset Info ribbon choose 'file' > 'save'. Click 'ok' at the bottom. From UABE main ribbon also choose 'file' > 'save'.
And you are done. You have edited .unity3d file. Now repeat the process for the other file with corresponding name.
To make it work you just replace original files in game folder from which you took originals (please remember to keep backups).
hey i tried this and i cant open any .unity3d files with UABE or the updated UABEA the program just crashes i can open the files with no extensions in this case it would be "arcane_veil" and make the same edits the problem is there's a bunch of mods that just don't work and i would like to copy their code(like the ranger and rogue buffs) to make a working version but i can't open them! could you (or anyone else really) check to see if you can still edit .unity3d files of this game? initially i thought it was the updates fault but that doesn't explain why i cant edit old mod files i tried removing the extension btw and it didn't work sorry it's a little off topic but yours is the newest mod that edits files in this way
I wanted to wait for any hot fixes just in case before reinstalling the game and going back to modding, but I'll take a look. That being said it will take days due to limited internet in my area. From patch notes I see Obsidian made some big changes to asset bundle files but crashing UABE is an odd behavior. I'll ask you for those .unity3d files in private for troubleshooting since this will be quicker. (check your inbox)
UPDATE: I managed to grab some files from version 3.7.1.1411 and oh boy. Obsidian really did shuffle a lot.
From what I can tell all those new/old files without extension are simply compressed assets that previously used .unity3d extension. You can edit those compressed files "only" with UABEA (https://github.com/nesrak1/UABEA) with pretty much the same logic (as UABEA uses similar layout to older UABE). The remaining .unity3d files do crash UABEA, but work fine in older UABE for me, stable version to be specific (https://github.com/SeriousCache/UABE/releases/tag/2.2stabled). I checked and saw that beta release 3.0 actually crashes a lot (I didn't even know it has newer release) so that was probably the source of the issue.
If not that I would need exact files or at least their names to check if it's just some unique scenario.
hey just tried uabe 2.2 and it worked! kind of weird that that the updated program has less compatibility than the older versions but in hindsight feels pretty obvious, anyway I've done most of my modding already but maybe this will help me with editing the animal companions. thxs a lot for the help i really appreciate it!
6 comments
Firstly you need some text editor.
I'm using Notepad++ but anything capable of editing .txt will do.
Second of all you'll need a tool for editing .unity3d files.
I'm using "Unity Asset Bundle Extractor" (UABE for short).
You can download it here (https://github.com/SeriousCache/UABE/releases) // UPDATE: just use stable release 2.2. Beta branch seems to crash a lot. //
Put it wherever you like.
//UPDATE for 2024-07-15:
In game version 3.7.1.1411+ most of the assets actually use compressed format without .unity3d extension. You can edit those in pretty much the same way with UABEA which is designed for more recent versions of Unity engine (https://github.com/nesrak1/UABEA).//
You can use this to edit not only talents and abilities but also many item properties.
Thirdly you need a ".unity3d" file or two to edit itself //or compressed file without extension in 3.7.1.1411+// . Each skill/talent/whatever usually has two with corresponding names.
Both should be edited in the same way. Otherwise you will end up with situations where gaining talent through leveling will net different results than gaining it through plot progression and/or in game console command.
It can also make things buggy (sometimes game loads assets from different file on reload) although from what I checked separation works well with something like 'greater focus'.
You'll find most of asset files in "[Game_Folder]\PillarsOfEternity_data\assetbundles\prefabs\objectbundle"
For character ability "Arcane Veil" as an example those two files are "tln_arcane_veil.unity3d" & "arcane_veil.unity3d".
//in 3.7.1.1411+ it's just "tln_arcane_veil" & "arcane_veil"//
For active Item ability "Major Spellbind: Dimensional Shift" those two are "spellbind_major_dimensional_shift.unity3d" "spellbind_major_dimensional_shift_ability.unity3d" (you can make those work per encounter in the same way).
For the sake of discussion let's re-edit Arcane Veil through "arcane_veil.unity3d".
You launch UABE.
From top ribbon you go 'file' > 'open'.
Then you choose: 'Info'
Bunch of columns, bunch of lines.
You should focus on Columns 'Name' and 'Type' (Widen it for convenience).
Look for the Line with:
Name "MonoBehavior"
Type "MonoBehavior : GenericAbility (Assembly-CSharp.dll)"
For Items it's slightly more varied so let's stick to abilities.
Mark that MonoBehavior line.
"Export Dump" (it exports monobehavior as .txt).
Put it wherever you want. Name doesn't matter. Only contents.
I suggest keeping UABE Open.
Now you have ".txt" file you can easily edit.
That's where we jump.
Inside look for the line with
"int CooldownType = "
In unmodded version it's:
int CooldownType = 2
2 stands for "per rest" while 1 works "per encounter" and 0 is... modal I think although that one can be quite buggy and requires way more changes.
Anyway: changing int CooldownType = 2 to int CooldownType = 1 makes Arcane Veil "per encounter".
In the same file you can see some other properties like
float Cooldown = 2
Which stands for number of uses.
And so on.
For editing different properties you should look at other abilities that do what or work the way you like and compare differences.
Now back to UABE.
You need to have the same MonoBehavior marked.
Click "Import Dump" and use edited ".txt" file.
From UABE Asset Info ribbon choose 'file' > 'save'.
Click 'ok' at the bottom.
From UABE main ribbon also choose 'file' > 'save'.
And you are done.
You have edited .unity3d file.
Now repeat the process for the other file with corresponding name.
To make it work you just replace original files in game folder from which you took originals (please remember to keep backups).
It's not too hard, but slow. I know. xD
Cheers.
could you (or anyone else really) check to see if you can still edit .unity3d files of this game?
initially i thought it was the updates fault but that doesn't explain why i cant edit old mod files
i tried removing the extension btw and it didn't work
sorry it's a little off topic but yours is the newest mod that edits files in this way
I wanted to wait for any hot fixes just in case before reinstalling the game and going back to modding, but I'll take a look. That being said it will take days due to limited internet in my area.
From patch notes I see Obsidian made some big changes to asset bundle files but crashing UABE is an odd behavior.
I'll ask you for those .unity3d files in private for troubleshooting since this will be quicker. (check your inbox)
I managed to grab some files from version 3.7.1.1411 and oh boy.
Obsidian really did shuffle a lot.
From what I can tell all those new/old files without extension are simply compressed assets that previously used .unity3d extension.
You can edit those compressed files "only" with UABEA (https://github.com/nesrak1/UABEA) with pretty much the same logic (as UABEA uses similar layout to older UABE).
The remaining .unity3d files do crash UABEA, but work fine in older UABE for me, stable version to be specific (https://github.com/SeriousCache/UABE/releases/tag/2.2stabled). I checked and saw that beta release 3.0 actually crashes a lot (I didn't even know it has newer release) so that was probably the source of the issue.
If not that I would need exact files or at least their names to check if it's just some unique scenario.
Cheers.
kind of weird that that the updated program has less compatibility than the older versions but in hindsight feels pretty obvious, anyway I've done most of my modding already but maybe this will help me with editing the animal companions.
thxs a lot for the help i really appreciate it!