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.
Server : addon definition that can include :(addon settings, end point to extend ayon api, frontend scope options)
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.
Frontend: Basically, it adds a new tab in AYON. e.g. you can use it to show some news/ statistics… weather condition, why not.
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.
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.