Compare commits

..

No commits in common. "main" and "martin" have entirely different histories.
main ... martin

4763 changed files with 9415 additions and 980471 deletions

View File

@ -1,103 +0,0 @@
name: Unreal Release
on:
workflow_dispatch:
inputs:
windows_build_path:
description: 'Absolute path to the Windows build zip file'
required: true
default: 'E:\LuckyWorld\LuckyRobots\UNREAL_PROJECTS\Luckyrobots\Builds\Windows\LuckyRobots-Windows.zip'
linux_build_path:
description: 'Absolute path to the Linux build zip file'
required: true
default: 'E:\LuckyWorld\LuckyRobots\UNREAL_PROJECTS\Luckyrobots\Builds\Linux\LuckyRobots-Linux.zip'
mac_build_path:
description: 'Absolute path to the Mac build zip file'
required: true
default: 'E:\LuckyWorld\LuckyRobots\UNREAL_PROJECTS\Luckyrobots\Builds\Mac\LuckyRobots-Mac.zip'
jobs:
build:
runs-on: windows
steps:
- name: Upload Linux Build Artifact
uses: actions/upload-artifact@v3
with:
name: LuckyRobots-Linux
path: ${{ github.event.inputs.linux_build_path }}
retention-days: 365
- name: Upload Windows Build Artifact
uses: actions/upload-artifact@v3
with:
name: LuckyRobots-Windows
path: ${{ github.event.inputs.windows_build_path }}
retention-days: 365
- name: Upload Mac Build Artifact
uses: actions/upload-artifact@v3
with:
name: LuckyRobots-Mac
path: ${{ github.event.inputs.mac_build_path }}
retention-days: 365
- name: Get Release Tag
shell: pwsh
run: |
# Fetch all tags
git fetch --tags
# Get the latest version tag, if any
# Uses Sort-Object with a version comparison scriptblock
$latestTag = git tag -l "v[0-9]*.[0-9]*.[0-9]*" | Sort-Object -Property @{Expression={[version]($_ -replace 'v')}} | Select-Object -Last 1
$newVersion = "1.0.0" # Default start version
if ($null -ne $latestTag -and $latestTag -ne '') {
Write-Host "Latest tag found: $latestTag"
# Strip 'v' prefix
$versionString = $latestTag -replace '^v'
# Split version into parts
$versionParts = $versionString.Split('.')
if ($versionParts.Length -eq 3) {
$major = [int]$versionParts[0]
$minor = [int]$versionParts[1]
$patch = [int]$versionParts[2]
# Auto-increment patch version
$patch++
$newVersion = "$major.$minor.$patch"
Write-Host "Auto-incremented patch version from $versionString to $newVersion"
} else {
Write-Host "Could not parse version from tag: $latestTag. Defaulting to 1.0.0"
}
} else {
Write-Host "No previous version tags found, starting with 1.0.0"
}
# Final tag with v prefix
$tag = "v$newVersion"
# Set environment variable for subsequent steps
echo "RELEASE_TAG=$tag" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
Write-Host "Using release tag: $tag"
- name: Create Release
uses: https://gitea.com/actions/gitea-release-action@main
with:
token: '${{ secrets.GITEA_TOKEN }}'
title: 'Release ${{ env.RELEASE_TAG }}'
body: |
## LuckyRobots Game Release ${{ env.RELEASE_TAG }}
Windows, Linux and Mac builds are attached below.
### Build Information
- Build Number: #${{ github.run_number }}
- Commit: ${{ github.sha }}
- Branch: ${{ github.ref_name }}
- Build Date: $(date -u +"%Y-%m-%d %H:%M:%S UTC")
prerelease: ${{ github.ref != 'refs/heads/main' }}
tag_name: '${{ env.RELEASE_TAG }}'

View File

