This tutorial is based off of the Mario
Kart 8 custom track tutorial as it goes over BFRES and KCL already.
Credits to KillzXGaming for the original tutorial. Some parts have
been deleted or heavily modified to fit what we can do for splatoon.
This tutorial covers only simple stages with flat colors and no decor
REMINDER THAT YOUR STAGE, IF ANY POINT
IS BELOW THE ORIGIN IS NOT INKABLE.
be found on my server)
Wexos toolbox(Can be
found on my server)
dimension(Can be found on my server)
Splat3d0.2 (can be
found on the internet tough to install may want to ask for help in
Splatoon models are
located in vol:/content/model. The files in this stage have the
.bfres extension. These .bfres files contain all models, textures,
animations and other necessary data for the stage to appear in-game
as it does.
Object data for
stages is NOT stored inside of the .bfres files. Instead, this data
is stored inside of the static.pack file located in
vol:/content/pack. Inside of the pack, there is a folder called
‘map’. Inside of this folder are multiple files that bear the
.szs extension. These files can be unpacked using (Uwizard Woomy) to
reveal a new file that bears the .byaml extension. This file contains
all the object data for the stage it is tied to, and can be edited
using (The4thdimension and Splat3d)
Now that we have
gone through some files and how to edit them, it is time to make our
own stage! Next up will be the modeling part!
Before you start
making a model, it is important to know that the stage has a vert
limit of 15.000. The file size of custom stages cannot be bigger than
the file size of the original stage either. Any patch of turf below
another patch of turf will not be inkable. Any point below 0 will not
be inkable, walls are not inkable no matter what collision you put on
them (replace them with ramps)
There are multiple
programs which can be used to make stage models. Recommended programs
- 3DS Max
It is important that you separate all
the textures by type: Wall, floor and décor. This can be done by
separating by object. Once this has been done, the model can be
exported with the .dae extension. This can be done by Selecting
export with your modeling program of choice.
After the stage has been exported, the
stage can be opened in Wexos Toolbox. This tool can import the file
bearing the .dae extension. However, compatibility may vary.
Following is a list of accepted formats from each modeling tool and
Blender: .DAE (Sometimes unstable! May
3DS Max: .OBJ, .DAE
Sketchup ???? Run through blender
You are familiar with brawlbox, this
tool is somewhat similar.
First of all, you will need to Open the
stage that will be used as a base. It is advised to make a back-up as
well. This can be done by Copying all files you modify into a
separate folder and storing that folder in safe place. Then open the
szs file you'll be porting over with Wexos tool box. (a stage to base
your imports on is in my discordhttps://discord.gg/J6x4XxM)
Before you start, it is recommended to
look at the selector option. All materials need to have their own
map. (Maps are textures that combine to make the reflectivity, depth,
and color of a texture) Following is a list of all materials and
- Alb: the main texture
- Nrm: a Normal Map for a bump effect.
Makes your texture appear less flat.
- Spm: the shininess of your texture
- Emm: the Emission texture which
controls brightness or glow. Great for signs or panels.(Not
- Bake: the lighting and shadow
Some materials may not have all the
maps you need. In this case, it is best to keep looking for a better
map. Adding or removing maps on an existing material is not possible.
Now let's open the output.bfres you
open the materials’ folder .
Now to export a material simply right
click and export the material from the original stage.
To replace the old model with the new
one just right click the stage model and select replace.
Then select the .dae format
Select your dae file you exported and
then a settings box should appear.
These are the settings I use.
Then press OK.
Now your model will replace the
(You can right click on your model and
preview it! This is useful for looking at texture mapping and if the
model looks fine.)
Now replace all the materials In your
model with materials from the original model
There are a wide array of formats a
texture can have. Following is a list containing some of these types:
- T_BC3_UNORM or T_BC3_SRGB: For
transparent textures (and second bake map)
- T_BC1_UNORM or T_BC1_SRGB: For
most textures not transparent (also first bake map)
- T_BC4_UNORM or T_BC4_SRGB: for
black and white textures
- T_BC5_UNORM or T_BC5_SRGB: for
normal maps (recommend UNORM, SRGB can be too shiny or weird at
These types of images are often not
used, but are available if needed:
- TCS_R8_G8_B8_A8_SRGB: High
quality textures. This type should only be used with smaller/few
textures due to the size these textures can be. When used too much,
it could crash the game due to the size limits.
- TC_R5_G5_B5_A1_UNORM: A bit
smaller than TCS_R8_G8_B8_A8_SRGB
- T_BC2_UNORM or T_BC2_SRGB:
slightly smaller than BC3 and supports transparency.
SRGB may have a slightly better color
range. Whatever comes out best for you in the previewer
Keep in mind that higher file sizes are
tied to a higher risk of crashing the game. Try to keep the size of
the textures as close as the size of the original textures if
maps Are done prior to importing to Wexos toolbox
Simply replace the textures in wexos
toolbox in the textures folder with the textures you used on your
The this part will focus on how to
import and apply premade textures into your project.
Go to the textures tab.
Right click the textures section like
you did model and click import (Or replace if you are replacing
You have many options to choose from. I
often use .PNG.
Refer to the previous section for what
to set this to.
For saving bake maps set the mipmap
amount to 0.
Now that is done our texture is now
To apply all you need to do is go to
the materials and add it to the selector as note in the materials
section(not needed for replacements)
(Culling is a technique used to make a
certain part of a model not viewable from a particular viewpoint.
You can remove this if you need to see
both faces/sides of a model by setting this to both faces.
For most objects like roads on the
ground or one sided walls, I suggest keeping this to front.
Save the output bfres over the one you
Splatoon has collision done with a KCL
file. This is basically a simplified model that has materials for
specific properties such as metal being not inkable or a piece of
wood being inkable. These also can have invisible walls to prevent
out of bounds.
For Inkable collision types, the game
seperates them by wall and floors, and there is also non-inkable
types (plus grates for passing through in squid form). Here is a list
of some that are very useful and in hex format:
0040: Inkable (Floors)
0080: Inkable (Walls)
0009: Inkable (Ceiling? Maybe)
0012: Uninkable Metal
4007: Grates (Pass through as squid,
can stand on as a kid)
Export your stage model from Wexos
toolbox as an obj
Go to the Cafe KCL option. Select it
then open your .obj.
You will get a box on objects.
Now you type in the collision types.
Press OK once you are sure.
Then File - Save As and then save as a
KCL over the KCL you exported earlier)
Now download and open Uwizard.Woomy.
Press the tab “Archive Manager” and press the “Pack and
Compress SARC.SZS” button. This will open a file explorer window.
From here, you will need to select the folder containing your map
(the file with the .bfres extension) and the collision data (the file
with the .klc extension) and the paint.params(the third file). Press
the “Select Folder” button and a new file explorer window will
pop up. In this window, select the location you want to save your map
to and press the “Save” button. This will save the edited stage
as a file with the .szs extension.
When replacing the object data, do the
above and replace the original object data file in the extracted
.pack file with your new object data file. Then open up Uwizard.Woomy
again and change the value in the dropdown box to 2000. Then press
the “Pack .PACK (Adjustable Padding)” button. A new file explorer
window will open. Select the static.pack folder and press the “Select
Folder” button. Once you do this, another file explorer window will
pop up. Select the location you want to save the file to and press
the “Save” button. This will create a new static.pack with your
new object data in it and save it on the selected location.
Q: My mod crashes from the Fld szs
A: This error can have multiple causes.
Please read the following solutions and make sure your stage matches
all the requirements:
-Make sure it is Yaz0 compressed with
2000 padding (use Uwizard.Woomy to pack with padding.)
-Check errors in wexos toolbox with
-Make sure you are only using materials
from one stage used as a base! Any other ones will crash.
-Make sure you have everything with
-Only use a few TCS_R8_G8_B8_A8_SRGB
textures. Any more can crash! If you really need to add more try
lowering the resolution of the texture. BC1 or BC3 is also best for
most transparent textures due to smaller size!
Q: My mod crashes from the KCL
A: Make sure your KCL is under 65535
Q: Will Splatoon 2 be moddable?
A: The file formats are fairly similar,
KCL is already editable and BYAML is getting there too so I can
imagine it will once the bfres format is fully rebuilt and the switch
is fully hacked.