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



The scripthook gives you access to a full SDK for working with the game, world and engine. The SDK exposes Unreal Engine 3's own UnrealScript API to C# scripts. Modders get to work with the same types, properties and functions as the original developers did. There are also many useful life-cycle events (e.g. tick and game enter) and helpers provided. Below is an example mod that shows off some of BmSDK's capabilities:

Script to spawn in Joker near the player
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 play script mods, getting started is simple:

  1. Download the latest release from releases and open the ZIP file.
  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! To play script mods, simply drop any .cs files into your BmGame\Scripts folder and start the game.

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

⚠️ Notice for Steam or GOG users:

If you have a Steam or GOG copy of the game, you'll have to install a compatibility patch. You can download it here, just replace the BatmanAC.exe from your game folder (see below) with the one provided. You may have to start the game from the Binaries\Win32\BatmanAC.exe instead of the Steam UI now.

🧩 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