J Posted May 3 Posted May 3 View File KOTORganizer MO2 Plugin ## Quick Setup 1. Download and extract the **Mod Organizer 2 Beta** from the MO2 Discord. 2. Download the **KOTORganizer plugin** and extract it into your MO2 folder. 3. Launch MO2 and complete the first-time setup: * Choose **KOTOR** or **KOTOR 2** as the game. * Choose **portable instance**. * Login to your nexus account, in the settings. 4. Open the **Sync** tab on the right side of MO2. 5. Click **Refresh** to pull the latest mod build instructions. 6. Click **Download All** and wait for the downloads to finish. * Some downloads will open in your browser and require you to click the download button manually. 7. Once all downloads are finished, click **Refresh** again to validate the files. * If any files are missing or mismatched, download them again. 8. When all files are validated, click **Sync** to install the mod list. * This may take some time. * The process is complete when the patcher window shows the final error and warning count. 9. Click **Run** to start the game. NOTE: The following are not included and will need to be patched/installed manually: - Widescreen Patches for KOTOR - 3C-FD Patcher for KOTOR2 - Upscaled Movies for KOTOR and KOTOR2 KOTORganizer MO2 Plugin KOTORganizer extends Mod Organizer 2 for both STAR WARS Knights of the Old Republic and STAR WARS Knights of the Old Republic II: The Sith Lords. Why Mod Organizer 2? Mod Organizer 2 already provides a stable foundation for mod management across many games. Extending it for Star Wars: Knights of the Old Republic and Star Wars: Knights of the Old Republic II: The Sith Lords gives KOTOR modding access to MO2’s biggest strength: the virtual file system. With MO2, the game sees modded files as if they are in the game directory, while the real game folder stays untouched. This keeps the base install closer to vanilla, makes mods easier to enable or disable, and gives better visibility into how files overlap or conflict. MO2 does have a learning curve, but for advanced KOTOR/KOTOR2 builds, the extra structure is worth it. Who Is This For? This plugin is mainly intended for larger KOTOR/KOTOR2 mod builds, repeatable installs, and users who want better insight into file conflicts. An auto downloader and installer is included to easily deply the Mod Builds from https://kotor.neocities.org/ If you only install a few simple loose-file mods, this may be more tool than you need. If you are building a large mod list with many TSLPatcher mods, texture overrides, and compatibility concerns, MO2 provides a much cleaner workflow. Installing Mod Organizer 2.5.3 Beta is required. The current unreleased beta builds include features that KOTOR support depends on. A beta build can be acquired from the Mod Organizer 2 Discord in the dev-build channel. Development has been more active recently, so an official release should be available soon. Once you download and extract MO2, download and extract KOTORganizer to the MO2 directory. Launch ModOrganizer.exe and you can verify the plugin is loaded by opening the Info tab on the right. The sync tab can download and install the mod builds from https://kotor.neocities.org/ Texture Management KOTOR uses several texture-related file types, including .tpc, .tga, .dds, and .txi. MO2 normally only detects exact filename conflicts, but KOTOR has additional texture priority rules that can cause problems even when the extensions differ. The texture management tab helps bridge that gap. It detects conflicts across supported texture formats and highlights them by severity. The highest-severity conflicts are cases that may cause hard crashes in-game. Lower-severity warnings include cases where a .tpc takes priority over a .tga or .dds unexpectedly. An Auto Fix button is included to resolve supported texture conflicts based on the current MO2 mod priority order. TSLPatcher Management Many KOTOR mods use TSLPatcher-style installers instead of simple loose-file installs. The patcher tab lists enabled mods that contain a tslpatchdata folder and can consolidate their patched output into a single MO2-managed mod. Double-clicking a patcher mod shows more detail, including: the changes.ini parsed human-readable install actions detected conflicting patch actions the latest install log A test tab is also available for simulating or testing a single mod install before running the full patcher process. When the patcher process is run, enabled patcher-style mods are processed in priority order and consolidated into a [PATCHER FILES] mod in MO2’s left panel. Automatic Mod Deployment The sync tab is designed to help download, validate, and install mod builds that follow the instructions from the KOTOR Mod Builds site. The Refresh button pulls the latest instruction set and checks for missing files. Download All starts downloading missing mods in sequence. Nexus Mods downloads require logging in with a Nexus account inside MO2. Deadly Stream mods can be downloaded automatically when supported. Mods from other sources open in an Edge browser window, where the user only needs to click the download button. The browser window closes automatically after the download completes. Downloads can still fail. Servers can be slow, unavailable, or inconsistent, and some files may need to be retried manually. Once all files are validated through Refresh, the Sync button becomes available. Sync extracts the downloaded files, runs the multi-patcher, and applies supported texture conflict fixes. When the patcher summary appears with the number of errors and warnings, the process is complete. Manual Mod Installing KOTOR mods are often packed inconsistently. The plugin includes a KOTOR-specific mod data checker that recognizes common archive layouts and can fix many of them automatically. This is especially useful for loose-file mods and patcher-style archives that would otherwise require manual cleanup before MO2 can install them correctly. Steam Workshop Warning If the game is installed through Steam and Workshop content is detected, the plugin warns the user. The intended workflow is MO2-managed content, not a mixed MO2 plus Steam Workshop setup. Mixing both can make conflicts harder to understand and can lead to unexpected file priority issues. Save Support The plugin integrates the game’s saves folder into MO2. Save entries can show timestamps, basic metadata, and screenshot previews. Profile-specific saves can also be enabled through MO2 settings. Limitations This plugin is meant to reduce repetitive setup work, improve conflict visibility, and make large KOTOR/KOTOR2 builds easier to manage. It does not remove the need to read mod instructions. Mods with unusual installers, custom compatibility patches, manual edit requirements, or unsupported archive layouts may still require manual review. Submitter J Submitted 05/03/2026 Category Modding Tools Quote
devilmikey0 Posted Tuesday at 04:15 PM Posted Tuesday at 04:15 PM (edited) Bendak Bounty hunter non-darkside hash is missing so I can't sync. Tried redownloading and to no avail. Can't sync as is. Edit: NVM for some reason there was .zipped version in the downloads folder instead of the .dlg? No idea how that happened but I deleted it and it worked after that. Thanks for all this BTW. A lot less tedious than doing it manually. Edited Tuesday at 04:23 PM by devilmikey0 1 Quote
J Posted Tuesday at 04:31 PM Author Posted Tuesday at 04:31 PM 13 minutes ago, devilmikey0 said: Bendak Bounty hunter non-darkside hash is missing so I can't sync. Tried redownloading and to no avail. Can't sync as is. Edit: NVM for some reason there was .zipped version in the downloads folder instead of the .dlg? No idea how that happened but I deleted it and it worked after that. Thanks for all this BTW. A lot less tedious than doing it manually. When downloading singles files like this one, it will create a .zip. That might have failed the first time and then when you refresh, it created a new tar02_duelorg021.dlg.zip. Quote
devilmikey0 Posted Tuesday at 07:32 PM Posted Tuesday at 07:32 PM Sorry to bug again but I've run into a similar issue in KOTOR2. Transparent cockpit windows TSL won't verify and the compatibility patches which are inside the Transparent cockpit windows TSL zip files aren't something I can download. I've deleted the files retried downloads, open and closed mod organizer. Nothing got it to verify and I'm not even sure where or how to get the compatibility files since it just directs me to the same page as the initial download for the transparent cockpit windows. I've also tried both the reskin friendly and enhanced reflections but neither worked. Quote
J Posted Tuesday at 07:39 PM Author Posted Tuesday at 07:39 PM (edited) 6 hours ago, devilmikey0 said: Sorry to bug again but I've run into a similar issue in KOTOR2. Transparent cockpit windows TSL won't verify and the compatibility patches which are inside the Transparent cockpit windows TSL zip files aren't something I can download. I've deleted the files retried downloads, open and closed mod organizer. Nothing got it to verify and I'm not even sure where or how to get the compatibility files since it just directs me to the same page as the initial download for the transparent cockpit windows. I've also tried both the reskin friendly and enhanced reflections but neither worked. The author just updated the mod. You can get around this by downloading the previous version on the same page. On the mod page, click "see changeling" and then you can download v1.1.1. I uploaded the hashes for the new mod update. Pressing refresh will download the latest instruction set/hashes. Thank you for testing this. I'll fix it to make it more seamless in the next update. Edited Wednesday at 01:49 AM by J Quote
darthbdaman Posted yesterday at 06:07 PM Posted yesterday at 06:07 PM This is really impressive, far superior to any other mod management solution we had before, and will substantially improve my development workflow. There are couple things I would like to suggest. For the mod build installation, it would be helpful to be able to mark mods as not to be downloaded if you don't want them. This would be helpful for shortening the installation if you don't want larger texture packs for instance. Syncing also deletes any mods which are not part of the build, which really needs to be clearly noted somewhere, as I had already downloaded the high-res movies, and put them in MO, and had to redownload them. The Root Builder plugin for MO, designed for Bethesda games, allows directly copying exe's and other files outside of the virtual file system. I would like to see functionality of this kind to allow having replacements for the exe for instance, done directly in MO, so no games files need to be touched at all. Currently TSLPatcher mods are all disabled in the file list. It might make more sense to have them be active, but just ignore the TSLPatchdata folder in the virtual file system. Then the patch list could only look for patches in the activated mods. That would probably be more consistent with the MO behaviour for other games, although this isn't a big deal. It would allow having a mixed mod with override and TSLPatcher files, which would be useful This has worked great so far in my testing though, and will probably save me hundreds of hours of re-installing Quote
J Posted 5 hours ago Author Posted 5 hours ago 18 hours ago, darthbdaman said: This is really impressive, far superior to any other mod management solution we had before, and will substantially improve my development workflow. There are couple things I would like to suggest. For the mod build installation, it would be helpful to be able to mark mods as not to be downloaded if you don't want them. This would be helpful for shortening the installation if you don't want larger texture packs for instance. Syncing also deletes any mods which are not part of the build, which really needs to be clearly noted somewhere, as I had already downloaded the high-res movies, and put them in MO, and had to redownload them. The Root Builder plugin for MO, designed for Bethesda games, allows directly copying exe's and other files outside of the virtual file system. I would like to see functionality of this kind to allow having replacements for the exe for instance, done directly in MO, so no games files need to be touched at all. Currently TSLPatcher mods are all disabled in the file list. It might make more sense to have them be active, but just ignore the TSLPatchdata folder in the virtual file system. Then the patch list could only look for patches in the activated mods. That would probably be more consistent with the MO behaviour for other games, although this isn't a big deal. It would allow having a mixed mod with override and TSLPatcher files, which would be useful This has worked great so far in my testing though, and will probably save me hundreds of hours of re-installing All good suggestions. I do plan to add a skip function when downloading/syncing. I think there's 2 camps here. One that wants a no fuss single-click installer, to quickly play the game. Another that wants to customize advanced mod builds. I'm trying to build it for both. If you add [NO DELETE] to the beginning of a custom mod title, it should not delete them when syncing. A warning popup should be added when clicking sync. Root builder is very useful but I dislike how much time it adds to the game launch. I'm looking into ways to improve this. It will be needed for the upcoming patching framework by @Lane. Tslpatcher mods do show as disabled. I don't like it either but when I started this project there was no way to have a plugin change ignore list settings. This may have changed in the past year and I'll be looking into it. I also need some way to flag or mark tslpatcher mods. Quote
darthbdaman Posted 1 hour ago Posted 1 hour ago I personally don't think there is any need for files to be deleted. I would instead use separators to divide the build mods from the non-build mods, and just deactivate and move the old mods to the bottom of the list (which is the default behaviour if they are not actually in the folder list and appear). This is a screenshot of how I setup the separators for myself, with different spots for placing non-build mods in between the build mods, as well as a separator at the bottom for mods which are new/not in the builds/haven't been categorized yet. Having played around with this more, I also think that having a single [Patcher Files] is going to become a problem eventually. I'm sure you've thought about this more than I have, and I doubt that this would be practical, but I will list out how I think the patching process should probably be handled, to better reflect how mods were installed manually: When the patching process is started, all active mods are disabled in the mod list. Then, starting from the top of the list, the patcher should check if the mod was previously activated, in which case it should be reactivated, or has an active TSLPatch in the Patcher tab, in which case the those patches should be run on the currently active files. Then, any modified files by the patcher should be copied to a new mod, which should be named something like [Patcher Files]*Mod Name* and placed directly below the mod with the tslpatchdata. That mod should be activated, and the patcher should then move on to the next mod in the list and repeat the same process. Whenever the patching process is restarted, in the preparation phase, all of the mod with the [Patcher Files] prefix should have their contents erased, similar to how the current [Patcher Files] are handled. This should perfectly reflect the process of installing the mods manually, as the order between patcher and override mods can now be mixed. This also has the added benefit of better utilizing the features of MO, to be able to detect conflicts. As an author, I'd find it very useful to be able to quickly see what mods in the builds my mods would be potentially conflicting with for instance. This does have the downside of increasing file size, as files that are edited by multiple mods would have multiple copies (I'd expect to see dozens of dialog.tlk files for instance), but this seems like a small price to pay. Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.