An open source desktop studio for making PS5 homebrew games and apps with AnyDevKit, on macOS, Windows and Linux.
AnyDevKit is a command line SDK. It compiles C++ and GLSL and packages the result for PS5. Studio puts a visual workspace on top of it, so people can open a project, build it and eventually create a whole game without living in a terminal.
Lay out a scene on the stage, snap blocks together for its rules, and build the project with one button for PS5, Windows or Linux.
| Logic blocks | Game page and export formats |
|---|---|
![]() |
![]() |
These pictures are Studio's own window with a larger project open, drawn offscreen with software rendering, so small details can differ from the window on your screen. They are not pictures of the game running.
Status: alpha. Download Studio for macOS, Windows or Linux from the latest release, or build it from source. The full flow has been tested on Apple Silicon macOS, and CI also builds Studio on Windows and Linux. A scene of shapes and text runs in the AnyPS5 compatibility layer on macOS. Nothing has been run on a real PS5 yet.
| Stage | Goal | State |
|---|---|---|
| Project workspace | Start a 2D game, an app or a code-only project, or open an adk init project |
Working |
| One button build | Configure, compile and create a PS5 package with a live log | Working |
| Windows and Linux builds | The same game as a Windows .zip or a Linux .tar.gz, on AnyPS5's desktop libraries |
Builds from a Mac; not yet run on Windows or Linux by us |
| Your code editor | Open code in VS Code, Visual Studio, Cursor, Xcode, CLion, Sublime Text, Zed or Qt Creator | Working |
| Game page | Set the name, icon and home screen background | Working |
| Drag and drop scene | Place shapes, text and images on a 16:9 stage, resize, reorder and duplicate in a layers list, hide while editing, undo, autosave | Working |
| Logic blocks | Snap together events and actions without writing code | Working in Studio, builds for PS5 |
| Particles | Fireworks, fountains, sparks, snow and rain | Working in Studio, builds for PS5 |
| Sprites | Sprite sheets with named animations, sharp pixel scaling and flip | Working in Studio, builds for PS5, not yet seen running |
| Tilemaps | Tile layers painted on the stage from a tileset palette, with a solid flag per tile | Working in Studio, builds for PS5, not yet seen running |
| World and camera | A world larger than the screen, pan and zoom on the stage, camera blocks and screen-fixed items | Working in Studio, builds for PS5, not yet seen running |
| Platformer physics | Static solids and moving bodies, platformer controls with coyote time, jump buffering and variable jump height, physics blocks | Tested on the host under sanitizers, builds for PS5, not yet played on a console or emulator |
| Scenes | Add, rename, duplicate and delete scenes, pick the starting scene, Go to scene and Restart blocks | Working in Studio, builds for PS5, not yet seen running |
| Playing online | Friends on the same network join one game, each on their own console with their own screen, camera, menus and place in the world. Three blocks: let friends join, join a friend, stop | Two games played together by a scripted test over this computer's network, under sanitizers; builds for PS5, Windows and Linux; not yet run in AnyPS5 or on a console |
| Bigger games | Formulas, up to four players, templates and copies with their own variables, wander and pack behaviors, sprite looks, pause | Played through by a scripted test on the real runtime under sanitizers; not yet seen on a console |
| Game runtime | Draws the scene on AGC, the PS5 graphics API, with controller movement | Shapes and text run in AnyPS5, not yet on a console |
| Image drawing | Textured images in the game | Runs in AnyPS5 with a pending engine change (the StarHopper background), not yet on a console |
| Sound | Import WAV (MP3 and OGG too when Studio is built with Qt Multimedia), then play effects and music from blocks | Builds for PS5, not yet heard on a console |
| Saving | Save and load variables on the console | Builds for PS5, not yet run on a console |
| Guided setup | Check your tools, then download AnyDevKit and the PS5 libraries from inside Studio | Working, run against the published release on Apple Silicon macOS |
| Preview | Run the project on the developer's computer without a console | Planned |
You need CMake 3.22 or newer, a C++20 compiler and Qt 6.8 or newer with Qt Declarative.
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build buildOn macOS with Homebrew: brew install cmake ninja qtbase qtdeclarative qtsvg. Add qtmultimedia to
also import MP3 and OGG; Studio builds without it and imports WAV only.
Studio also needs what AnyDevKit needs to build a project: the
AnyDevKit SDK, its dependencies from
adk setup, Ninja, LLD and Clang 18+ or GCC 14+. Choose New game on the welcome screen, or create a
project with adk init and open its folder in Studio.
AnyDevKit does not publish macOS builds yet. Building it on a Mac currently needs the fixes in
AnyDevKit #2 and
#3. Use Homebrew LLVM (brew install llvm lld)
because Apple Clang is rejected by the C++ runtime's compiler check. Studio finds Homebrew's LLVM
on its own.
- C++20 shares code with the engine runtime and fits the AnyDevKit toolchain.
- Qt 6 and QML give one GPU drawn interface that uses Metal on macOS, Direct3D on Windows and Vulkan on Linux.
- A UI-free core library holds projects and builds, and has its own tests.
adkstays a separate program. Studio launches it rather than linking it, which keeps the two projects and their licenses independent. A crash in a build cannot take the editor down with it.
Fork it, build on it and send pull requests. See CONTRIBUTING.md. Ideas and bug reports are welcome in the issues.
The Studio application is licensed under the MIT License. The bundled Archivo Black and
IBM Plex fonts are under the SIL Open Font License, included next to them in src/app/assets/fonts.
The 5x7 pixel font in src/app/PixelFont.h is original to this project and under the MIT License.
runtime/SceneGame, the game code Studio adds to a project, is derived from AnyDevKit's adk init
template and is licensed under the GNU General Public License v2.0 only.
That also applies to games that include it. Its glyph table in src/Graphics/Font.cpp.in is a copy of
Studio's MIT pixel font. Studio runs AnyDevKit as an external tool.
This is an independent project, not affiliated with or endorsed by Sony Interactive Entertainment. PlayStation and PS5 are trademarks of their respective owner. Packages made with AnyDevKit are homebrew and cannot be published on PlayStation Store.
AnyDevKit Studio exists because of AnyDevKit, created by boykopovar. Every PS5 package Studio builds is compiled and packaged by AnyDevKit, which also relies on boykopovar's AnyPS5 and llvm-cxx-ps. Studio is an independent interface on top of that work and is not an official boykopovar project.