@ -3,347 +3,235 @@ name: Unreal Engine Build
on:
workflow_dispatch:
push:
branches: [main, develop]
branches: [ main, develop ]
jobs:
build-and-release:
runs-on: windows
if: github.ref == 'refs/heads/main' || github.ref == 'refs/heads/develop'
steps:
- name: Checkout repository
uses: actions/checkout@v3
with:
lfs: true
fetch-depth: 0
# windows-build:
# runs-on: windows
# steps:
# - name: Checkout repository
# uses: actions/checkout@v3
# with:
# lfs: true
# fetch-depth: 0
# - name: Setup Unreal Engine
# run: |
# # Ensure Unreal Engine is installed and set up
# # This assumes you have Unreal Engine installed on your runner
# # If not, you can add installation steps here
# # Set environment variables for Unreal Engine
# echo "UE_ROOT=C:\Program Files\Epic Games\UE_5.2" >> $GITHUB_ENV
# - name: Build Unreal Project
# run: |
# # Find your .uproject file (adjust path as needed)
# $UPROJECT_PATH = Get-ChildItem -Path . -Filter "*.uproject" -Recurse | Select-Object -First 1 -ExpandProperty FullName
# Write-Host "Building project: $UPROJECT_PATH"
# # Use Unreal Automation Tool to build the project
# & "$env:UE_ROOT\Engine\Build\BatchFiles\RunUAT.bat" BuildCookRun `
# -project="$UPROJECT_PATH" `
# -noP4 `
# -platform=Win64 `
# -clientconfig=Development `
# -cook -build -stage -pak -archive `
# -archivedirectory="$PWD\Build"
# - name: Upload build artifacts
# uses: actions/upload-artifact@v3
# with:
# name: windows-build
# path: Build/
# retention-days: 7
- name: Setup environment
run: |
# Set environment variables for Unreal Engine
echo "UE_ROOT=E:/Games/UE_5.5" >> $GITHUB_ENV
# Set environment variables for Linux toolchain
$env:LINUX_MULTIARCH_ROOT="C:/UnrealToolchains/v23_clang-18.1.0-rockylinux8"
echo "LINUX_MULTIARCH_ROOT=${LINUX_MULTIARCH_ROOT}" >> $GITHUB_ENV
# Create directories for builds (with error handling)
if (!(Test-Path "Builds/Windows")) { New-Item -ItemType Directory -Path "Builds/Windows" -Force }
if (!(Test-Path "Builds/Linux")) { New-Item -ItemType Directory -Path "Builds/Linux" -Force }
if (!(Test-Path "PackagedReleases")) { New-Item -ItemType Directory -Path "PackagedReleases" -Force }
- name: Build for Windows
run: |
# Chmod command doesn't exist in Windows, use PowerShell to run the bash script
& 'C:\Program Files\Git\bin\bash.exe' -c "./win_build.sh"
- name: Build for Linux
run: |
# Chmod command doesn't exist in Windows, use PowerShell to run the bash script
& 'C:\Program Files\Git\bin\bash.exe' -c "./linux_build.sh"
- name: Package builds
run: |
echo "Packaging Windows build..."
if [ -d "Builds/Windows" ]; then
cd Builds/Windows
zip -r ../../PackagedReleases/LuckyRobots-Windows.zip .
cd ../..
fi
echo "Packaging Linux build..."
if [ -d "Builds/Linux" ]; then
cd Builds/Linux
zip -r ../../PackagedReleases/LuckyRobots-Linux.zip .
cd ../..
fi
echo "=== Packaged releases ==="
ls -la PackagedReleases/
- name: Upload Windows Build Artifact
uses: actions/upload-artifact@v3
if: success() && hashFiles('PackagedReleases/LuckyRobots-Windows.zip') != ''
with:
name: LuckyRobots-Windows
path: PackagedReleases/LuckyRobots-Windows.zip
retention-days: 365
- name: Upload Linux Build Artifact
uses: actions/upload-artifact@v3
if: success() && hashFiles('PackagedReleases/LuckyRobots-Linux.zip') != ''
with:
name: LuckyRobots-Linux
path: PackagedReleases/LuckyRobots-Linux.zip
retention-days: 365
- name: Create Tag
if: github.ref == 'refs/heads/main' || github.ref == 'refs/heads/develop'
run: |
# Fetch all tags
git fetch --tags
# Get the latest version tag, if any
LATEST_TAG=$(git tag -l "v[0-9]*.[0-9]*.[0-9]*" | sort -V | tail -n1)
if [ -z "$LATEST_TAG" ]; then
# No previous version tag, start with 1.0.0
NEW_VERSION="1.0.0"
echo "No previous version tags found, starting with 1.0.0"
else
# Strip 'v' prefix if it exists
VERSION=${LATEST_TAG#v}
# Split version into parts
MAJOR=$(echo $VERSION | cut -d. -f1)
MINOR=$(echo $VERSION | cut -d. -f2)
PATCH=$(echo $VERSION | cut -d. -f3)
# Auto-increment patch version
PATCH=$((PATCH + 1))
NEW_VERSION="${MAJOR}.${MINOR}.${PATCH}"
echo "Auto-incremented patch version from ${VERSION} to ${NEW_VERSION}"
fi
# Final tag with v prefix
TAG="v${NEW_VERSION}"
echo "Creating git tag: $TAG"
# Configure git with token authentication
git config --global user.email "actions@gitea.com"
git config --global user.name "Gitea Actions"
# Direct token approach - simplest method
git remote set-url origin "https://goran:${{ secrets.GITEATOKEN }}@luckyrobots.com/luckyrobots/luckyworld.git"
# Set git to not prompt for input
$env:GIT_TERMINAL_PROMPT=0
# Check if tag exists
if ! git rev-parse "$TAG" >/dev/null 2>&1; then
# Create tag without opening editor (-m flag)
git tag -a "$TAG" -m "Release $TAG"
# Push with timeout and debug
echo "Pushing tag $TAG to origin..."
git push --verbose origin "$TAG" || {
echo "Error: Failed to push tag. Check your token permissions."
exit 1
}
echo "Successfully created and pushed tag: $TAG"
else
echo "Tag $TAG already exists, skipping tag creation"
fi
echo "RELEASE_TAG=$TAG" >> $GITHUB_ENV
- name: Create Build Info
run: |
# Create a build info JSON file
echo '{
"version": "${{ env.RELEASE_TAG }}",
"buildNumber": "${{ github.run_number }}",
"commit": "${{ github.sha }}",
"branch": "${{ github.ref_name }}",
"buildDate": "'$(date -u +"%Y-%m-%dT%H:%M:%SZ")'",
"artifacts": {
"windows": "https://luckyrobots.com/luckyrobots/luckyworld/actions/runs/${{ github.run_id }}/artifacts/LuckyRobots-Windows",
"linux": "https://luckyrobots.com/luckyrobots/luckyworld/actions/runs/${{ github.run_id }}/artifacts/LuckyRobots-Linux"
}
}' > PackagedReleases/build-info.json
# Create a simple HTML download page
echo '<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>LuckyRobots ${{ env.RELEASE_TAG }} Downloads</title>
<style>
body { font-family: Arial, sans-serif; max-width: 800px; margin: 0 auto; padding: 20px; }
h1 { color: #333; }
.download-btn {
display: inline-block;
background-color: #4CAF50;
color: white;
padding: 10px 20px;
text-decoration: none;
border-radius: 4px;
margin: 10px 5px;
}
.download-btn:hover { background-color: #45a049; }
.platform { margin-bottom: 30px; }
</style>
</head>
<body>
<h1>LuckyRobots Game - ${{ env.RELEASE_TAG }}</h1>
<p>Build #${{ github.run_number }} - Built from commit: ${{ github.sha }}</p>
<div class="platform">
<h2>Windows</h2>
<p><a href="https://luckyrobots.com/luckyrobots/luckyworld/actions/runs/${{ github.run_id }}/artifacts/LuckyRobots-Windows" class="download-btn">Download Windows Build</a></p>
</div>
<div class="platform">
<h2>Linux</h2>
<p><a href="https://luckyrobots.com/luckyrobots/luckyworld/actions/runs/${{ github.run_id }}/artifacts/LuckyRobots-Linux" class="download-btn">Download Linux Build</a></p>
</div>
<footer>
<p>Generated on '$(date -u +"%Y-%m-%d %H:%M:%S UTC")'</p>
</footer>
</body>
</html>' > PackagedReleases/downloads.html
- name: Create Release
uses: https://gitea.com/actions/gitea-release-action@main
with:
files: |-
PackagedReleases/build-info.json
PackagedReleases/downloads.html
token: '${{ secrets.GITEA_TOKEN }}'
title: 'Release ${{ env.RELEASE_TAG }}'
body: |
## LuckyRobots Game Release ${{ env.RELEASE_TAG }}
### Download Links
Download builds from our CI artifacts:
- [Windows Build](https://luckyrobots.com/luckyrobots/luckyworld/actions/runs/${{ github.run_id }}/artifacts/LuckyRobots-Windows)
- [Linux Build](https://luckyrobots.com/luckyrobots/luckyworld/actions/runs/${{ github.run_id }}/artifacts/LuckyRobots-Linux)
### Build Information
- Build Number: #${{ github.run_number }}
- Commit: ${{ github.sha }}
- Branch: ${{ github.ref_name }}
- Build Date: $(date -u +"%Y-%m-%d %H:%M:%S UTC")
prerelease: ${{ github.ref != 'refs/heads/main' }}
tag_name: '${{ env.RELEASE_TAG }}'
macos-build:
runs-on: macos
if: github.ref == 'refs/heads/main' || github.ref == 'refs/heads/develop'
steps:
- name: Checkout repository
uses: actions/checkout@v3
with:
fetch-depth: 1
lfs: true
fetch-depth: 0
- name: Get Release Tag
- name: Cache build dependencies
uses: actions/cache@v3
with:
path: |
~/Library/Caches/Unreal Engine
Intermediate/
Saved/
DerivedDataCache/
key: ${{ runner.os }}-unreal-build-${{ hashFiles('**/*.uproject') }}
restore-keys: |
${{ runner.os }}-unreal-build-
- name: Environment Diagnostics
run: |
# Fetch all tags
git fetch --tags
echo "=== System Information ==="
uname -a
sw_vers
# Get the latest version tag
LATEST_TAG=$(git tag -l "v[0-9]*.[0-9]*.[0-9]*" | sort -V | tail -n1)
echo "=== Current User ==="
whoami
id
if [ -z "$LATEST_TAG" ]; then
NEW_VERSION="1.0.0"
else
VERSION=${LATEST_TAG#v}
MAJOR=$(echo $VERSION | cut -d. -f1)
MINOR=$(echo $VERSION | cut -d. -f2)
PATCH=$(echo $VERSION | cut -d. -f3)
PATCH=$((PATCH + 1))
NEW_VERSION="${MAJOR}.${MINOR}.${PATCH}"
fi
echo "=== Key Directories ==="
echo "Home directory:"
ls -la $HOME
TAG="v${NEW_VERSION}"
echo "RELEASE_TAG=$TAG" >> $GITHUB_ENV
echo "Using release tag: $TAG"
echo "Epic Games directory:"
ls -la /Users/Shared || echo "Shared directory not accessible"
ls -la "/Users/Shared/Epic Games" || echo "Epic Games directory not accessible"
ls -la "/Users/Shared/Epic Games/UE_5.5" || echo "UE_5.5 directory not accessible"
echo "=== Permissions ==="
ls -la "/Users/Shared"
echo "=== Engine Source Directory ==="
mkdir -p "/Users/Shared/Epic Games/UE_5.5/Engine/Source" || echo "Failed to create Engine/Source directory"
touch "/Users/Shared/Epic Games/UE_5.5/Engine/Source/test.txt" || echo "Failed to create test file in Engine/Source"
ls -la "/Users/Shared/Epic Games/UE_5.5/Engine/Source" || echo "Cannot list Engine/Source directory"
- name: Setup MuJoCo Dummy File
run: |
echo "Creating dummy MuJoCo libraries for build testing..."
# Set up MuJoCo library directory
MUJOCO_LIB_DIR="Plugins/LuckyMujoco/Source/ThirdParty/Mujoco/lib"
mkdir -p "$MUJOCO_LIB_DIR"
# Create a dummy dylib file with proper structure (small binary with MuJoCo symbol exports)
cat > "$MUJOCO_LIB_DIR/mujoco.dylib" << 'EOF'
#!/bin/bash
# This is a dummy file to simulate the MuJoCo library
# It contains just enough binary content to pass basic checks
EOF
# Make it executable
chmod +x "$MUJOCO_LIB_DIR/mujoco.dylib"
echo "Verifying dummy file:"
ls -la "$MUJOCO_LIB_DIR/mujoco.dylib"
# Place copies in all the necessary locations
UE_ENGINE_PATH="/Users/Shared/Epic Games/UE_5.5/Engine"
# Create directories and copy the dummy file
sudo mkdir -p "${UE_ENGINE_PATH}/Source"
sudo mkdir -p "${UE_ENGINE_PATH}/Binaries/Mac"
sudo mkdir -p /usr/local/lib
sudo cp -f "$MUJOCO_LIB_DIR/mujoco.dylib" "${UE_ENGINE_PATH}/Source/mujoco.dylib"
sudo cp -f "$MUJOCO_LIB_DIR/mujoco.dylib" "${UE_ENGINE_PATH}/Binaries/Mac/mujoco.dylib"
sudo cp -f "$MUJOCO_LIB_DIR/mujoco.dylib" "/usr/local/lib/mujoco.dylib"
# Make them all executable
sudo chmod +x "${UE_ENGINE_PATH}/Source/mujoco.dylib"
sudo chmod +x "${UE_ENGINE_PATH}/Binaries/Mac/mujoco.dylib"
sudo chmod +x "/usr/local/lib/mujoco.dylib"
echo "MuJoCo dummy libraries created and deployed!"
- name: Setup Unreal Engine
run: |
# Use the correct path where Unreal Engine is installed
UE_PATH="/Users/Shared/Epic Games/UE_5.5"
# Install necessary tools
brew install unar # Using unar instead of unrar (which is no longer available)
brew install coreutils # For realpath
if [ ! -d "$UE_PATH" ]; then
# Use the correct path where Unreal Engine is installed
# Note: Paths with spaces need special handling
UE_PATH="/Users/Shared/Epic\ Games/UE_5.5"
# Check the directory exists but use unescaped version for test
if [ ! -d "/Users/Shared/Epic Games/UE_5.5" ]; then
echo "Error: Unreal Engine is not installed in the expected location"
echo "Please ensure Unreal Engine is installed at $UE_PATH"
echo "Please ensure Unreal Engine is installed at /Users/Shared/Epic Games/UE_5.5"
exit 1
fi
# Set environment variable with the correct Engine path
echo "UE_ROOT=$UE_PATH/Engine" >> $GITHUB_ENV
echo "Using Unreal Engine 5.5"
# Set environment variables with proper escaping
# Use double quotes to preserve the backslash escaping
echo "UE_ROOT=\"${UE_PATH}/Engine\"" >> $GITHUB_ENV
echo "UE_PATH=\"${UE_PATH}\"" >> $GITHUB_ENV
# Export variables directly for this script
export UE_ROOT="${UE_PATH}/Engine"
export UE_PATH="${UE_PATH}"
echo "Unreal Engine paths:"
echo "UE_ROOT=$UE_ROOT"
echo "UE_PATH=$UE_PATH"
# Set up environment for the build
UE_ENGINE_PATH="/Users/Shared/Epic Games/UE_5.5/Engine"
export DYLD_LIBRARY_PATH="$(pwd)/Plugins/LuckyMujoco/Source/ThirdParty/Mujoco/lib:${UE_ENGINE_PATH}/Source:${UE_ENGINE_PATH}/Binaries/Mac:/usr/local/lib:$DYLD_LIBRARY_PATH"
export DYLD_FRAMEWORK_PATH="${UE_ENGINE_PATH}/Binaries/Mac:$DYLD_FRAMEWORK_PATH"
export DYLD_FALLBACK_LIBRARY_PATH="${UE_ENGINE_PATH}/Binaries/Mac:${UE_ENGINE_PATH}/Source:/usr/local/lib:$DYLD_FALLBACK_LIBRARY_PATH"
- name: Build Unreal Project
run: |
chmod +x ./mac_build.sh
./mac_build.sh
- name: Prepare Mac release
run: |
echo "Preparing packaged files for release..."
# Create a directory for release files
mkdir -p PackagedReleases
# Debug: Show what we're packaging
echo "=== Packaging for Release ==="
echo "Build directory contents:"
ls -la Builds/
# Find the app bundle in the Builds directory
APP_PATH=$(find Builds -type d -name "*.app" | head -1)
if [ -n "$APP_PATH" ]; then
echo "Found app bundle: $APP_PATH"
# Get the app name
APP_NAME=$(basename "$APP_PATH")
# Create zip file of the app bundle
(cd $(dirname "$APP_PATH") && zip -r "../../PackagedReleases/${APP_NAME%.app}-macOS.zip" "$APP_NAME")
echo "Created packaged release: PackagedReleases/${APP_NAME%.app}-macOS.zip"
# Ensure required tools are installed
if ! command -v realpath &> /dev/null; then
echo "realpath not found, using alternative method for absolute path"
REALPATH_CMD="pwd -P"
else
echo "No .app bundle found in Builds directory"
# Look for a directory that might be a bundle but not named .app
MAIN_BUILD_DIR=$(find Builds -mindepth 1 -maxdepth 1 -type d | head -1)
if [ -n "$MAIN_BUILD_DIR" ]; then
echo "Found main build directory: $MAIN_BUILD_DIR"
DIR_NAME=$(basename "$MAIN_BUILD_DIR")
# Package this directory as if it were the app
(cd $(dirname "$MAIN_BUILD_DIR") && zip -r "../../PackagedReleases/${DIR_NAME}-macOS.zip" "$DIR_NAME")
echo "Created packaged release from main directory: PackagedReleases/${DIR_NAME}-macOS.zip"
else
# Package the entire Builds directory as a fallback
echo "No main directory found, packaging everything"
zip -r "PackagedReleases/LuckyRobots-macOS.zip" Builds
echo "Created fallback package: PackagedReleases/LuckyRobots-macOS.zip"
fi
REALPATH_CMD="realpath"
fi
echo "Packaged releases:"
ls -la PackagedReleases/
- name: Upload macOS Build Artifact
uses: actions/upload-artifact@v3
if: success()
with:
name: LuckyRobots-macOS
path: PackagedReleases/*-macOS.zip
retention-days: 365
- name: Create Release Note
run: |
echo "## macOS Build Completed" > release-note.md
echo "" >> release-note.md
echo "macOS build is available as an artifact." >> release-note.md
echo "" >> release-note.md
echo "Download from: [macOS Build](https://luckyrobots.com/luckyrobots/luckyworld/actions/runs/${{ github.run_id }}/artifacts/LuckyRobots-macOS)" >> release-note.md
# Use direct path instead of environment variable
UE_ENGINE_PATH="/Users/Shared/Epic Games/UE_5.5/Engine"
- name: Create Gitea Release
if: github.ref == 'refs/heads/main' || github.ref == 'refs/heads/develop'
uses: https://gitea.com/actions/gitea-release-action@main
# Find project file (using direct find instead of recursive search for speed)
UPROJECT_PATH=$(find . -maxdepth 1 -name "*.uproject" -type f | head -1)
if [ -z "$UPROJECT_PATH" ]; then
echo "Error: Could not find .uproject file in root directory"
exit 1
fi
# Convert to absolute path (handle potential realpath availability issues)
if command -v realpath &> /dev/null; then
UPROJECT_ABSOLUTE_PATH=$(realpath "$UPROJECT_PATH")
else
UPROJECT_ABSOLUTE_PATH="$(cd "$(dirname "$UPROJECT_PATH")" && pwd)/$(basename "$UPROJECT_PATH")"
fi
echo "Project absolute path: $UPROJECT_ABSOLUTE_PATH"
# Make the project file readable and executable
chmod 755 "$UPROJECT_ABSOLUTE_PATH"
# Ensure RunUAT.sh is executable
chmod +x "${UE_ENGINE_PATH}/Build/BatchFiles/RunUAT.sh"
# Set environment variables again to ensure they're available in this step
export DYLD_LIBRARY_PATH="$(pwd)/Plugins/LuckyMujoco/Source/ThirdParty/Mujoco/lib:${UE_ENGINE_PATH}/Source:${UE_ENGINE_PATH}/Binaries/Mac:/usr/local/lib:$DYLD_LIBRARY_PATH"
export DYLD_FRAMEWORK_PATH="${UE_ENGINE_PATH}/Binaries/Mac:$DYLD_FRAMEWORK_PATH"
export DYLD_FALLBACK_LIBRARY_PATH="${UE_ENGINE_PATH}/Binaries/Mac:${UE_ENGINE_PATH}/Source:/usr/local/lib:$DYLD_FALLBACK_LIBRARY_PATH"
# Verify library locations once more
echo "Verifying library locations before build:"
echo "DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH"
ls -la "${UE_ENGINE_PATH}/Source/mujoco.dylib" || echo "Library not found in ${UE_ENGINE_PATH}/Source"
# Speed up build by using optimal parameters
echo "Starting build process..."
"${UE_ENGINE_PATH}/Build/BatchFiles/RunUAT.sh" BuildCookRun \
-project="$UPROJECT_ABSOLUTE_PATH" \
-noP4 \
-platform=Mac \
-clientconfig=Development \
-cook -build -stage -pak -archive \
-archivedirectory="$(pwd)/Build" \
-SkipCookingEditorContent \
-iterativecooking \
-fastcook \
-compressed \
-allmaps
- name: Upload build artifacts
uses: actions/upload-artifact@v3
with:
token: ${{ secrets.GITEATOKEN }}
tag_name: ${{ env.RELEASE_TAG }}
title: "Release ${{ env.RELEASE_TAG }} - macOS"
body: |
## macOS Build Available as Artifact
The macOS build is available as an artifact due to its large file size.
[Download macOS Build](https://luckyrobots.com/luckyrobots/luckyworld/actions/runs/${{ github.run_id }}/artifacts/LuckyRobots-macOS)
Built from commit: ${{ github.sha }}
files: release-note.md
name: macos-build
path: Build/
retention-days: 7

49
.gitignore vendored
View File

@ -1,38 +1,77 @@
BP_Puralink
BP_Revolute
# Visual Studio 2015 user specific files
.vs/
# Compiled Object files
*.slo
*.lo
*.o
*.obj
# Precompiled Headers
*.gch
*.pch
# Compiled Dynamic libraries
*.so
*.dylib
*.dll
# Fortran module files
*.mod
# Compiled Static libraries
*.lai
*.la
*.a
*.lib
# Executables
*.exe
*.out
*.app
*.ipa
# These project files can be generated by the engine
*.xcodeproj
*.xcworkspace
*.sln
*.suo
*.opensdf
*.sdf
*.VC.db
*.VC.opendb
# Precompiled Assets
SourceArt/**/*.png
SourceArt/**/*.tga
# Binary Files
Binaries/*
Plugins/**/Binaries/*
# Builds
Build/*
Builds/*
*.app
# Whitelist PakBlacklist-<BuildConfiguration>.txt files
!Build/*/
Build/*/**
!Build/*/PakBlacklist*.txt
# Don't ignore icon files in Build
!Build/**/*.ico
# Built data for maps
*_BuiltData.uasset
# Configuration files generated by the Editor
Saved/*
# Compiled source files for the engine to use
Intermediate/*
Plugins/**/Intermediate/*
# Cache files for the editor to use
DerivedDataCache/*
.DS_Store
# Cache files for the editor to use
DerivedDataCache/*

View File

@ -1,16 +0,0 @@
{
"version": "1.0",
"components": [
"Microsoft.Net.Component.4.6.2.TargetingPack",
"Microsoft.VisualStudio.Component.Unreal.Workspace",
"Microsoft.VisualStudio.Component.VC.14.38.17.8.ATL",
"Microsoft.VisualStudio.Component.VC.14.38.17.8.x86.x64",
"Microsoft.VisualStudio.Component.VC.Tools.x86.x64",
"Microsoft.VisualStudio.Component.Windows11SDK.22621",
"Microsoft.VisualStudio.Workload.CoreEditor",
"Microsoft.VisualStudio.Workload.ManagedDesktop",
"Microsoft.VisualStudio.Workload.NativeCrossPlat",
"Microsoft.VisualStudio.Workload.NativeDesktop",
"Microsoft.VisualStudio.Workload.NativeGame"
]
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

BIN
Binaries/Linux/amd_fidelityfx_dx12.dll (Stored with Git LFS)

Binary file not shown.

View File

@ -1 +0,0 @@
INPUT (libOpenColorIO.so.2.3)

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +0,0 @@
{
"BuildId": "37670630",
"Modules":
{
"Luckyrobots": "UnrealEditor-Luckyrobots.dylib"
}
}

BIN
Binaries/Win64/D3D12/D3D12Core.dll (Stored with Git LFS)

Binary file not shown.

BIN
Binaries/Win64/D3D12/d3d12SDKLayers.dll (Stored with Git LFS)

Binary file not shown.

BIN
Binaries/Win64/DML/DirectML.dll (Stored with Git LFS)

Binary file not shown.

BIN
Binaries/Win64/Luckyrobots.exe (Stored with Git LFS)

Binary file not shown.

Binary file not shown.

BIN
Binaries/Win64/Luckyrobots.pdb (Stored with Git LFS)

Binary file not shown.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

BIN
Binaries/Win64/OpenColorIO_2_3.dll (Stored with Git LFS)

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,7 +0,0 @@
{
"BuildId": "37670630",
"Modules":
{
"Luckyrobots": "UnrealEditor-Luckyrobots-Win64-DebugGame.dll"
}
}

View File

@ -1,5 +1,5 @@
{
"BuildId": "37670630",
"BuildId": "3DA13EC1-4E26-42D4-D22C-198304AE847E",
"Modules":
{
"Luckyrobots": "UnrealEditor-Luckyrobots.dll"

BIN
Binaries/Win64/boost_atomic-mt-x64.dll (Stored with Git LFS)

Binary file not shown.

BIN
Binaries/Win64/boost_chrono-mt-x64.dll (Stored with Git LFS)

Binary file not shown.

BIN
Binaries/Win64/boost_filesystem-mt-x64.dll (Stored with Git LFS)

Binary file not shown.

BIN
Binaries/Win64/boost_iostreams-mt-x64.dll (Stored with Git LFS)

Binary file not shown.

Binary file not shown.

BIN
Binaries/Win64/boost_python311-mt-x64.dll (Stored with Git LFS)

Binary file not shown.

BIN
Binaries/Win64/boost_regex-mt-x64.dll (Stored with Git LFS)

Binary file not shown.

BIN
Binaries/Win64/boost_system-mt-x64.dll (Stored with Git LFS)

Binary file not shown.

BIN
Binaries/Win64/boost_thread-mt-x64.dll (Stored with Git LFS)

Binary file not shown.

BIN
Binaries/Win64/mujoco.dll (Stored with Git LFS)

Binary file not shown.

BIN
Binaries/Win64/tbb.dll (Stored with Git LFS)

Binary file not shown.

BIN
Binaries/Win64/tbb.pdb (Stored with Git LFS)

Binary file not shown.

BIN
Binaries/Win64/tbbmalloc.dll (Stored with Git LFS)

Binary file not shown.

BIN
Binaries/Win64/tbbmalloc.pdb (Stored with Git LFS)

Binary file not shown.

Binary file not shown.

File diff suppressed because one or more lines are too long

View File

@ -57,18 +57,18 @@ r.DynamicGlobalIlluminationMethod=1
r.ReflectionMethod=1
r.ReflectionCaptureResolution=128
r.ReflectionEnvironmentLightmapMixBasedOnRoughness=True
r.Lumen.HardwareRayTracing=False
r.Lumen.HardwareRayTracing.LightingMode=2
r.Lumen.HardwareRayTracing=True
r.Lumen.HardwareRayTracing.LightingMode=0
r.Lumen.TranslucencyReflections.FrontLayer.EnableForProject=False
r.Lumen.TraceMeshSDFs=0
r.Lumen.TraceMeshSDFs=1
r.Lumen.ScreenTracingSource=0
r.Lumen.Reflections.HardwareRayTracing.Translucent.Refraction.EnableForProject=False
r.Lumen.Reflections.HardwareRayTracing.Translucent.Refraction.EnableForProject=True
r.MegaLights.EnableForProject=False
r.RayTracing.Shadows=False
r.Shadow.Virtual.Enable=0
r.RayTracing=False
r.Shadow.Virtual.Enable=1
r.RayTracing=True
r.RayTracing.UseTextureLod=False
r.PathTracing=False
r.PathTracing=True
r.GenerateMeshDistanceFields=True
r.DistanceFields.DefaultVoxelDensity=0.200000
r.Nanite.ProjectEnabled=True
@ -99,10 +99,10 @@ r.DefaultFeature.MotionBlur=False
r.DefaultFeature.LensFlare=False
r.TemporalAA.Upsampling=True
r.AntiAliasingMethod=2
r.MSAACount=2
r.MSAACount=4
r.DefaultFeature.LightUnits=1
r.DefaultBackBufferPixelFormat=4
r.ScreenPercentage.Default=85.000000
r.ScreenPercentage.Default=100.000000
r.ScreenPercentage.Default.Desktop.Mode=1
r.ScreenPercentage.Default.Mobile.Mode=0
r.ScreenPercentage.Default.VR.Mode=0
@ -248,7 +248,7 @@ GameDefaultMap=/Game/Map/SelectLevel.SelectLevel
GlobalDefaultGameMode=/Game/Blueprint/Game/BP_LuckyRobots.BP_LuckyRobots_C
GlobalDefaultServerGameMode=/Game/luckyBot/blueprint/gameBP/luckycar.luckycar_C
GameInstanceClass=/Game/Blueprint/Game/BP_LuckyGameinstanceMode.BP_LuckyGameinstanceMode_C
EditorStartupMap=/Game/Map/Test_Level.Test_Level
EditorStartupMap=/Game/Levels/House05/Maps/AIUE_vol8_04.AIUE_vol8_04
[/Script/LinuxTargetPlatform.LinuxTargetSettings]
SpatializationPlugin=
@ -319,18 +319,3 @@ RuntimeGeneration=Dynamic
[/Script/AIModule.CrowdManager]
MaxAgentRadius=100.000000
[/Script/FFXFSR3Settings.FFXFSR3Settings]
r.FidelityFX.FSR3.EnabledInEditorViewport=True
r.FidelityFX.FSR3.UseSSRExperimentalDenoiser=True
r.FidelityFX.FSR3.QualityMode=2
r.FidelityFX.FSR3.Enabled=True
[/Script/DLSS.DLSSSettings]
bEnableDLSSInEditorViewports=True
bEnableDLSSD3D12=False
bEnableDLSSD3D11=False
bEnableDLSSVulkan=False
[/Script/Engine.Engine]
NearClipPlane=0.100000

View File

@ -110,7 +110,6 @@ bSkipMovies=False
+MapsToCook=(FilePath="/Game/Maps/House03/Maps/ParisLevel")
+MapsToCook=(FilePath="/Game/Maps/House04/Maps/MarseilleLevel")
+MapsToCook=(FilePath="/Game/Levels/kitchenLevel/kitchenLevel1")
+MapsToCook=(FilePath="/Game/Map/Test_Level")
+DirectoriesToAlwaysCook=(Path="/NNEDenoiser")
bRetainStagedDirectory=False
CustomStageCopyHandler=

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
Content/Blueprint/Core/BP_Basket.uasset (Stored with Git LFS)

Binary file not shown.

Binary file not shown.

BIN
Content/Blueprint/Core/BP_CreateRoomMesh.uasset (Stored with Git LFS) Normal file

Binary file not shown.

Binary file not shown.

BIN
Content/Blueprint/Core/BP_ElbowPipe.uasset (Stored with Git LFS)

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
Content/Blueprint/Core/BP_Navipoint.uasset (Stored with Git LFS)

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
Content/Blueprint/Core/BP_RoomFurniture.uasset (Stored with Git LFS) Normal file

Binary file not shown.

BIN
Content/Blueprint/Core/BP_RoomWall.uasset (Stored with Git LFS) Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
Content/Blueprint/Core/BP_drawing.uasset (Stored with Git LFS)

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
Content/Blueprint/Core/BP_target.uasset (Stored with Git LFS)

Binary file not shown.

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More