Settings, Tokens, and global state for the Connect SDK

Settings can store static default values or monitor-able global state, while Tokens can be used to parameterize individual settings.

Settings are accessed using Carbonite’s ISettings interface. Tokens can be accessed using Carbonite’s ITokens interface or placed into strings for deferred resolution using ${token} syntax. For example, omni.connect.core.toml configures the default logging via log.file = "${logs}/${client_name}_${omni_connect_core_start_time}.log"

Functions

const std::shared_ptr< carb::dictionary::Item > omni::connect::core::getExportOptions()

Get the export option settings.

const pxr::SdfLayer::FileFormatArguments omni::connect::core::getExportOptionsAsFileFormatArguments()

Get the export option settings as pxr::SdfLayer::FileFormatArguments.

const pxr::VtDictionary omni::connect::core::getExportOptionsAsVtDict()

Get the export option settings as pxr::VtDictionary.

const std::shared_ptr< carb::dictionary::Item > omni::connect::core::getImportOptions()

Get the import option settings.

const pxr::SdfLayer::FileFormatArguments omni::connect::core::getImportOptionsAsFileFormatArguments()

Get the import option settings as pxr::SdfLayer::FileFormatArguments.

const pxr::VtDictionary omni::connect::core::getImportOptionsAsVtDict()

Get the import option settings as pxr::VtDictionary.

bool omni::connect::core::loadSettings()

Initialize the Connect SDK & the client Connector Settings.

bool omni::connect::core::loadSettingsFromFile(const std::string &file)

Load additional settings from the provided toml file and perform token resolution.

bool omni::connect::core::saveExportPreferences()

Save the current Export Preferences to the persistent user config file.

bool omni::connect::core::saveImportPreferences()

Save the current Import Preferences to the persistent user config file.

void omni::connect::core::setExportOptions(carb::dictionary::Item *options)

Set the export options to the supplied values.

void omni::connect::core::setExportOptionsFromFileFormatArguments(const pxr::SdfLayer::FileFormatArguments &args)

Set the export options to the supplied pxr::SdfLayer::FileFormatArguments values.

void omni::connect::core::setExportOptionsFromVtDict(const pxr::VtDictionary &optionsDict)

Set the export options to the supplied pxr::VtDictionary values.

void omni::connect::core::setImportOptions(carb::dictionary::Item *options)

Set the import options to the supplied values.

void omni::connect::core::setImportOptionsFromFileFormatArguments(const pxr::SdfLayer::FileFormatArguments &args)

Set the import options to the supplied pxr::SdfLayer::FileFormatArguments values.

void omni::connect::core::setImportOptionsFromVtDict(const pxr::VtDictionary &optionsDict)

Set the import options to the supplied pxr::VtDictionary values.

Variables

constexpr const char * omni::connect::core::kAppNameSetting

The name of the connected application. This should be the actual application name rather than the connector name.

constexpr const char * omni::connect::core::kAppNameToken

The name of the connected application (controlled via kAppNameSetting)

constexpr const char * omni::connect::core::kAppVersionSetting

The version of the connected application. This should be the actual application version rather than the connector version. It may be parsed for conditional logic, so must be a semver-like value (eg 19.5.0, 2023.1, etc).

constexpr const char * omni::connect::core::kAppVersionToken

The version of the connected application (controlled via kAppVersionSetting)

constexpr const char * omni::connect::core::kBuildConfigToken

The build configuration of this library. The resolved value is either "release" or "debug".

constexpr const char * omni::connect::core::kCacheFolderToken

A per user, per-client connector system folder to be used for caching, which could be cleaned up at any time. An application should be able to rebuild the cache if it is missing.

constexpr const char * omni::connect::core::kClientNameSetting

The name of the client connector. This will be used throughout Connect SDK to separate client specific data from one another (e.g. log folders, downloaded content, etc).

constexpr const char * omni::connect::core::kClientNameToken

The name of the client connector (controlled via kClientNameSetting)

constexpr const char * omni::connect::core::kClientVersionSetting

