- Substance 3D home
- User guide
- Glossary
- Getting started
- Interface
- Interface
- Customizing your workspace
- Home screen
- Main toolbar
- Preferences
- Explorer
- Graph view
- Library
- Properties
- 2D view
- 3D view
- Dependency manager
- Resources
- Resources
- Importing, linking and new resources
- Bitmap resource
- Vector graphics (SVG) resource
- 3D scene resource
- AxF (Appearance eXchange Format)
- Font resource
- Warnings from dependencies
- Substance graphs
- Substance graphs
- Substance graph key concepts
- Creating a Substance graph
- Exposing a parameter
- Graph parameters
- Inheritance in Substance graphs
- Output size
- Values in Substance graphs
- Publishing Substance 3D asset files (SBSAR)
- Exporting bitmaps
- Exporting PSD files
- Sample Substance graphs
- Warnings in Substance graphs
- Nodes reference for Substance graphs
- Nodes reference for Substance graphs
- Atomic nodes
- Node library
- Node library
- Texture generators
- Texture generators
- Noises
- Noises
- 3D Perlin noise
- 3D Perlin noise fractal
- 3D Ridged noise fractal
- 3D Simplex noise
- 3D Voronoi
- 3D Voronoi fractal
- 3D Worley noise
- Anisotropic noise
- Blue noise fast
- BnW spots 1
- BnW spots 2
- BnW spots 3
- Cells 1
- Cells 2
- Cells 3
- Cells 4
- Clouds 1
- Clouds 2
- Clouds 3
- Creased
- Crystal 1
- Crystal 2
- Directional noise 1
- Directional noise 2
- Directional noise 3
- Directional noise 4
- Directional scratches
- Dirt 1
- Dirt 2
- Dirt 3
- Dirt 4
- Dirt 5
- Dirt gradient
- Fluid
- Fractal sum 1
- Fractal sum 2
- Fractal sum 3
- Fractal sum 4
- Fractal sum base
- Fur 1
- Fur 2
- Fur 3
- Gaussian noise
- Gaussian spots 1
- Gaussian spots 2
- Grunge concrete
- Grunge Damas
- Grunge galvanic large
- Grunge galvanic small
- Grunge leaks
- Grunge leaky paint
- Grunge map 001
- Grunge map 002
- Grunge map 003
- Grunge map 004
- Grunge map 005
- Grunge map 006
- Grunge map 007
- Grunge map 008
- Grunge map 009
- Grunge map 010
- Grunge map 011
- Grunge map 012
- Grunge map 013
- Grunge map 014
- Grunge map 015
- Grunge rough dirty
- Grunge rust fine
- Grunge scratches dirty
- Grunge scratches fine
- Grunge scratches rough
- Grunge shavings
- Grunge splashes dusty
- Grunge spots
- Grunge spots dirty
- Liquid
- Messy fibers 1
- Messy fibers 2
- Messy fibers 3
- Microscope view
- Moisture noise
- Perlin noise
- Plasma
- Caustics
- Voronoi
- Voronoi fractal
- Waveform 1
- White noise
- White noise fast
- Patterns
- Patterns
- 3D linear gradient
- 3D volume mask
- Alveolus
- Arc pavement
- Brick 1
- Brick 2
- Brick generator
- Checker 1
- Cube 3D
- Cube 3D GBuffers
- Fibers 1
- Fibers 2
- Gaussian 1
- Gaussian 2
- Gradient axial
- Gradient axial reflected
- Gradient circular
- Gradient linear 1
- Gradient linear 2
- Gradient linear 3
- Gradient radial
- Height extrude
- Mesh 1
- Mesh 2
- Panorama shape
- Polygon 1
- Polygon 2
- Scratches generator
- Shape
- Shape extrude
- Shape mapper
- Shape splatter
- Shape splatter blend
- Shape splatter data extract
- Shape splatter to mask
- Splatter
- Splatter circular
- Star
- Starburst
- Stripes
- Tile generator
- Tile random
- Tile random 2
- Tile sampler
- Triangle grid
- Weave 1
- Weave 2
- Weave generator
- Filters
- Filters
- Adjustments
- Adjustments
- Apply color palette
- Auto levels
- Channel mixer
- Chrominance extract
- Clamp
- Color match
- Color to mask
- Contrast/Luminosity
- Convert to linear
- Convert to sRGB
- Create color palette (16)
- Grayscale conversion advanced
- Hald CLUT
- HDR range viewer
- Height map frequencies mapper
- Highpass
- Histogram compute
- Histogram equalize
- Histogram range
- Histogram render
- Histogram scan
- Non-uniform histogram scan
- Histogram select
- Histogram shift
- ID to mask grayscale
- Invert
- Lighting cancel high frequencies
- Lighting cancel low frequencies
- Luminance highpass
- Min max
- Modify color palette
- Pow
- Quantize color (Simple)
- Quantize color
- Quantize grayscale
- Replace color
- Replace color range
- Threshold
- View color palette
- Blending
- Blurs
- Channels
- Effects
- Effects
- 3D texture position
- 3D texture SDF
- 3D texture surface render
- 3D texture volume render
- Ambient occlusion (HBAO)
- Ambient occlusion (RTAO)
- Anisotropic Kuwahara color
- Anisotropic Kuwahara grayscale
- Bevel
- Bevel smooth
- Cross section
- Curvature
- Curvature smooth
- Curvature sobel
- Diffusion color
- Diffusion grayscale
- Diffusion UV
- Directional distance
- Edge detect
- Emboss with gloss
- Extend shape
- Flood fill
- Flood fill mapper
- Flood fill to Bbox size
- Flood Fill to gradient
- Flood Fill to grayscale/color
- Flood Fill to index
- Flood Fill to position
- Flood Fill to random color
- Flood Fill to random grayscale
- FXAA
- Glow
- Mosaic
- Multi directional warp
- Non-uniform directional warp
- Reaction diffusion fast
- RT irradiance
- RT shadow
- Shadows
- Shape drop shadow
- Shape glow
- Shape stroke
- Summed area table
- Swirl
- Uber emboss
- Vector morph
- Vector warp
- Normal map
- Tiling
- Transforms
- Material filters
- Material filters
- 1-click
- Effects (Material)
- Transforms (Material)
- Blending (Material)
- PBR utilities
- Scan processing
- Mesh-based generators
- Mesh-based generators
- Mask generators
- Weathering
- Utilities (Mesh-based generators)
- Spline & Path tools
- Spline & Path tools
- Working with Path & Spline tools
- Path tools
- Spline tools
- Spline tools
- Paths to Spline
- Point list
- Scatter on Spline color
- Scatter on Spline grayscale
- Spline 2D transform
- Spline (Cubic)
- Spline (Poly quadratic)
- Spline append
- Spline bridge (2 Splines)
- Spline bridge (List)
- Spline bridge mapper color
- Spline bridge mapper grayscale
- Spline circle
- Spline fill
- Spline flow mapper
- Spline mapper color
- Spline mapper grayscale
- Spline merge list
- Spline render
- Spline sample height
- Spline sample thickness
- Spline select
- Spline warp
- UV mapper color
- UV mapper grayscale
- 3D view (Library)
- 3D view (Library)
- HDRI tools
- Node library
- Substance function graphs
- Substance function graphs
- What is a Substance function graph?
- Create and edit a Substance function graph
- The Substance function graph
- Variables
- FX-maps
- FX-Maps
- How it works
- The Iterate node
- The Quadrant node
- Using Substance function graphs in FX-Maps
- Warnings in Substance function graphs
- Sample Substance function graphs
- Nodes reference for Substance function graphs
- MDL graphs
- Bakers
- Best practices
- Pipeline and project configuration
- Color management
- Package metadata
- Scripting
- Scripting
- Plugin basics
- Plugin search paths
- Plugins packages
- Plugin manager
- Python editor
- Accessing graphs and selections
- Nodes and properties
- Undo and redo
- Application callbacks
- Creating user interface elements
- Adding actions to the Explorer toolbar
- Using color management
- Using spot colors
- Logging
- Using threads
- Debugging plugins using Visual Studio Code
- Porting previous plugins
- Packaging plugins
- Scripting API reference
- Technical issues
- Release notes
Publishing Substance 3D asset files (SBSAR)
This page explains how Substance 3D Designer can publish packages as Substance 3D asset files, a special file format with the SBSAR extension, used within the Substance ecosystem as well as in other applications supporting it.
It's usually better to use a Substance 3D asset instead of bitmaps, as it is a lot more flexible and lightweight. If you are using them in Substance 3D Painter, Sampler or Player, it is faster to use the Send To functionality.
In this page
Publishing concepts
it is good to keep the following in mind when publishing a Substance graph:
- You publish a package, with all it contents, not an individual Substance graph. A Substance 3D asset then lets you generate content from all Substance graphs inside this package.
- Published packages are completely stand-alone: all resources required are embedded into the file. That means they are much easier to share than SBS files.
- The output from Substance 3D assets can be completely dynamic. Resolution is not set; exposed parameters can be modified. However, editing the Graph is no longer possible.
- Substance 3D assets can be used outside of Designer, in all Adobe Substance 3D products, Adobe Dimension as well as any other application that has a Substance integration.
- Publishing is different from Exporting, make sure you understand well the difference.
Preparing to publish
Publishing takes some more preparation than Exporting Bitmaps. That's because your published Substance 3D assets are dynamic tools, not just a static snapshot of the current state of your textures. Specifically, you want to keep the following in mind:
Make sure graph resolutions (Output Size) are set to the Relative To parent inheritance method, which means they are dynamic and can be changed on the fly.
- Make sure graph outputs are set up correctly with names, labels and usage tags.
- Make sure Parameters, if needed are organized and named properly.
- Make sure the Output size property of all Bitmap nodes are set to the Absolute inheritance method. If that is not the case, their referenced Bitmap resource will be saved at the default 256*256 resolution in the published Substance 3D asset file, which will impact the quality of one or more outputs.
- If graphs are present in the package that should not be available outside of Designer (for example helper or "tool" sub-graphs that only work in a specific context), set them up to be hidden in their properties. See further below.
Publishing methods
Once you are ready to publish, there are two ways to access the Publishing Dialog, both are through the Explorer Window.
In the Explorer window, Right-clicking on the package and choosing Publish .sbsar file..., alternative Hotkey Ctrl + P.
After Publishing with dialog once, you can also use Publish .sbsar file as previous to repeat the publishing process without seeing the dialogs, immediately publishing with the same settings.
In the Explorer window, by clicking the Publish button in the top toolbar.
After Publishing with dialog once, you can also use the Publish as previous button to repeat the publishing process without seeing the dialogs, immediately publishing with the same settings.
Asset publishing options
Before the Asset Publish Options appear, you will be prompted to save the Substance 3D file (SBS) if this has not been done, and you will be prompted where to save the Substance 3D asset. To avoid seeing the file prompts and dialog and getting your file out faster, use Publish as previous methods described above.
The following options are available:
File Path opens a file dialog to choose where to save the Substance 3D asset file. The default path is the system's user documents. If the package was saved, the path is the package location. If the package was published during the session, the path is the last publish location.
Archive compression sets compression options for the archive, affects filesize.
Generate missing icons uses built-in PBR render techniques to create thumbnails for each graph's attribute.
Exposed graphs lists all graphs that will be exposed in this package, see below for excluding graphs.
Random Seed Exposure
The Random Seed exposure settings are no longer available in the Publish dialog. Instead, set your graph's random seed attribute to Absolute instead of relative to avoid it becoming available.
To exclude a graph from becoming visible or usable inside an Substance 3D asset file, access that graph's properties (double click empty area in graph View or single-click the graph in the Explorer), then open the Attributes rollout. Set Exposed in SBSAR to No to hide it when published.
Publish dialog warnings
The Publish dialog sometimes gives warnings in yellow. Common ones are listed below, with an explanation and solution.
- One or more graphs do not have an output
This warning means you are trying to publish a package with one or more graphs that have no output nodes. Solution is to add Output nodes to the graphs with a yellow warning triangle. - One or more graphs have a non-relative to parent output size parameter
This warning means one or more graphs have been set to incorrect Output sizes. Usually it is the properties of a graph itself. The warning means you will not have dynamic resolution control over this graph when published. Solution is to go into graph properties for those with a yellow triangle, and set the Output Size's inheritance method to Relative to Parent.
While the Substance 3D asset is the most powerful and most dynamic format in the Substance Ecosystem, there are some small, technical limitations to be aware of.
- Published Substance 3D asset packages are a one-way file format. You cannot "decompile" a Substance 3D asset back to a Substance 3D file (SBS). The only way to "edit" a Substance 3D asset, is to edit the original Substance 3D file. You can still use Substance 3D asset package contents as nodes inside new Substance graphs (open and drag-and-drop), so this is not a huge limitation.
- Substance 3D asset files have versions that infer compatibility. The core Substance Engine is updated from time to time with new features. packages that use these features need to be read by applications that support these new features. This is not an issue for all Substance Applications, as they are all updated at the same time, but Plugins and integrations might have longer compatibility delays.
Use the Substance Engine Compatibility display options in the Project Preferences to track down any potential issues. - Some exposed parameters – such as static parameters – are hidden once a graph is published as part of a Substance 3D asset. See the Limitations section of the Exposing a parameter page for a list of these parameters and to learn more about static parameters in general.