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 8 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 dotnet-charon <https://www.nuget.org/packages/dotnet-charon> tool, which is a .NET Core application built for .NET 8.

  1. Download and install NET 8+.

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

  1. Download and install NET 8+.

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

  3. Make sure dotnet is available from $PATH.

  1. Download and install NET 8+.

  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 for dotnet already installed
dotnet --list-runtimes
# output for dotnet --list-runtimes
Microsoft.AspNetCore.App 6.0.36 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 7.0.20 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 8.0.6 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 9.0.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.NETCore.App 6.0.36 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 7.0.20 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 8.0.6 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] # <- this one is fine
Microsoft.NETCore.App 9.0.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] # <- this one too

Installation and Updates

You can use just two commands to install the command line tool, or use a bootstrap script that will check dependencies and installed software, and then download and run the tool for you.

Bootstrap Script

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

  • RunCharon.bat for Windows

  • RunCharon.sh for Linux or MacOS

Warning

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

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

  1. Download one of the scripts into a local folder charon.
    1. RunCharon.bat (Windows)

    2. RunCharon.sh (Linux, MacOS)

  2. Navigate to the local folder cd charon.

  3. Run RunCharon.bat or RunCharon.sh depending on your OS.

  4. Wait for the script to automatically download and upgrade dotnet-charon tool, and display help text.

  5. Create an empty file named RunCharon.bat INIT gamedata.json

  6. Run in standalone mode: RunCharon.bat gamedata.json

Or use following bootstrap script:

rem ##### Load and run bootstrap script #####

@echo off
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.

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

charon .\gamedata.json --log out
# 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