Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
2bd8fe8
[Docs] Update readme with new ecosystem
untoldengine Dec 1, 2025
c24c306
[Patch] Added basic primitives
untoldengine Dec 3, 2025
b686d07
[Patch] Fixed retrieval of usdz textures
untoldengine Dec 3, 2025
89ef496
[Test] Added test to toolbar for primitives
untoldengine Dec 3, 2025
0b3808c
[Patch] Formatted files
untoldengine Dec 3, 2025
882a8d9
[Patch] fixed child-parent selection
untoldengine Dec 4, 2025
80439f5
[Patch] User can double click on usdz to render a model
untoldengine Dec 6, 2025
c77c253
[Patch] User can double click ply to render gaussian
untoldengine Dec 6, 2025
10f19f9
[Patch] Double click to add animation
untoldengine Dec 6, 2025
f224e49
[Patch] Double click to add script
untoldengine Dec 6, 2025
9db3a1a
[Patch] Double click to load scene
untoldengine Dec 6, 2025
6256fb5
[Patch] Double click to add HDR
untoldengine Dec 6, 2025
fce6527
[Patch] AssetBrowserView shows usdz not folder
untoldengine Dec 6, 2025
360dbde
[Patch] enable game camera in game mode in editor
untoldengine Dec 9, 2025
7fefa42
[Patch] Numeric input field commits on tab
untoldengine Dec 9, 2025
45a46d3
[Patch] Formatted files
untoldengine Dec 9, 2025
e323be8
[Patch] Added clear flag to console
untoldengine Dec 9, 2025
bb11c67
[Patch] Added CodeEditorView
untoldengine Dec 9, 2025
bf0de63
[Patch] Added SPM for CodeEditorView
untoldengine Dec 10, 2025
6a67480
[Patch] Added delete file to code view editor
untoldengine Dec 10, 2025
edce83f
[Patch] Made the editor sheet a window instead
untoldengine Dec 14, 2025
c89c775
[Patch] added simd to the generated template script
untoldengine Dec 14, 2025
7a9b7bc
[Patch] Added link to scripting api docs
untoldengine Dec 14, 2025
d74fc3b
[Feature] Added Untold Engine Studio App Bundle
untoldengine Dec 15, 2025
15b4555
Fixed create_app_bundle script
untoldengine Dec 15, 2025
d213f86
[Patch] Added guard if base path is missing
untoldengine Dec 15, 2025
83ae8f2
[Patch] additional ux improvements
untoldengine Dec 16, 2025
4cc6714
[Patch] Fixed the asset browser and console log view
untoldengine Dec 16, 2025
ff3b35d
[Patch] Fixed console and Asset browser. only one is visible at a time
untoldengine Dec 16, 2025
f5b01db
[Patch] Improved the color scheme of the editor
untoldengine Dec 16, 2025
b4b18e3
[Patch] Made asset browser a window
untoldengine Dec 16, 2025
11c619e
[Patch] Improved the console log
untoldengine Dec 16, 2025
ea79941
[Patch] Make the asset library view permanent when clicking on viewport
untoldengine Dec 16, 2025
674e3d4
[Patch] Ignore destroy-marked entities during ray casting.
untoldengine Dec 16, 2025
0b11d9d
[Patch] Improved console log ux design
untoldengine Dec 16, 2025
7598cb1
[Patch] updated next-version script
untoldengine Dec 16, 2025
c52401d
[Patch] Fixed create ap bundle
untoldengine Dec 17, 2025
a79da24
[Patch] Added visual feedback in asset browser view
untoldengine Dec 17, 2025
965d437
[Patch] Removed code editor view
untoldengine Dec 19, 2025
cdad0e7
[Patch] set asset browser view opacity to 1.0
untoldengine Dec 19, 2025
c6196e5
[Release] prepare for 0.1.0
untoldengine Dec 19, 2025
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
63 changes: 63 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
name: Build and Release

on:
push:
tags:
- 'v*' # Triggers on version tags like v0.2.0, v0.3.0, etc.
workflow_dispatch: # Allows manual trigger from GitHub UI

jobs:
build-and-release:
runs-on: macos-14 # macOS 14 (Sonoma) with Apple Silicon support

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Set up Swift
uses: swift-actions/setup-swift@v2
with:
swift-version: "5.10"

