Files
blender-portable-repo/scripts/addons/asset_pipeline/hook_examples/prod_hooks.py
T
2026-03-17 14:58:51 -06:00

47 lines
1.4 KiB
Python

import bpy
from asset_pipeline.hooks import hook
'''
Rules:
merge_mode: ['pull', 'push'] # Run hook only during pull or push (both if left blank)
merge_status: ['pre', 'post'] # Run hook either before or after push/pull (both if left blank)
Keyword Arguments:
asset_col: bpy.types.Collection # Get the top level collection for the current asset
Notes:
Function Naming: Must be unique between production hooks and asset hooks files
Production Hook Path: 'your_project_name/svn/pro/assets/scripts/asset_pipeline/hooks.py'
Asset Hook Path: 'your_project_name/svn/pro/assets/{asset_type}/{asset_name}/hooks.py'
'''
@hook(merge_mode='pull', merge_status="pre")
def prod_pre_pull(asset_col: bpy.types.Collection, **kwargs):
# Only runs before pull
print(f"Asset Collection Name '{asset_col.name}'")
print("PRE PULL production level asset hook running!")
@hook(merge_mode='pull', merge_status="post")
def prod_post_pull(**kwargs):
# Only runs after pull
print("POST PULL production level asset hook running!")
@hook(merge_mode='push', merge_status="pre")
def prod_pre_push(**kwargs):
# Only runs before push
print("PRE PUSH production level asset hook running!")
@hook(merge_mode='push', merge_status="post")
def prod_post_push(**kwargs):
# Only runs after push
print("POST PUSH production level asset hook running!")