A mod loader for Baldur's Gate 3

Overview

Yet-Another-BG3-Mod-Loader

Build

This is a native mod loader for Baldur's Gate 3

The main features of this mod loader are:

  • It does not modify any original game files or touch the installation directory
  • It does not need to be updated with any new BG3 releases (it stays working perpetually)
  • It is a launcher (there are 2 executables for Vulkan or Dx11 launching, just like in BG3)
    • Which also means you can launch the game normally instead, and no dll plugins will load
  • It is completely compatible with any NativeModLoader plugins
  • Has the ability to disable/enable any plugins in the config (useful for any mod managers)
  • Stores your plugins in the larian local data folder alongside the mod folder*

* C:\Users\<user>\AppData\Local\Larian Studios\Baldur's Gate 3\Plugins

How to use

  1. Download the latest release from releases
  2. Place the bg3.exe and bg3_dx11.exe files wherever you want, maybe create shortcuts to them even
  3. Run one of the launchers. You'll get a finish setup message the first time, read it and follow the instructions.
  4. Read the FAQ. It's important!

Config options

Option Description
install_root The game's root installation directory, e.g. C:\Program Files (x86)\Steam\steamapps\common\Baldurs Gate 3
flags Extra command line flags to pass to the game upon startup
steam Use steam to launch the game, recommended leaving this enabled. If disabled, will directly launch the game exe, may launch the game twice
disabled An array of plugins to disable. Each entry is the plugins filename without extension, e.g. FooBar.dll should have an entry named FooBar

Building

Making plugins

You can use my Rust BG3 Plugin Template or NativeModLoader's BG3 Plugin Template. What you use doesn't really matter much, just as long as it's a dll with a DllMain that does its hooking at runtime.

FAQ

Virus warning!!! Why?!

No, this is not a virus. This mod loader uses dll injection, and virus scanners or browser download might not like that. This is the feature that allows us to avoid modifying core game files! The source code is freely available to all, and you may also compile it yourself using the build instructions.

I got a smartscreen warning, how do I remove it?

If the files are not widely distributed yet, you may also receive a smartscreen popup on windows when you run it. You can remove it by following these instructions.

Halp!! All my saves/data are now missing and got deleted!

This mod loader DOES NOT under ANY circumstances touch your game files, game data, or game saves/profile(s)*. They are not missing. For some reason, there's a bug with the game and it sometimes creates/launches into the debug profile, which makes it look like all your settings, saves, everything was suddenly deleted. They are not gone! Go to C:\Users\<user>\AppData\Local\Larian Studios\Baldur's Gate 3\PlayerProfiles and delete any Debug profiles you see. The profile you are most likely using is the Public one. It will be visible just fine once your game properly loads the public profile again. If you are using steam, try to manually load steam/larian launcher first after deleting the Debug profile. It might work properly after that. I hope Larian fixes this bug soon

* C:\Users\<user>\AppData\Local\Larian Studios\Launcher\Settings\preferences.json is the only file touched. This is required because this file must be set to load in vulkan or dx11 mode, and the game won't start in the right mode otherwise. It's worth noting that larian's own launcher does the exact same thing.

Where do I place my plugins?

Place your dll plugin files inside C:\Users\<user>\AppData\Local\Larian Studios\Baldur's Gate 3\Plugins

How do I uninstall?

This program does not install itself. To "uninstall" it, simply delete the launchers you downloaded.

Is this compatible with NativeModLoader plugins

100% compatible! Just as the mod didn't rely on any NativeModLoader specific behavior (if so, file an issue with the plugin author!)

Halp!! I used plugin <insert name here> and it did something bad/doesn't work!

This is not the mod loaders fault. The plugin itself needs to be fixed. You can report your bug/problem to the respective plugin authors page.

Can you support loading plugins from <gamefolder>/bin/NativeMods?

I'm sorry, but I will not support that no. One of the core goals of this mod loader is to never ever, under any circumstances, touch or mess with the game's core installation. Supporting and allowing that would go against this central goal. You can move your plugins over to the plugin folder.

You might also like...
A rust layered configuration loader with zero-boilerplate configuration management.

salak A layered configuration loader with zero-boilerplate configuration management. About Features Placeholder Key Convension Cargo Features Default

