Skip to content

Engine modes

When you open a project, Forge looks for engine markers in the project root. If it finds them, it specializes the workspace for that engine.

Forge checks two markers, in order:

  1. Godot. A file named project.godot exists in the project root.
  2. Unity. Both Assets/ and ProjectSettings/ProjectVersion.txt exist.

If neither matches, the project stays in plain Project mode. Detection runs once when you open the project, not continuously.

If a project somehow has both markers (rare but possible during a Unity-to-Godot port), Godot wins.

When Forge detects a Godot project, you get:

  • A Godot pill in the title bar showing the detected engine version. Forge parses [application] config/features in project.godot for the version string.
  • An Inspector → Scene tab that renders the active .tscn file as a node tree. Click a node to see its type and properties.
  • An Inspector → Outline tab that lists class members, exported variables, methods, and signals when you have a .gd file open.
  • Skills tagged for Godot fire automatically based on engine version constraints (see Skills system).

When Forge detects a Unity project, you get:

  • A Unity pill in the title bar showing the detected Editor version. Forge reads m_EditorVersion from ProjectSettings/ProjectVersion.txt.
  • An Inspector → Hierarchy tab that shows the active scene’s GameObjects, live, while the bridge is connected.
  • An Inspector → Console tab that streams Debug.Log output from the Editor.
  • A one-click bridge installer in Settings → MCP → Forge Unity Bridge that drops the UPM package into your project.
  • Write tools the agent can call to create or modify GameObjects, components, and properties. All wrapped in Unity’s Undo.
  • A one-click Assets/Editor/ForgeBuild.cs installer for headless builds.

The bridge needs to be installed and Unity needs to be open for Hierarchy and Console to populate. The pill turns green when connected.

If neither marker matches, you still get full Project mode behavior: memory in .forge/, file watcher, workspace persistence, the lot. You just don’t get the engine-specific tabs.

This is the right mode for web games (Three.js, Phaser, vanilla canvas), tooling, or any project Forge doesn’t recognize. The Web quickstart covers the typical setup.

Skills can declare which engine versions they apply to. A skill with frontmatter like:

engine: "unity"
engine_version: ">=6"

only fires in a Unity project running Editor 6.x or later. This keeps Unity 2022 projects from getting Unity 6-specific advice and vice versa. The same applies to Godot.

The full skill spec is in Skills format.