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
56 changes: 56 additions & 0 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
name: Deploy to GitHub Pages

on:
push:
branches: [develop]

permissions:
contents: read
pages: write
id-token: write

jobs:
build:
name: Build Docusaurus
runs-on: ubuntu-latest
defaults:
run:
working-directory: website
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0

- uses: actions/setup-node@v4
with:
node-version: 20
cache: npm
cache-dependency-path: website/package-lock.json

- name: Install dependencies
run: npm ci

- name: Build website
run: npm run build

# (Optional but recommended) Configure Pages
- name: Configure Pages
uses: actions/configure-pages@v5

- name: Upload Build Artifact
uses: actions/upload-pages-artifact@v3
with:
path: website/build

deploy:
name: Deploy to GitHub Pages
needs: build
runs-on: ubuntu-latest
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4

31 changes: 31 additions & 0 deletions .github/workflows/test-deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: Test deployment

on:
pull_request:
branches:
- develop

jobs:
test-deploy:
name: Test deployment
runs-on: ubuntu-latest
defaults:
run:
working-directory: website
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0

- uses: actions/setup-node@v4
with:
node-version: 20 # 18+ is fine; 20 matches your passing job
cache: npm
cache-dependency-path: website/package-lock.json

- name: Install dependencies
run: npm ci

- name: Test build website
run: npm run build

16 changes: 16 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -69,3 +69,19 @@ docs/.jekyll-cache/

.vscode/
.swiftpm

# --- Docusaurus (website/) ---
/website/.docusaurus/
/website/build/
/website/node_modules/
/website/.cache/
/website/.env
/website/.env.local
/website/.env.*.local

# --- Docusaurus Node logs ---
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*
34 changes: 17 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ open Package.swift

🎮 You’re ready to explore!

👉 For full installation details (screenshots, controls, and Editor workflow), see the [Installation Guides](docs/Installation.md)
👉 For full installation details (screenshots, controls, and Editor workflow), see the [Installation Guides](docs/Getting%20Started/Installation.md)

