Project Search Paths

Project Search Paths

Previous versions of Max used a single global search path for locating files used by the application. For instance, the "patches" folder inside the Max application folder was typically used to store patchers, media files, 3rd party externals and help files, and so on. Projects provide new means for controlling how Max searches for files.

Within a project, patchers and other kinds of files may be marked either 'global' or 'local'. Global means "use the version of this file found in Max's global search path, if available". Local means "use the version of this file found in a project-maintained search path, if available". Plus, you have the option to "publish" a file to the global search path, or to "localize" a file to your project's search path.

The project-local search path consists of a number of elements.
Project-local folders:
Projects maintain a folder on your hard drive (typically found at ~/Documents/Max/Projects (Mac) or (User Folder)\My Documents\Max\Projects (Win)). The contents of this folder (and its subfolders) are preferentially searched when Max is looking for files requested by project members. New files added to a project are created inside this folder by default, and you can manually add files to it, too.
'Singleton' folders:
Projects can reference files which are neither in the Max global search path, nor in the Project folder. When searching for files, the folders containing these 'singletons' are searched (non-recursively), as well.
Project search paths:
Projects also maintain a list of additional folders to be searched when locating project assets. This list works similarly to the list found in Max's File Preferences... window, but is used only by the project.
When resolving files from a project, the following search path order is used:

  • If the file is marked local in the Project window:
    • project-local folders
    • singleton folders
    • project search paths
    • Max's global search path
  • If the file is marked global in the Project window:
    • Max's global search path
    • project-local folders
    • singleton folders
    • project search paths
  • Implicit dependencies are always presumed to be local. If no local version can be found, the global version will be used.

Local and global state for implicit dependencies does not persist across Project loads. You must explicitly add the dependency in question to your Project before the state will be saved.