The version of the client connector. This should be the connector version rather than the actual application version. It may be parsed for conditional logic, so must be a semver-like value (eg 19.5.0, 2023.1, etc).

constexpr const char * omni::connect::core::kClientVersionToken

The version of the client connector (controlled via kClientVersionSetting)

constexpr const char * omni::connect::core::kConnectSdkVersionFullToken

The full build string version of the omni_connect_core library.

constexpr const char * omni::connect::core::kConnectSdkVersionToken

constexpr const char * omni::connect::core::kCoreSettings

The namespace used for omni_connect_core specific settings.

constexpr const char * omni::connect::core::kDataFolderToken

A per-user, per-client connector system folder to store persistent data. This system folder is different for every OS user. The data folder is where an application can write anything that must reliably persist between sessions.

constexpr const char * omni::connect::core::kExportOptionsSetting

Export Option settings path prefix for File Exporter Dialog.

constexpr const char * omni::connect::core::kImportOptionsSetting

Import Option settings path prefix for File Importer Dialog.

constexpr const char * omni::connect::core::kLogConsumerLevelSettingParentPath

The parent path for setting the verbosity of the logs forwarded to registered log consumers. The developer can set log levels for individual log consumers by name in their omni.connect.client.toml file under the group ["omni.connect.core".log.consumerLevel].

constexpr const char * omni::connect::core::kLogFolderToken

A per user, per-client connector system folder to be used for logging.

constexpr const char * omni::connect::core::kOmniClientLibVersionFullToken

The full Omniverse Client Library version.

constexpr const char * omni::connect::core::kPluginPathsSetting

A list of additional relative filesystem paths to search for carb plugins when loading via omni::connect::core::loadCarbPlugin . Note that the core plugins must be located at $CARB_APP_PATH/plugins as this setting cannot be read until after the core plugins have loaded.

constexpr const char * omni::connect::core::kPythonPathsSetting

A list of additional relative filesystem paths to extend Python's sys.path at runtime.

constexpr const char * omni::connect::core::kStartTimeToken

The timestamp indicating when omni::connect::core::startup() was first called. Note this timestamp will not be reset if loadSettings() is called multiple times.

constexpr const char * omni::connect::core::kUsdResolverPathSetting

The path of Omniverse USD Resolver plugin. The path is a local filesystem directory containing a plugInfo.json file. It can be specified relative to $CARB_APP_PATH or as an absolute filesystem path.

constexpr const char * omni::connect::core::kUsdVersionToken

The USD version.

Functions

const std::shared_ptr<carb::dictionary::Item> omni::connect::core::getExportOptions()

Get the export option settings.

Use carb::dictionary::IDictionary.getAs* methods to access the individual option value.

Example:

#include <carb/dictionary/DictionaryUtils.h>
#include <carb/dictionary/IDictionary.h>
#include <pxr/base/gf/vec2f.h>

std::shared_ptr<carb::dictionary::Item> options = getExportOptions();
carb::dictionary::IDictionary* iDictionary = carb::getCachedInterface<carb::dictionary::IDictionary>();

dictionary->getAsInt(dictionary->getItem(options.get(), "intOptionName")); // INT
dictionary->getAsFloat(dictionary->getItem(options.get(), "floatOptionName")); // FLOAT
dictionary->getAsBool(dictionary->getItem(options.get(), "boolOptionName")); // BOOL
// INT3 ARRAY
std::vector<int> intArray(3);
iDictionary->getAsIntArray(iDictionary->getItem(options.get(), "intArrayOptionName"), intArray.data(), 3);
// FLOAT2 ARRAY
pxr::GfVec2f floatArray;
iDictionary->getAsFloatArray(iDictionary->getItem(options.get(), "floatArrayOptionName"), &(floatArray[0]), 2);
// STRING
std::string stringValue = carb::dictionary::getStringFromItemValue(iDictionary, options.get(), "stringOptionName");

Returns

The export options.

const pxr::SdfLayer::FileFormatArguments omni::connect::core::getExportOptionsAsFileFormatArguments()

