User Guide Cancel

substance_painter_plugins | Substance 3D Painter Python API

substance_painter_plugins

substance_painter_plugins module

This module allows to manage the Substance 3D Painter Plugins: listing existing Plugins, loading or unloading a given Plugin, etc.

A Substance 3D Painter Plugin is a standard Python module, placed in a path added to substance_painter_plugins.path, which can use the Substance 3D Painter Python API to do certain tasks.

Example

import importlib 
import substance_painter_plugins 
 
# Get the list of available Plugin names: 
all_plugins_names = substance_painter_plugins.plugin_module_names() 
for name in all_plugins_names: 
    print(name) 
 
# Load the "hello world" Plugin: 
plugin = importlib.import_module("hello_plugin") 
 
# Start the Plugin if it wasn't already: 
if not substance_painter_plugins.is_plugin_started(plugin): 
    substance_painter_plugins.start_plugin(plugin) 
substance_painter_plugins.

path

path = []

A list of strings that specifies the search path for plugins. Initialized from SUBSTANCE_PAINTER_PLUGINS_PATH environment variable, Substance 3D Painter installation directory and Substance 3D Painter user resources directory.

You need to call explicitly substance_painter_plugins.update_sys_path after updating this variable.

A plugins directory is expected to contain three subdirectories, automatically added to sys.path:

  • plugins : Modules that are loaded as optional components.
  • startup : Modules that are always loaded at application startup.
  • modules : Utility modules, shared across plugins.

Modules in plugins/ and startup/ directories are expected to have a start_plugin() and a close_plugin() methods, respectively called after loading the module and before unloading it. Modules added in plugins/ directory take precedence over modules added in startup/ directory.

Type

list

substance_painter_plugins.

plugins

plugins = {}

Currently started plugins.

Type

dict

substance_painter_plugins.

start_plugin

start_plugin(module)

Start the given Substance 3D Painter plugin.

Parameters

module – A Python module that is expected to have a start_plugin method.

substance_painter_plugins.

close_plugin

close_plugin(module, gc_collect=True)

Close the given Substance 3D Painter plugin.

Parameters
  • module – A Python module that is expected to have a close_plugin method.
  • gc_collect – Run a full garbage collection if set to True.
substance_painter_plugins.

is_plugin_started

is_plugin_started(module)

Check if the given plugin is currently started.

Parameters

module – A Python module.

Returns

True if the given module is currently started, False otherwise.

substance_painter_plugins.

reload_plugin

reload_plugin(module)

Reload a plugin and start it.

Read importlib.reload(module) documentation for possible caveats. See start_plugin() and close_plugin() for details about starting and closing a plugin. If the plugin has a reload_plugin method, it will be executed after closing and before restarting the plugin. The purpose of reload_plugin method is to reload manually all sub-modules the plugin depends on (in case the plugin is a Python package for example).

Parameters

module – A Python module.

Returns

The reloaded plugin module.

See also

start_plugin(), close_plugin(), importlib.reload(module) documentation.

substance_painter_plugins.

startup_module_names

startup_module_names()

List the names of the available startup modules.

Returns

The names of all the available startup modules.

Return type

list[str]

substance_painter_plugins.

plugin_module_names

plugin_module_names()

List the names of the available plugins modules.

Returns

The names of all the available plugins modules.

Return type

list[str]

substance_painter_plugins.

load_startup_modules

load_startup_modules()

Load all startup modules.

substance_painter_plugins.

close_all_plugins

close_all_plugins()

Close all started plugins.

substance_painter_plugins.

update_sys_path

update_sys_path()

Update sys.path according to substance_painter_plugins.path and SUBSTANCE_PAINTER_PLUGINS_PATH environment variable.

 Adobe

Get help faster and easier

New user?