-
Notifications
You must be signed in to change notification settings - Fork 2
Home
This wiki is a collection of information for implementing Asset API Plugins in Foundry's Katana.

An Asset plugin is expected to implement 20 different methods of the Asset API base class. For each function this wiki will try to explain:
- What this method should do
- Minimum functionality needed
- Deal with different types of errors
- Examples of why and when Katana could call this
The methods can loosely be grouped into several categories, in order of importance.
-
containsAssetIdInput string contains a valid asset id anywhere within it. -
getAssetVersionsFind all the available versions of the given asset. -
isAssetIdInput string represents a valid asset id. -
resolveAssetLookup asset id and return path that it references. -
resolveAllAssetsReplace asset ids found with resolved asset strings. -
resolvePathResolve env vars, asset ids, and file sequences in. -
resolveAssetVersionReturns the version for a given asset id.
-
createAssetAndPathCreate asset and optional directory path. -
createTransactionCreate optional transaction for multiple assets. -
postCreateAssetFinish asset after the files to be published exist.
-
buildAssetIdConvert string fields into an asset id. -
getRelatedAssetIdFind related assets. -
getAssetAttributesGet metadata associated with an asset. -
getAssetFieldsConvert an asset id named string fields. -
getAssetIdForScopeChange scope of an asset id. -
setAssetAttributesSet metadata associated with asset id.
-
checkPermissionsValidate certain operations allowed on asset id. -
getAssetDisplayNameName suitable for displaying to users for an asset id. -
getUniqueScenegraphLocationFromAssetIdScenegraph location name for an asset id. -
resetReset any plugin state -
runAssetPluginCommandRun arbitrary command on an asset id.
This documentation is released under the Creative Commons CC0 "No Rights Reserved" license. https://creativecommons.org/share-your-work/public-domain/cc0
By contributing to this wiki you agree to license any text you change or contribute under the CC0 license.
Foundry's limited documentation is spread across Python code examples, header files, and disconnected fragments in their Katana documentation.
- https://learn.foundry.com/katana/dev-guide/OpsAndOpScript/AssetAPI/Cpp.html
- https://learn.foundry.com/katana/dev-guide/Plugins/Asset/Cpp.html
- https://learn.foundry.com/katana/dev-guide/Plugins/Asset/Python.html
- https://learn.foundry.com/katana/Content/tg/asset_management_system_plugin_api/asset_management_system.html
- https://learn.foundry.com/katana/Content/tg/asset_management_system_plugin_api/publishing_asset.html
- Peter Shinners helped assemble the initial version of these documents from notes collected while implementing the Asset API plugin for Blizzard Entertainment. Before that Peter worked at Sony Imageworks on the early, internal versions of Katana.
Resolve
containsAssetIdgetAssetVersionsisAssetIdresolveAssetresolveAllAssetsresolvePathresolveAssetVersion
Publish
Attributes
buildAssetIdgetRelatedAssetIdgetAssetAttributesgetAssetFieldsgetAssetIdForScopesetAssetAttributes
Nodegraph