Get the export option settings as pxr::SdfLayer::FileFormatArguments.

The returned values are converted to type of std::string. Array items will be converted to a space separated string. The returned key “usdEncoding” is mapping to “format”. Use pxr::SdfLayer::FileFormatArguments.at(key) to access the individual option value.

Example:

#include <omni/connect/core/LayerAlgo.h>
#include <omni/connect/core/settings.h>

SdfLayer::FileFormatArguments options = omni::connect::core::getExportOptionsAsFileFormatArguments();

std::string comment = options.at("comment");

// Convert COLOR3 string to std::vector<float> -
Note is this uncommon to need to do this, and it is better to get option values by calling getExportOptions or getExportOptionsAsVtDict
std::vector<std::string> strArray = TfStringSplit(option.second, " ");
size_t const valueLength = strArray.size();
std::vector<float> floatArray(valueLength);
for (u_int i = 0; i < valueLength; ++i)
{
    floatArray[i] = TfUnstringify<float>(strArray[i]);
}

Returns

The export options.

const pxr::VtDictionary omni::connect::core::getExportOptionsAsVtDict()

Get the export option settings as pxr::VtDictionary.

Use vtDict.GetValueAtPath(key).IsHolding<T>() and vtDict.GetValueAtPath(key)->UncheckedGet<T>() methods to access the individual option value.

Example:

#include <omni/connect/core/settings.h>

pxr::VtDictionary options = omni::connect::core::getExportOptionsAsVtDict();

if vtDict.GetValueAtPath("floatOption")->IsHolding<float>()
{
    float floatOption = vtDict.GetValueAtPath("floatOption")->UncheckedGet<float>();
}

if vtDict.GetValueAtPath("intArrayOption")->IsHolding<std::vector<int>>()
{
    std::vector<int> intArrayOption = vtDict.GetValueAtPath("intArrayOption")->UncheckedGet<std::vector<int>>();
}

Returns

The export options.

const std::shared_ptr<carb::dictionary::Item> omni::connect::core::getImportOptions()

Get the import option settings.

Use carb::dictionary::IDictionary.getAs* methods to access the individual option value.

Example:

#include <carb/dictionary/DictionaryUtils.h>
#include <carb/dictionary/IDictionary.h>
#include <pxr/base/gf/vec2f.h>

std::shared_ptr<carb::dictionary::Item> options = getImportOptions();
carb::dictionary::IDictionary* iDictionary = carb::getCachedInterface<carb::dictionary::IDictionary>();

dictionary->getAsInt(dictionary->getItem(options.get(), "intOptionName")); // INT
dictionary->getAsFloat(dictionary->getItem(options.get(), "floatOptionName")); // FLOAT
dictionary->getAsBool(dictionary->getItem(options.get(), "boolOptionName")); // BOOL
// INT3 ARRAY
std::vector<int> intArray(3);
iDictionary->getAsIntArray(iDictionary->getItem(options.get(), "intArrayOptionName"), intArray.data(), 3);
// FLOAT2 ARRAY
pxr::GfVec2f floatArray;
iDictionary->getAsFloatArray(iDictionary->getItem(options.get(), "floatArrayOptionName"), &(floatArray[0]), 2);
// STRING
std::string stringValue = carb::dictionary::getStringFromItemValue(iDictionary, options.get(), "stringOptionName");

Returns

The import options.

const pxr::SdfLayer::FileFormatArguments omni::connect::core::getImportOptionsAsFileFormatArguments()

Get the import option settings as pxr::SdfLayer::FileFormatArguments.

The returned values are converted to type of std::string. Array items will be converted to a space separated string. Use pxr::SdfLayer::FileFormatArguments.at(key) to access the individual option value.

Example:

#include <omni/connect/core/LayerAlgo.h>
#include <omni/connect/core/settings.h>

SdfLayer::FileFormatArguments options = omni::connect::core::getImportOptionsAsFileFormatArguments();

std::string comment = options.at("comment");

