Skip to content
Anchor Code

Getting started Current status

Decided updated 2026-10-10

Current status

What is decided, what is only under discussion, and what really works in Anchor. If pages disagree, trust this one first.

This page exists so that intentions are not confused with reality. If another page sounds more confident than this one, believe this one.

Decided

  • Anchor Code is an object-oriented language for user-defined recipes, with Java and UnrealScript as the syntax reference.
  • There are two root namespaces: server and client. The language has no project. prefix; the selected project is implicit.
  • Objects are typed. Paths and configuration strings are not used inside a recipe.
  • An IDE-grade language service is a requirement for the first version: highlighting, completions, errors in the editor, Find Usages, safe rename, formatting.
  • Recipes declare dependencies, and the dependency graph is separate from the folders in which users arrange their recipes.
  • Visibility is not authorization. Risky actions go through preview and permissions.

Under discussion, not approved

  • The exact names of objects below server and client.
  • The grammar: quotes around names, the form of dependsOn, the semicolon.
  • The set of methods: select, replaceIn and everything else in the examples.
  • The shape of a recipe’s result: its name, arguments, multiple outputs.

What exists today

PartStatusComment
Build panel with a recipe treePrototypeUser recipes, groups, statuses
Parsing a recipe declarationPrototypeOnly the name and dependsOn, both quoted
Dependency graph for previewPrototypeCycles and missing recipes are reported
Executing language methodsNot availableThe prototype does not evaluate a recipe body
Writing to client, server, GitNot availableThe prototype writes nothing
Language service in the editorNot availableRequired for the first version

Building the client from UC, XDAT and GFX as a whole has not yet passed native acceptance, so “it builds” here does not mean “verified in the game”.

Decisions are recorded in the decision log.

↑↓ select · Enter open · Esc close