FAQ

Can I develop on Linux?

LilyHub (the graphical user interface) is not supported on Linux.

However almost all functionality is available through the lily CLI tool (which works on Linux). The workaround is:

  • Update Lily2D using Steam as usual, but do not press the launch button in the Steam client.
  • Right click Lily2D in Steam and select manage / browse local files
  • Open a terminal and cd into that path where the local files were installed.
  • go into the lily cli latest version directory
cd artifacts/lily/latest
  • Run a env setup. The env setup should symlink the cli tool, add things to the PATH and export LILY_HUB_ARTIFACTS_DIR and LILY_TOOLS_BIN_DIR.
./lily-linux-x86_64 env setup
  • open up another, new, terminal

  • Make sure lily works:

lily doctor

You are done!🎉

If it fails

if it doesn’t work, then manually symlink the lily-linux-x86_64 to lily and make sure that directory you symlink to is in the PATH.

Also add exports to your shell configuration file:

export LILY_HUB_ARTIFACTS_DIR="<STEAM_LIBRARY>/steamapps/common/Lily2D/artifacts"
export LILY_TOOLS_BIN_DIR="<BIN_DIR>"
export PATH="$LILY_TOOLS_BIN_DIR:$PATH"

Replace STEAM_LIBRARY with your Steam library path, common is $HOME/.local/share/Steam Replace BIN_DIR with the directory where you want the lily tools binary symlinked, for example: $HOME/.lily-hub/bin.

You can add these exports to your shell configuration file, such as ~/.bashrc, ~/.zshrc, or ~/.profile.

Usage

To build and run your project:

lily build
lily run

How is it different to other game engines?

  • Godot provides a full editor-based workflow with integrated tools.

  • Love2D. It is probably the closest in spirit. Lily2D differs mainly through Swamp, deterministic, statically typed language. Swamp makes the code easier to reason about, less runtime type errors, much easier to refactor, and is more self-documenting. Lily2D also exposes more low-level functionality, including direct access to the GPU and WGSL shaders, audio synthesis, and networking API.