// Convert COLOR3 string to std::vector<float> -
Note is this uncommon to need to do this, and it is better to get option values by calling getImportOptions or getImportOptionsAsVtDict
std::vector<std::string> strArray = TfStringSplit(option.second, " ");
size_t const valueLength = strArray.size();
std::vector<float> floatArray(valueLength);
for (u_int i = 0; i < valueLength; ++i)
{
    floatArray[i] = TfUnstringify<float>(strArray[i]);
}

Returns

The import options.

const pxr::VtDictionary omni::connect::core::getImportOptionsAsVtDict()

Get the import option settings as pxr::VtDictionary.

Use vtDict.GetValueAtPath(key).IsHolding<T>() and vtDict.GetValueAtPath(key)->UncheckedGet<T>() methods to access the individual option value.

Example:

#include <omni/connect/core/settings.h>

pxr::VtDictionary options = omni::connect::core::getExportOptionsAsVtDict();

if vtDict.GetValueAtPath("floatOption")->IsHolding<float>()
{
    float floatOption = vtDict.GetValueAtPath("floatOption")->UncheckedGet<float>();
}

if vtDict.GetValueAtPath("intArrayOption")->IsHolding<std::vector<int>>()
{
    std::vector<int> intArrayOption = vtDict.GetValueAtPath("intArrayOption")->UncheckedGet<std::vector<int>>();
}

Returns

The import options.

bool omni::connect::core::loadSettings()

Initialize the Connect SDK & the client Connector Settings.

Client Connectors may add or override core configuration via a toml file located at ${CARB_APP_PATH}/config/omni.connect.client.toml

Note that loadSettings may be called multiple times, to reset settings back to the default configuration.

Returns

Whether the required settings were loaded successfully.

bool omni::connect::core::loadSettingsFromFile(const std::string &file)

Load additional settings from the provided toml file and perform token resolution.

Note that subsequent calls the the default loadSettings() may reset any common settings loaded by this function.

Returns

Whether the required settings were loaded successfully.

bool omni::connect::core::saveExportPreferences()

Save the current Export Preferences to the persistent user config file.

The serialized values will be restored across application processes when calling omni::connect::core::loadSettings.

Use the “storePreference” setting to indicate which settings should be persistent preferences.

Example:

["omni.connect.core".exportOptions.myBool]
value = false
storePreference = true

["omni.connect.core".exportOptions.myColor]
value = [10.0, 2.0, 100.0]
storePreference = true

["omni.connect.core".exportOptions.myFloat]
value = 9.9
storePreference = true

Returns

Whether the preference options were saved successfully.

bool omni::connect::core::saveImportPreferences()

Save the current Import Preferences to the persistent user config file.

The serialized values will be restored across application processes when calling omni::connect::core::loadSettings.

Use the “storePreference” setting to indicate which settings should be persistent preferences.

Example:

["omni.connect.core".importOptions.myBool]
value = false
storePreference = true

["omni.connect.core".importOptions.myColor]
value = [10.0, 2.0, 100.0]
storePreference = true

["omni.connect.core".importOptions.myFloat]
value = 9.9
storePreference = true

Returns

Whether the preference options were saved successfully.

void omni::connect::core::setExportOptions(carb::dictionary::Item *options)

Set the export options to the supplied values.

Following is an example of setting up an IDictionary for setting the export options

#include <carb/dictionary/DictionaryUtils.h>
#include <carb/dictionary/IDictionary.h>
#include <omni/connect/core/Settings.h>
// Get the IDictionary interface
carb::dictionary::IDictionary* iDictionary = carb::getCachedInterface<carb::dictionary::IDictionary>();
// Create a root item
carb::dictionary::Item* rootItem = iDictionary->createItem(nullptr, "exportOptionsRoot", carb::dictionary::ItemType::eDictionary);
// STRING
iDictionary->makeStringAtPath(rootItem, "comment", "New version.");
iDictionary->makeStringAtPath(rootItem, "usdEncoding", "usdc");
// FLOAT
iDictionary->makeAtPath(rootItem, "float", 1.1);
// DOUBLE2
iDictionary->makeAtPath(rootItem, "double2", carb::Double2{ 1.1, 2.2 });
// Set the export Options
omni::connect::core::setExportOptions(rootItem);
Additionally, you can setup new option settings that were not defined in omni.connect.client.toml. It is uncommon to need to do this, and it is better to staticly declare settings in omni.connect.client.toml.

