[Pipeline] Gutting Maya

#1

Setting up a Pipeline for our product-centric rendering operation. Have a good chunk of the standalone Pyside2 launcher / core-utility written. Now I’m getting into DCC specific stuff (Maya).

Does anyone have any suggestions on how to make Maya lighter on-boot? I assume much of this has to come with plug-in loading times. I’d like to control which plug-ins for Maya get loaded at user-boot. Is the only option for this re-writing the pluginPrefs.mel before each boot to ensure extraneous plugins do not get loaded?

I’d be interested in any all advice on things I can do to set Maya up to be as lite as possible. Is it a common-place thing to load plugins on the fly when pipeline needs require said plugin?

Like FBX exporter for instance. We will need to export FBX files as part of pipeline operation, but no need loading the plugin on Maya startup each session if there’s a chance it won’t be utilized. Good idea? Bad Idea? I was thinking of doing the same to Houdini Engine as we will be using Houdini Engine as part of the pipeline, but perhaps not for every user session.

Never worked at a large studio with pre-determined pipeline before so I have very little frame of reference for these things. I plan on keeping user interaction to a controlled PySide2 panel parented to the main Maya session for the most part.

Thanks all,
Clayton

#2

Try something like this:

$ maya -noAutoloadPlugins

…and manage the loading of plug-ins yourself, via e.g. userSetup.py.

This next part goes a little beyond what you’re looking for at the moment, but it just so happens I’m in the process of developing such a system with a launcher for a client and am documenting our progress here:

That would give you control over what plug-ins are available to Maya (etc) during boot; combine that with the above userSetup.py to initialise the plug-ins once booted and you should be good to go.

3 Likes
#3

Very cool. Used your Qt.py wrapper for some time as well. Nice work good sir, thank you for the reply.

1 Like
#4

Hey, I’m new here and this may be a noob question, but how exactly does something like this work? And do you have anywhere I can read up on these kinds of things?

Thank you!

#5

if you type in your command line:
maya -help

it will open a maya output window with a list of flags that you can use when you launch maya this way.

here is the autodesk documentation

1 Like
#6

Hey Thank you for the reply,

I’m a total noob to all this, so I’m still unsure about a few things, like what command line you mean.
Does this mean the one in maya itself? Looking at the documentation I can’t exactly tell or get it to work, maybe I’m missing something.

But thank you for the help

#7

I mean the windows command prompt.
(Or mac terminal if you’r on an apple.)

1 Like
#8

Ok, I’m gunna have to do some more research because I have absolutely no idea how to do this, the documentation side of things are a little vague for me and I have very little experience with the command line. I will return with more knowledge someday

#9

If you are on windows, hit Win+R on your keyboard, and then type cmd, hit enter.

If you are using Maya 2018, you’d type in C:\Program Files\Autodesk\Maya2018\bin\maya -help, if you’re on a different version of maya, change the number in the path.

If you’re on a mac / linux, I have no idea where the default install goes.

1 Like
#10

Yeah ok amazing, I managed to open maya from my command prompt :smiley:
And then I also managed to get it to open with the -noAutoloadPlugins

I’m one step closer. Thank you for the help everyone

#11

I’m glad to see that this post is helping others out as well.

I’ve also found that skipping the block check by setting “MAYA_SKIP_BLOCK_CHECK” to 1 helps with the time it takes to close Maya.

I don’t know what exactly is happening during a block check, but I haven’t experienced any issues skipping it at shutdown and Maya seems to close quicker.

1 Like
#12

I’m just starting to learn about this kind of stuff, I started working a new job that doesn’t have any sort of pipeline so things like this are really useful, but my problem is that I don’t know how to go about applying this in a more permanent measure, I guess?
I’m honestly not sure how to make the command line useful for all the artists I work with. Is there a way to automate these kinds of things? I mean there must be, I just need to find out where to look and I think that this thread was a decent start so thank you.

#13

Most pipelines have a “launcher” tool that lets artists pick an asset, shot, etc. from a list, or by doing a keyword search, or perhaps only showing things assigned to the artists. With the asset selected, they hit a button that will launch Maya, and load the latest file for the asset that was selected. So the customization for launching Maya (command lines, environment variables, etc) can go in the code for that button click.

But without a launcher, you can still do custom things with a small batch file (that you can create a desktop shortcut to) that sets environment variables and starts Maya with the desired parameters.

1 Like
#14

This is the kinda info I needed to hear, it gives me some sort of direction as to how to go about thinking about how to do things.
Do you know any good resources/tutorials that could point me in the right direction in order to get started with at least something like a simple batch file?
Thank you for the info!

#15

Look into Plex - https://www.alexanderrichtertd.com/post/plex-introduction-open-source-pipeline

Pick it apart and rebuild it. That’s how I learned how to develop my own launcher.

Then research PySide2 for UI building in Python. I’d recommend not using .ui files generated by qtDesigner, but actually learning the Python behind it -
https://doc.qt.io/qtforpython/index.html

4 Likes
#16

Oh amazing, thank you for this. I’ve been looking for a decent place to start!