Session paths are a type of asset path. They function exactly the same as the paths seen in the Customize->Configure Paths dialog, "External Files" and "XRefs" tabs. However, session paths are not shown in the UI and are not saved. They exist only for the remainder of the 3ds Max session in which they are applied. They are used to specify a set of paths to be searched for assets and XRef'd scene files.
Session paths support a mechanism whereby paths can be defined on a per-file basis. It is used by 3ds Max for network and command-line rendering, but it can also be used by customers developing their own asset management systems. The suggested use to define a concept of a "Project" where each project has its own asset folders. Users would open their files using a custom dialog that would set up the Session Paths to point to the appropriate folders for the given project.
IPathConfigMgr::GetAssetDirCount()
and IPathConfigMgr::GetAssetDir()
. These methods operate only on normal (non-session) paths. You can get the combined total of paths using IPathConfigMgr::GetCurAssetDirCount()
and access them using IPathConfigMrg::GetCurAssetDir()
.The class used to manage the session paths is IPathConfigMgr
. A global object of this type can be accessed through the method IPathConfigMgr::GetPathConfigMgr()
. This class contains the following methods specifically for dealing with session paths:
IPathConfigMgr::AddSessionAssetDir()
- Adds a session path.IPathConfigMgr::GetSessionAssetDirCount()
- Returns the number of session directories in path.IPathConfigMgr::GetSessionAssetDir()
- Returns the session directory in path.IPathConfigMgr::DeleteSessionAssetDir()
- Deletes a session path.IPathConfigMgr::SetSessionProjectFolder()
- Sets a project folder which will be used for this application session only.