Example:

#include <carb/settings/ISettings.h>
#include <pxr/base/gf/vec3f.h>
auto settings = carb::getCachedInterface<carb::settings::ISettings>();
// Create COLOR3
pxr::GfVec3f color({ .1, .2, .3 });
settingPath = std::string(omni::connect::core::kExportOptionsSetting) + std::string("/color/value");
settings->setFloatArray(settingPath.c_str(), &(color[0]), 3);

Parameters

options – The export options to set.

void omni::connect::core::setExportOptionsFromFileFormatArguments(const pxr::SdfLayer::FileFormatArguments &args)

Set the export options to the supplied pxr::SdfLayer::FileFormatArguments values.

Values will be converted to the proper type for existing options before set. New options will be set as string. The key “format” is mapping to “usdEncoding”.

Following is an example of setting up a pxr::SdfLayer::FileFormatArguments for setting the export options

SdfLayer::FileFormatArguments expectedArgs; expectedArgs[“coreTestSettingsColor”] = “10.0 2.0 100.0”; expectedArgs[“coreTestSettingsFloat”] = “9.9”; expectedArgs[“coreTestSettingsDouble2”] = “8.8 9.9”; expectedArgs[“coreTestSettingsDouble3”] = “8.8 9.9 89.89”; expectedArgs[“coreTestSettingsInt”] = “9”; expectedArgs[“coreTestSettingsInt2”] = “8 9”; expectedArgs[“coreTestSettingsBool”] = “false”; expectedArgs[“coreTestSettingsStr”] = “coreTestSettingsString”;

// Set the export Options omni::connect::core::setExportOptionsFromFileFormatArguments(expectedArgs);

Parameters

args – The export options to set.

void omni::connect::core::setExportOptionsFromVtDict(const pxr::VtDictionary &optionsDict)

Set the export options to the supplied pxr::VtDictionary values.

Following is an example of setting up a pxr::VtDictionary for setting the export options

pxr::VtDictionary expectedOptions; expectedOptions[“coreTestSettingsColor”] = pxr::VtValue(std::vector<float>{ 20.0, 4.0, 200.0 }); expectedOptions[“coreTestSettingsFloat”] = pxr::VtValue(float(8.8)); expectedOptions[“coreTestSettingsDouble2”] = pxr::VtValue(std::vector<float>{ 9.9, 8.8 }); expectedOptions[“coreTestSettingsDouble3”] = pxr::VtValue(std::vector<float>{ 89.89, 8.8, 9.9 }); expectedOptions[“coreTestSettingsInt”] = pxr::VtValue(8); expectedOptions[“coreTestSettingsInt2”] = pxr::VtValue(std::vector<int>{ 9, 8 }); expectedOptions[“coreTestSettingsBool”] = pxr::VtValue(true); expectedOptions[“coreTestSettingsStr”] = pxr::VtValue(“coreTestSettingsSetStringFromVtDict”);

// Set the export Options omni::connect::core::setExportOptionsFromVtDict(expectedOptions);

Parameters

optionsDict – The export options to set.

void omni::connect::core::setImportOptions(carb::dictionary::Item *options)

Set the import options to the supplied values.

Following is an example of setting up an IDictionary for setting the import options

#include <carb/dictionary/DictionaryUtils.h>
#include <carb/dictionary/IDictionary.h>
#include <omni/connect/core/Settings.h>
// Get the IDictionary interface
carb::dictionary::IDictionary* iDictionary = carb::getCachedInterface<carb::dictionary::IDictionary>();
// Create a root item
carb::dictionary::Item* rootItem = iDictionary->createItem(nullptr, "importOptionsRoot", carb::dictionary::ItemType::eDictionary);
// BOOL
iDictionary->makeBoolAtPath(rootItem, "unloaded", false);
// INT2
iDictionary->makeAtPath(expectedOptions, "testint", carb::Int2{ 3, 4 });
// Set the import Options
omni::connect::core::setImportOptions(rootItem);
Additionally, you can setup new option settings that were not defined in omni.connect.client.toml. It is uncommon to need to do this, and it is better to staticly declare settings in omni.connect.client.toml.

