3ds Max C++ API Reference
MAX Directory IDs

The following IDs represent a set of application system directories that are used in various contexts. More...

Macros

#define APP_FONT_DIR   0
 The ID used to access the default Font files location. More...
 
#define APP_SCENE_DIR   1
 The ID used to access the default location where Scene files are saved. More...
 
#define APP_IMPORT_DIR   2
 The ID used to access the default location where import data is browsed from. More...
 
#define APP_EXPORT_DIR   3
 The ID used to access the default location where export data is saved to. More...
 
#define APP_HELP_DIR   4
 The ID used to access the system location where help files are stored. More...
 
#define APP_EXPRESSION_DIR   5
 The ID used to access the default location where data files relating to the Expression Controller are saved. More...
 
#define APP_PREVIEW_DIR   6
 The ID used to access the default location where preview rendering outputs are saved. More...
 
#define APP_IMAGE_DIR   7
 The ID used to access the default location where all non-material images used in scenes are browsed from. More...
 
#define APP_SOUND_DIR   8
 The ID used to access the default location where all sound files used in scenes are browsed from. More...
 
#define APP_PLUGCFG_DIR   9
 The ID used to access the system location where all plugin configuration files are saved and loaded. More...
 
#define APP_MAXSTART_DIR   10
 The ID used to access the system location where the application will look for default application startup scene. More...
 
#define APP_VPOST_DIR   11
 The ID used to access the default location where all Video Post files used in scenes are browsed from. More...
 
#define APP_DRIVERS_DIR   12
 The ID used to access the system location where the application will look for graphic driver specifc files. More...
 
#define APP_AUTOBACK_DIR   13
 The ID used to access the default location where the autobackup files are saved. More...
 
#define APP_MATLIB_DIR   14
 The ID used to access the default location where the material library files are loaded and saved. More...
 
#define APP_SCRIPTS_DIR   15
 The ID used to access the system location where scripts are saved. More...
 
#define APP_STARTUPSCRIPTS_DIR   16
 The ID used to access the system location where startup scripts are saved. More...
 
#define APP_MARKETDEFAULTS_DIR   17
 The ID used to access the system location where a market defaults set is loaded from. More...
 
#define APP_RENDER_PRESETS_DIR   18
 The ID used to access the default location where render preset files are loaded and saved. More...
 
#define APP_UI_DIR   19
 The ID used to access the system location where files relating to the User Interface files are read from. More...
 
#define APP_MAX_SYS_ROOT_DIR   20
 With Windows Vista, plugins will no longer have direct write access to the application install path. More...
 
#define APP_RENDER_OUTPUT_DIR   21
 The ID used to access the default location where render output files are saved. More...
 
#define APP_ANIMATION_DIR   22
 The ID used to access the default location where animation files are loaded and saved. More...
 
#define APP_ARCHIVES_DIR   23
 The ID used to access the default location where archived scene files are saved. More...
 
#define APP_PHOTOMETRIC_DIR   24
 The ID used to access the default location where photometric data files are loaded. More...
 
#define APP_RENDER_ASSETS_DIR   25
 The ID used to access the default location where render assets (such as mental ray photon maps, etc.) are loaded and saved. More...
 
#define APP_USER_SCRIPTS_DIR   26
 The ID used to access the default location where a user can safely write or create a script file. More...
 
#define APP_USER_MACROS_DIR   27
 The ID used to access the default location where a user can safely write or create a macroscript file. More...
 
#define APP_USER_STARTUPSCRIPTS_DIR   28
 The ID used to access the default location where a user can safely write or create a script file which is run at startup. More...
 
#define APP_TEMP_DIR   29
 The ID used to access the system location where a temp file can safely be written. More...
 
#define APP_USER_ICONS_DIR   30
 The ID used to access the default location where a user can safely create icon files that can be used by the Customizable User Interface system. More...
 
#define APP_MAXDATA_DIR   31
 The ID used to access the system location where user specific configuration files should be written. More...
 
#define APP_PROJECT_FOLDER_DIR   32
 The ID used to access the root folder of the current system project. More...
 
#define APP_DOWNLOAD_DIR   33
 The ID used to access the user defined location where downloaded files should be deposited by default. More...
 
#define APP_PROXIES_DIR   34
 The ID used to access the user defined location where proxies (mainly bitmaps) are stored. More...
 
