Skip to content

feat: add Nuke plugin sync#220

Merged
karthikbekalp merged 7 commits into
aws-deadline:mainlinefrom
npmacl:nuke-plugin-sync
May 26, 2026
Merged

feat: add Nuke plugin sync#220
karthikbekalp merged 7 commits into
aws-deadline:mainlinefrom
npmacl:nuke-plugin-sync

Conversation

@npmacl
Copy link
Copy Markdown
Contributor

@npmacl npmacl commented May 13, 2026

What was the problem/requirement? (What/Why)

We are working on adding a plugin sync feature, that allows customers to add plugins for the DCCs that will run on deadline cloud workers just by placing the plugins in the correct location in their job attachments bucket.

Also some minor changes in other samples for consistency.

What was the solution? (How)

Copied the existing examples, with some small modifications to be appropriate for nuke. The main change is that the activate script updates NUKE_PATH with the location of the plugin directory (intended to pick up individual .gizmo files), as well as the paths to the init.py files of multi-file plugins.

What is the impact of this change?

sample is updated with the plugin script.

How was this change tested?

Tested with one gizmo and one plugin. For the gizmo I used cp_antialiasing, and for the plugin I used the free version of NNFlowVector.

I installed these locally and created a .nk scene that used both. I tested submitting this to a deadline-cloud SMF farm using the deadline-cloud channel, and got an error related to the plugin being unrecognized.

I then built this sample to my own s3 conda channel, added a queue-environment that set the value of DEADLINE_JA_S3_BUCKET and DEADLINE_JA_ROOT_PREFIX, and uploaded the plugin & gizmo to my job attachment bucket. The directory structure in my bucket was the following:

s3://job-attachments-bucket/DeadlineCloud/plugins/linux/nuke/17.0/
├── CPAntialiasing.gizmo                                                            
└── NNFlowVector-v3.0.1_Nuke17.0_CPU_Linux/
    ├── init.py                             
    └── (other files)

I then resubmitted the job to my queue, but switched to using my s3 conda channel instead of the deadline-cloud channel. This time the job ran successfully. I downloaded the rendered output and compared it to what I rendered locally, and visually the output matched.

Was this change documented?

yes

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

npmacl added 2 commits May 13, 2026 23:09
Signed-off-by: Nathan MacLeod <142927985+npmacl@users.noreply.github.com>
Signed-off-by: Nathan MacLeod <142927985+npmacl@users.noreply.github.com>
@npmacl npmacl changed the title Nuke plugin sync feat: add Nuke plugin sync May 13, 2026
@github-actions github-actions Bot added the waiting-on-maintainers Waiting on the maintainers to review. label May 13, 2026
Signed-off-by: Nathan MacLeod <142927985+npmacl@users.noreply.github.com>
@npmacl npmacl marked this pull request as ready for review May 14, 2026 00:03
@npmacl npmacl requested a review from a team as a code owner May 14, 2026 00:03
Copy link
Copy Markdown
Contributor

@kenyrish-amazon kenyrish-amazon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for making the changes to Maya/Blender recipes! Left a few comments

Comment thread conda_recipes/nuke-17.0/README.md Outdated
Comment thread conda_recipes/nuke-17.0/recipe/zzz-nuke-plugin-sync-deactivate.sh Outdated
leongdl
leongdl previously approved these changes May 14, 2026
Comment thread conda_recipes/blender-5.1/recipe/build.sh
Comment thread conda_recipes/nuke-17.0/recipe/zzz-nuke-plugin-sync-deactivate.sh Outdated
Signed-off-by: Nathan MacLeod <142927985+npmacl@users.noreply.github.com>
Signed-off-by: Nathan MacLeod <142927985+npmacl@users.noreply.github.com>
# Simple Plugin Delivery cleanup for Nuke
# Unsets env vars.

unset _SP_PLUGIN_DIR _SP_GENERIC_DIR _SP_PARENT No newline at end of file
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are these env vars used anywhere?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not used, and unset at line 61 above. This file is totally optional. I imagine AE being the only one we should clean up.

@karthikbekalp karthikbekalp enabled auto-merge (squash) May 26, 2026 17:08
@karthikbekalp karthikbekalp merged commit b519f4d into aws-deadline:mainline May 26, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

waiting-on-maintainers Waiting on the maintainers to review.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants