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

2 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!