Skip to content
Team-BmSDKPublic

About

.NET-based scripting system for Rocksteady's Arkham Knight

Topics

Resources

Stars

22 stars

Watchers

4 watching

Forks

Repository files navigation

Important note: This is the BmSDK for Arkham Knight repository.

The scripthook is also available for Batman: Arkham City.


BmSDK


A powerful, easy-to-use scripting platform for Batman: Arkham Knight that lets you integrate custom C# code for gameplay mods and more.


MIT license Latest release Downloads .NET 10 Community Discord



Scripts get the same types, properties and functions the original developers worked with, plus life-cycle events (e.g. tick and game enter) and helpers on top. Below is an example mod that shows off some of BmSDK's capabilities:

Example Script
using BmSDK;
using BmSDK.BmGame;
using BmSDK.BmScript;

[Script]
public class DemoScript : Script
{
    public override void OnKeyDown(Keys key)
    {
        if (key != Keys.J) return;

        var player = Game.GetPlayerPawn();
        var population = Game.GetPopulationManager();

        // Spawn Joker combat enemy
        var define = Game.FindObject<RCharacterDefine>("MainCharacterDefines.Villain.JokerHealthy");
        var joker = population.SpawnPawn(
            RPawnVillainThug.StaticClass(),
            define,
            RCharacter_Thug.StaticClass(),
            player.Location
        );

        // Move Joker in front of the player
        var dir = player.Rotation.ToDirection() with { Z = 0 };
        joker.Move(dir * 100);
    }
}

Check out the documentation for more info!

🚀 Getting started

If you want to use mods, here's how you get set up:

  1. Download the latest installer and run it.
  2. Pick your Arkham Knight folder. Steam installations are detected automatically, and you can browse for one yourself if yours isn't listed.
  3. Press Install, then start the game. Script mods go in your BmGame\Scripts folder as .cs files.

The installer isn't code-signed, so Windows SmartScreen may warn you the first time you run it. Choose "More info" → "Run anyway" to continue.

Installing manually instead
  1. Download the BmSDK-AK-*.zip from the latest release and open it.
  2. Inside you'll see two folders: Binaries and BmGame. Copy both to your game folder (likely C:\Program Files (x86)\Steam\steamapps\common\Batman Arkham Knight). There should already be 2 folders in there with the same names.
  3. BmSDK is now installed! Script mods go in your BmGame\Scripts folder as .cs files.

Keep in mind that script mods can potentially harm your computer. Make sure you only download and install mods from trusted sources.

⚠️ Notice for Epic or GOG users:

Only Steam copies of Arkham Knight are supported currently. EGS/GOG support is being considered, but BmSDK unfortunately does not work on these platforms for the time being.

🧩 Setting Up for Mod Development

Follow these steps to set up your environment for building, running, and debugging script mods:

  1. Install BmSDK
  2. Go to visualstudio.microsoft.com/downloads and run the Visual Studio Installer.
  3. In the Visual Studio Installer, select ".NET desktop development" from the Workloads tab.
  4. Start Visual Studio and open the solution in %GameDir%\BmGame\ScriptsDev.
  5. Write your code in any C# source file in %GameDir%\BmGame\Scripts.
  6. Run your code by pressing F5 in Visual Studio.
  7. Follow the docs to write your first script.

🛠️ Contributing

To get started contributing to BmSDK, see the docs for instructions: Building from source

📋 Legal notice

BmSDK is published under the MIT licence.

BmSDK is not associated with Warner Bros. Games or Rocksteady Studios. All product and company names are trademarks or registered trademarks of their respective holders. Use of these names does not imply any affiliation or endorsement by them.

About

.NET-based scripting system for Rocksteady's Arkham Knight

Topics

Resources

Stars

22 stars

Watchers

4 watching

Forks

Releases

Contributors

Languages