This page takes you from a download to a spinning cube in a few minutes.
1. Get the engine
The easiest way is Tallow Manager from the Downloads page. It installs engine versions side by side, keeps them up to date and sets up what the editor needs to compile scripts:
- the Beef compiler (scripts are written in Beef, a fast C#-like language),
- Python 3.11 or later,
- on Windows, the Microsoft C++ Build Tools; on Linux, a C++ compiler and the X11 and OpenGL development files.
You can also download an engine zip directly, unpack it anywhere and start Tallow (Linux) or Tallow.exe (Windows). The launcher checks for the tools above and offers to install whatever is missing. On Linux it installs Beef and Python into ~/.local/share/Tallow/toolchain without asking for a password, and prints the one package-manager command needed for the compiler and development files.
If you already have Beef, the launcher finds it on your PATH, in your shell’s start-up files or in common folders such as ~/Beef or ~/Dev/Beef/Beef. If it doesn’t, press Beef is installed: choose its folder… in the launcher, or run ./Tallow --beef-folder ~/path/to/Beef. ./Tallow --check-tools prints what was found.
Standard or ECS?
Two engine series are released side by side:
| Series | What it is |
|---|---|
| 0.1 (standard) | The engine with the classic component model. |
| 0.2 (ECS) | The same editor on an entity-component-system core (Flecs). Components still look the same to your scripts. |
New projects can start on either. If you are unsure, take 0.1.
2. Make a project
In the launcher, pick a template and a folder and press Create Project (or Open Project Folder for an existing one). Opening a project compiles its scripts and starts the editor. Choose Tallow Gallery (showcase of eight areas) for a complete, editable showcase of eight areas of the engine.
3. Find your way around
| Panel | What it does |
|---|---|
| Hierarchy | The object tree. Drag to re-parent; right-click to create, duplicate or delete. |
| Scene | Right-drag to fly (WASD, Q/E), middle-drag to pan, the wheel to dolly, F to frame. W/E/R/T switch between Move, Rotate, Scale and All. |
| Game | What the first enabled camera sees. Click it while playing to send input to the game. |
| Inspector | The selected object’s components and their fields. |
| Project | Your project’s files. Drag models into the scene, and files from your desktop into the window to import them. |
| Scripts | The code editor, with completion that knows the engine. Saving compiles in the background. |
Play, Pause and Step are in the toolbar. Play mode never changes the saved scene.
4. Write a component
Right-click in the Project panel, choose New Script, name it Spinner, and replace its contents with:
using Tallow;
namespace MyGame;
[Component] // required on every component class
class Spinner : Component
{
public Vector3 degreesPerSecond = .(0, 45, 0); // public fields are saved and shown in the Inspector
public override void Update()
{
Transform.Rotate(degreesPerSecond * Time.DeltaTime);
}
}Save it. The editor recompiles and reloads the script. Add a cube (GameObject > Cube, or right-click in the Hierarchy), add the Spinner component to it in the Inspector, and press Play.
Components have these callbacks: Awake, OnEnable, Start, FixedUpdate (60 Hz), Update, LateUpdate, OnGUI, OnDisable and OnDestroy. See Fields for the field types the Inspector shows, and Script hot reload for what reloads without a restart.
5. Ship it
File > Build Game (Release) makes a game folder you can zip and share. See Standalone player, and Steam to put it on Steam.
Where next
- The API reference lists every public type and member, with links to the source.
- Networking: multiplayer is built in. Add a
NetworkSessionand physics, characters, AI and[Sync]fields are shared with no extra code. - Materials, Lighting and Water make it look good.
- Questions and bugs go to GitHub issues.