Substance Painter is perhaps the most powerful tool offered for texturing game assets, and as of recent, Roblox games as well!
“SurfaceAppearance” allows you to input 4 different texture maps for meshes using Physically-Based Rendering (PBR) to provide more accurate mesh lighting and textures. You can read more about it here:
This post will cover how you can export your Substance Painter projects to Studio with the method I’ve found to be most effective.
In the SETTINGS
tab, set an export location for your textures. I recommend you make a general folder for all your exports, with subfolders for each project.
Then, select Roblox (SurfaceAppearance)
from the dropdown as your output template:
It’s important to know that this template is only available on very recent versions of Substance Painter. This screencap was taken on version 8.3.1.
If you're on an older version, open this hidden image and copy these settings. The colored squares correspond to the smaller ones on the right side of the screen.
Here are what the rest of your settings should look like:
“Wait a minute. Why only 1024x1024? Substance Painter can export 8K textures!”
The huge caveat in uploading textures to Roblox at the moment is that textures are capped at a 1K resolution. Even if you tried uploading a 4K texture, it would only make the process longer and your file size larger. It will still reduce it down. So, for the time being, just stick to 1K. Sorry!
Now, having selected your texture sets from the left list, you can click Export
and sit back while it works away!
You can export your mesh from Substance Painter using File > Export Mesh.
I’ll cover importing your mesh, textures, and merging the two in this final section.
Importing your mesh will be done in the Import 3D
window. You can access it through Home
.
You’ll be prompted to open your mesh file. After you select it, you’ll see this screen:
Adjust the settings as needed, such as renaming meshes.
Click Import
and voilà! Your mesh is imported! Scale it as you see fit, and adjust any mesh positions.
Next, we’ll get to importing your textures.
Open the Asset Manager
window from the View
tab.
On this new window, click the bulk import icon.
Navigate to where you exported your textures from Substance. If you’re unsure, check the File > Export Textures
window in Substance. It will show you your last selected export directory.
Select your textures, and click Open
.
A Bulk Import window will open, showing the progress of every upload you have queued. Sit back and relax.
When they’re all done, you can find your new images in the Asset Manager
in the Recently Added
category.
Now, let’s start putting it all together.
Open up the Insert Object
window and search for “SurfaceAppearance”
Select your mesh and double click on the SurfaceAppearance
object to insert it.
If your mesh consists of multiple parts, you can copy it into your MeshParts using this little trick with Shift + Left Click
!
Now comes the most boring part of the whole process.
Right-clicking your texture map, you can copy the decal’s ID to your clipboard and then paste it into the SurfaceAppearance properties. Make sure that the texture you’re applying is to the correct mesh and map!
If your mesh consists of multiple meshes with different texture sets for each (which mine does) then it’s simply just a rinse-and-repeat affair until you finish. If you have multiple meshes that do use the same texture set then you can just copy and paste the SurfaceAppearance object into each mesh.
The Roblox (SurfaceAppearance)
template uses the Opacity map from Substance Painter. What this means for you is that you can use AlphaMode
to either change the overlayed color of a mesh using it’s BrickColor or as a way to add transparency to objects.
If you’d like to learn how to paint opacity into your textures, I suggest following this tutorial by Stylized Station.
Using Overlay
allows you to change the color of the mesh using BrickColor
.
Using Transparency
will make your mesh transparent (shocker) where the opacity has been applied on the ColorMap.
Congratulations! Your mesh is ready to use!
Move your camera around your mesh to make sure that your Normal maps work as intended. If something is off, refer to the aforementioned documentation to optimize your lighting settings.
Enjoy!
Hi everybody! I’m glad to see that people have found this tutorial useful. I want to make sure that as many people as possible have the opportunity to getting their textured meshes from Substance to Roblox Studio as quickly as possible. The version of this tutorial you’re viewing is a rewrite completed in June 2023. The old version of this tutorial was written when Substance Painter wasn’t very commonly used by Roblox devs, and the tutorials available to them were pretty much nonexistent. I’ve decided to clean up some stuff here and there and get it up to date. The old version contained a method to set up your own export template in Substance Painter, but since then they’ve added a Roblox-compatible template by default. So whadya know?
Want to learn a little more about how you can use Substance Painter with Roblox Studio? Check out Noviius’ Recolorable PBR Textures tutorial!
Of course, thank you so much for taking the time to read this!