Intro
Ayon dev mode was introduced to ease pipeline client code development, however it sill has some limitations, More about that later.
Ayon dev enables users to:
- change addons versions within the dev bundle
- have explicit addon paths
- make it available for particular users
Here is how to setup Ayon dev mode.
Enable Ayon Developer Mode
Follow the following steps
-
Enable developer mode for particular users.
-
Create Dev Bundles
-
Select your dev bundle, to start editing its settings
Caution: Donât forget to set your Dev Bundle settings!
Hint: you may copy settings from other bundles as follows:
Ayon Launcher in Dev Mode
This is possible by running Ayon launcher live from Ayon launcher Repo
Get Ayon Launcher Repo
Iâm on windows.
In power shell
git clone https://github.com/ynput/ayon-launcher.git
cd ayon-launcher
tools\manage.ps1
tools\manage.ps1 --create-env
tools\manage.ps1 --install-runtime-dependencies
Run Ayon Launcher in Dev Mode
From your Ayon Launcher directory, run :
Windows: use either one of these:
.\tools\manage.ps1 run --use-dev
or.\tools\ayon_console.bat --use-dev
Linux & macOS:
./tools/make.sh run --use-dev
Checkpoint
By this step, you are able to:
- Run Ayon Launcher in Dev mode.
- Create dev bundle.
- Change addons versions in your dev bundle as desired.
Explicit Addon Paths
As mentioned earlier, Ayon dev mode was introduced to ease pipeline client code development.
And, in dev bundle settings we expose addonsâ client code path which is mostly the path of addons repo clones on your disk.
Letâs test that and understand the limitations.
Ayon Core Addon
You need to set core
addon path to your ayon-core
repo path.
Hereâs the path in the screenshot.
E:\Ynput\ayon-core\client
P.S. You should create core
addon zip file and upload to ayon server and then select that version in bundle settings.
Addons that are not yet separated from
core
e.g.Maya
,Houdini
,Nuke
, etcâŚ
Their code is already part ofcore
so they are updated whenever you updatecore
,
However their settings not. So, you are still required to upload their addon zip files to update their settings on the server.
Note: They are always using defaults (defined inserver_addon
dir) as base if their addon version are set toNone
in Bundle settings.
Note: Set OpenPype to None
If you have OpenPype addon, youâll need to set its version to None
.
Addons that have their own Repos
For those addons, you are still required to upload their addon zip files to update their settings and server side code.
e.g. Kitsu Addon
-
I need to upload its addon zip file in order to find it in the version drop down menu
-
I can point to my unzipped addon client code on my side.
Create addon files
This step provides more info about creating Addon files.
We use the following commands to create addon files.
In ayon-core
repo directory:
To export core addon: --output
is optional
python create_package.py --output <my-favorite-dir>
To export other addons: --output
and --addon
are optional
python server_addon\create_ayon_addons.py --output <my-favorite-dir> --addon houdini
For Addons that have their own Repos:
In their Repos directories.
Some addons like kitsu have client and server specific code for them Iâm using --only-client
flag.
python create_package.py --skip-zip --only-client --output <my-favorite-dir-for-client-code>
python create_package.py --output <my-favorite-dir-for-addon-zip-file>
Checkpoint
By this step, you are able to work on addonsâ code locally on your machine.
Push addons to users
Once you are happy and comfortable with your new addons code, Itâs time to upload them to users.
This is done by uploading the addon zip, which might have done while working with your addon.
But a rule of thumb, delete it from the server as settings might conflict.
Steps:
e.g. If Iâm working with core-0.2.1-dev.1
- Uninstall
core-0.2.1-dev.1
from my ayon server. - Create
core-0.2.1-dev.1
zip from the ayon core clone on my disk - Upload it to server
- Create new addon (with dev disabled) and set the new addon version.
Ayon server wont allow addon installation if itâs used in any bundles (even if they were dev bundles)
So, you may need to set the version toNone
in your dev bundle.
Tip
you can define different âconfigurationsâ in your IDE to create packages automatically.
e.g. In PyCharm
Ayon Dev and Deadline
For windows:
you can use live Ayon launcher with deadline as mentioned in AYON / Openpype Deadline Setup by using the ayon_console.bat
, itâs in tools folder inside Ayon Launcher Repo.