Example:

#include <carb/settings/ISettings.h>
#include <pxr/base/gf/vec3f.h>
// Add a new group frame called "Tests"
auto settings = carb::getCachedInterface<carb::settings::ISettings>();
// Create COLOR3
pxr::GfVec3f color({ .1, .2, .3 });
settingPath = std::string(omni::connect::core::kImportOptionsSetting) + std::string("/color/value");
settings->setFloatArray(settingPath.c_str(), &(color[0]), 3);

Parameters

options – The import options to set.

void omni::connect::core::setImportOptionsFromFileFormatArguments(const pxr::SdfLayer::FileFormatArguments &args)

Set the import options to the supplied pxr::SdfLayer::FileFormatArguments values.

Values will be converted to the proper type for existing options before set. New options will be set as string. The key “format” is mapping to “usdEncoding”.

Following is an example of setting up a pxr::SdfLayer::FileFormatArguments for setting the import options

SdfLayer::FileFormatArguments expectedArgs; expectedArgs[“coreTestSettingsColor”] = “10.0 2.0 100.0”; expectedArgs[“coreTestSettingsFloat”] = “9.9”; expectedArgs[“coreTestSettingsDouble2”] = “8.8 9.9”; expectedArgs[“coreTestSettingsDouble3”] = “8.8 9.9 89.89”; expectedArgs[“coreTestSettingsInt”] = “9”; expectedArgs[“coreTestSettingsInt2”] = “8 9”; expectedArgs[“coreTestSettingsBool”] = “false”; expectedArgs[“coreTestSettingsStr”] = “coreTestSettingsString”;

// Set the import Options omni::connect::core::setImportOptionsFromFileFormatArguments(expectedArgs);

Parameters

args – The import options to set.

void omni::connect::core::setImportOptionsFromVtDict(const pxr::VtDictionary &optionsDict)

Set the import options to the supplied pxr::VtDictionary values.

Following is an example of setting up a pxr::VtDictionary for setting the import options

pxr::VtDictionary expectedOptions; expectedOptions[“coreTestSettingsColor”] = pxr::VtValue(std::vector<float>{ 20.0, 4.0, 200.0 }); expectedOptions[“coreTestSettingsFloat”] = pxr::VtValue(float(8.8)); expectedOptions[“coreTestSettingsDouble2”] = pxr::VtValue(std::vector<float>{ 9.9, 8.8 }); expectedOptions[“coreTestSettingsDouble3”] = pxr::VtValue(std::vector<float>{ 89.89, 8.8, 9.9 }); expectedOptions[“coreTestSettingsInt”] = pxr::VtValue(8); expectedOptions[“coreTestSettingsInt2”] = pxr::VtValue(std::vector<int>{ 9, 8 }); expectedOptions[“coreTestSettingsBool”] = pxr::VtValue(true); expectedOptions[“coreTestSettingsStr”] = pxr::VtValue(“coreTestSettingsSetStringFromVtDict”);

// Set the import Options omni::connect::core::setImportOptionsFromVtDict(expectedOptions);

Parameters

optionsDict – The import options to set.

Variables

static constexpr const char *omni::connect::core::kAppNameSetting = "/app/name"

The name of the connected application. This should be the actual application name rather than the connector name.

static constexpr const char *omni::connect::core::kAppNameToken = "app_name"

The name of the connected application (controlled via kAppNameSetting)

static constexpr const char *omni::connect::core::kAppVersionSetting = "/app/version"

The version of the connected application. This should be the actual application version rather than the connector version. It may be parsed for conditional logic, so must be a semver-like value (eg 19.5.0, 2023.1, etc).

