Author Topic: [SOLVED] "Tiling Mode" doesn't work at run-time and isn't exposed in SBSAR  (Read 939 times)

Let's make an Integer parameter in a substance graph and assign it to the "Tiling Mode" function of any node, for example a "Transform2D" one. We can choose to expose it either as a slider or a drop-down list, it doesn't matter.

1.- It works as expected when you change its "Default" value in the graph's "Parameters" tab.
2.- It does nothing when you change it in the "Preview" tab.
3.- This exposed parameter doesn't even appear in the sbsar compiled graph, be it opened in Substance Player or in another application (3DS Max).
Last Edit: February 02, 2021, 04:21:58 pm

Hello @FncFuentes,

Thank you for reaching out to us!

The cause of this behaviour is the Tiling mode parameter is not dynamic.

This means that while it can be tweaked in a Substance Graph and its default value can be changed when exposed, it cannot be changed dynamically after the graph is cooked, i.e. when the package is published to SBSAR. Indeed, this parameter will simply not appear in the SBSAR parameters list.
A number of parameters are static (i.e. not dynamic), such as the Blend node's Blending mode or Shape node's Pattern.

It is currently technically challenging to detect if a graph input parameter controls a static parameter without significantly impacting the overall performance of the graph. This is why these parameters will still be listed in Preview mode, even if they will have no effect.

You can learn more in these sections of Substance Designer's documentation:
I hope this is helpful and informative!

Best regards,
QA Analyst
Substance Designer Team

Thank you, Luca, for your fast reply.

It's very strange; In the link you pointed out, "Tiling Mode" doesn't appear in the limitations table and I think to remember using some of these kind of parameters at run-time before. Moreover, in this tutorial you can see it working at run-time or at least in the preview tab (min. 21:00):

Substance Designer - Using Functions in the Transform 2D Node Matrix, by Olga Polukhina:

Please, don't feel bothered; I believe in what you say and your answer makes sense but I still think that I have used some of them before. Maybe it is something that have been changed recently?

Best regards.
Francisco Fuentes

Hello Francisco,

No worries, I enjoy the conversation!

This tutorial uses an old version of Substance Designer. Preview mode was reworked in version 2019.3.0 (9.3.0), and now better matches the behaviour of the SBSAR which would be published from a graph – still with some limitations, such as hiding static parameters.

In that sense, the new Preview mode is now more accurate in letting you know which parameters will work as intended in the SBSAR, and which ones would not.

I will add the Tiling mode property to the Limitations list in the Exposing a parameter page of our documentation. Thank you for the helpful feedback!

Feel free to let me know if I can be of further assistance.

Best regards,

QA Analyst
Substance Designer Team

Thank you, Luca.

I have just located an old an very elaborated substance I made in 2017. In it I was making use of the Base Parameter "Output Size" dynamically. I thought it was working fine back then but this was in a Material Function (aka filter) deep inside the main graph so I can't be so sure now. Anyways the console sends a lot of errors when I open this graph in the new version so I'll have to rebuild it from scratch if I need to use it again.

The point is that nowhere in the docs of the links you sent me says anything about not exposing this parameter either. It should warn about exposing any of these "Base Parameters" of any node. They don't appear when you choose the Expose Parameters menu in the node but what I do very often is to create the parameter forehand and then reference it inside the node's function, or choosing it from the drop-down menu of the node's properties panel. By doing it this way you have no warning at all of your mistake.

Anyways, I'll have it in mind from now on.

Thank you again.
Francisco Fuentes.

Hello Francisco,

Thank you for following up with additional details and feedback.

As stated in a previous message within this thread:
It is currently technically challenging to detect if a graph input parameter controls a static parameter, without significantly impacting the overall performance of the graph.

That being said. We understand the inconvenience of having no feedback when setting up a graph input parameter to drive a static node parameter.

I will look into making the list of documented static parameters as complete as possible, and making sure the limitations of exposing static parameters are surfaced properly in the documentation where needed.

Again, thank you for your valuable feedback!

Best regards,
QA Analyst
Substance Designer Team