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:
serverandclient. The language has noproject.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
serverandclient. - The grammar: quotes around names, the form of
dependsOn, the semicolon. - The set of methods:
select,replaceInand everything else in the examples. - The shape of a recipe’s result: its name, arguments, multiple outputs.
What exists today
| Part | Status | Comment |
|---|---|---|
| Build panel with a recipe tree | Prototype | User recipes, groups, statuses |
| Parsing a recipe declaration | Prototype | Only the name and dependsOn, both quoted |
| Dependency graph for preview | Prototype | Cycles and missing recipes are reported |
| Executing language methods | Not available | The prototype does not evaluate a recipe body |
| Writing to client, server, Git | Not available | The prototype writes nothing |
| Language service in the editor | Not available | Required 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.