Skip to content

Repository files navigation

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

The scripthook is also available for Batman: Arkham Knight.


BmSDK


A powerful, easy-to-use scripting platform for Batman: Arkham City 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;

        // Load UPK with Joker's assets
        Game.LoadPackage("FunFair");

        // Spawn Joker in front of the player
        var player = Game.GetPlayerPawn();
        var joker = new RPawnVillainThug(player.Location, player.Rotation);
        joker.InitCharacter(RCharacter_Joker.StaticClass());

        var playerDir = player.Rotation.ToDirection() with { Z = 0 };
        joker.Move(playerDir * 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 City folder. Steam and Epic 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, and DLC bundles go in your DLC folder.

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-AC-*.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\Epic Games\BatmanArkhamCity). 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, and DLC bundles go in your DLC folder.

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

⚠️ Notice for GOG users:

Only Steam and Epic copies of Arkham City are supported currently. GOG support is being considered, but BmSDK unfortunately does not work on this platform 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.

Releases

Used by

Contributors

Languages