Tk-houdini settings to load locally installed plugins

Hello,
Our studio recently integrated Houdini into Shotgun Desktop.
However, our customized config does not load locally installed plugins (Numerion Carbon). It only works with tk-config-basic.

Our config is modified from tk-config-default2, and we do not use any automatic functions like Software entity.
We first thought adding “launch_builtin_plugins: [basic]” to tk-houdini would solve the problem, but apparently it’s not.

When “launch_builtin_plugins: [basic]” is added:
“HOUDINI_PATH” = “c:/users/{username}/appdata/local/temp/tk-houdinigohozo;C:/Users/{username}/AppData/Roaming/Shotgun/bundle_cache/app_store/tk-houdini/v1.7.1/plugins/basic;&”

When not:
“HOUDINI_PATH” = “c:/users/{username}/appdata/local/temp/tk-houdinilcbeoa;C:/Users/{username}/AppData/Roaming/Shotgun/bundle_cache/app_store/tk-houdini/v1.7.1/classic_startup;&”

What are the difference between basic and classic startup?
Is there anything else we have to check?

Thank you, Yu

4 Likes

Hi @yu-otsuka,

Have you seen this doc, that might help you.

Though your particular situation sounds a bit different from the one covered in the doc.
Is c:/users/{username}/appdata/local/temp/tk-houdinilcbeoa where your Numerion Carbon plugin is stored?

You’ve actually done the tests that I would have thought of initially as well, which is great to see. But it is odd that even with the launch_builtin_plugins: [basic] added it doesn’t work for you.
I guess the only other major difference would be that there are different apps in default2.

Questions:

  • Just to confirm, the Toolkit integrations start in both scenarios, it’s just your Houdini plugin that is not working?
  • Please can you try an unmodified tk-config-default2, and see if that makes any difference?
4 Likes

Hi Phil,

Thank you for sharing the doc! We didn’t know that manual.

No, Numerion Carbon is stored in a different path:
C:\Users\username\Documents\numerion

Also there are two other paths created when the plugin was installed:
C:\Users\username\Documents\houdini18.0\otls
C:\Users\username\Documents\houdini18.0\python2.7libs\numerion

We manually set an env var needed for Numerion Carbon (i.e. NUMERION_SOFTWARE_LICENSE_PATH) to the user’s machine, but not HOUDINI_PATH.
houdini.env does not contain any values associated with the plugin either.

The Toolkit Integrations are working fine, and we have no plugin problems when launching other software, such as Maya. We have tried tk-config-default2, but we cannot launch any software because of the error below. It didn’t happen before so probably the latest release is not functioning in our environment(permission error?).

