{"id":20333379,"url":"https://github.com/bepinex/bepinex.multifolderloader","last_synced_at":"2025-07-26T07:08:14.908Z","repository":{"id":55007929,"uuid":"285676887","full_name":"BepInEx/BepInEx.MultiFolderLoader","owner":"BepInEx","description":"Loader to load plugins and patcher from multiple folders","archived":false,"fork":false,"pushed_at":"2021-01-15T18:53:34.000Z","size":36,"stargazers_count":6,"open_issues_count":0,"forks_count":3,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-25T17:47:14.007Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BepInEx.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-08-06T21:41:31.000Z","updated_at":"2024-05-09T18:24:43.000Z","dependencies_parsed_at":"2022-08-14T09:00:16.988Z","dependency_job_id":null,"html_url":"https://github.com/BepInEx/BepInEx.MultiFolderLoader","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BepInEx%2FBepInEx.MultiFolderLoader","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BepInEx%2FBepInEx.MultiFolderLoader/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BepInEx%2FBepInEx.MultiFolderLoader/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BepInEx%2FBepInEx.MultiFolderLoader/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BepInEx","download_url":"https://codeload.github.com/BepInEx/BepInEx.MultiFolderLoader/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248483609,"owners_count":21111485,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-14T20:31:07.579Z","updated_at":"2025-04-11T21:34:24.320Z","avatar_url":"https://github.com/BepInEx.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# BepInEx.MultiFolderLoader\n\nA simple loader to allow loading BepInEx plugins from isolated folders.  \nUseful for integrating BepInEx with mod loaders or mod repositories that require \nby-folder setup like Steam Workshop.\n\n## Requirements\n\nBepInEx 5.3 or newer\n\n## Installation\n\n1. Download the latest DLL from releases\n2. Put the downloaded DLL into `BepInEx\\patchers`\n3. Add the following lines to `doorstop_config.ini`:\n   \n   ```ini\n   [MultiFolderLoader]\n   baseDir = \u003cFULL PATH TO THE MODS FOLDER\u003e\n   disabledModsListPath = \u003cOPTIONAL FULL PATH TO MODS IGNORE FILE\u003e\n   enabledModsListPath = \u003cOPTIONAL FULL PATH TO MODS IGNORE FILE\u003e\n   enableAdditionalDirectories = \u003cOPTIONAL SET TO \"TRUE\" TO ENABLE ADDITIONAL DIRS\u003e\n   ```\n   \n   where you specify the full path to the folder that will work as mod base.  \n   Any of the paths may include environment variables enclosed in `%`s like `%AppData%`.  \n   *Optionally*, add a path to a file that lists folders to exclude.  \n   *Alternatively*, add a path to a file that lists folder to include instead.\n4. Run the game\n\n## Mod folder layout\n\nMod folder consists of subfolders. A subfolder is considered a mod when it has at least one of the following folders inside it:\n* `plugins` - contains any plugin DLLs of the mod\n* `patchers` - contains any preloader patcher DLLs of the mod\n\nAn example tree of a mod folder setup:\n\n```\n.\n├── ConfigManager\n│   └── plugins\n│       ├── ConfigurationManager.dll\n│       └── ConfigurationManager.xml\n├── DebugConsole\n│   └── plugins\n│       └── BepInEx.DeveloperConsole.dll\n└── MirrorInternalLogs\n    └── patchers\n        └── MirrorInternalLogs.dll\n```\n\n## Skipping mods explicitly\n\nTo skip mods, create a file where you list each folder name to skip loading. Separate folders by a newline (`\\n` or `\\r\\n`). Then, specify the full path to said file in `doorstop_config.ini` using `disabledModsListPath` config value.\n\nFor example, the following file:\n\n```\nConfigManager\nMirrorInternalLogs\n```\n\nwill skip loading `ConfigManager` and `MirrorInternalLogs` from the mod folder shown above.\n\nNotes:\n* Mod folder names are case-insensitive\n* Name of the mod ignore list file can be anything, only the contents matter\n* If loader fails to find or read the ignore list, all mods are loaded (and appropriate warning message emitted into bepin logs)\n\n## Enabling mods explicitly\n\nAlternatively, you can define a list of folders to explicitly load. The file format is the same as for [skipping mods](#skipping-mods-explicitly), but instead define `enabledModsListPath` config value.\n\n## Additional directories\n\nIf you want to load mods from more than one directory, you may set `enableAdditionalDirectories` config value to `true`, and define additional directories in sections `[MultiFolderLoader_\u003cNAME\u003e]`. Format is the same as for [original directory](#Installation), except that `enableAdditionalDirectories` wouldn't have additional effect.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbepinex%2Fbepinex.multifolderloader","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbepinex%2Fbepinex.multifolderloader","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbepinex%2Fbepinex.multifolderloader/lists"}