Creating custom LittleBigPlanet costume pieces

There's pretty much no singular source that teaches people how to create LittleBigPlanet costume mods (outside of discord that is). And i keep seeing people asking how to create them, so i decided to write a quick guide to hopefully ease that whole ordeal

This guide will be VERY long, but this is simply because i'm going over EVERYTHING from zero, anything before "Actually making the accessory" only needs to be done once, and after practicing a bit the rest will pretty much feel "automatic" and quick

Getting your tools

Okay, you'll need quite a lot of tools to get this thing going, so here is all of them.

Getting Started

To get started we're gonna need two things, the model sack_boy, and your bigfart. sack_boy is the model for Sackboy, this is the one you'll use for rigging the outfits in. Bigfart is essentially what stores your profile's custom objects, this is where the mod will be installed.

Getting your bigfart

This is the easiest thing to obtain, first, enable HEN if you need, then press select + start. This will display your IP

After that, we're gonna go to our FTP client of preference, then connect to the IP you just obtained (in my case it's FileZilla)

Now, you're gonna want to go to /dev_hdd0/game/[TITLE_ID]_USER[NUMBER], where TITLE_ID is your game's title ID, and NUMBER the account number. Here's a quick table to help you find the game you need

Format LBP1 LBP2 LBP3
US EU ASIA US EU ASIA JP US EU ASIA
Digital NPUA80472 NPEA00241 NPHA80161 or NPHA80163 NPUA80662 Digital Edition: NPEA00324
Extras Edition: NPEA00437
BCAS20058 or NPHA80163 NPJA00123 NPUA81116 NPEA00515 NPHA80277
Disc BCUS98148
GOTY Edition: BCUS98208
BCES00141
GOTY Edition: BCES00611
BCUS98245 BCES01086 or BCES00850
Special Edition: BCUS98372
Extras Edition: BCES01693
BCAS20113 BCUS98362 BCES02068 or BCES01663

If you're unable to find the folder here, then don't worry, you can always check the spine of your game's box. it should be at the very bottom


Now, go to the folder and you'll find USRDIR, go inside and you'll see two files, bigfart____ and littlefart____. Download both. We're not going to use littlefart, but it's still worth backing up incase things go south

Now, make a copy of your bigfart as a backup, we'll have the Bigfart ready for modification.

getting sack_boy (Model)

This one will require usage of craftworld toolkit, which we've downloaded before. After you've dumped a copy of your game open Toolkit

In toolkit, go to file > gamedata, feed each of them the required file

After you've loaded both in, in the searchbox, type "sack_boy.mol". You'll find it under a few folders.

Right click it, then Export > Model > glTF 2.0

Export this somewhere. This is all you will need from now on

Actually making the costume piece

This is the part where we're actually going to create the costume itself. Before this you'll need to make a basis mod, workbench will come with one that works well enough for this (ctbx).

Make a copy of this folder, then on this copy, remove EVERYTHING but the costumes folder, and inside there, all but the "contributors" folder. Finally, remove everything but the "luigi" folder. This will be good enough as a mod basis. Clone the Luigi folder and name it after your model (not obligatory, but makes management easier down the lane)

The model side of the mod

Now, we're going to open Blender and import the sack_boy model we exported a few steps back. Go to Import > gLTF 2.0

Locate the sack_boy.glb file we obtained before, and then import that. We'll have Sackboy in our viewport now. We need to make a tweak before we begin weighting the model

Open the CATS plugin (very right of the viewport), then the button to the right of the "Start Pose Mode" button, then Apply as rest pose. This will make the armature not look weird and overall make positioning our model more predictable

After this, Parent your model to the sack_Boy armature, make sure you select "With Empty Groups", do NOT use automatic weights, as while it might work, it'll require a lot of mantenience after

Once that's done, we simply weight out model accordingly. While i'm not going over the details on how weight painting works, i can offer a few tips

With the model now weighted to the armature properly, delete all meshes associated with the original sackboy model. as if we don't it'll show up on our exported model. Then, File > Export > gLTF.
Export this model over the cloned folder, if the name shows up as red, then that's an indication it'll overwrite the file, press export and it'll do so.

Once that's done, you will need a render of the model (which i'll not go into detail on how to do so) which should be about 128px, or even 64px if you really need to save space. This is not obligatory, but it'll make the costume pieces easier to dicern in regards to how they'll look like. Overwrite the icon file like we did the glb file.

With that, almost everything is done, now all we neeed is to configure the json file for the piece to give it proper metadata.

Filling out info and finishing up

Now we just need to modify the info of our .json file. This will give it the proper name, description, and other information about the costume piece
When you open it, you should see something like this (with different info)

With this, it's for the most part just replacing content with things that fit, there's two exceptions, categories and regions (which you'll have to add yourself)

Categories are simply the parts of sackboy's costume slots that the piece will be apart of. Think of it as Minecraft armor, only that certain armor pieces require more slots than one. If costume piece A takes categories 1 and 2, equipping it will remove any objects in those categories. If you want to equip something in category 2, you have to take Costume piece A off, which the game does for you.

Then there's regions, this simply tells the game to hide any part of sackboy's model, this is usually done if you want to replace the mesh, or it's never seen, allowing you to make it invisible to save on resources

In general you should check out workbench's readme.md file (although keep in mind it's very outdated), it'll show you which categories and regions are available, alongside examlpe .json files for reference.

Compiling and installing to our profile

Here's the part where we start to utilize both workbench and toolkit, first, you'll need to compile your mod to whichever main-line game you wish to. This is done through the following command
node mod.js --build mod_name platform

Okay, let's explain a few things here. Workbench is a command-line utility, therefore you'll need to go to where workbench is located with a terminal. It's made with node.js, therefore you're required to install it through the command 'npm install', go to the folder and type that. Keep in mind, unless you do any modifications this only needs to be done once.

Once it's installed, lets talk about the command in place. the argument mod_name should be the name of the folder of your mod. and platform what game we want to compile for. it can be lbp1,lbp2,lbp3 or lbp3ps4.

After we write and execute the command, if nothing shows up in output it has most likely gone well, there'll be a folder in our mod's folder called "build", and within one called "dist". This is the mod file that we'll install to our profile

Installing the mod and overwriting our profile

Now we just need to open the bigfart with craftworld, then install the mod, and just send the bigfart to our ps3

To do this, we'll open the bigfart with Craftworld, simply use File > Load > Save Data > Big Profile

Now, we just go to tool > Install Mod, then we select the mod we just generated.

After all of this, this should be all, we simply send the bigfart to our console through FTP and overwrite it. Then ingame, equip it (at the very bottom) and ensure everything is working correctly.

Notes and tips

Fonts courtesy of int10h

Website colored from the palette Rosy42, which is made by PineTreePizza