Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,13 @@
# Changelog
## v0.7.1 - 2026-01-10
### 🐞 Fixes
- [Patch] Added a profiler to the engine (6be0955…)
- [Patch] added multi-platform support build system (d6642d1…)
- [Patch]fixed the space in the Build system path (31497f0…)
- [Patch]Added apply transform to parents in deserializer (907cde3…)
- [Patch]Fixed async loading not setting skeleton component (ea52f24…)
### 📚 Docs
- [Docs]Added docs explaining how to start a project (2496315…)
## v0.7.0 - 2026-01-06
### 🐞 Fixes
- [Patch] re-enabled renderer tests in pre-commit (fd67537…)
Expand Down
20 changes: 20 additions & 0 deletions docs/03-Game Development/02-Tutorials/000_HelloEditor.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,26 @@ You will then be prompted to open the project in Xcode. I recommend doing so.

After opening the project in Xcode, take a moment to explore the file structure. This will help you navigate the project later.

### Project Structure

```
MyGame/ # Your working directory
└── MyGame/ # Generated project
├── MyGame.xcodeproj # Open this in Xcode
├── project.yml # XcodeGen configuration
└── Sources/
└── MyGame/
├── GameData/ # ← Put your assets here
│ ├── Models/ # 3D models
│ ├── Scenes/ # Scene files
│ ├── Scripts/ # USC scripts
│ ├── Textures/ # Images
│ └── ...
├── GameScene.swift # Your game logic
├── GameViewController.swift # View controller
└── AppDelegate.swift # App entry point
```

The most important file to look for is:

```GameScene.swift```
Expand Down
118 changes: 118 additions & 0 deletions website/versioned_docs/version-0.7.1/01-Intro.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,118 @@
---
slug: /intro
---

# Untold Engine Documentation

Welcome to the **Untold Engine documentation**.

These docs are the primary reference for working with the Untold Engine ecosystem — whether you are building a game, extending the engine, or contributing to the editor.

---

## What Is Untold Engine?

![untoldengine](images/Editor/EditorMainShot.png)

The Untold Engine strives to be a stable, performant, and developer-friendly 3D engine that empowers creativity, removes friction, and makes game development feel effortless for Apple developers

The Untold Engine is an open-source 3D game engine under active development, designed for macOS, iOS, xrOS platforms. Written in Swift and powered by Metal, its goal is to simplify game creation with a clean, intuitive API.

While the engine already supports many core systems like rendering, physics, and animation, there’s still much to build and improve.

---

## The Untold Engine Ecosystem

Untold Engine is delivered through three closely related products:

### Untold Engine Studio
A downloadable application that includes:
- The Untold Engine runtime
- The Untold Editor
- Built-in tools for scripting, assets, and scene editing

This is the recommended starting point for most users.

---

### Untold Engine
The core engine runtime.

This is intended for:
- Engine developers
- Contributors
- Advanced users who want to modify or extend engine systems

Installation is performed via the command line.

---

### Untold Editor
The editor application built on top of the engine runtime.

This is intended for:
- Contributors working on editor features
- Developers extending tools and workflows

The editor uses the same runtime as games, ensuring consistent behavior.

---

## Choose Your Path

These docs are organized around **how you intend to use the engine**.

### Game Development
For developers building games using Untold Engine.

You will learn:
- How to create scenes visually
- How to write game logic (Swift or USC scripts)
- How to work with assets and entities
- How to build and run your game

Untold Engine supports two approaches for writing gameplay code:
- **Swift in Xcode** (recommended) - Full engine API access
- **USC Scripts** (experimental) - Component-based scripting

Start here if your goal is to build a game.

---

### Engine Development
For developers who want to understand or extend the engine itself.

You will learn:
- The engine architecture
- ECS and system execution
- Rendering and simulation internals
- How to contribute new engine features

Start here if you want to work on the engine runtime.

---

### Editor Development
For contributors working on the Untold Editor.

You will learn:
- Editor architecture
- Views, tools, and interaction models
- How the editor coordinates with the engine
- How to extend or add editor functionality

Start here if you want to improve the editor.

---

## Getting Started

If you are unsure where to begin:

- New users: **Game Development → Overview**
- Scripting users: **USC → Introduction**
- Contributors: **Engine Development → Architecture**

Each section is designed to stand on its own.

Original file line number Diff line number Diff line change
@@ -0,0 +1,221 @@
---
id: intro
title: Installation
sidebar_position: 1
---

# Installation

This page explains how to install **Untold Engine Studio**, the recommended way to get started with Untold Engine.

Untold Engine Studio is a downloadable app that includes:
- The **Untold Engine** runtime
- The **Untold Editor** for building and editing games

![editorbottomshot](../images/Editor/EditorBottomShot.png)

If your goal is to **make games**, this is the only installation you need.