### Assets Download
To help you get started, download the [Demo Game Assets v1.0](https://github.com/untoldengine/UntoldEngine-Assets/releases/tag/v1). It contains models and animations that you can use as you try out the engine. Unzip the folder and place it on your Desktop.
Expand All @@ -137,13 +137,13 @@ To help you get started, download the [Demo Game Assets v1.0](https://github.com
The **Demo Game** is a simple soccer dribbling example that runs out of the box.
It not only lets you test the engine with zero setup, but also serves as a live reference for how the API is used in practice — from entity creation to animations and physics.

👉 Follow the step-by-step guide to run the [small demo](docs/demogamesteps.md).
👉 Follow the step-by-step guide to run the [small demo](docs/Getting%20Started/demogamesteps.md).

### Starter Game – Experiment and Learn
The **Starter Game** is a minimal project designed as your playground.
It gives you a clean slate to experiment with importing assets, writing your own systems, and building new mechanics. Unlike the Demo Game (which shows the API in action), the Starter Game is where you can start creating your own gameplay ideas.

👉 Follow the step-by-step guide to run the [starter game](docs/startergamesteps.md).
👉 Follow the step-by-step guide to run the [starter game](docs/Getting%20Started/startergamesteps.md).

For an overview of how to reference entities, play animations, and create components and systems, check out the files in the DemoGame folder. More documentation is on the way, but these examples should be enough to help you get started.
If you run into any issues or have questions, please don’t hesitate to open an [issue](https://github.com/untoldengine/UntoldEngine/issues).
Expand Down Expand Up @@ -184,26 +184,26 @@ The Untold Engine is powered by modular systems that simplify game development.

⚡ **For your convenience**: The Untold Engine provides an Editor that makes it easy to import assets, set up entities, and manage scenes — all without writing code.

- [Editor Overview](docs/editoroverview.md): Walkthrough of Scene Graph, Inspector, Gizmos, Materials, Lighting, Post-Processing, Asset Browser, and Console.
- [How to Import Assets](docs/importingassetseditor.md): Learn how to set asset paths and import models, materials, and animations.
- [Editor Overview](docs/Editor/editoroverview.md): Walkthrough of Scene Graph, Inspector, Gizmos, Materials, Lighting, Post-Processing, Asset Browser, and Console.
- [How to Import Assets](docs/Import-Export/importingassetseditor.md): Learn how to set asset paths and import models, materials, and animations.

### How-To Guides
- [Adding a model using the Editor](docs/addModelUsingEditor.md)
- [Adding an animation using the Editor](docs/addAnimationsUsingEditor.md) (Coming Soon)
- [Adding a model using the Editor](docs/Editor/addModelUsingEditor.md)
- [Adding an animation using the Editor](docs/Editor/addAnimationsUsingEditor.md) (Coming Soon)

💡 **Note**: The Editor is optional. You can also load models, link animations, attach components, and configure entities directly in code. See the **Systems** section below for details.

### Systems
- [Registration-ECS System](docs/UsingRegistrationSystem.md): Handles the creation of entities and components.
- [Rendering System](docs/UsingRenderingSystem.md): Render 3D models with support for PBR and custom shaders.
- [Transform System](docs/UsingTransformSystem.md): Manage entity positions, rotations, and scales.
- [Animation System](docs/UsingAnimationSystem.md): Add life to your models with skeletal animations.
- [Physics System](docs/UsingPhysicsSystem.md): Simulate gravity, forces, and movement.
- [Input System](docs/UsingInputSystem.md): Capture keyboard and mouse interactions.
- [Steering System](docs/UsingSteeringSystem.md): Implement intelligent behaviors like path-following.
- [Scenegraph](docs/UsingScenegraph.md): Enables parent-child relationships between entities.
- [Shaders](docs/shaders.md): Add or modify shaders to fit your game’s style.
- [Importing Assets](docs/ImportingAssetFiles.md): Importing assets into your game project.
- [Registration-ECS System](docs/Engine%20Systems/UsingRegistrationSystem.md): Handles the creation of entities and components.
- [Rendering System](docs/Engine%20Systems/UsingRenderingSystem.md): Render 3D models with support for PBR and custom shaders.
- [Transform System](docs/Engine%20Systems/UsingTransformSystem.md): Manage entity positions, rotations, and scales.
- [Animation System](docs/Engine%20Systems/UsingAnimationSystem.md): Add life to your models with skeletal animations.
- [Physics System](docs/Engine%20Systems/UsingPhysicsSystem.md): Simulate gravity, forces, and movement.
- [Input System](docs/Engine%20Systems/UsingInputSystem.md): Capture keyboard and mouse interactions.
- [Steering System](docs/Engine%20Systems/UsingSteeringSystem.md): Implement intelligent behaviors like path-following.
- [Scenegraph](docs/Engine%20Systems/UsingScenegraph.md): Enables parent-child relationships between entities.
- [Shaders](docs/Engine%20Systems/shaders.md): Add or modify shaders to fit your game’s style.


## High-Level API Overview

Expand Down
71 changes: 0 additions & 71 deletions docs/APIOverview.md

This file was deleted.

13 changes: 0 additions & 13 deletions docs/CommonIssues.md

This file was deleted.

5 changes: 0 additions & 5 deletions docs/ContributionGuidelines.md
Original file line number Diff line number Diff line change
Expand Up @@ -109,11 +109,6 @@ Your guide must follow this structure:

### Additional Notes

- Make sure to follow the [versioning guidelines](versioning.md).
- Ensure all code examples are complete, tested, and follow the engine’s coding conventions.
- PRs must be documented in the /Documentation folder, with guides in markdown format.
- Make sure your code follows the [formatting guidelines](Formatting.md).

---

## Questions & Discussions
Expand Down
33 changes: 0 additions & 33 deletions docs/CoreSystems.md

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
---
id: addanimationeditor
title: Adding an Animation
sidebar_position: 7
---

## How-To: Add Animations Using the Editor

Follow these steps to add an animation to an entity. If you prefer, is a step-by-step [video](https://vimeo.com/1117004242?share=copy#t=0).
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
---
id: addentityeditor
title: Adding an Entity
sidebar_position: 6
---

# Adding a Character to the Scene using the Editor

Follow these steps to bring a character into your scene or if you prefer, here is a [short video](https://vimeo.com/1116793858?share=copy#t=0).
Expand Down
6 changes: 6 additions & 0 deletions docs/editoroverview.md → docs/Editor/editoroverview.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
---
id: editoroverview
title: Editor Overview
sidebar_position: 4
---

# Introducing the Untold Engine Editor

The Untold Engine Editor makes it easier than ever to set up your scenes and entities without touching code. With the Editor, you can visually create, configure, and organize your game world, while keeping Swift code focused on game logic and behaviors.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,13 @@
---
id: animationsystem
title: Animation System
sidebar_position: 4
---

# Enabling Animation in Untold Engine

The Untold Engine simplifies adding animations to your rigged models, allowing for lifelike movement and dynamic interactions. This guide will show you how to set up and play animations for a rigged model.

## Why Add Animation?

Animations bring your models to life by adding movement and expression. Use cases include:

Characters performing actions like walking, running, or jumping.
Machines with moving parts, such as gears or pistons.
Environmental animations, like trees swaying or doors opening.

## How to Enable Animation

Expand Down Expand Up @@ -60,22 +59,14 @@ To pause the current animation, simply call the following function. The animatio
pauseAnimationComponent(entityId: redPlayer, isPaused: true)
```

## What Happens Behind the Scenes?

1. Animation System:
- The engine uses a skeletal animation system that applies transformations to the rigged model's joints.
The animation is played in a loop or as specified in the animation file.
2. Efficient Updates:
- Only the affected parts of the model are recalculated each frame, ensuring optimal performance.

---

### Running the Animation

Once the animation is set up:

1. Run the project: Your model will appear in the game window.
2. Press "P" to enter Game Mode:
2. Click on "Play" to enter Game Mode:
- The model will play the assigned animation in real time.

---
Expand Down
Loading
Loading