#define APP_MANAGED_ASSEMBLIES_DIR   35
 The ID used to access the folder that contains the .NET assemblies that are either meant to be plug-ins for the application, or contains components that are relevant to the application. More...
 
#define APP_PAGE_FILE_DIR   36
 The ID used to access the folder that contains bitmap tile pagefiles, for the Bitmap Pager. More...
 
#define APP_SHADER_CACHE_DIR   37
 The ID used to access the system location where a shader cache file can safely be written. More...
 
#define APP_PLUGCFG_LN_DIR   38
 The ID used to access the system location where the application will look for non-localized plugin configuration files. More...
 
#define APP_UI_LN_DIR   39
 The ID used to access the system location where the application will look for non-localized UI related data files. More...
 
#define APP_AUTODESK_CLOUD_DIR   40
 The ID used to access the system location where the application will load and save files to the cloud (Autodesk 360 synchronization service). More...
 
#define APP_PLUGIN_PACKAGE_PRIVATE_DIR   41
 The ID used to access the directory where plug-ins loaded by Plug-in Package Manager are installed for current user. More...
 
#define APP_PLUGIN_PACKAGE_PUBLIC_DIR   42
 The ID used to access the directory where plug-ins loaded by Plug-in Package Manager are installed for all the users. More...
 
#define APP_USER_STARTUP_TEMPLATE_DIR   43
 The ID used to access the directory where startup templates are read from in projects. More...
 
#define APP_SYSTEM_IMAGE_DIR   44
 The ID used to access the system location where image files are located on install. More...
 
#define APP_SYSTEM_PHOTOMETRIC_DIR   45
 The ID used to access the system location where photometric files are located on install. More...
 
#define APP_SYSTEM_SOUND_DIR   46
 The ID used to access the system location where sound files are located on install. More...
 
#define APP_FLUID_SIMULATION_DIR   47
 The ID used to access the directory where fluid simulation files will be placed. More...
 
#define APP_USER_SETTINGS_DIR   48
 The ID used to access the directory where user settings files will be placed. More...
 
#define APP_USER_TOOLS_DIR   49
 The ID used to access the directory where user tools files will be placed. More...
 
#define APP_PLUGINDATA_DIR   50
 (internal only) The ID used to access the system location where system plugin-in data files are located on install. More...
 
#define APP_PRESETS_DIR   51
 (internal only) The ID used to access the system location where system presets are located on install. More...
 

Detailed Description

The following IDs represent a set of application system directories that are used in various contexts.

The most common usage for these IDs is in the IPathConfigMgr::GetDir() and IPathConfigMgr::SetDir(int) methods.

Macro Definition Documentation

◆ APP_FONT_DIR

#define APP_FONT_DIR   0

The ID used to access the default Font files location.

See also
IPathConfigMgr::GetDir()
IPathConfigMgr::SetDir(int)

◆ APP_SCENE_DIR

#define APP_SCENE_DIR   1

The ID used to access the default location where Scene files are saved.

See also
IPathConfigMgr::GetDir()
IPathConfigMgr::SetDir(int)

◆ APP_IMPORT_DIR

#define APP_IMPORT_DIR   2

The ID used to access the default location where import data is browsed from.

See also
IPathConfigMgr::GetDir()
IPathConfigMgr::SetDir(int)

◆ APP_EXPORT_DIR

#define APP_EXPORT_DIR   3

The ID used to access the default location where export data is saved to.

See also
IPathConfigMgr::GetDir()
IPathConfigMgr::SetDir(int)

◆ APP_HELP_DIR

#define APP_HELP_DIR   4

The ID used to access the system location where help files are stored.

See also
IPathConfigMgr::GetDir()
IPathConfigMgr::SetDir(int)

◆ APP_EXPRESSION_DIR

#define APP_EXPRESSION_DIR   5

The ID used to access the default location where data files relating to the Expression Controller are saved.

See also
IPathConfigMgr::GetDir()
IPathConfigMgr::SetDir(int)

◆ APP_PREVIEW_DIR

#define APP_PREVIEW_DIR   6

The ID used to access the default location where preview rendering outputs are saved.

See also
IPathConfigMgr::GetDir()
IPathConfigMgr::SetDir(int)

◆ APP_IMAGE_DIR

#define APP_IMAGE_DIR   7

The ID used to access the default location where all non-material images used in scenes are browsed from.

See also
IPathConfigMgr::GetDir()
IPathConfigMgr::SetDir(int)

◆ APP_SOUND_DIR

#define APP_SOUND_DIR   8