---

## Recommended Installation (Untold Engine Studio)

### 1. Download

Download the latest version of **Untold Engine Studio** from the official website:

[Download Releases](https://github.com/untoldengine/UntoldEditor/releases)

The download is provided as a `.dmg` file for macOS.

---

### 2. Install

1. Open the downloaded `.dmg` file
2. Drag **Untold Engine Studio** into your `Applications` folder
3. Launch the app from `Applications`

No additional setup is required.

---

### 3. First Launch

On first launch, Untold Engine Studio will:
- Initialize the engine runtime
- Set up the editor environment
- Prompt you to create or open a project

From here, you can immediately:
- Create scenes visually
- Import 3D models and assets
- Write game logic (Swift in Xcode or USC scripts)
- Build and test your game

---

## System Requirements

- macOS (Apple Silicon recommended)
- Metal-capable GPU
- Keyboard and mouse

---

## What You Get

By installing Untold Engine Studio, you get:

- A complete **game development environment**
- Visual editor for scenes, assets, and scripts
- Full **Untold Engine Swift API** for game logic in Xcode
- **USC scripting system** (experimental component-based scripting)
- Build and run support for macOS, iOS, and visionOS

You do **not** need to install the engine or editor separately.

### Two Ways to Write Game Logic

Untold Engine Studio supports two approaches for writing gameplay code:

**1. Swift in Xcode (Recommended)**
- Write game logic in `GameScene.swift` using the full Untold Engine API
- Complete control over game systems and performance
- Best for complex games and experienced developers
- Works seamlessly with Xcode debugging and profiling

**2. USC Scripts (Experimental)**
- Component-based scripting attached to entities
- Write gameplay behaviors in the integrated script editor
- Good for prototyping and simple game mechanics
- API is experimental and subject to change

You can **use both approaches** in the same project.

---

## Alternative Installation: CLI Workflow

For **advanced users** or those who prefer a **command-line workflow** without the visual editor, you can install the CLI tools.

### When to Use CLI

- You prefer working entirely in Xcode without a visual editor
- You want to script project creation and automation
- You're building tools or integrations on top of UntoldEngine

### CLI Installation

**1. Clone the repository:**

```bash
git clone https://github.com/untoldengine/UntoldEngine.git
cd UntoldEngine
```

**2. Install the CLI globally:**

```bash
./scripts/install-create.sh
```

**3. Verify installation:**

```bash
untoldengine-create --version
untoldengine-create --help
```

### CLI Quick Start

After installing the CLI, create a project from anywhere:

```bash
# 1. Create project directory
cd ~/anywhere
mkdir MyGame && cd MyGame

# 2. Create the project
untoldengine-create create MyGame

# 3. Open in Xcode
open MyGame/MyGame.xcodeproj
```

For complete CLI documentation, see `Tools/UntoldEngineCLI/README.md` in the repository.

---

### What You Get

The CLI creates a complete, ready-to-run project:

- **Xcode project** - Configured and ready to build
- **GameScene.swift** - Your game logic goes here
- **GameViewController.swift** - Renderer and view setup
- **GameData/** directory - All game assets location
- **Platform-specific** files (AppDelegate, Info.plist, etc.)

### Project Structure

```
MyGame/ # Your working directory
└── MyGame/ # Generated project
├── MyGame.xcodeproj # Open this in Xcode
├── project.yml # XcodeGen configuration
└── Sources/
└── MyGame/
├── GameData/ # ← Put your assets here
│ ├── Models/ # 3D models
│ ├── Scenes/ # Scene files
│ ├── Scripts/ # USC scripts
│ ├── Textures/ # Images
│ └── ...
├── GameScene.swift # Your game logic
├── GameViewController.swift # View controller
└── AppDelegate.swift # App entry point
```

### Platform Support

The CLI supports multiple platforms:

```bash
# macOS (default)
untoldengine-create create MyGame --platform macos

# iOS
untoldengine-create create MyGame --platform ios

# iOS with ARKit
untoldengine-create create MyGame --platform iosar

# visionOS (Apple Vision Pro)
untoldengine-create create MyGame --platform visionos
```

### Development Workflow

1. **Write code** in GameScene.swift (game logic)
2. **Add assets** to the GameData/ directory
3. **Build & run** in Xcode (Cmd+R)
4. **Iterate** - make changes and rebuild

For complete CLI documentation, see `Tools/UntoldEngineCLI/README.md` in the repository.

---

## Preloaded Assets

To kickstart development, download prebuilt demo assets:

- **Models**: Soccer stadium, player, ball, and more
- **Animations**: Running, idle, and other character motions
- **Textures**: Sample materials

[Download Demo Assets v1.0](https://haroldserrano.gumroad.com/l/iqjlac)

Extract and copy into your project's `GameData/` directory.

---
Loading
Loading