Standalone & CLI Overview

For developers who require maximum control over their environment, Charon offers a flexible standalone distribution. This version is built for those who prefer working outside of a specific game engine or need to automate their data workflows.


Charon editor UI

1. What is it?

The standalone version is a cross-platform .NET CLI application. It operates as a dual-purpose tool:

  • Headless CLI: A powerful command-line interface for data manipulation and code generation.

  • Local HTTP Server: By launching a local server, it provides a high-performance browser-based UI for visual data modeling and editing without requiring an internet connection.

2. Which problem does it solve?

While the engine plugins are great for standard development, the Standalone/CLI version addresses specialized technical requirements:

  • Custom Pipeline Integration: Easily integrate game data validation and code generation into custom build scripts or tools.

  • CI/CD Automation: Run data integrity checks and generate source code automatically on build servers (GitHub Actions, Jenkins, etc.).

  • Modding Toolsets: Distribute a lightweight, engine-agnostic tool to your players, enabling them to create and edit game content safely.

  • Engine-Agnostic Workflows: Work on game data for custom engines or projects that don’t use Unity or Unreal.

3. For whom?

This version is tailored for advanced users and technical leads who are comfortable with the terminal. It is ideal for:

  • Tools Engineers building custom development pipelines.

  • Technical Designers who need a standalone environment for content creation.

  • Build Engineers automating game data processing in the cloud.

Charon editor UI

Prerequisites

Standalone application uses the dotnet-charon tool, which is distributed as a .NET tool. The .NET SDK 10 or later is recommended - it provides dnx, which runs Charon without installing anything. The .NET SDK 8 and 9 are also supported, but require an explicit install (see Installation).

  1. Download and install the .NET SDK 10+.

  2. Make sure you have write access to %PROGRAMDATA%/Charon.

  1. Download and install the .NET SDK 10+.

  2. Make sure you have write access to /Users/<username>/.config/Charon.

  3. Make sure dotnet is available from $PATH.

  1. Download and install the .NET SDK 10+.

  2. Make sure you have write access to /home/<username>/.config/Charon.

  3. Make sure dotnet is available from $PATH.

Checking Available .NET Versions

# check which SDKs are installed
dotnet --list-sdks
# output for dotnet --list-sdks
8.0.404 [C:\Program Files\dotnet\sdk]   # supported, no dnx
10.0.100 [C:\Program Files\dotnet\sdk]  # <- this one is what you want

Installation and Updates

Either run the tool on demand with dnx, install it once as a global tool, or use a bootstrap script that checks dependencies, then downloads and runs the tool for you.

dotnet tool (.NET SDK 8+)

On .NET SDK 8 or 9 dnx is unavailable. Install the tool globally instead, which also lets you type charon directly:

# install charon globally (run it once)
dotnet tool install -g dotnet-charon

# update global tool
dotnet tool update -g dotnet-charon

# make empty game data file
charon INIT ./gamedata.json

# run editor
charon ./gamedata.json

On macOS and Linux the charon command only works once $HOME/.dotnet/tools is on your PATH - see Adding the global tool to PATH.

Bootstrap Script

Two bootstrap scripts which download and run the latest version of Charon on your PC:

  • RunCharon.bat for Windows

  • RunCharon.sh for Linux or MacOS

Warning

Bootstrap scripts require the .NET SDK to run, not only the bare .NET Runtime.

Both scripts require the dotnet tool to be available in PATH.

  1. Download the script for your OS into a local folder Charon:

  2. Navigate into that folder with cd Charon.

  3. Run the script with no arguments. It downloads and upgrades the dotnet-charon tool, then displays the help text.

  4. Create an empty game data file: .\RunCharon.bat INIT gamedata.json (Windows) or ./RunCharon.sh INIT gamedata.json.

  5. Run in standalone mode: .\RunCharon.bat gamedata.json (Windows) or ./RunCharon.sh gamedata.json.

Or copy the whole sequence:

REM ##### Load and run bootstrap script #####

mkdir Charon
cd Charon
curl -O https://raw.githubusercontent.com/gamedevware/charon/main/scripts/bootstrap/RunCharon.bat
.\RunCharon.bat INIT .\gamedata.json

REM ##### Start editor #####

.\RunCharon.bat .\gamedata.json --log out
##### Load and run bootstrap script #####

mkdir Charon
cd Charon
curl -O https://raw.githubusercontent.com/gamedevware/charon/main/scripts/bootstrap/RunCharon.sh
chmod +x RunCharon.sh
./RunCharon.sh INIT ./gamedata.json

##### Start editor #####

./RunCharon.sh ./gamedata.json --log out

Creating and Editing Game Data

Any empty gamedata.json file could be used as starting point for standalone application launch. The editor will automatically fill the empty file with the initial data.

# dnx dotnet-charon -- INIT .\gamedata.json
# or
# copy /y NUL .\gamedata.json >NUL

charon .\gamedata.json --log out
# dnx dotnet-charon -- INIT ./gamedata.json
# or
# touch ./gamedata.json

charon ./gamedata.json --log out

After finishing your work, you could just terminate the process with CTRL+C keyboard shortcut or close terminal window.

See also