Author Topic: absolute paths only?!?!?  (Read 226 times)


Relative pathing is a nightmare in general in Maya, but asset management for Substance is its own special level of hell.

Apparently there is no such thing as a relative path in Substance for Maya 2.1.4?

Seriously, this is a major issue. It means it is impossible to move or share projects or scenes without manually re-pathing every link to every SBSAR file.

The link to the SBSAR file in the substanceNode is an absolute path. I cannot edit this path. All I can do is browse for another absolute path.

The SBSAR file does not show up in the File Path Editor, so I have no recourse there, either.

So apparently, even though there is a /substance folder in the Maya project, that is only for cache files? The SBSAR files must live in a system folder, in the same location on every workstation? What about cross-platform projects? Will a link be broken if the scene is moved to a different operating system?

Really, truly, and seriously-- get it together. I am continually shocked at how products that are so advanced seem to utterly fail at the fundamentals such as BASIC ASSET MANAGEMENT.

This has caused a huge train wreck for me and I AM NOT HAPPY.

Maya in general works only in absolute paths. The attribute`substanceFile` could be altered in a Python or a bash script or something pre-launch if you use Maya Ascii scene files, which I recommend over the maya binary scene file. There may be some Maya utilities for doing that via Maya batch as well, but I never really used those. Judging from my experience with the API, Maya batch is how paths are intended to be altered like that. There may also be some utilities in pipeline software like Autodesk's Shotgun to do that as well.

We can look at seeing if the attribute for the sbsar file can be registered in the FPE. It is currently flagged as a file and set using the API, but that apparently isn't sufficient for it to be registered there.

The substance folder in Documents is just meant for configuration and temporary files. In the near future, we will allow project-based configuration. This will be after we have native support (no cache to disk) with Arnold, which is the next large release.
Last Edit: August 02, 2020, 05:16:05 pm
Software Engineer, Integrations
Maya, 3ds Max and Core Libraries

The only way to register it with the file path editor that I have found is through Mel, where just running this command will do it:

filePathEditor -registerType "substanceNode.substanceFile" -typeLabel "SBSAR";

So we can see if we can set that on the UI Mel register/unregister functions for the plugin.

We have the functionality set up to handle all this, there are API functions that I think it will call. However, I have never seen those functions called, so it may be unstable before some testing.
Last Edit: August 02, 2020, 06:03:14 pm
Software Engineer, Integrations
Maya, 3ds Max and Core Libraries

Thank you, Galen. I am a mere lone wolf artist, and dealing with this level of complexity is not my forte.

I look forward to you guys making this possible for me and all other users who do not have on-staff TDs to fill in the gaps in the software functionality.

It looks like that may be easily resolved. There should be a 2.1.5 release out this week adding it to the filepath editor. It also seems that Maya will automatically repath to files inside the project if it is moved and they are registered with the file path editor.

That is an odd bit of functionality associated there, but it seems to work fine.
Software Engineer, Integrations
Maya, 3ds Max and Core Libraries

This should be vastly improved now with the release of 2.1.5.

The filepath should now display in the file path editor, and when loading a scene, it should try to locate the sbsar in the project if you set Maya to the project. This should work between different platforms (MacOS, Linux, Windows).
Software Engineer, Integrations
Maya, 3ds Max and Core Libraries