The ID used to access the default location where all sound files used in scenes are browsed from.

See also
IPathConfigMgr::GetDir()
IPathConfigMgr::SetDir(int)

◆ APP_PLUGCFG_DIR

#define APP_PLUGCFG_DIR   9

The ID used to access the system location where all plugin configuration files are saved and loaded.

See also
IPathConfigMgr::GetDir()
IPathConfigMgr::SetDir(int)

◆ APP_MAXSTART_DIR

#define APP_MAXSTART_DIR   10

The ID used to access the system location where the application will look for default application startup scene.

Localized plugin configuration files go here.

See also
IPathConfigMgr::GetDir()
IPathConfigMgr::SetDir(int)

◆ APP_VPOST_DIR

#define APP_VPOST_DIR   11

The ID used to access the default location where all Video Post files used in scenes are browsed from.

See also
IPathConfigMgr::GetDir()
IPathConfigMgr::SetDir(int)

◆ APP_DRIVERS_DIR

#define APP_DRIVERS_DIR   12

The ID used to access the system location where the application will look for graphic driver specifc files.

See also
IPathConfigMgr::GetDir()
IPathConfigMgr::SetDir(int)

◆ APP_AUTOBACK_DIR

#define APP_AUTOBACK_DIR   13

The ID used to access the default location where the autobackup files are saved.

See also
IPathConfigMgr::GetDir()
IPathConfigMgr::SetDir(int)

◆ APP_MATLIB_DIR

#define APP_MATLIB_DIR   14

The ID used to access the default location where the material library files are loaded and saved.

See also
IPathConfigMgr::GetDir()
IPathConfigMgr::SetDir(int)

◆ APP_SCRIPTS_DIR

#define APP_SCRIPTS_DIR   15

The ID used to access the system location where scripts are saved.

This location is also included in the maxscript search path.

See also
IPathConfigMgr::GetDir()
IPathConfigMgr::SetDir(int)

◆ APP_STARTUPSCRIPTS_DIR

#define APP_STARTUPSCRIPTS_DIR   16

The ID used to access the system location where startup scripts are saved.

Scripts found in this folder will be run when the application starts up. This location is also included in the maxscript search path.

See also
IPathConfigMgr::GetDir()
IPathConfigMgr::SetDir(int)

◆ APP_MARKETDEFAULTS_DIR

#define APP_MARKETDEFAULTS_DIR   17

The ID used to access the system location where a market defaults set is loaded from.


See also
IPathConfigMgr::GetDir()
IPathConfigMgr::SetDir(int)

◆ APP_RENDER_PRESETS_DIR

#define APP_RENDER_PRESETS_DIR   18

The ID used to access the default location where render preset files are loaded and saved.

See also
IPathConfigMgr::GetDir()
IPathConfigMgr::SetDir(int)

◆ APP_UI_DIR

#define APP_UI_DIR   19

The ID used to access the system location where files relating to the User Interface files are read from.


See also
IPathConfigMgr::GetDir()
IPathConfigMgr::SetDir(int)

◆ APP_MAX_SYS_ROOT_DIR

#define APP_MAX_SYS_ROOT_DIR   20

With Windows Vista, plugins will no longer have direct write access to the application install path.

Application data and settings needs to be written to a user profile path.

Plugins should follow the following rules from writing files:

  • Plugins that need to write localized configuration data should rely on APP_PLUGCFG_DIR.
  • Plugins that need to write non-localized configuration data should rely on APP_PLUGCFG_LN_DIR.
  • Plugins that need to write miscellaneous data can use APP_MAXDATA_DIR. This path is pointed to a user profile directory and is safe to write to. Plugins may create subdirectories under this path.
  • Plugins that need to write out temporary files should rely on APP_TEMP_DIR.
  • Finally, plugins that need to dynamically look up the application install root can use the APP_MAX_SYS_ROOT_DIR value.

The ID used to access the system location where application executable resides.

See also
IPathConfigMgr::GetDir()
IPathConfigMgr::SetDir(int)

◆ APP_RENDER_OUTPUT_DIR

#define APP_RENDER_OUTPUT_DIR   21

The ID used to access the default location where render output files are saved.

See also
IPathConfigMgr::GetDir()
IPathConfigMgr::SetDir(int)

◆ APP_ANIMATION_DIR

#define APP_ANIMATION_DIR   22

The ID used to access the default location where animation files are loaded and saved.

