About this mod
A brand new NVSE plugin, wow... another one. 70+ new functions and fixes, with a new file format that allows us to go beyond the 255-mod limit.
- Requirements
- Permissions and credits
- Changelogs
The all-in-one Modding Framework for Fallout: New Vegas

Overview:
- Vanilla Plugins+ is a comprehensive modding solution that goes far beyond traditional ESP/ESM mods. This is built off of the same tech that made Weapon Smith possible.
- Tools like the Devkit (featuring *Kit Markup Language*), robust pNVSE functions for Script, extended Script capabilities, and a flexible trait-based frameworking system, Vanilla Plugins+ redefines what’s possible in New Vegas modding.
- Significantly faster compile times for FNV scripts, compared to using normal script runner files.
Key Features:
- Devkit: Devkit behaves a lot like the ESL system in newer Bethesda games. It allows us to go beyond the plugin limit of 255 ESP/ESMs. All the changes get loaded last, after ESP/ESMs just like the ESL system. Kit mods are tracked, and indexed by devkit, meaning we can trace the source of changes unlike script runner mods. Scripts can be linked to quest mods, and scripts can call each other just like they could in the geck.
- Kit Markup Language: Write your mod files in plain English with an easy-to-read, text-based markup. Whether you’re tweaking existing forms or creating new ones, the Devkit system is designed to be accessible – even for those with minimal coding experience. This includes creating scripts and quests scripts as you would in the GECK without the need to open it. Scripts are compiled just like how they are compiled in the geck, this includes working quest scripts. You should be able to copy and paste most scripts from geck directly into a kit with no changes. You can use the vanilla Begin Block, or BeginAlt which is specifically made for kit.
- Frameworking via Traits: Extend your mods by tagging game forms with custom traits. Build modular, interoperable frameworks that let your mod seamlessly integrate with others – no hard dependencies required.
- pNVSE Functions for FNV scripts: Adds 50+ new functions with pNVSE. And fixes and expands some script functions found in JIP LN. This is done externally, the changes only get applied if JIP is installed.
- MO2 Integration: Fully compatible with Mod Organizer 2, Vanilla Plugins+ ensures your mod kit files are organized, conflict-free. Install the kit MO2 plugin from the optional files to view kit mods in MO2. This plugin is still a WIP, so If you want to edit your load order, you will have to do it through Devkit/LoadOrder.ini
- Smart Load Order & Compatibility: Vanilla Plugins+ employs a plugin priority system just like esps, and esms. Mods loaded with kit load *after* all ESPs/ESMs, much like Bethesda's ESL files. This allows modders to patch, override, or enhance game data with less conflict. All edits are registered and tied to a mod, making troubleshooting a bit easier.
- Reporting & Debugging: There is detailed console error messages when you boot the game, making it easy to track down and fix issues in your kit mods.
- Cross-Language Access: Whether you’re coding in C++, FNV Scripts, or using the Kit Markup, every function and feature interoperates seamlessly. This opens up hybrid modding workflows that harness the strengths of multiple languages and tools.
Q&A:
Question: Does this mean that I can have over 255 eps now?
Answer: no, ESPs, and ESMs are still limited to 255. But kit mods are uncapped. So mods like Mod Limit Fix are still relevant for ESPs.
Installation & Getting Started:
- Ensure you have the latest version of xNVSE installed (6.2.9 or later is recommended). For best results, use Mod Organizer 2 to install and manage Vanilla Plugins+ – it guarantees the correct file structure and smooth operation.
- Download Vanilla Plugins+ from the Files tab on Nexus, install like any other mod.
- Once installed, launch the game. Vanilla Plugins+ will automatically load its Devkit files (including any Kit-based mods you create). Open the console (press `~`) to verify everything’s running smoothly – detailed messages and any errors will be displayed there for troubleshooting. These error messages will show the name of the kit mod the error is derived from, along with some adiation information for troubleshooting.
For Mod Makers:
- Create your mod’s files within the "Data\Devkit\Mods" folder. Organize your work by creating subfolders for each of your projects (e.g., [Weapon], [NPC], [FormsList] files). See Kit Tags for a full list of tags. Because this is the first release, not all form tags will have kit functions for them.
- Use the Kit Markup Language to easily modify existing game forms or create new ones from scratch – no GECK required! Just type in simple commands like Link or Create to start editing existing or creating new forms. See Kit Functions for a full list of functions.
- Leverage the Form Traits system to build advanced frameworks that other modders can use. Define custom properties and tag game forms to extend their behavior – making your mods both modular and highly compatible with community projects.
- For extended obsScript functions, check the pNVSE functions page on geck wiki.
Future Roadmap:
- Hot Reloading: Say goodbye to constant game restarts. We’re developing live reloading of Kit files so you can see your changes in real-time, speeding up testing and iteration.
- Namespaces & File Organization: To avoid naming conflicts and keep your projects neat, a dedicated namespace system is in the works. This will help modders better organize their files and ensure smoother integration between multiple mods.
- Expanded UI & Development Tools: Expect enhanced in-game utilities and a dedicated editor with syntax highlighting to make modding even more user-friendly. More visual tools mean faster development and easier debugging.
- Ongoing Function Enhancements: We’re continually adding new pNVSE and FNV script functions based on community feedback. Vanilla Plugins+ will keep evolving to meet your creative needs and push the boundaries of New Vegas modding.
- Enhanced Compatibility Systems: Future updates will introduce improved mod conflict resolution and compatibility checks, ensuring that even complex mod setups run smoothly together.
- Integration with Modern Tools: We’re exploring integrations with external editors, version control systems – paving the way for a fully modernized modding workflow in the classic New Vegas environment.
Download & Community Links:
- 💬 Join Our Discord – Connect with fellow modders, share your creations, and get support from the community. We’re here to help and collaborate!
- 📖 Documentation & Tutorials – Dive deep into detailed guides on using every feature of Vanilla Plugins+, including the Devkit, Kit Markup Language, and advanced NVSE functions.
----------------------------------------------------------------------------------------
Kit language Syntax Examples:
----------------------------------------------------------------------------------------
- The Link keyword allows us to change existing forms. We give it the EditorID of a form existing inside another kit file, or ESP/ESM. Here we are changing the world model, and the 1st person model of the 9mm pistol.
Inside "Data/Devkit/Mods/Your_Mod_Name/[Weapon]Edits_To_9mm.txt"
Link: WeapNV9mmPistol {
WorldModel: "Weapons\9mm Special\9mm Special_3rd.nif"
1stPersonModel: "Weapons\9mm Special\9mm Special.nif"
}
- Here we are changing the name of Easy Pete to be Super Easy Pete.
Inside "Data/Devkit/Mods/Your_Mod_Name/[NPC]Edits_To_EasyPete.txt"
Link: GSEasyPete {
Name: "Super Easy Pete"
}
- The Create Keyword creates a new form. Here we are making a new form WeapNV9mmPistolSpecial, and we changed the name and damage.
Create: WeapNV9mmPistolSpecial {
Name: "9mm Special"
Damage: 55
}
- The Template Keyword allows us to create new forms using existing forms. Here we made a copy of WeapNV9mmPistol, called WeapNV9mmPistolSpecial, and gave it a new name, and model.
Template: WeapNV9mmPistol {
Create: WeapNV9mmPistolSpecial {
Name: "9mm Special"
WorldModel: "Weapons\9mm Special\9mm Special_3rd.nif"
1stpersonmodel: "Weapons\9mm Special\9mm Special.nif"
invenotryimage: "pipboyIcons\9mm Special\9mm Special.dds"
}
}
- Adding stuff to formsList with the Add and Remove keywords. here we're adding our new forms to vendor lists and removing the vanilla 9mm pistol.
Inside "Data/Devkit/Mods/Your_Mod_Name/[formsList]Edits_To_VendorLists.txt"
Link: VendorWeaponsGunsTier1
add: WeapNV9mmPistolSpecial
remove: WeapNV9mmPistol
Link: VendorWeaponModsGunsTier2
add: ModNV10mmSMGDrumMag
--------------------------------------------------
Trait System:
---------------------------------------
Traits add a simple and compatible way of extending the data on forms. These files add an easy way for other modders to utilize your framework via devkit. See how to use Traits in FNV scripts here: Geck Wiki
Examples:
- We start by going into the "Fallout New Vegas\Data\DevKit\Pre-Processor" folder, and creating a new text file. Make sure to give this text file the .trait extension so its recognized by the system.
- Syntax to add new traits starts with the name of your trait, followed by a colon (:) and any argument types you'd like your trait to take. Here we defined a weapon(Type: 40) trait that takes two int arguments. You can see all form Types Here.
Inside "Data/Devkit/Pre-Processor/MyFrameworkTraits.trait"
Type: 40
RecoilAmount: int int
- The (*) syntax defines that the string argument is a key. Multiple MoveNode traits can be assigned to the same weapon form. Someone for example could use move node like this in their kit mod.
Inside "Data/Devkit/Pre-Processor/MyFrameworkTraits.trait"
Type: 40
RecoilAmount: float float
MoveNode: *string float float float
- Here's how someone would utilize our new RecoilAmount, MoveNode traits in their mods.
Inside "Data/Devkit/Mods/Your_Mod_Name/[Weapon]Edits_To_9mm.txt"
Link: WeapNV9mmPistol {
RecoilAmount: 8 2
MoveNode: "ProjectileNode" 0 52 54.2
MoveNode: "BarrelNode" 8 23 1
}
- Lets make new actor traits for NPCs now. Actor are type 42, and we're going to add some new stats.
Inside "Data/Devkit/Pre-Processor/MyFrameworkTraits.trait"
Type: 42
Deception: int
Persuasion: int
Intimidation: int
- Now someone can assign Deception, Persuasion, and Intimidation values to their NPCs via their devkit files.
Inside "Data/Devkit/Mods/Your_Mod_Name/[NPC]Edits_To_EasyPete.txt"
Link: GSEasyPete
Name: "Super easy pete"
Deception: 60
Persuasion: 21
Intimidation: 5