Modding:BG3 Mini Tool

From Baldur's Gate 3 Wiki
Revision as of 23:59, 12 April 2024 by EmeraldTechno (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

The BG3 Mini Tool is a tool by Padme4000 that has many useful functions for speeding up your modding workflow.

Where to download the tool: https://www.nexusmods.com/baldursgate3/mods/502

Functions of the tool and how to use them[edit | edit source]

Using mini tool to create/edit the .loca[edit | edit source]

If you don't want to edit the .loca manually, you can use Padme's mini tool to do it for you! Open the localization editor via the CharacterCreationAppearanceVisuals buttons, and find the open localization button in there.

This is what it looks like once open:

Locaeditor.webp

So first we see a Folder Path setup, if you haven't already, create the folders for the .loca file. Though while we are editing it the extension is .xml.

If you want to use the tool to create your folders, create a folder called Mods in the same folder as the tools exe. And put your mod folder in here. Now for the first box in the editor, fill in the exact name your workspace folder has, then you can check mod folders to see if it can see them and if you don't have them click Create folders. The tool will create the missing folders.

For Name Handle you want to first click Generate Unique Handle, and once it has one, click the Update button. Remember to always click the update button. And always check your files once done, just in case the tool didn't work for whatever reason or you forgot to press update, as you don't want clashing uuids/handles.

For Display Name, you want to write what you want the user to read when your asset is active. For example in character creation, it is the name your asset has when hovering over it. Once you have done that, click the Update button.

If you don't yet have a localization file, use the Save as button.

If you already have one setup, first use the Locate function to locate your localization.xml, the box above will fill in with that path. Then click Add to your mod file to add the new handle to your mod.

Congrats! You have finished setting up/using the mini tool to edit/create your localization file.

Just remember before packing to convert the xml to .loca with lslib, or if using multitool to pack, make your file extension .loca.xml for multitool to auto convert for you.

Using Minitool to create your CharacterCreationAppearanceVisuals[edit | edit source]

If you use Padme's mini tool, you can auto create these slots with it by opening up the tool and going to CharacterCreationAppearanceVisuals button.

Once open it will look like this:

Bg3 mini tool ccav.webp

SO first what you want to do is if you haven't already create your folders. If you haven't this tool does allow you to create the folders which it will then create in the tools directory into a folder called Mods.

If you get stuck wondering anything at any time feel free to click the ? buttons for more information. But once ready with your folders you can choose the Bodyshape your asset is being made for.

  • Default = the default shape the race uses. In this instance Dragonborn and Half Orcs use default not other.
  • Other = the other shape they use such as the strong bodyshape

Bodytype whether you want the asset for the Masc or Feminine body type.

Next up is the Handle. click Generate Unique Handle or copy in the handle you made in your localisation file. Alternatively if you haven't already setup your localisation file you can use the open Localisation editor. Once ready click the button that says Update.

Always press update once you are finished with a section.

RaceUUID - this is the id that defines the race that asset is used for. Click on the drop down menu to get options like below:

Ccavracedropdown.webp

This list by default is only the vanilla races. The last option is the stand in example for adding custom race uuids to the list so you can use it from this part of the tool. If you add any by following the nect header section it will update when you click the list again. Sometimes may need a double click.

Choose the race you want to use from the dropdown and then click update.

Our next drop down menu is for the Slotname:

Ccavslotnamedropdown.webp

You might need to click twice for the whole list to show. For ours we want to choose Hair. Then click update. But the rest of that list is what else can get added via CCAV. Feel free to add custom ones to the list as well if you have managed to add any custom ones, or any I may have forgotten from the list.

Next up is Unique UUID, for this we first want to click Generate Unique UUID and then click update.

VisualResource if you haven't already you can generate an id for use in your merged file here. but if you have already setup your merged file copy over the uuid we used for the ID line here and then click update.

We have now setup the file, so next if we don't have an already existing CharacterCreationAppearanceVisuals file we use Save as button. Navigate to the ModName/Public/YourShared/CharacterCreation folder and save your file.

If you already have a file use the locate your CharacterCreationAppearanceVisuals.lsx button and navitagte to your file. Once setup the bottom box will change to your path. Now you can click Add to your mod file if you want to add new slots to an already existing file.

Congrats you have made your CharacterCreationAppearanceVisuals with the mini tool.

Adding modded races to the Minitool CCAV option[edit | edit source]

If wanting to use the one slot creation of the mini tool you can add custom races to the Races.txt found in the LSX Files folder that comes with the tool. It uses the files in this folder for the tool. So you might want to backup this folder before editing just in case of any mistakes.

When you open the Races.txt you will be met with this:

RaceUUID so you can quickly replace the above with your desired race
	Drow: 4f5d1434-5175-4fa9-b7dc-ab24fba37929
	Dwarf: 0ab2874d-cfdc-405e-8a97-d37bfbb23c52
	Elf: 6c038dcb-7eb5-431d-84f8-cecfaf1c0c5a
	Githyanki: bdf9b779-002c-4077-b377-8ea7c1faa795
	Gnome: f1b3f884-4029-4f0f-b158-1f9fe0ae5a0d
	HalfElf/Drow: 45f4ac10-3c89-4fb2-b37d-f973bb9110c0
	Halfling: 78cd3bcc-1c43-4a2a-aa80-c34322c16a04
	Human: 0eb594cb-8820-4be6-a58d-8be7a1a98fba
	Tiefling: b6dccbed-30f3-424b-a181-c4540cf38197
	Dragonborn: 9c61a74a-20df-4119-89c5-d996956b6c66
	Half-Orc: 5c39a726-71c8-4748-ba8d-f768b3c11a91
	
Modded Races
	Race Name: 00000000-0000-0000-0000-000000000000
	
To add a new race to the list add them like above. Name of the race and then colon and the RaceUUID

The top lines you might recognise as the uuids from the bottom of the CharacterCreationAppearanceVisuals in my template. This is because the way I set it up is it reads first the name and anything that follows after the : should be the race uuid.

So to add custom races you can add them under Modded Races, you can add them to the top list as well as I just separated them for ease of use.

So you would follow the same format and type the name you want to show up in the dropdown menu and followed straight by a : and then space and then the UUID for your/that custom race.

Minitool 32 CCAV Entries all at Once option[edit | edit source]

So if making a hair for all races and you would prefer using the CCAV file you can use the 32 CCAV Entries all at Once option to add them all at once to the 32 entries needed to add them to vanilla races that use hairs. So all minus Dragonborn.

When that is open it looks like this:

Ccav32entries.webp

SO first what you want to do is click Generate Unique Handle or copy in the handle you made in your localisation file and once in click the button that says Update.

Always press update once you are finished with a section.

You will notice this is missing a few things from the CharacterCreationAppearanceVisuals part of the tool. That is because it is already setup for all the races. So we don't need that dropdown menu here.

In the Name section add the name for your asset, this will add a comment to your file so you can better find it when needing to. Press update when your name for your asset is filled in.

Slotname works just like the other file.

Ccavslotnamedropdown.webp

You might need to click twice for the whole list to show. For ours we want to choose Hair. Then click update. But the rest of that list is what else can get added via CCAV. Feel free to add custom ones to the list as well if you have managed to add any custom ones, or any I may have forgotten from the list.

VisualResource in your assets merged copy over the uuid we used for the ID line here and then click update.

Next click Generate Unique UUIDs this will change every instance of the UniqueUUID line to a unique uuid for each slot. No repeats.

We have now setup the file, so next if we don't have an already existing CharacterCreationAppearanceVisuals file we use Save as button. Navigate to the ModName/Public/YourShared/CharacterCreation folder and save your file.

If you already have a file use the locate your CharacterCreationAppearanceVisuals.lsx button and navitagte to your file. Once setup the bottom box will change to your path. Now you can click Add to your mod file if you want to add new slots to an already existing file.

Congrats you have made your CharacterCreationAppearanceVisuals with the mini tool for all 32 vanilla slots.

Adding modded races to the Minitool 32 CCAV Entries all at Once option[edit | edit source]

If you want to add custom/modded races to the 32 slot option, it is possible all you need to do is go to the LSX Files folder included with the tool (make sure to make a backup folder just in case) and edit CharacterCreationAppearanceVisuals_ForAll.lsx

In here you will find comments such as and then race specific comments. I do this for organistation of the file. it does nothing in the game.

Copy any of the entries so for example:

       <node id="CharacterCreationAppearanceVisual">
         <attribute id="BodyShape" type="uint8" value="0" />
         <attribute id="BodyType" type="uint8" value="0" />
         <attribute id="DisplayName" type="TranslatedString" handle="h70718c5dg76b9g402cgbe76ge5b2d9abaa1f" version="1" />
         <attribute id="RaceUUID" type="guid" value="b6dccbed-30f3-424b-a181-c4540cf38197" />
         <attribute id="SlotName" type="FixedString" value="Hair" />
         <attribute id="UUID" type="guid" value="259cf9c6-c6f1-4265-b4b8-dd45f2a3772f" />
         <attribute id="VisualResource" type="guid" value="00000000-0000-0000-0000-000000000000" />
       </node>

Once copied we want to change the RaceUUID line to the UUID of the custom/modded race.

         <attribute id="BodyType" type="uint8" value="1" />

Copy again the whole piece and then for the fem form if the race has one as this is currently set up for masc, change the Bodytype from 0 to 1 for fem.

         <attribute id="BodyShape" type="uint8" value="1" />

copy again if the race has a strong bodyshape and change bodyshape value from 0 to 1. If the default shape is the strong shape then leave it at 0.

And that is all that needs changing. Nothing in my code needs changing so you don't need to worry abuot that, copy these sections as much as you need. And then use the tool as normal and it will edit the 32 vanilla entries plus all the modded entries you added.