Thread Safe Cache with async loader functions based on tokio-rs

cache-loader-async crates.io The goal of this crate is to provide a thread-safe and easy way to access any data structure which might is stored in a d

Bevy asset loader that transparently supports loading over http(s)

Bevy Web Asset This is a tiny crate that that wraps the standard bevy asset loader, and adds the ability to load assets from http and https urls. Supp

Webpack loader for Rust files.

Webpack loader for Rust files.

This is a webpack loader that loads Rust code as a WebAssembly module

rust-native-wasm-loader This is a webpack loader that loads Rust code as a WebAssembly module. It uses the native Rust support for compiling to wasm32

Boot tools: loader, image generator, etc as a library crate

ArcBoot v0 A uefi bootloader for riscv, arm and x86. Comes in the form of a single executable. the source code contains a single executable target and

Yet another youtube (and more) down loader

Yet another youtube (and more) down loader

Rusty Reflective DLL Injection - A small reflective loader in Rust 4KB in size
Rusty Reflective DLL Injection - A small reflective loader in Rust 4KB in size

Reflective Loader in Rust (4KB in size) A small reflective loader PoC in Rust. I remade this from my old project (https://github.com/memN0ps/arsenal-r

Coffee is a loader for ELF (Executable and Linkable Format) object files written in Rust
Coffee is a loader for ELF (Executable and Linkable Format) object files written in Rust

Coffee is a loader for ELF (Executable and Linkable Format) object files written in Rust. It provides a mechanism to load and parse ELF files similar to COFFLoader, but specifically designed for ELF files used in Unix-like systems.

Rusty Shellcode Reflective DLL Injection (sRDI) - A small reflective loader in Rust 4KB in size for generating position-independent code (PIC) in Rust.
Rusty Shellcode Reflective DLL Injection (sRDI) - A small reflective loader in Rust 4KB in size for generating position-independent code (PIC) in Rust.

Shellcode Reflective DLL Injection (sRDI) Shellcode reflective DLL injection (sRDI) is a process injection technique that allows us to convert a given

Wangan Midnight MaxiTune 3DX+ Loader PoC

Required Packages Arch Linux nvidia-cg-toolkit mangohud lib32-glibc lib32-gcc-libs lib32-libx11 lib32-libxcb lib32-libpulse lib32-alsa-lib lib32-libxa

.NET assembly loader with patchless AMSI and ETW bypass in Rust
.NET assembly loader with patchless AMSI and ETW bypass in Rust

RustPatchlessCLRLoader The RustPatchlessCLRLoader leverages a sophisticated integration of patchless techniques for bypassing both Event Tracing for W

⚙️ Workshop Publishing Utility for Garry's Mod, written in Rust & Svelte and powered by Tauri
⚙️ Workshop Publishing Utility for Garry's Mod, written in Rust & Svelte and powered by Tauri

⚙️ gmpublisher Currently in Beta development. A powerful and feature-packed Workshop publisher for Garry's Mod is finally here! Click for downloads Ar

🐱‍👤 Drop-in HTTP replacement module for Garry's Mod

🐱‍👤 gmsv_reqwest This module is a drop-in replacement for Garry's Mod's HTTP function, inspired by gmsv_chttp created by timschumi. The module uses

⚡ Garry's Mod module that boosts performance by moving -condebug file I/O to a separate thread

This is a Garry's Mod server module that moves -condebug file I/O out of the main thread, which should significantly improve performance for noisy servers.

📦 Pack hundreds of Garry's Mod Lua files into just a handful
📦 Pack hundreds of Garry's Mod Lua files into just a handful

📦 gluapack gluapack is a program that can pack hundreds of Garry's Mod Lua files into just a handful. Features Quick, easy and portable - perfect for

A swiss army knife for creating binary modules for Garry's Mod in Rust.

A swiss army knife for creating binary modules for Garry's Mod in Rust.

🐱‍👤 Cross-language static library for accessing the Lua state in Garry's Mod server plugins

gmserverplugin This is a utility library for making Server Plugins that access the Lua state in Garry's Mod. Currently, accessing the Lua state from a

A very simple Among Us mod launcher

Sussy Launcher ඞ A very simple mod launcher/loader for the game Among Us (Also referred to as Amogus ඞ). This Project is written with the Rust program

Comments
  • Failed to get config: Failed to convert json to config

    Failed to get config: Failed to convert json to config

    Hi Trying to use your mod to inject Dlls Only thing I did was change the directory in the config.json file to "D:\SteamLibrary\steamapps\common\Baldurs Gate 3"

    Crash report and logs.zip

    opened by JoviMedalla31 5
  • Does this work with SpecialK ?

    Does this work with SpecialK ?

    Hi,

    on my AMD 6700 xt gpu, I have awful 1% low fps, and stuttering everywhere, while using Vulkan, for some reason. DX11 + SpecialK frame limiter+v-sync is way more smoother for me. Looks like their texture cache helps too with that.

    Would this work with Specialk Global injection method ? What about local injection ?

    opened by Foul-Tarnished 2
Releases(v0.1.1)
Owner
Cherry
I'm a software engineer who loves Rust, with experience in web technologies, app development, and some game design.
Cherry
Base Garry's Mod binary module (Rust)

gmod-module-base-rs A base for developing Garry's Mod binary modules in Rust. Getting Started Install Rust Download or git clone this repository Open

William 7 Jul 30, 2022
Create archives of files within Garry's Mod

gm_zip Create archives of files within Garry's Mod. Note: The scope of this module only works accross the gmod installation files e.g from GarrysMod/g

Earu 9 Oct 25, 2022
Checks Crusader Kings 3 user mod files for common mistakes and warns about them.

ck3-tiger Pounces on bugs. Checks Crusader Kings 3 user mod files for common mistakes and warns about them. For example: missing localizations, or usi

Richard Braakman 8 Jan 5, 2023
Extended Kinect support for Garry's Mod

?? gmcl_rekinect This is a reimplementation of Kinect support for Garry's Mod, allowing you to do stuff like this on more platforms. Features Support

William 3 Dec 17, 2023
A mod loader for Baldur's Gate 3

Yet-Another-BG3-Mod-Loader This is a native mod loader for Baldur's Gate 3 The main features of this mod loader are: It does not modify any original g

Cherry 3 Oct 17, 2023
Easy c̵̰͠r̵̛̠ö̴̪s̶̩̒s̵̭̀-t̶̲͝h̶̯̚r̵̺͐e̷̖̽ḁ̴̍d̶̖̔ ȓ̵͙ė̶͎ḟ̴͙e̸̖͛r̶̖͗ë̶̱́ṉ̵̒ĉ̷̥e̷͚̍ s̷̹͌h̷̲̉a̵̭͋r̷̫̊ḭ̵̊n̷̬͂g̵̦̃ f̶̻̊ơ̵̜ṟ̸̈́ R̵̞̋ù̵̺s̷̖̅ţ̸͗!̸̼͋

Rust S̵̓i̸̓n̵̉ I̴n̴f̶e̸r̵n̷a̴l mutability! Howdy, friendly Rust developer! Ever had a value get m̵̯̅ð̶͊v̴̮̾ê̴̼͘d away right under your nose just when

null 294 Dec 23, 2022
Mod loader for Mega Man Battle Network Legacy Collection.

chaudloader chaudloader is a mod loader for Mega Man Battle Network Legacy Collection. For users Run install.exe. If you are on Steam Deck, you will n

The Rockman EXE Zone 6 Apr 23, 2023
Logimu: Circuit & logic gate simulator

Logimu: Circuit & logic gate simulator The main goal of Logimu is to simulate large circuits at a high speed. Features Live simulation Embed other cir

David Hoppenbrouwers 4 Nov 20, 2022
Webpack loader for Rust files. DEPRECATED, use WasmPack instead

The project is in low maintance now Use WasmPack instead Webpack Rust loader Webpack loader for Rust Example add.rs #[no_mangle] pub fn add(a: i32, b:

Max Eliseev 36 Jan 12, 2022
An OpenGL function pointer loader for Rust

gl-rs Overview This repository contains the necessary building blocks for OpenGL wrapper libraries. For more information on each crate, see their resp

Brendan Zabarauskas 621 Dec 17, 2022