static constexpr const char *omni::connect::core::kAppVersionToken = "app_version"

The version of the connected application (controlled via kAppVersionSetting)

static constexpr const char *omni::connect::core::kBuildConfigToken = "config"

The build configuration of this library. The resolved value is either “release” or “debug”.

static constexpr const char *omni::connect::core::kCacheFolderToken = "cache"

A per user, per-client connector system folder to be used for caching, which could be cleaned up at any time. An application should be able to rebuild the cache if it is missing.

static constexpr const char *omni::connect::core::kClientNameSetting = "/omni.connect.core/client/name"

The name of the client connector. This will be used throughout Connect SDK to separate client specific data from one another (e.g. log folders, downloaded content, etc).

static constexpr const char *omni::connect::core::kClientNameToken = "client_name"

The name of the client connector (controlled via kClientNameSetting)

static constexpr const char *omni::connect::core::kClientVersionSetting = "/omni.connect.core/client/version"

The version of the client connector. This should be the connector version rather than the actual application version. It may be parsed for conditional logic, so must be a semver-like value (eg 19.5.0, 2023.1, etc).

static constexpr const char *omni::connect::core::kClientVersionToken = "client_version"

The version of the client connector (controlled via kClientVersionSetting)

static constexpr const char *omni::connect::core::kConnectSdkVersionFullToken = "connect_sdk_version_full"

The full build string version of the omni_connect_core library.

static constexpr const char *omni::connect::core::kConnectSdkVersionToken = "connect_sdk_version"

The current semver version of the omni_connect_core library

static constexpr const char *omni::connect::core::kCoreSettings = "omni.connect.core"

The namespace used for omni_connect_core specific settings.

static constexpr const char *omni::connect::core::kDataFolderToken = "data"

A per-user, per-client connector system folder to store persistent data. This system folder is different for every OS user. The data folder is where an application can write anything that must reliably persist between sessions.

static constexpr const char *omni::connect::core::kExportOptionsSetting = "/omni.connect.core/exportOptions"

Export Option settings path prefix for File Exporter Dialog.

static constexpr const char *omni::connect::core::kImportOptionsSetting = "/omni.connect.core/importOptions"

Import Option settings path prefix for File Importer Dialog.

static constexpr const char *omni::connect::core::kLogConsumerLevelSettingParentPath = "/omni.connect.core/log/consumerLevel/"

The parent path for setting the verbosity of the logs forwarded to registered log consumers. The developer can set log levels for individual log consumers by name in their omni.connect.client.toml file under the group [“omni.connect.core”.log.consumerLevel].

static constexpr const char *omni::connect::core::kLogFolderToken = "logs"

A per user, per-client connector system folder to be used for logging.

static constexpr const char *omni::connect::core::kOmniClientLibVersionFullToken = "omni_client_lib_version_full"

The full Omniverse Client Library version.

static constexpr const char *omni::connect::core::kPluginPathsSetting = "/app/plugins/extraPaths"

A list of additional relative filesystem paths to search for carb plugins when loading via omni::connect::core::loadCarbPlugin. Note that the core plugins must be located at $CARB_APP_PATH/plugins as this setting cannot be read until after the core plugins have loaded.

static constexpr const char *omni::connect::core::kPythonPathsSetting = "/app/python/extraPaths"

A list of additional relative filesystem paths to extend Python’s sys.path at runtime.

static constexpr const char *omni::connect::core::kStartTimeToken = "omni_connect_core_start_time"

The timestamp indicating when omni::connect::core::startup() was first called. Note this timestamp will not be reset if loadSettings() is called multiple times.

static constexpr const char *omni::connect::core::kUsdResolverPathSetting = "/omni.connect.core/usd/resolverPath"

The path of Omniverse USD Resolver plugin. The path is a local filesystem directory containing a plugInfo.json file. It can be specified relative to $CARB_APP_PATH or as an absolute filesystem path.

static constexpr const char *omni::connect::core::kUsdVersionToken = "usd_version"

The USD version.