1. IntroductionThis tutorial will be guiding you through the steps to learning how to import your own models in Super Smash Bros. Ultimate. This tutorial presumes you are importing over a character due to complexity, but this will work on any standard game model such as items or Assist Trophies in most cases.
1.1. Some Notes Before StartingThis tutorial assumes you have an exploitable Switch and are capable of modding the game and know how to install mods.
This tutorial assumes you have experience interacting with Blender and other basics. If not, there are plenty of guides out there to assist you with learning blender. If you are more used to using 3DS Max, there is a separate guide for that.
Please do not release unfinished work as a full mod. Also, do not submit a work in progress for mods you have not started. If you require help with your mods, the recommended option is to ask in the Smash Ultimate Modding Hub Discord (link is on the front page of the Ultimate section here), but making a help thread is another option.
**Please avoid using Brawl models as they are lower-poly and lower-detail than models from Ultimate. Finding a better model or sculpting your own contributes to the quality of your work!
Credit any content you may have used for your mods when releasing or showcasing. Taking credit for content you did not create from scratch isn't cool or permitted.
- Blender (2.8 or higher)
- Blender Source Tools (do not Unzip. Install with File > Preferences > Add-ons > Install... and make sure to tick the small box)
- StudioSB (in some cases, the later steps using this program will cause errors when exporting. If this bug is still not fixed at the time you are reading this, install this version and make sure to unblock the .7z file)
- Switch Toolbox
3. Setting Everything UpThe most crucial thing you need is Blender. Blender is free, open source, and lightweight in design. It can run on less powerful computers compared to 3DS Max and boasts a large variety of plugins and community support.
For finding a model to use, you can use ones from The Models Resource, another site, a clean rip from a game, or a custom creation of your own. I would heavily advise you not use poor quality random models if you are trying to aim for a good quality mod. It is heavily recommended to retexture models you find online if they are not adequate in detail and clean models to preserve their quality. However, tweaking and editing existing models or making your own is the best solution as you have more freedom to work with and bake normal maps, PBR maps, and more.
Once you have your model, launch Blender. Once it does fully open, go to File > Import > your model's file type. Find your model's file and import it into the scene. If your model is in a format that is not supported by Blender, search for a plugin to import it or use the program Noesis to convert it, if supported.
For example purposes, I will be using a generic human character as a test rig. If you have blue or green-ish hues with detailed patterns all over them, they are likely to be normal maps or different types of PBR maps, which can be imported later on to give your character more detail. If you don't have these, there are tools to create them and guides online, either from your texture, or from baking the model in a 3D software suite such as Blender.
Now to the right of Blender, in the default interface, you should see the Scene Explorer. If you can't find it anywhere else or you haven't set up your own interface, reconfigure your UI layout.
If you see bones or anything other than the meshes (your characters model) in the current scene, remove them now. This is so we can import the Smash Ultimate skeleton of the fighter you are importing over without conflicts. Alternatively, if you need to edit the proportions, you could use this existing skeleton to re-proportion the model to more closely fit a character's model.
Your character should be facing in the grid now similar to the screenshot. If they aren't, change the rotation in intervals of 90 to properly lie/center your model in (or on, depending on character) the grid.
Now that we have our model set up, we need to extract and import our character from Smash into the scene. Character models are located in the directory of CrossArc:
fighternamehere should be obvious as to what it implies, but cXX refers to any of the folders that start with the letter 'c.' You should be extracting the whole cXX folder.
To import a Smash Ultimate model into the scene, the first thing you will need to do is download StudioSB if you haven't already and launch it.
This is what the interface should look like by default. Go to File > Open > Folder and select the folder of the costume you wish to replace. c00 is the default costume/look of a character, so we'll be selecting that for the tutorial. I will be using Luigi for the example. Reminder you will need all the other files in the costume folder so make sure those are extracted from CrossArc.
Click on model.numdlb. Your character should pop into the scene in their default pose. Go to File > Export > Scene to File(s). Name your file accordingly and make sure it ends with the .smd format, something like default_luigi.smd will do. You can also use .dae if you want to replace the character's eyes, but it may cause issues. Keep in mind you can keep certain parts of the model in the scene afterwards and you don't have to totally replace everything.
Now, back in blender, you will need to import again similar to last time, but instead import as SMD/DAE.
Delete all the models/objects of the default Smash character that just got imported in the scene, and make sure to keep the bones. If you want to only do something simple like replace a character's clothes, you should still remove the original models from the scene, or only keep the ones you plan to edit. Make sure you leave your new custom model(s) in.
You can also scale and repose, and it is heavily recommended to make sure that the character is lying straight on the ground and not at an odd angle. Its also useful to move the model up and down so that the proportions occupy the same relative space.
Don't be wary if your model doesn't completely fit. Vertexing the model, or editing the portions of the model, can help immensely in certain models that don't fit perfectly.
Before you start on the next step, I highly recommend using Noesis on your models first before rigging or importing. To do this, select your model(s) and go to Export > Export Selected > and set as fbx with the default export setting of scale being "1.0". Then, open noesis and locate the fbx file, right click on it, hit export, set to fbx, and it should export properly. Now delete your original meshes before importing, and import the fbx as usual but with a scale setting being 1.0. Then one by one for each mesh set the rotation of 90 to 0, or back to what it was originally.
4. Rigging the ModelRigging a model is the process of bringing life to a static 3D model. Some of you may know about T-posing or A-posing, which are both commonly used positions for rigging a model. Smash uses T-poses for most of the character models but it varies some depending on the character.
For any bones that you do not need to rig onto, for example, Captain Falcon's scarf bones on a character who has no scarf, you can choose not to rig to them, as they would be redundant to add. If you're rigging a character who doesn't need them, for example Rayman, this principle applies. Experiment to see what works for your model if you need to do so.
If you are clueless on weighting and rigging in general, there are great tutorials to help you out with bones and rigging. Below are two short guides that explain the fundamentals, but there are many more advanced tutorials for Blender 2.8 rigging that go much more in detail for specific types of rigs and rigging.
The main principle you want to follow is to understand the fundamentals: Everything is balanced together between the bones, meaning that if you want a smooth stretch you would want a mixed value for limbs, i.e the Kneecap is roughly half rigged to the knee bone and half to the Leg bone. This also means everything has to be rigged to something in order to move.
It is very important to know how to rig and weight so your character has proper structure in-game.
Explaining of the finger bones and hand rigging. Drawn by Y2K.
Make sure your models all are rigged properly and have been weighted before exporting and testing. Errors you may get may happen due to some vertices not having any weights, dead vertices, or in the case of compression failing, just being too high polygon of a model.
5. ExpressionsIf you want to have expressions, you will either have to duplicate the existing facial expression and edit the models so they indicate different emotions or create flat textured expressions that change their UV depending on the expression. You can also use vertex edits to make expressions without totally remodelling or sculpting. Expressions, of course are entirely optional but highly recommended. There's no one "right" way to do expressions.
For naming these types of models and making them work in-game, you have to make the model names match up and you must pay attention to the FAQ below that lets you know how to order them in the same way the original model did.
You'll also want to select the Weight Tools panel in the toolbar and run Limit Total, which will remove vertex groups with the lowest weights. The default of 4 shouldn't be changed.
Now we want to smooth our normals before exporting. Some models, like swords, might need manually edited normals so they look as sharp as they should be. You might also want to make a seam in a model like in specific clothing pieces.
Now that the rigging process is finally completed (note that this will likely not be your final rig and you will need to make adjustments later on), we are ready to export the model from Blender.
Export as SMD, and in your StudioSB window, go to File > Import > Model and select your newly exported SMD file.
6. Model Importing / StudioSB UsageStudioSB is an application designed to mainly preview and import models. However, it has other functions such as animation viewing. It is regularly updated every so often, so I'd download a new release if you haven't done this in a while or ever.
Open the application and navigate to "File", "Import", then "Model". Locate and select your file to import it. Select import and it should appear alongside the rest of the original characters or objects models which you can remove if needed. If you want to view animations for the sake of testing what the rig looks like, you can do file > import > animation > and locate the extracted animation folder and choose one to your liking.
7. Texture Replacement & Material EditingThe way textures are currently set up in Ultimate are somewhat limited to due to having to use pre-existing materials. Each material has a set of textures assigned to it and their own unique set of parameters that decide effects like how bright or dark a diffuse will appear.
What this means is that you'll have varying degrees of freedom depending on the original character's material count. Luckily, you can use whatever materials that already exist and replace textures that are assigned to them.
Eye materials, such as EyeL - EyeRL in many characters, use a base texture for the eye itself and then overlay the pupil as a seperate texture by using the 2nd UV layer, which allows the pupil to move independently. You'll want to make sure ExportUVSet1 is set to True in the export options menu under the Mesh Panel if you plan to use the Eye material for your eye mesh, but some characters don't use this method.
Unfortunately, since FBX export is bugged for Blender users of StudioSB implementing moving eyes won't work unless you use DAE file imports over SMD file imports. DAE is known to break however and should only be used in cases where it is necessary. If you're not replacing or changing the eyes of the base character you won't have to worry about this.
For example, this is Palutena's material list found in the Mesh Panel of StudioSB.
Different materials assign different textures to objects. If you set a model's mesh to metal_palutena_002, it'll use the texture set of .nutexb files starting with metal_palutena_002.
Some materials aren't labelled this way, or were never properly labelled, such as Mario's main body material. If you want to make sure you know what texture file or files a certain material uses, you can go to View > Material Editor > to find your material and then scroll down to find which textures it uses.
You can also edit certain materials to change parameter values or lead to other texture files in external software such as CrossMod with the material editor, or by using Mat Lab which is a command line tool. You can find both of their releases here. The material file for all characters is model.numatb with the World of Light materials being
Adding certain effects such as transparency still needs research, but some modders have found success in adding transparency effects using Mat Lab to change the ending of a material's base name from
_sort, setting both
BlendFactor2parameters to 2 or 6, and turning
Unk10to 5. If a material already has the
_sortin the Material Editor of StudioSB, it can already handle transparent textures.
For replacing the textures of whatever material/materials you use, I've made a separate tutorial that should go into proper detail on replacing the existing character's texture maps. You can find it here.
8. PBR & Normal MapsAll characters make usage of Normal (nor) maps and Parameter (prm) maps which you will need to bake or design custom textures for. PRM maps are essentially a collection of PBR textures packaged into one image. If you don't know what PBR is, PBR stands for Physically based rendering, which is a technique Smash uses to create high quality reflections and lighting. Each color channel represents a different texture:
A simplified explanation of this is essentially that the higher a color value for a certain spot the more extreme the effect. If the metal channel for instance is set to be 100% red, it will look very metallic ingame.
If you also want to make it so that it looks natural while your character is getting inked, you will need to bake a blend map for the blue color channel of the normal map, with the darker parts being inked later on. This is doable in 3D software suites like 3DS Max and Blender. This is an example of a blend map which is used for the effect (also present in the Metal, Gold, and Ditto transitioning effects):
The blue channel of normal maps will generally look similar to this with the darker spots being inked later and the brightest (or deepest blue) spots being inked earlier. I would also make sure to have the eyes completely black in the blend map since in the base game the eyes never get inked for all characters.
Setting up proper PBR textures is very important to making the model look great ingame and I highly suggest you take the time to implement these effects if you have the skillset to do so.
9.1. Game Soft-lock or CrashYou might have broken something along the way with your textures. To diagnose a crash, remove the textures first to see if it's your model or not. If your model caused the crash, there is a chance you have corrupted your model across the way. Try using a clean rip of your character's model to import over and export again. Alternatively, if this doesn't work, uninstall and reinstall with a backup data.arc in UMM.
9.2. Model appears as a Yellow Checkerboard IngameThere is a missing vertex attribute on your mesh or meshes which basically means you forgot to export with something important that the game couldn't find.
It could be anything, but common culprits are ExportMap1 and ExportColorSet1 for most regular models. For stage imports, it's usually Bake1.
If you can't seem to figure out what you're missing, I would reference whatever Export Options are labelled on the original material's models. For example, if you are using skin_palutena_001, reference the export options of the original character's meshes that used skin_palutena_001 and try to replicate it for the meshes that use that material on your import.