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.

Publishing concepts

it is good to keep the following in mind when publishing a Substance compositing graph:

  • You publish a package, with all it contents, not an individual Substance compositing graph. A Substance 3D asset then lets you generate content from all Substance compositing 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 publish 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.
  • 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.

Excluding graphs from Substance 3D asset

Some graphs in your package might not be intended for usage outside. These sub-graphs are usually meant as part of a larger whole, a subroutine of a master material. 

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.

Substance 3D asset limitations

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 compositing 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.