File information
Last updated
Original upload
Created by
BG3 Community Library TeamUploaded by
NellsReloVirus scan
Safe to use
Current section
About this mod
This is the Compatibility Framework. Split off from BG3 Community Library, this mod provides an API for other mods to use improve compatibility. Initially designed for Subclass Compatibility, the Framework has API endpoints that Script-Extender Enabled mods can hook into to insert values into Progressions, Feats, and Lists at Runtime.
- Requirements
-
Nexus requirements
Mod name Notes Baldur's Gate 3 Community Library REQUIRED Off-site requirements
Mod name Notes Baldur's Gate 3 Script Extender Grab the latest version Mods requiring this file
- Permissions and credits
-
Credits and distribution permission
- Other user's assets All the assets in this file belong to the author, or are from free-to-use modder's resources
- Upload permission You are not allowed to upload this file to other sites under any circumstances
- Modification permission You must get permission from me before you are allowed to modify my files to improve it
- Conversion permission You are not allowed to convert this file to work on other games under any circumstances
- Asset use permission You must get permission from me before you are allowed to use any of the assets in this file
- Asset use permission in mods/files that are being sold You are not allowed to use assets from this file in any mods/files that are being sold, for money, on Steam Workshop or other platforms
- Asset use permission in mods/files that earn donation points You are not allowed to earn Donation Points for your mods if they use my assets
Author notes
This author has not provided any additional notes regarding file permissions
File credits
This author has not credited anyone else in this file
Donation Points system
Please log in to find out whether this mod is receiving Donation Points
- Changelogs
-
-
Version 2.6.4.0a
- Allow Comment keys to be included in json Spell subsections
- Update meta.lsx dependencies to include Community Library
- Allow CF to be placed anywhere in the load order
-
Version 2.6.3.12
- Point call to RetrieveModHandleAndAuthor to Community Library, fixing an error message
-
Version 2.6.3.11
- Fix Typo in Race data API that didn't get applied
-
Version 2.6.3.10
- Ensure Race Child Removal Support is handling Validation correctly
-
Version 2.6.3.9
- Additional fixes to Action Resource Config Support
-
Version 2.6.3.8
- Fix for Action Resource Group Support
-
Version 2.6.3.7
- Add Error Handling for JSON Parse errors, to ease user troubleshooting.
-
Version 2.6.3.6
- Adjustments to Spell String Support
- Adjustments to Internal Strings Loader
- Add error to Console when CL isn't installed
-
Version 2.6.3.5
- Move Integrated Support into Community Library
- Ensure SelectorIds are respected in Selector API
- Fixes to Selector and Race Queue
-
Version 2.6.3.4
- Migrate Resuable functions to Community Library. Now requires Community Library
-
Version 2.6.3.3
- Point integrated Support bards to correct Progression
- Resolve error in BootstrapServer(thanks for the find, Wesslen!)
- Minor tweaks to Spell String handling
-
Version 2.6.3.2
- Fix to Ability Selector issue
-
Version 2.6.3.1
- Fixes to Race Queue Builder & Json Loading
- Identify mods using BootstrapServer in Warning message
-
Version 2.6.3
- Expand Boolean Support
- Move Boolean Support to Queue System
- Move Race Children Node Support to Queue System
-
Version 2.6.2
- Fixes to Selector Removal Logic
- Strings added to the Queue System
-
Version 2.6.1.3
- Resolve Lists bug not filtering all undefined spell data
-
Version 2.6.1.2
- Logging to identify mods that require updating their API calls
- Fixes to Selector Queue
-
Version 2.6.1.1
- Added Console warning to indicate minor change in Direct API call useage
-
Version 2.6.1
- Moved Subclass & Selector systems to the Queue System
- Fix Subclass Sorting
-
Version 2.6.0
- Set up a Queue system, minimizing Operations for Lists
- Fixed handling for Lists containing undefined Stat Data, Preventing further main menu locks
- Removed Sorting logic for Lists temporarilly
-
Version 2.5.7
- Enabled JSON Configuration Method for Removing Selectors from a Progression
- Removed Dread Overlord from Integrated Support (It now has innate support)
- Clarified some console warnings.
- Refactored List Sorting to improve load performance
-
Version 2.5.6
- Optimizations to Config-based Spell List Handler
-
Version 2.5.5
- Refactor Feat Compatibility to support Multiple Feat UUIDs
-
Version 2.5.4
- Added clarity to Validation Warning
- Fix to SelectAbilities() Selector Handling
-
Version 2.5.3
- Allow all fields for Spells/Passive/Statuses to be edited via the Spells Module
- Fixes to Feat String Module Handling
-
Version 2.5.2
- Fix RaceApi issues
-
Version 2.5.1
- Fix to handling multiple UUIDs in Progressions
-
Version 2.5.0
- Use v8 of Script Extender (no changes needed for users)
- Refactor Subclass module to utilize existing functionality
- Deprecate BootstrapServer.lua API calls
- Alphabetical sorting for inserter subclasses
- Support for multiple progression IDs for all progression-related modules using config approach
-
Version 2.4.16
- Add Console Errors when Target Entry can't be found
- Fix Shadowdancer Integrated Support Config
-
Version 2.4.15
- Enabled String Removal in Config Method
-
Version 2.4.14
- Added optional modGuid field to all Config methods to require another mod to be loaded per entry
- Minor Fixes
-
Version 2.4.13
- Spooky Number (too spooky for mod managers)
- Typo Fixes
-
Version 2.4.12
- Fixes to Boolean Handling
- Alphabeticization of List Item Inserts
- Add optional modGuid field for subclasses
- Fix issue with integrated support configuration
- Simplify Subclass Config
- Allow multiple List UUIDs to be configured within one List object in the config
-
Version 2.4.11
- Support for Spell Containers
-
Version 2.4.10
- Shifted Integrated Support to utilize the Configuration Method Internally, Removed entries that are already utilizing Configuration and API Methods (they're still supported)
- Changes are loaded On StatsLoaded instead of On SessionLoaded
- Fixes to Strings and Selectors
-
Version 2.4.8
- Pull in fixes from 2.4.6
-
Version 2.4.7
- Fix issue in meta.lsx
-
Version 2.4.6
- Fixes to Selector & String Compatibility Modules
-
Version 2.4.5
- Simplify JSON Config Support for Races.lsx
-
Version 2.4.4
- Quick fix for Subclass Config Loader
-
Version 2.4.3
- Support for Boolean fields within Feats and Progressions
- JSON-based Configuration method
-
Version 2.4.2
- Selector API fixes
- Support for Races.lsx Children fields
-
Version 2.4.1
- Created Dictionary API for Mod Authors to utilize
-
Version 2.4.0
- Expand Selector and String API to allow for targeting Feats
- Expand String API to include Requirements
- Minor Fixes to String API
- API Support for Action Resource Group Definitions
- Code Optimization
-
Version 2.3.3
- Revert Inner folder rename to prevent crashes
-
Version 2.3.2
- Code Cleanup
- Resolve potential breaking issue with Selector API
-
Version 2.3.1
- List API Fixes
- Typo Fixes
- Addition of Api.ToggleWarn
- Upgrade to Script Extender v5
- Caching Fixes
-
Version 2.3.0
- Add Support for Boosts, PassivesAdded, and PassivesRemoved fields in Progressions
- Add Support for SpellLists, PassiveLists, and SkillLists
- Rename to Compatibility Framework
-
Version 2.2.0
- Add Selector Module
- Add Debug Toggle Endpoint
-
Version 2.1.3
- Add Integrated Support for Baltavi's Blood Domain Cleric
- General Cleanup
- Refactor internal logic to allow passing in Progression UUID as alternative to lower-case class name
-
Version 2.1.2
- Updated for MP compatibility
-
Version 2.1.1
- Integrated Support for Shadowdancer by AdamMasher
- Integrated Support for Graviturgy Magic by havsglimt
-
Version 2.1.0
- Expose API for external use
- Integrated support for Stone Sorcery
-
Version 2.0.1
- Fix for Old UUID of Diamon's Mystic Manual - Fighter Subclasses
- Fighter Subclass - Samurai Support
-
Version 2.0.0
- Add Support for Circle of Stars
- Remove Dummies file
- Now compatible with mods that alter progressions
- Auto-hide Subclasses that aren't installed
-
Version 1.1.0
- Add Support for College of Players by DrozZhat
- Add Support for The Raven Queen by GladoffelLp
- Add Support for Oath of Conquest by havsglimt
- Add Support for Rune Knight by ShivasShadow
- Add Support for Circle of Wildfire by Kingdomyoshi
- Alphabetize Subclasses
-
Version 1.0.0
- Split apart from Community Library
- Add support for Arcane Archer by ShivasShadow
- Add support for Circle of Dreams by Kingdomyoshi
- Add support for Way of the Drunken Master by JohnnyTheSneeder
- Add support for Death Domain by CrackerJackGCO
-
- Donations
-
No donations accepted

This is the Compatibility Framework. Split off from BG3 Community Library, this mod provides an API and easy JSON Configuration-based compatibility loader for other mods to use improve compatibility. Initially designed for Subclass Compatibility, the Framework has API endpoints that Script-Extender Enabled mods can hook into to insert values into Races, Progressions/Feats and Spell/Skill/PassiveLists at Runtime. What this means is that a mod author can inject their mod's data into existing Progressions, Feats, Races, or Lists without overwriting data, allowing for total compatibility. If you want to know which mods are currently supported, check out this list.
The BG3 Compatibility Patcher and Spell List Combiner are two alternatives, that take different approaches to handling compatibility with Progressions and Lists.
If you like my work, please consider leaving a tip on Ko-fi! Neither my mods, nor support for them, will ever be gated behind or be based on payment or donation - this is just for if you feel like encouraging my coffee habit xD
Contributing
The Compatibility Framework makes it easy to set mods that work with Progressions or Lists up for compatibility with other mods that alter the same things. You can utilize the Framework's API (Template Provided), or add a small amount of code to a single file. To find out how, check out our Wiki page.
Usage
Our Wiki on GitHub has useful documentation on using the Compatibility Framework, both via its API and its JSON Configuration loader methods. For quick links to documentation on specific parts of the Framework, see this list:
- Races.lsx Compatibility
- Lists Compatibility
- Progressions Compatibility: Subclasses
- Progressions/Feats Compatibility: Selectors
- Progressions/Feats Compatibility: Boosts/Passives/Requirements
- Progressions/Feats Compatibility: Booleans
- Action Resource Group Definitions Compatibility
Installation
This mod works with Baldur's Gate 3 Mod Manager, and possibly Vortex and Manual Installations. BG3 Mod Managers is by far the simplest method, and as such is recommended one.
Load Order
Compatibility Framework should load at the bottom of your load order.
- If you're updating to Compatibility Framework 2.3.0 or higher, you can safely delete SubclassCompatibilityFramework, as it has been renamed.
- If using Community Library, you no longer need CommunityLibraryDummies, which can be safely deleted.
- If you're updating to Compatibility Framework 2.0.0 or higher, you can safely delete SubclassCompatibilityFrameworkDummies.
BG3 Mod Manager
- Download the latest release, and unzip the .pak file.
- Open BG3 Mod Manager, click File->Import Mod.
- Select CompatibilityFramework.pak.
- Once imported, click refresh
- Move CompatibilityFramework to bottom of load order (highest number in BG3MM)
- Hit "Save Load Order to File."
Recommended Mod Management Tools
Other Recommended Mods/Pages
Acknowledgements
- Larian Software, for working on Baldur's Gate 3 and bringing 5th Edition to PC.
- LaughingLeader, for explaining how to do Configuration Loading
- The Baldur's Gate 3 Modding Community.
- Kvalyr for explaining how to Expose an API effectively
- https://github.com/ShinyHobo for their work easing the process of creating .pak files.
- Alana for the creation of the Mod Manager Compatibility Images.