Docs
Studio GUI
Studio GUI
cpyvn includes a lightweight desktop GUI for two tasks:
- Create a new game project (with window size/FPS options)
- Run/export workflows for dev and player builds
Download (Recommended)
Use the prebuilt with-engines Studio bundles from GitHub Releases:
- Latest release:
https://github.com/bymehul/cpyvn/releases/latest - Linux:
cpyvn-studio-linux-with-engines.zip - Windows:
cpyvn-studio-windows-with-engines.zip - macOS:
cpyvn-studio-macos-with-engines.zip - All-in-one archive:
cpyvn-studios-with-engines-all.zip
These bundles already include cross-platform frozen engine templates under
dist/exports/engine, so users do not need a separate engine download.
Run
python tools/studio/main.py
Build Standalone Studio (No Python Required For Dev Machine)
Build on each target OS:
python -m pip install pyinstaller
python tools/freeze_studio.py --target host --clean --zip
Output example:
dist/studio/linux/cpyvn-studio/dist/studio/cpyvn-studio-linux.zip
GitHub Actions (Cross-OS Studio Artifacts)
If you want all Studio builds without local setup on each OS, run:
.github/workflows/export-studio-matrix.yml
It builds Studio on Linux, Windows, and macOS runners and uploads:
cpyvn-studio-ubuntu-latestcpyvn-studio-windows-latestcpyvn-studio-macos-latestcpyvn-studios-all(combined archive with all Studio zips)
Trigger from GitHub:
- Open Actions.
- Select Export Studio Matrix.
- Click Run workflow.
The frozen app can:
- create projects
- run dev game (
Run (Dev)) - one-click export player bundles
Standalone Studio behavior:
- One-click export always uses frozen runner mode.
- Standalone Studio reuses bundled frozen engine templates from
dist/exports/engine. - This gives no-Python player exports without requiring local PyInstaller.
- If a target template is missing, Studio will report it and suggest source Studio/CLI build path.
- For cross-OS CI engine artifacts, use
.github/workflows/export-engine-matrix.yml. - Video artifacts are auto-detected from
dist/exports/engineorvnef-video/artifacts.
New Game tab
- Select parent folder.
- Enter game name.
- Set width/height/FPS.
- Click Create Project.
Generated files include:
project.jsonscript.cvnprefetch.jsontitle_menu.jsonpause_menu.json- assets folders +
.gitkeepfiles
Export tab
- One-Click Export: auto-resolves paths from your project location, builds engine if missing, then exports game.
- Run (Dev) runs current project directly from source.
- Run (Exported) runs
play.sh/play.batfrom exported bundle. - Stop terminates current run/export process.
- Uses the selected target (
host|linux|windows|macos). - Logs stream in the GUI log panel.
- In frozen Studio builds, export/run tasks are executed through internal Studio task mode (
--studio-task). - Exported games protect script sources by bundling
.cvn/.vnintogame/.cpyvn/scripts.zip.
Notes
- One-click game export does not allow
target=allby design. - One-click exports are player-ready (
play.*runs directly).