See also
IPathConfigMgr::GetDir()
IPathConfigMgr::SetDir(int)

◆ APP_ARCHIVES_DIR

#define APP_ARCHIVES_DIR   23

The ID used to access the default location where archived scene files are saved.

See also
IPathConfigMgr::GetDir()
IPathConfigMgr::SetDir(int)

◆ APP_PHOTOMETRIC_DIR

#define APP_PHOTOMETRIC_DIR   24

The ID used to access the default location where photometric data files are loaded.

See also
IPathConfigMgr::GetDir()
IPathConfigMgr::SetDir(int)

◆ APP_RENDER_ASSETS_DIR

#define APP_RENDER_ASSETS_DIR   25

The ID used to access the default location where render assets (such as mental ray photon maps, etc.) are loaded and saved.

See also
IPathConfigMgr::GetDir()
IPathConfigMgr::SetDir(int)

◆ APP_USER_SCRIPTS_DIR

#define APP_USER_SCRIPTS_DIR   26

The ID used to access the default location where a user can safely write or create a script file.

This location is also included in the maxscript search path.

See also
IPathConfigMgr::GetDir()
IPathConfigMgr::SetDir(int)

◆ APP_USER_MACROS_DIR

#define APP_USER_MACROS_DIR   27

The ID used to access the default location where a user can safely write or create a macroscript file.

This is searched at startup to locate custom macroscript actions.

See also
IPathConfigMgr::GetDir()
IPathConfigMgr::SetDir(int)

◆ APP_USER_STARTUPSCRIPTS_DIR

#define APP_USER_STARTUPSCRIPTS_DIR   28

The ID used to access the default location where a user can safely write or create a script file which is run at startup.


Scripts found in this folder will be run when the application starts up. This location is also included in the maxscript search path.

See also
IPathConfigMgr::GetDir()
IPathConfigMgr::SetDir(int)

◆ APP_TEMP_DIR

#define APP_TEMP_DIR   29

The ID used to access the system location where a temp file can safely be written.

Note that the application does no special action to clean up this folder on exit, that it is still the responsibility of the developer to remove temporary files.

See also
IPathConfigMgr::GetDir()
IPathConfigMgr::SetDir(int)

◆ APP_USER_ICONS_DIR

#define APP_USER_ICONS_DIR   30

The ID used to access the default location where a user can safely create icon files that can be used by the Customizable User Interface system.

This location is included in the search path when the application is attempting to load an icon file by name.

See also
IPathConfigMgr::GetDir()
IPathConfigMgr::SetDir(int)

◆ APP_MAXDATA_DIR

#define APP_MAXDATA_DIR   31

The ID used to access the system location where user specific configuration files should be written.

This value was introduced due to support Least Privilege Users.

See also
APP_MAX_SYS_ROOT_DIR
IPathConfigMgr::GetDir()
IPathConfigMgr::SetDir(int)

◆ APP_PROJECT_FOLDER_DIR

#define APP_PROJECT_FOLDER_DIR   32

The ID used to access the root folder of the current system project.

Developers should prefer to access this value using the methods named below.

See also
IPathConfigMgr::GetCurrentProjectFolder()
IPathConfigMgr::SetCurrentProjectFolder(const MaxSDK::Util::Path&)

◆ APP_DOWNLOAD_DIR

#define APP_DOWNLOAD_DIR   33

The ID used to access the user defined location where downloaded files should be deposited by default.

See also
IPathConfigMgr::GetCurrentProjectFolder()
IPathConfigMgr::SetCurrentProjectFolder(const MaxSDK::Util::Path&)

◆ APP_PROXIES_DIR

#define APP_PROXIES_DIR   34

The ID used to access the user defined location where proxies (mainly bitmaps) are stored.

See also
IPathConfigMgr::GetCurrentProjectFolder()
IPathConfigMgr::SetCurrentProjectFolder(const MaxSDK::Util::Path&)

◆ APP_MANAGED_ASSEMBLIES_DIR

#define APP_MANAGED_ASSEMBLIES_DIR   35

The ID used to access the folder that contains the .NET assemblies that are either meant to be plug-ins for the application, or contains components that are relevant to the application.


See also
IPathConfigMgr::GetCurrentProjectFolder()
IPathConfigMgr::SetCurrentProjectFolder(const MaxSDK::Util::Path&)

◆ APP_PAGE_FILE_DIR

#define APP_PAGE_FILE_DIR   36