- name: Extract version from tag
id: get_version
run: |
if [[ "${{ github.ref }}" == refs/tags/* ]]; then
VERSION=${GITHUB_REF#refs/tags/v}
else
VERSION="0.2.0-dev"
fi
echo "VERSION=$VERSION" >> $GITHUB_OUTPUT

- name: Build app bundle
run: |
chmod +x ./create_app_bundle.sh
# Update version in script
sed -i '' "s/VERSION=\".*\"/VERSION=\"${{ steps.get_version.outputs.VERSION }}\"/" create_app_bundle.sh
./create_app_bundle.sh

- name: Create DMG
run: |
chmod +x ./create_dmg.sh
# Update version in script
sed -i '' "s/VERSION=\".*\"/VERSION=\"${{ steps.get_version.outputs.VERSION }}\"/" create_dmg.sh
./create_dmg.sh

- name: Create Release
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/')
with:
files: |
UntoldEngineStudio-${{ steps.get_version.outputs.VERSION }}.dmg
draft: false
prerelease: false
generate_release_notes: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Upload DMG artifact (for manual builds)
if: github.event_name == 'workflow_dispatch'
uses: actions/upload-artifact@v4
with:
name: UntoldEngineStudio-${{ steps.get_version.outputs.VERSION }}
path: UntoldEngineStudio-${{ steps.get_version.outputs.VERSION }}.dmg
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ DerivedData/
*.exe
*.out
*.app
*.dmg
*.ipa

# ---------------------------------------
Expand Down
2 changes: 1 addition & 1 deletion Package.swift
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ let package = Package(
// Use a branch during active development:
// .package(url: "https://github.com/untoldengine/UntoldEngine.git", branch: "develop"),
// Or pin to a release:
.package(url: "https://github.com/untoldengine/UntoldEngine.git", exact: "0.6.0"),
.package(url: "https://github.com/untoldengine/UntoldEngine.git", exact: "0.6.1"),
],
targets: [
.executableTarget(
Expand Down
58 changes: 46 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,52 @@
# Untold Editor

The **Untold Editor** is a companion tool for the [Untold Engine](https://github.com/untoldengine/UntoldEngine).
It provides a visual environment for managing assets, scenes, and entities in projects built with the engine.
The **Untold Editor** is the visual development environment for the [Untold Engine](https://github.com/untoldengine/UntoldEngine).
It provides a complete toolkit for building games with scripting support, asset management, scene editing, and more.

The editor is not required to use the engine, but it makes iteration faster by giving developers and designers a user-friendly interface.
## 🎮 For Game Developers

**Want to make games? Download [Untold Engine Studio](https://github.com/untoldengine/UntoldEditor/releases)** — a standalone app that includes everything you need:

- ✅ Complete visual editor
- ✅ Scripting system for game logic
- ✅ All engine features built-in
- ✅ No setup required — just download the DMG and start creating

👉 **[Download Untold Engine Studio](https://github.com/untoldengine/UntoldEditor/releases)**

## 🛠️ For Contributors

This repository is for developers who want to **contribute to the editor itself**. If you're looking to improve the editor, fix bugs, or add features, you're in the right place!

![UntoldEditorScreenshot](images/editorscreenshot.png)
---

## 📚 Understanding the Ecosystem

The Untold Engine project has three main components:

### For Game Developers:
- **[Untold Engine Studio](https://github.com/untoldengine/UntoldEditor/releases)** (Download)
- Standalone app with everything included
- Scripting, visual editor, asset management
- No GitHub or build tools required
- **Start here if you want to make games**

### For Engine/Editor Contributors:
- **[Untold Engine](https://github.com/untoldengine/UntoldEngine)** (Clone to contribute)
- Core engine repository
- Rendering, physics, ECS, animation systems
- Clone this if you want to contribute to the engine core

- **[Untold Editor](https://github.com/untoldengine/UntoldEditor)** (This repo)
- Editor interface and tooling
- Clone this if you want to contribute to the editor

### Additional Resources:
- **Examples / Starter Projects:** [UntoldEngineExamples](https://github.com/untoldengine/UntoldEngineExamples)

---

## ✨ Features

- **Scene Graph** – Organize and visualize entity hierarchies
Expand All @@ -27,9 +66,11 @@ The editor is not required to use the engine, but it makes iteration faster by g

---

## 📦 Getting the Editor
## 📦 Development Setup

**Note:** If you just want to make games, download [Untold Engine Studio](https://github.com/untoldengine/UntoldEditor/releases) instead.

Clone this repository:
For editor development, clone this repository:

```bash
git clone https://github.com/untoldengine/UntoldEditor.git
Expand Down Expand Up @@ -115,13 +156,6 @@ See **CONTRIBUTING.md** and **CODE_OF_CONDUCT.md** (coming soon).

---

## 📚 Related Repos

- **Engine Core:** [Untold Engine](https://github.com/untoldengine/UntoldEngine)
- **Examples / Starter Projects:** [UntoldEngineExamples](https://github.com/untoldengine/UntoldEngineExamples)

---

## 📜 License

Licensed under **GNU LGPL v3.0**.
Expand Down
Binary file added Resources/AppIcon.icns
Binary file not shown.
15 changes: 15 additions & 0 deletions Sources/UntoldEditor/Build/BuildSettingsView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ struct BuildSettingsView: View {
@State private var showBuildResult: Bool = false
@State private var buildResultMessage: String = ""
@State private var buildSucceeded: Bool = false
@State private var showBasePathAlert: Bool = false

@Environment(\.dismiss) private var dismiss

Expand Down Expand Up @@ -122,6 +123,7 @@ struct BuildSettingsView: View {
HStack {
Spacer()
Button("Build") {
guard ensureAssetBasePath() else { return }
startBuild()
}
.buttonStyle(.borderedProminent)
Expand All @@ -146,6 +148,11 @@ struct BuildSettingsView: View {
} message: {
Text(buildResultMessage)
}
.alert("Set Asset Folder First", isPresented: $showBasePathAlert) {
Button("OK", role: .cancel) {}
} message: {
Text("Please set the Asset Folder in the Asset Browser before building.")
}
.onAppear {
loadDefaultSettings()
}
Expand Down Expand Up @@ -260,6 +267,14 @@ struct BuildSettingsView: View {

NSWorkspace.shared.open(xcodeProjectPath)
}

private func ensureAssetBasePath() -> Bool {
guard EditorAssetBasePath.shared.basePath != nil else {
showBasePathAlert = true
return false
}
return true
}
}

#Preview {
Expand Down
Loading
Loading