Custom Apps and Creating new Projects

Hello everyone,

i would like to install a new project via Shotgun Desktop with the “Advanced Project Setup” Wizard.
The new project should base on another project which has some custom apps of type “dev/path”.

During install process i always get the following error message:
sgtk:descriptor:path?path=\\path\to\NEW_PROJECT\CONFIG\install\apps\app-name does not point at a bundle on disk!

I dont know why the Install Wizard is expecting this app at a location which should be created by the Install Wizard? If i create the folders and copy the app to this location (as expected), i get another error message that there already exists a configuration for this new project.

How can i avoid such errors and why does the installer not simply copy custom apps to the new project?

Thanks in advance,
David

1 Like

Hello –

You’ve hit upon a couple features of Toolkit that, when they intersect, behave unexpectedly.

Descriptors of type dev and path aren’t copied over when you create a configuration based on an existing one. Rather, they’re referenced – both the old and new configs will point to the app or other bundle at the same path.

However, when you specify a path in your configuration that’s within the configuration itself, Toolkit will modify the path to reflect the new configuration.

So, in your case, it’s not copying over the bundle, but it’s modifying the path in the config to reflect the new config’s location, leading to the error you’re seeing.

Your best bet here would be to store those bundles that you’re pointing to with a path or dev descriptor in a location outside of any config. This should eliminate the error.

If your intention is to have config-specific bundles, then you might want to consider using git to manage your code, in which case you can create branches for specific configs or projects as needed, and then you can use the git or git_branch descriptor to point to them.

Hope that helps! Let us know if you have any other questions.

2 Likes

To piggyback off of this, git descriptors do not allow separate windows/linux paths, so unless they are behind a server, it can’t work cross-platform. Otherwise much nicer than path, because you can have proper versioning for an app.

1 Like

Would they need to though?
Shouldnt your git app just support the platforms it’s designed to run on?

Also you could specify a os detection in the app load to skip if on the wrong OS

It is the easiest to be able to fork a tk app and point both linux and windows to it in the same shared location. Apps are mostly cross-platform, so I don’t see why not.
Path is okay, but since git clones a specific branch to the install directory, it is more robust, and more like a local alternative to the app store.

So it would be nice to say

tk-multi-greatthings:
  location:
    type: gitbranch
    branch: great
    version: #####
    path_windows: \\\\\
    path_linux: ////

but that is currently not possible.

Ah gotcha!
In that case it makes sense :slight_smile:

Thanks @tannaz for the detailed explanation and @mmoshev for showing the possible limitation.
When it comes to Custom Apps it always seems to be the best to use git descriptors.

1 Like