Addon Examples

thank you @mustafa_jafar , what is the difference between: GitHub - ynput/ayon-example-addon and GitHub - ynput/example-studio-addon.

Having two official addon examples may be a bit confusing for newcomers. Looking at the code it seems that GitHub - ynput/example-studio-addon is more “complete” as it has a launcher side right? but GitHub - ynput/ayon-example-addon has a PR for an actual service implementation.

Do you recommend one of them specifically?

Kind regards,

I believe one just happens to have come before the other - but @martin.wacker very likely knows why there might be two around still.

Let me add my two cents.
In a nutshell:


More Info About Addons

As far as I know:

Addons Components

An addon can have different components:

  1. Server : addon definition that can include :(addon settings, end point to extend ayon api, frontend scope options)
  2. Services (Dockerized Scripts: Mainly used to communicate with server’s API and external APIs)… AYON runs them on ASHs (AYON Service Hosts) similar to Portainer.
  3. Frontend: Basically, it adds a new tab in AYON. e.g. you can use it to show some news/ statistics… weather condition, why not.
  4. Client: This meant to be distributed on user machines. it should be managed by the launcher. Client part introduces different interfaces. find them in ayon-core/client/ayon_core/addon at develop · ynput/ayon-core · GitHub

The way you mix these components together is up to your needs.
Also, you can take reference from existing addons.

Addons categories types

Addons can be categorized based on their purpose.
I can name:

  • Studio Addon: Which adopts studio tools.
  • Host Addon: Which integrates AYON into a particular host. e.g. Maya/Nuke/Houdini.
  • Tray Addon: Which extends Ayon launcher’s tray.
  • There also addons that integrates services like ftrack, deadline, slack (They used to be called modules in Openpype terminology but I have no idea what they should be called in AYON)

Most of these categories have more than one ayon component.

thank you @mustafa_jafar that was well beyond two cents :slight_smile:

1 Like

Hi,

For a new Studio Addon, what would be your starting template ?
Among the ones available, they all have very different create_package.py files (a diff shows hundreds of differences) :

  • ayon-addon-template (its create_package.py is the most recent, and is very close to the ones found in hosts repos. But it’s not a Studio Addon)
  • ayon-example-addon
  • example-studio-addon (Studio Addon) Created at the hackathon 2024.
  • ayon-colorbleed (Studio Addon) In-house at ColorBleed.

It’s always ayon-addon-template which is basically an empty addon and then you can build up.
For reference, check the note in Typical Addon Repo Structure.

Then you can always steal some code get inspired from example-studio-addon and ayon-colorbleed.

It’s also worth mentioning that Addon Dev Docs is full of useful snippets.

1 Like

Thanks Mustafa :sparkling_heart:
And the doc you wrote ( Addon Dev Docs ) is indeed very useful :heart_eyes:

1 Like