Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
ae6df3e
[Feature] Animation foundation and character deformation stack: pose …
miogds Oct 2, 2026
e2549bc
Added documentation to XR systems (#1281)
untoldengine Oct 2, 2026
0c1cbf8
[Chores] added copyright (#1282)
untoldengine Oct 2, 2026
3ff79c0
[Docs] Updated engine architecture docs (#1286)
untoldengine Oct 2, 2026
973fb46
No longer need withExtension for mesh, animation, or Gaussian loads (…
untoldengine Oct 3, 2026
9a15889
[Bugfix] Carry Blender's colour nodes, transparency and glass into th…
miogds Oct 3, 2026
7f63272
[Feature] Reach IK: a target per chain, in world, model, shoulder or …
miogds Oct 3, 2026
108169c
[Bugfix] Let scenes hold more than 20,000 entities (#1289)
miogds Oct 3, 2026
8fa32ba
[Performance] Write repeated models once in a .untoldpack (#1288)
miogds Oct 3, 2026
d2a58f3
[Performance] Load each .untold of a pack once (#1290)
miogds Oct 3, 2026
cb53996
[Bugfix] Shade materials the way their values say: normal maps, emiss…
miogds Oct 3, 2026
0e652b3
[Docs] Actors and locks: benchmark, lock census of the frame and rule…
miogds Oct 4, 2026
ddc3998
[Performance] Leave objects under a pixel tall out of the frame (#1297)
miogds Oct 4, 2026
9041606
[CI] Skip the build, test and lint workflows for documentation-only c…
miogds Oct 4, 2026
2651640
[Performance] Read a mesh's Metal buffers from MetalKit once (#1298)
miogds Oct 4, 2026
20a060b
[Bugfix] Export glass, and Blender's default bump heights, as they lo…
miogds Oct 4, 2026
2ee1eae
[Performance] Automatic LOD chains for the models of a .untoldpack (#…
miogds Oct 4, 2026
d427010
[Bugfix] Release ECS components when they leave the scene (#1300)
miogds Oct 4, 2026
eab953b
[Performance] Register the transform of a loaded entity once (#1301)
miogds Oct 4, 2026
2931c0b
[Bugfix] Close the data race between Scene.assign and a reader of the…
miogds Oct 4, 2026
0b03a27
[Bugfix] Keep the transform and hierarchy of an entity that becomes a…
miogds Oct 4, 2026
e8d722d
[Bugfix] Keep the root of a streamed scene in its hierarchy (#1304)
miogds Oct 4, 2026
ffb248d
[Release] Preparing release 0.22.0 (#1305)
untoldengine Oct 5, 2026
781aa4b
Merge upstream develop: release 0.22.0 (untoldengine/UntoldEngine#1305)
Oct 5, 2026
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
12 changes: 12 additions & 0 deletions .github/workflows/ci-build-test.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,22 @@
name: CI Build and Test

# Changes that only touch the documentation skip this workflow: the docs folder,
# mkdocs.yml and the Markdown files at the repository root. Markdown files elsewhere
# (for example template resources under Sources) still run it. The MkDocs build has
# its own workflow.
on:
push:
branches: [master, develop]
paths-ignore:
- 'docs/**'
- 'mkdocs.yml'
- '*.md'
pull_request:
branches: [master, develop]
paths-ignore:
- 'docs/**'
- 'mkdocs.yml'
- '*.md'

jobs:
python-script-tests:
Expand Down
5 changes: 5 additions & 0 deletions .github/workflows/swiftformat-lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,11 @@ name: Formatting Validation
on:
pull_request:
branches: [master, develop]
# Documentation-only changes have no Swift to lint.
paths-ignore:
- 'docs/**'
- 'mkdocs.yml'
- '*.md'

jobs:
lint:
Expand Down
10 changes: 10 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,14 @@
# Changelog
## v0.22.0 - 2026-10-04
### 🐞 Fixes
- [Patch] Remember failed texture writes per export, not per Blender session (#1263) (fa706bf…)
### 📚 Docs
- [Docs] Updated engine architecture docs (#1286) (3ff79c0…)
- [Docs] Actors and locks: benchmark, lock census of the frame and rules (#1294) (0e652b3…)
### 🚀 Features
- [Feature] Keep an export's assets in a folder of their own (#1268) (3c006f5…)
- [Feature] Animation foundation and character deformation stack: pose layers, physics pose, compute skinning, DQS/DDM, morph targets, pose drivers, XPBD muscles, ML deformer, motion-capture seams (#1259) (ae6df3e…)
- [Feature] Reach IK: a target per chain, in world, model, shoulder or ground space (#1283) (7f63272…)
## v0.21.0 - 2026-09-26
### 🐞 Fixes
- [Bugfix] Restore StarterDemo keyboard input (014a559…)
Expand Down
10 changes: 10 additions & 0 deletions Examples/CodeComponents/SamplePluginPackage/Package.swift
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
//
// Package.swift
// UntoldEngine
//
// Copyright (C) Untold Engine Studios
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at https://mozilla.org/MPL/2.0/.

// swift-tools-version: 6.0

import PackageDescription
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
//
// SampleMenus.swift
// UntoldEngine
//
// Copyright (C) Untold Engine Studios
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at https://mozilla.org/MPL/2.0/.

import SamplePluginPackage
import UntoldComponentKit

Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
//
// GeneratedGeometry.swift
// UntoldEngine
//
// Copyright (C) Untold Engine Studios
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at https://mozilla.org/MPL/2.0/.

import Foundation
import ModelIO
import simd
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
//
// PulseClock.swift
// UntoldEngine
//
// Copyright (C) Untold Engine Studios
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at https://mozilla.org/MPL/2.0/.

import Foundation

/// A clock shared by everything that pulses, so it all moves in step. It stands in for a
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
//
// SplinePath.swift
// UntoldEngine
//
// Copyright (C) Untold Engine Studios
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at https://mozilla.org/MPL/2.0/.

import Foundation
import MetalKit
import ModelIO
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
//
// Torus.swift
// UntoldEngine
//
// Copyright (C) Untold Engine Studios
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at https://mozilla.org/MPL/2.0/.

import Foundation
import MetalKit
import ModelIO
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
//
// AppDelegate.swift
// UntoldEngine
//
// Copyright (C) Untold Engine Studios
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at https://mozilla.org/MPL/2.0/.

//
// AppDelegate.swift
// SampleProject
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
//
// GameScene.swift
// UntoldEngine
//
// Copyright (C) Untold Engine Studios
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at https://mozilla.org/MPL/2.0/.

//
// GameScene.swift
// SampleProject
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
//
// GameSceneUtils.swift
// UntoldEngine
//
// Copyright (C) Untold Engine Studios
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at https://mozilla.org/MPL/2.0/.

//
// GameSceneUtils.swift
// SampleProject
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
//
// GameViewController.swift
// UntoldEngine
//
// Copyright (C) Untold Engine Studios
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at https://mozilla.org/MPL/2.0/.

//
// GameViewController.swift
// SampleProject
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
//
// Bobber.swift
// UntoldEngine
//
// Copyright (C) Untold Engine Studios
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at https://mozilla.org/MPL/2.0/.

import SamplePluginPackage
import simd
import UntoldComponentKit
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
//
// GameRules.swift
// UntoldEngine
//
// Copyright (C) Untold Engine Studios
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at https://mozilla.org/MPL/2.0/.

import UntoldComponentKit
import UntoldEngine

Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
//
// SampleTools.swift
// UntoldEngine
//
// Copyright (C) Untold Engine Studios
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at https://mozilla.org/MPL/2.0/.

// Editor-only. The editor compiles this folder with UNTOLD_EDITOR defined; the game does not,
// so nothing below ends up in the game binary.
#if UNTOLD_EDITOR
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
//
// SpawnPoint.swift
// UntoldEngine
//
// Copyright (C) Untold Engine Studios
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at https://mozilla.org/MPL/2.0/.

import Foundation
import simd
import UntoldComponentKit
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
//
// Spinner.swift
// UntoldEngine
//
// Copyright (C) Untold Engine Studios
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at https://mozilla.org/MPL/2.0/.

import simd
import UntoldComponentKit
import UntoldEngine
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
//
// TintSurface.metal
// UntoldEngine
//
// Copyright (C) Untold Engine Studios
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at https://mozilla.org/MPL/2.0/.

#include <metal_stdlib>
#include <UntoldEngineShaderSupport/UntoldModelSurface.h>

Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
//
// TintSurfaceRenderExtension.swift
// UntoldEngine
//
// Copyright (C) Untold Engine Studios
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at https://mozilla.org/MPL/2.0/.

import Foundation
import simd
import UntoldEngine
Expand Down
10 changes: 10 additions & 0 deletions Examples/RenderingExtensions/SwiftPackagePlugin/Package.swift
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
//
// Package.swift
// UntoldEngine
//
// Copyright (C) Untold Engine Studios
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at https://mozilla.org/MPL/2.0/.

// swift-tools-version: 6.0

import PackageDescription
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
//
// WaterRenderPlugin.metal
// UntoldEngine
//
// Copyright (C) Untold Engine Studios
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at https://mozilla.org/MPL/2.0/.

#include <metal_stdlib>
#include <UntoldEngineShaderSupport/UntoldModelSurface.h>

Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
//
// WaterRenderPlugin.swift
// UntoldEngine
//
// Copyright (C) Untold Engine Studios
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at https://mozilla.org/MPL/2.0/.

import Foundation
import Metal
import simd
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
//
// WaterRenderPluginTests.swift
// UntoldEngine
//
// Copyright (C) Untold Engine Studios
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at https://mozilla.org/MPL/2.0/.

import Metal
import UntoldEngine
import WaterRenderPlugin
Expand Down
Loading
Loading