Engine extension · Black Ops III Experimental

T7Unchained

An open-source DLL that raises Black Ops III asset pool limits at runtime. Your mod's Lua UI code loads it, and it currently extends the attachment and attachmentunique pools without hooking or patching game code.

No packaged release yet. The DLL is built from source. Browse other T7Mods projects →

Stock capacities observed on the September 2026 Steam build, extended to the example values from the README configuration. New entries are only used once stock storage runs out.

01 / Overview

Room for more assets

Black Ops III gives every asset type a fixed-size pool. Weapon-heavy mods and total conversions can run out of entries well before they run out of content, and the engine fails when a pool is exhausted.

T7Unchained extends those pools in place while the game is running. For each pool you raise, it allocates a separate block of entries and links it onto the end of the pool's free list. Assets already loaded stay where they are, and the engine keeps handing out its stock entries first. The extra entries are only used where the engine would otherwise have failed.

The project began as a fork of T7Overcharged ↗. It keeps that project's init entry point and build detection and drops everything else: its Lua, UI, console, network, Discord, gameplay-patch and hot-reload features. It is aimed at mod authors who are hitting attachment limits and are comfortable testing an experimental tool against their own mod.

02 / Features

What it does today

Runtime pool extension

Raises attachment and attachmentunique to the capacity you request. A request at or below the current capacity never shrinks a pool.

No game code patched

New entries are linked onto the free list with an atomic compare-exchange. Pools that already exist are extended without installing any hooks.

Validates before writing

Checks each pool's entry size, rejects singleton pools, and confirms every free-list link stays inside the pool's storage before it changes anything.

Diagnostic-only mode

DiagnosticOnly=true validates and logs the pool table without changing memory or installing hooks. Useful for a first run on a new setup.

Readable logs, no console

Each mod gets a log with the resolved paths, the configuration in use, and each pool's original, requested and final capacity. A read-only monitor records when the engine allocates past the original limit.

Self-contained per mod

The DLL works out every path from its own location in mods/<mod>/zone. It doesn't rely on BO3's active-mod structure offsets or the working directory.

03 / Technical details

Check it fits your setup

Type
Engine extension DLL (C++20, Windows x64)
Game
Call of Duty: Black Ops III, Steam executable
Tested build
September 2026. March 2023 and February 2026 builds are recognised but untested.
Supported pools
attachment (128 stock) and attachmentunique (2148 stock). Other pool names are logged and ignored.
Loaded by
The mod's Lua UI code, through the DLL's exported init
Configuration
T7Unchained.ini and offsets.txt in the mod's zone folder
Status
Experimental. No packaged release yet.
License
GNU GPL v3.0, inherited from T7Overcharged

04 / Getting started

Build, install, load

A summary of the repository's instructions. The README ↗ is the current reference.

Source only for now. There are no GitHub releases yet, so there is no prebuilt DLL to download. You build T7Unchained.dll yourself with Visual Studio 2022 (Desktop development with C++, MSVC v143, Windows 10/11 SDK) and Git on Windows 10 or later, x64. Building doesn't need the game.

  1. Build the DLL

    generate.bat fetches the MinHook submodule and generates the Visual Studio solution. Output goes to build\bin\x64\Release\.

    git clone --recurse-submodules https://github.com/DebinoYT/T7Unchained.git T7Unchained
    cd T7Unchained
    generate.bat
    msbuild build\T7Unchained.sln /p:Configuration=Release /p:Platform=x64
  2. Copy it into your mod's zone folder

    Take T7Unchained.ini and offsets.txt from the repository. The log folder is created by the DLL.

    Black Ops III/mods/<mod>/
    ├── logs/T7Unchained.log      (created by the DLL)
    └── zone/
        ├── T7Unchained.dll
        ├── T7Unchained.ini
        └── offsets.txt
  3. Load it from your mod's Lua UI code

    The repository includes a minimal loader ↗ that loads the DLL and calls its init export. Call it once from your UI startup:

    InitializeT7Unchained([[.\mods\my_mod\]])
  4. Set the capacities you need

    In [AssetPools], 0 leaves a pool unchanged and a positive value is the capacity you're requesting. Run with DiagnosticOnly=true first if you want to check the setup without changing memory.

    [T7Unchained]
    Enabled=true
    LogLevel=info
    DiagnosticOnly=false
    MonitorIntervalMs=2000
    
    [AssetPools]
    attachment=512
    attachmentunique=4096
  5. Check the log

    Launch the mod and read mods/<mod>/logs/T7Unchained.log. If it's missing, look for the early startup trace at %TEMP%\T7Unchained_boot_*.log. A successful extension line in the log doesn't by itself mean your content works in game.

05 / Repository

Source, docs and license

T7Unchained is developed in the open on GitHub. Test results are welcome. Include your log, the BO3 build it reports, and your T7Unchained.ini.