- GBA Studio Copyright (c) 2025 Blue Heron, also released under the MIT license.
- GB Studio Copyright (c) 2024 Chris Maltby, released under the MIT license. g/bxerKnc)
GBA Studio is an experimental fork of GBA Studio that's tailored for GBA game development. Like the original, GBA Studio aims to provide a quick and easy way to use retro adventure game creator for Game Boy Advance, available for Mac, Linux and Windows.
This project is a prototype. I'm not a JS/TS expert, nor a GBA ROM expert. If you can take over where I've left off, please let me know.
- Creates GBA projects instead of GB projects
- Exports .gba ROM files that run on Game Boy Advance
- Uses ARM-based compilation for enhanced performance
- Supports higher resolution graphics and more colors
It's a fully functional GB Studio look-alike that:
- Opens existing GB Studio projects and converts them to GBA format
- Provides the same visual editor interface
- Exports working .gba ROM files
- Runs the compiled games on GBA emulators or real hardware
For more information see the original GBA Studio site.
GBA Studio consists of an Electron game builder application and a C based game engine using GBDK.
Download a release for your operating system from the GBA Studio Downloads page.
Or to run from source, clone this repo then:
> cd gb-studio
> corepack enable
> yarn
> npm run fetch-deps
> npm startAfter checking out a new version you may also need to fetch dependencies again to ensure you have the latest version of GBVM + GBDK etc.
> cd gb-studio
> npm run fetch-depsGBA Studio currently uses Node 21.7.1. If you have NVM installed you can use the included .nvmrc to switch to the supported Node version.
> cd gb-studio
> nvm useInstall GBA Studio from source as above then
> npm run make:cli
> yarn link
# From any folder you can now run gb-studio-cli
> $(yarn bin gb-studio-cli) -V
4.1.2
> $(yarn bin gb-studio-cli) --helpPull the latest code and run make:cli again, yarn link is only needed for the first run.
> npm run make:cli-
Export Project
> $(yarn bin gb-studio-cli) export path/to/project.gbsproj out/
Export GBDK project from gbsproj to out directory
-
Export Data
> $(yarn bin gb-studio-cli) export -d path/to/project.gbsproj out/
Export only src/data and include/data from gbsproj to out directory
-
Make ROM
> $(yarn bin gb-studio-cli) make:rom path/to/project.gbsproj out/game.gb
Make a ROM file from gbsproj
-
Make Pocket
> $(yarn bin gb-studio-cli) make:pocket path/to/project.gbsproj out/game.pocket
Make a Pocket file from gbsproj
-
Make Web
> $(yarn bin gb-studio-cli) make:web path/to/project.gbsproj out/
Make a Web build from gbsproj
If you're looking to update an existing translation with content that is missing, there is a handy script that lists keys found in the English localisation that are not found and copies them to your localisation
npm run missing-translations lang
# e.g. npm run missing-translations de
# e.g. npm run missing-translations en-GB