The ID used to access the folder that contains bitmap tile pagefiles, for the Bitmap Pager.

See also
IBitmapPager::GetPageFilePath()
IBitmapPager::SetPageFilePath(const MCHAR* path)

◆ APP_SHADER_CACHE_DIR

#define APP_SHADER_CACHE_DIR   37

The ID used to access the system location where a shader cache file can safely be written.

These are shaders that have been compiled by 3ds Max and stored for later usage. The compiled shaders can live longer than a 3ds Max session, being reused whenever possible.

See also
IPathConfigMgr::GetDir()
IPathConfigMgr::SetDir(int)

◆ APP_PLUGCFG_LN_DIR

#define APP_PLUGCFG_LN_DIR   38

The ID used to access the system location where the application will look for non-localized plugin configuration files.

See also
IPathConfigMgr::GetDir()
IPathConfigMgr::SetDir(int)

◆ APP_UI_LN_DIR

#define APP_UI_LN_DIR   39

The ID used to access the system location where the application will look for non-localized UI related data files.

See also
IPathConfigMgr::GetDir()
IPathConfigMgr::SetDir(int)

◆ APP_AUTODESK_CLOUD_DIR

#define APP_AUTODESK_CLOUD_DIR   40

The ID used to access the system location where the application will load and save files to the cloud (Autodesk 360 synchronization service).

See also
IPathConfigMgr::GetDir()
IPathConfigMgr::SetDir(int)

◆ APP_PLUGIN_PACKAGE_PRIVATE_DIR

#define APP_PLUGIN_PACKAGE_PRIVATE_DIR   41

The ID used to access the directory where plug-ins loaded by Plug-in Package Manager are installed for current user.

See also
IPathConfigMgr::GetDir()
IPathConfigMgr::SetDir(int)

◆ APP_PLUGIN_PACKAGE_PUBLIC_DIR

#define APP_PLUGIN_PACKAGE_PUBLIC_DIR   42

The ID used to access the directory where plug-ins loaded by Plug-in Package Manager are installed for all the users.

See also
IPathConfigMgr::GetDir()
IPathConfigMgr::SetDir(int)

◆ APP_USER_STARTUP_TEMPLATE_DIR

#define APP_USER_STARTUP_TEMPLATE_DIR   43

The ID used to access the directory where startup templates are read from in projects.

See also
IPathConfigMgr::GetDir()
IPathConfigMgr::SetDir(int)

◆ APP_SYSTEM_IMAGE_DIR

#define APP_SYSTEM_IMAGE_DIR   44

The ID used to access the system location where image files are located on install.

See also
IPathConfigMgr::GetDir()
IPathConfigMgr::SetDir(int)

◆ APP_SYSTEM_PHOTOMETRIC_DIR

#define APP_SYSTEM_PHOTOMETRIC_DIR   45

The ID used to access the system location where photometric files are located on install.

See also
IPathConfigMgr::GetDir()
IPathConfigMgr::SetDir(int)

◆ APP_SYSTEM_SOUND_DIR

#define APP_SYSTEM_SOUND_DIR   46

The ID used to access the system location where sound files are located on install.

See also
IPathConfigMgr::GetDir()
IPathConfigMgr::SetDir(int)

◆ APP_FLUID_SIMULATION_DIR

#define APP_FLUID_SIMULATION_DIR   47

The ID used to access the directory where fluid simulation files will be placed.

See also
IPathConfigMgr::GetDir()
IPathConfigMgr::SetDir(int)

◆ APP_USER_SETTINGS_DIR

#define APP_USER_SETTINGS_DIR   48

The ID used to access the directory where user settings files will be placed.

See also
IPathConfigMgr::GetDir()
IPathConfigMgr::SetDir(int)

◆ APP_USER_TOOLS_DIR

#define APP_USER_TOOLS_DIR   49

The ID used to access the directory where user tools files will be placed.

See also
IPathConfigMgr::GetDir()
IPathConfigMgr::SetDir(int)

◆ APP_PLUGINDATA_DIR

#define APP_PLUGINDATA_DIR   50

(internal only) The ID used to access the system location where system plugin-in data files are located on install.

See also
IPathConfigMgr::GetDir()
IPathConfigMgr::SetDir(int)

◆ APP_PRESETS_DIR

#define APP_PRESETS_DIR   51

(internal only) The ID used to access the system location where system presets are located on install.

See also
IPathConfigMgr::GetDir()
IPathConfigMgr::SetDir(int)