Questions About Customizing, Sharing, and Controlling Plugins in Ayon

Hi Ayon team, I’d like some guidance on customizing and extending plugins:

  1. What’s the recommended way to modify an existing plugin for testing and inhouse usages?

  2. How can a modified plugin be added to a central shared location so that all users can access the updated version without needing to deploy the plugin individually for each user? I’m thinking of something like a plugin search path that can register all plugins from a specified directory.

  3. How can I stop a specific plugin (alidation plugin) from running during the publish process? I’m aware that some plugins can be disabled through settings, but I’m referring to the forced plugins that don’t seem to offer that option.

I’d appreciate any help or information regarding these questions.

This is typically done by cloning the addon repository and creating a dedicated branch for your studio.

In this branch, you can push your customizations and resolve any potential conflicts when merging the develop branch to stay up-to-date with the current status of the addon.

You may also tweak the addon name in the package.py file to align with your studio’s name as dicussed in Addon custom update at studios

Addon distribution is typically done by the AYON launcher once you update the addon on your AYON server.

for custom addons, you’d need to create a zip package using python create_package.py, upload it to your AYON instance and adding it to your production bundle.

Once users start the launcher it’ll automatically distribute the addon.

You can add settings for it and disable it from the addon settings.
OR
If you are looking for a very simple hacky hardcoded way, you can just add

enabled = False

to the plugin class.
Alternatively, you can add instead

active = False

Difference:

  • enabled it won’t be discovered by the publisher.
  • active it will be discovered by the publisher, but skipped during publishing.

Thanks @mustafa_jafar for these detailed answers.
My main question in number 2 was how can I customize the studio bundle location?

This is related to the launcher applicaiton not the addons themselves.
This is done by setting AYON_LAUNCHER_STORAGE_DIR before starting the launcher.
You can find example here in Use shared location for AYON launcher and addons

1 Like