2020-06-01 13:27:02,249 [   ERROR] [PROXY] Error calling __commands::tk-multi-launchapp:Houdini:houdini_18.0.460((), {}):
Traceback (most recent call last):
  File "C:\Users\username\AppData\Roaming\Shotgun\bundle_cache\app_store\tk-desktop\v2.5.3\python\tk_desktop\desktop_engine_project_implementation.py", line 186, in _trigger_callback
    callback(*args, **kwargs)
  File "C:\Users\username\AppData\Roaming\Shotgun\studioname\p204c146.basic.desktop\cfg\install\core\python\tank\platform\engine.py", line 1082, in callback_wrapper
    return callback(*args, **kwargs)
  File "C:\Users\username\AppData\Roaming\Shotgun\bundle_cache\app_store\tk-multi-launchapp\v0.11.2\python\tk_multi_launchapp\base_launcher.py", line 138, in launch_version
    **kwargs
  File "C:\Users\username\AppData\Roaming\Shotgun\bundle_cache\app_store\tk-multi-launchapp\v0.11.2\python\tk_multi_launchapp\base_launcher.py", line 389, in _launch_callback
    entity_type, entity_id, engine=defer_keyword
  File "C:\Users\username\AppData\Roaming\Shotgun\studioname\p204c146.basic.desktop\cfg\install\core\python\tank\api.py", line 903, in create_filesystem_structure
    self, entity_type, entity_id, False, engine
  File "C:\Users\username\AppData\Roaming\Shotgun\studioname\p204c146.basic.desktop\cfg\install\core\python\tank\folder\operations.py", line 219, in process_filesystem_structure
    folders_created = io_receiver.execute_folder_creation()
  File "C:\Users\username\AppData\Roaming\Shotgun\studioname\p204c146.basic.desktop\cfg\install\core\python\tank\folder\folder_io.py", line 201, in execute_folder_creation
    preview_mode=self._preview_mode,
  File "C:\Users\username\AppData\Roaming\Shotgun\studioname\p204c146.basic.desktop\cfg\install\core\python\tank\api.py", line 111, in execute_core_hook
    hook_name, parent=self, **kwargs
  File "C:\Users\username\AppData\Roaming\Shotgun\studioname\p204c146.basic.desktop\cfg\install\core\python\tank\pipelineconfig.py", line 1218, in execute_core_hook_internal
    return_value = hook.execute_hook(hook_path, parent, **kwargs)
  File "C:\Users\username\AppData\Roaming\Shotgun\studioname\p204c146.basic.desktop\cfg\install\core\python\tank\hook.py", line 577, in execute_hook
    return execute_hook_method([hook_path], parent, None, **kwargs)
  File "C:\Users\username\AppData\Roaming\Shotgun\studioname\p204c146.basic.desktop\cfg\install\core\python\tank\hook.py", line 631, in execute_hook_method
    ret_val = hook_method(**kwargs)
  File "C:\Users\username\AppData\Roaming\Shotgun\studioname\p204c146.basic.desktop\cfg\install\core\hooks\process_folder_creation.py", line 122, in execute
    os.makedirs(path, 0o777)
  File "C:\Program Files\Shotgun\Python\lib\os.py", line 157, in makedirs
    mkdir(name, mode)
WindowsError: [Error 5] �A�N�Z�X�����ۂ����܂����B: 'M:\\PROJECT\\PROJECTNAME\\assets'

Thank you, Yu

2 Likes

Hi @yu-otsuka

The error you are seeing there appears to be a problem creating the project folders when launching the folder, probably due to a permission error. That behavior is not new, so I’m curious why it is not happening in your custom config.
Maybe you have a custom process_folder_creation core hook that does things differently?

2 Likes

@philip.scadding
Hi Phil,

It turned out our server permission settings have been updated recently.
That is why tk-config-default2 fails at process_folder_creation during the test.
For our current projects, we don’t get this error because our config development started from tk-config-basic, and integrated only what we needed from tk-config-default2.

For launch_builtin_plugins, We’ve read the description below but not sure what values we can add other than “[basic]”. (e.g. “[carbon]” ?)

Thank you, Yu

1 Like

Ah OK, so if your config is based on tk-config-basic with some changes, and the standard tk-config-basic works for you, then it sounds like there is a problem somewhere in the changes.

Please could you submit a support ticket and attach your config. I’m hoping we may be able to replicate the issue using your config.

As for what other values you can provide other than basic, I would personally say it’s not worth looking into that. The plugin value is something that, when we were designing the distributed configs, we thought would be useful, but in reality it’s a bit confusing and unneeded for the majority of things.
So whilst the plugin based startup is great, and the the value of basic is needed, there is little reason to change this.
I would have to do a little digging and refamiliarizing to remember the exact way it works, however.

2 Likes

Thank you for clarifying.
We’ve just submitted a support request!

Thank you, Yu

1 Like

Hi Yu

Sorry for taking a while to get back to you. I’ve taken a look at your config, and it looks like you have a custom before_app_launch hook for the Houdini launch. Please can you try without this? (Just comment out the hook line in the environment settings for the launch app.)
The rest of your set up looks OK to me.

Best
Phil

3 Likes

Hi Phil,

We’ve deleted the before_app_launch hook for the Houdini but it result was the same.
We’ll keep looking for a solution while checking the issue from the plug-in side.
Thanks, Yu

1 Like