Compare commits

...

64 Commits
martin ... main

Author SHA1 Message Date
Devrim Yasar
dde79ffd54 Update .gitignore
Some checks are pending
Unreal Engine Build / build-and-release (push) Waiting to run
Unreal Engine Build / macos-build (push) Successful in 33m50s
2025-04-07 15:40:36 -05:00
Devrim Yasar
c5c9eb20a5 Remove .DS_Store files from Git tracking 2025-04-07 15:40:35 -05:00
Devrim Yasar
9ce6ba07eb dsstore ignore 2025-04-07 15:40:35 -05:00
468dc0043a Capture Camera image correction
Some checks are pending
Unreal Engine Build / build-and-release (push) Waiting to run
Unreal Engine Build / macos-build (push) Successful in 33m50s
I've converted it to the new cinecapture system. It should now give high quality image results.
2025-04-07 16:47:03 +03:00
1b391cfa2a mac light problem
Some checks are pending
Unreal Engine Build / build-and-release (push) Waiting to run
Unreal Engine Build / macos-build (push) Successful in 34m7s
Fixed the lighting issue in the loft scene.
2025-04-06 19:02:11 +03:00
5705c28881 binary files
Some checks failed
Unreal Engine Build / build-and-release (push) Failing after 30m53s
Unreal Engine Build / macos-build (push) Successful in 34m31s
2025-04-05 17:58:26 +03:00
126ffaa30a character reloading problem fixed
Some checks failed
Unreal Engine Build / build-and-release (push) Failing after 29m26s
Unreal Engine Build / macos-build (push) Successful in 34m5s
2025-04-05 16:48:27 +03:00
3edf8c4ae5 Merge pull request 'gurkan.erdinc.temp' (#6) from gurkan.erdinc.temp into main
Some checks failed
Unreal Engine Build / build-and-release (push) Failing after 24m35s
Unreal Engine Build / macos-build (push) Successful in 37m2s
Reviewed-on: #6
2025-04-05 12:18:55 +00:00
dcdeca1471 Update .gitignore 2025-04-05 12:10:49 +00:00
dae8a865e5 Update .gitignore 2025-04-05 00:45:38 +03:00
f1254d0192 s 2025-04-05 00:43:20 +03:00
42e3a54baa Ik system 2025-04-05 00:30:08 +03:00
196c02cd4b all linux binnary files 2025-04-04 18:45:13 +03:00
ae25b88325 all linux binnary files 2025-04-04 18:30:05 +03:00
85382d5e7f all linux binnary files 2025-04-04 17:49:27 +03:00
8d9588447c fsr edit 2025-04-04 16:55:15 +03:00
63780d36ab plugin deleted 2025-04-04 16:40:13 +03:00
20e87ac918 plugin deleted 2025-04-04 16:35:31 +03:00
3f9091a8b2 main screen 2025-04-04 16:32:37 +03:00
d24fb31073 Merge branch 'gurkan.erdinc.temp' of https://luckyrobots.com/luckyrobots/luckyworld into gurkan.erdinc.temp 2025-04-04 16:16:13 +03:00
92fb535c5a fsr 3 plugin disable on mac 2025-04-04 16:15:54 +03:00
3beca60602 Update .gitignore
Some checks failed
Unreal Engine Build / macos-build (push) Has been cancelled
Unreal Engine Build / build-and-release (push) Has been cancelled
2025-04-04 12:46:52 +00:00
67dafa089a gitignore and binnary files 2025-04-04 15:44:01 +03:00
511e79706d new Update 2025-04-04 14:35:47 +03:00
c863ecf3e5 All settings 2025-04-03 18:13:52 +03:00
8605e20018 all Plugin revert 2025-04-03 15:29:06 +03:00
f5f227f180 builds delete 2025-04-03 14:29:08 +03:00
505555ff16 Merge branch 'main' into gurkan.erdinc.temp 2025-04-03 14:01:51 +03:00
2fe66c6071 Merge pull request 'dlss and fsr plugin added' (#5) from gurkan.erdinc into main
Some checks failed
Unreal Engine Build / macos-build (push) Failing after 3h1m12s
Unreal Engine Build / build-and-release (push) Failing after 3h8m42s
Reviewed-on: #5
2025-04-02 21:11:56 +00:00
Goran Lazarevski
1094e73c1c Allow paths as inputs
Some checks failed
Unreal Engine Build / macos-build (push) Has been cancelled
Unreal Engine Build / build-and-release (push) Has been cancelled
2025-04-02 23:07:51 +02:00
3ad7393e45 settings 2025-04-02 23:56:04 +03:00
7604b2735e send new binnary addig 2025-04-02 23:11:53 +03:00
13e55228d9 Merge branch 'gurkan.erdinc' into gurkan.erdinc.temp 2025-04-02 23:05:10 +03:00
5198f2b094 new plugin add 2025-04-02 23:01:56 +03:00
028015b4e5 new plugin sent 2025-04-02 22:53:47 +03:00
7c2bd7b4c3 s key 2025-04-02 22:50:21 +03:00
b410a8a42d settings UI 2025-04-02 22:38:39 +03:00
Goran Lazarevski
790467d3b1 Merge branch 'main' of ssh://luckyrobots.com:2222/luckyrobots/luckyworld
Some checks failed
Unreal Engine Build / build-and-release (push) Has been cancelled
Unreal Engine Build / macos-build (push) Has been cancelled
2025-04-02 15:39:07 +02:00
Goran Lazarevski
ba98447176 Update windows workflow 2025-04-02 15:30:42 +02:00
e87ee0c81d sent all files 2025-04-02 15:04:08 +03:00
Goran Lazarevski
0b4b220dd3 Update windows workflow
Some checks failed
Unreal Engine Build / macos-build (push) Has been cancelled
Unreal Engine Build / build-and-release (push) Failing after 2h8m5s
2025-04-02 13:33:49 +02:00
Goran Lazarevski
510adab5b2 Split build to chunks
Some checks failed
Unreal Engine Build / macos-build (push) Successful in 37m21s
Unreal Engine Build / build-and-release (push) Has been cancelled
2025-04-01 19:56:58 +02:00
Goran Lazarevski
c59de06d6b Multi release action
Some checks failed
Unreal Engine Build / macos-build (push) Failing after 36m34s
Unreal Engine Build / build-and-release (push) Failing after 36m35s
2025-04-01 12:05:53 +02:00
b8facc78ec game size edited. Test level size 3gb to 1.2 gb. All game size reduced 2025-03-30 16:05:32 +03:00
2c2219b3e8 dlss and fsr plugin added
dlss is not active. FSR is standart mode force active. We will make the arrangements together with Gurkan
2025-03-29 16:06:55 +03:00
7daabf6fba event tick size 2025-03-29 09:13:21 +03:00
Goran Lazarevski
29dc009fda Add action for releases
Some checks failed
Unreal Engine Build / macos-build (push) Has been cancelled
2025-03-28 15:20:45 +01:00
95069a412e stretch robot mujoco fxied 2025-03-28 13:01:15 +03:00
Goran Lazarevski
26350c197e Run build command from workflow
All checks were successful
Unreal Engine Build / macos-build (push) Successful in 1h0m50s
2025-03-28 10:49:28 +01:00
Devrim Yasar
9f700111f7 Merge branch 'devrim.macbuild'
All checks were successful
Unreal Engine Build / macos-build (push) Successful in 22m48s
2025-03-27 16:50:35 -05:00
Devrim Yasar
ddf8e4bfd7 mac build is fixed. please test linux and windows 2025-03-27 16:47:31 -05:00
Goran Lazarevski
1d415c00ed Update actions workflow
All checks were successful
Unreal Engine Build / macos-build (push) Successful in 2h22m58s
2025-03-27 20:13:03 +01:00
02985f5928 Merge pull request 'mac build working' (#4) from devrim.macbuild into main
Some checks failed
Unreal Engine Build / macos-build (push) Failing after 19m36s
Reviewed-on: #4
2025-03-27 16:37:26 +00:00
Devrim Yasar
c344bdb3b4 mac build working 2025-03-27 11:35:26 -05:00
c3c66ebaca Merge pull request 'gurkan.erdinc.branches.merge' (#2) from gurkan.erdinc.temp into main
Some checks failed
Unreal Engine Build / macos-build (push) Failing after 24m7s
Reviewed-on: #2
Reviewed-by: martinluckyrobots <martin@luckyrobots.ai>
2025-03-27 15:12:15 +00:00
2b6f510706 Merge branch 'main' of https://luckyrobots.com/luckyrobots/luckyworld
Some checks failed
Unreal Engine Build / macos-build (push) Failing after 24m29s
2025-03-27 13:20:14 +03:00
43a96553b4 file.update 2025-03-26 22:54:32 +03:00
6b7ba5cc83 merge 2025-03-26 22:30:03 +03:00
eeaae77d0e capture camera image
I turned it off at startup so that the constant visuals on the stage would not slow down the system.
2025-03-26 21:01:52 +03:00
46e8f2509d soft value variables
For performance effect. I changed all static meshes to soft value.
2025-03-26 01:10:32 +03:00
e2044f3ca5 Merge branch 'main' of https://luckyrobots.com/luckyrobots/luckyworld 2025-03-25 17:25:34 +03:00
Goran Lazarevski
38667ff92f MacOS build
Some checks failed
Unreal Engine Build / macos-build (push) Failing after 9m28s
2025-03-25 15:19:32 +01:00
594f665c63 Merge branch 'main' of https://luckyrobots.com/luckyrobots/luckyworld 2025-03-25 07:48:35 +03:00
Goran Lazarevski
67b10e4790 Merge branches 'main' and 'main' of ssh://luckyrobots.com:2222/luckyrobots/luckyworld
Some checks failed
Unreal Engine Build / macos-build (push) Failing after 9m35s
2025-03-24 22:02:08 +01:00
4763 changed files with 980467 additions and 9411 deletions

View File

@ -0,0 +1,103 @@
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,235 +3,347 @@ name: Unreal Engine Build
on:
workflow_dispatch:
push:
branches: [ main, develop ]
branches: [main, develop]
jobs:
# 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
macos-build:
runs-on: macos
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:
fetch-depth: 1
lfs: true
fetch-depth: 0
- 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: Cache build dependencies
uses: actions/cache@v3
- 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:
path: |
~/Library/Caches/Unreal Engine
Intermediate/
Saved/
DerivedDataCache/
key: ${{ runner.os }}-unreal-build-${{ hashFiles('**/*.uproject') }}
restore-keys: |
${{ runner.os }}-unreal-build-
name: LuckyRobots-Windows
path: PackagedReleases/LuckyRobots-Windows.zip
retention-days: 365
- name: Environment Diagnostics
- 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: |
echo "=== System Information ==="
uname -a
sw_vers
# Fetch all tags
git fetch --tags
echo "=== Current User ==="
whoami
id
# Get the latest version tag, if any
LATEST_TAG=$(git tag -l "v[0-9]*.[0-9]*.[0-9]*" | sort -V | tail -n1)
echo "=== Key Directories ==="
echo "Home directory:"
ls -la $HOME
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
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"
# Final tag with v prefix
TAG="v${NEW_VERSION}"
echo "Creating git tag: $TAG"
echo "=== Permissions ==="
ls -la "/Users/Shared"
# Configure git with token authentication
git config --global user.email "actions@gitea.com"
git config --global user.name "Gitea Actions"
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"
# 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: Setup MuJoCo Dummy File
- name: Create Build Info
run: |
echo "Creating dummy MuJoCo libraries for build testing..."
# 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
# 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!"
# 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:
lfs: true
fetch-depth: 0
- name: Get Release Tag
run: |
# Fetch all tags
git fetch --tags
# Get the latest version tag
LATEST_TAG=$(git tag -l "v[0-9]*.[0-9]*.[0-9]*" | sort -V | tail -n1)
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
TAG="v${NEW_VERSION}"
echo "RELEASE_TAG=$TAG" >> $GITHUB_ENV
echo "Using release tag: $TAG"
- name: Setup Unreal Engine
run: |
# Install necessary tools
brew install unar # Using unar instead of unrar (which is no longer available)
brew install coreutils # For realpath
# 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"
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
if [ ! -d "$UE_PATH" ]; then
echo "Error: Unreal Engine is not installed in the expected location"
echo "Please ensure Unreal Engine is installed at /Users/Shared/Epic Games/UE_5.5"
echo "Please ensure Unreal Engine is installed at $UE_PATH"
exit 1
fi
# 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"
# Set environment variable with the correct Engine path
echo "UE_ROOT=$UE_PATH/Engine" >> $GITHUB_ENV
echo "Using Unreal Engine 5.5"
- name: Build Unreal Project
run: |
# 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"
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"
else
REALPATH_CMD="realpath"
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
fi
# Use direct path instead of environment variable
UE_ENGINE_PATH="/Users/Shared/Epic Games/UE_5.5/Engine"
# 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
echo "Packaged releases:"
ls -la PackagedReleases/
- name: Upload build artifacts
- name: Upload macOS Build Artifact
uses: actions/upload-artifact@v3
if: success()
with:
name: macos-build
path: Build/
retention-days: 7
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
- name: Create Gitea Release
if: github.ref == 'refs/heads/main' || github.ref == 'refs/heads/develop'
uses: https://gitea.com/actions/gitea-release-action@main
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

49
.gitignore vendored
View File

@ -1,77 +1,38 @@
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/*
DerivedDataCache/*
.DS_Store

16
.vsconfig Normal file
View File

@ -0,0 +1,16 @@
{
"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"
]
}

BIN
Binaries/Linux/Luckyrobots Normal file

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) Normal file

Binary file not shown.

View File

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

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.

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.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
Binaries/Linux/libmujoco.so Normal file

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

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

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

Binary file not shown.

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

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) Normal file

Binary file not shown.

BIN
Binaries/Win64/UnrealEditor-Luckyrobots-Win64-DebugGame.dll (Stored with Git LFS) Normal file

Binary file not shown.

BIN
Binaries/Win64/UnrealEditor-Luckyrobots-Win64-DebugGame.pdb (Stored with Git LFS) Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

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

View File

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

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

BIN
Binaries/Win64/boost_program_options-mt-x64.dll (Stored with Git LFS) Normal file

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

BIN
Builds/Windows/Luckyrobots/Binaries/Win64/tbbmalloc.pdb (Stored with Git LFS) Normal file

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=True
r.Lumen.HardwareRayTracing.LightingMode=0
r.Lumen.HardwareRayTracing=False
r.Lumen.HardwareRayTracing.LightingMode=2
r.Lumen.TranslucencyReflections.FrontLayer.EnableForProject=False
r.Lumen.TraceMeshSDFs=1
r.Lumen.TraceMeshSDFs=0
r.Lumen.ScreenTracingSource=0
r.Lumen.Reflections.HardwareRayTracing.Translucent.Refraction.EnableForProject=True
r.Lumen.Reflections.HardwareRayTracing.Translucent.Refraction.EnableForProject=False
r.MegaLights.EnableForProject=False
r.RayTracing.Shadows=False
r.Shadow.Virtual.Enable=1
r.RayTracing=True
r.Shadow.Virtual.Enable=0
r.RayTracing=False
r.RayTracing.UseTextureLod=False
r.PathTracing=True
r.PathTracing=False
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=4
r.MSAACount=2
r.DefaultFeature.LightUnits=1
r.DefaultBackBufferPixelFormat=4
r.ScreenPercentage.Default=100.000000
r.ScreenPercentage.Default=85.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/Levels/House05/Maps/AIUE_vol8_04.AIUE_vol8_04
EditorStartupMap=/Game/Map/Test_Level.Test_Level
[/Script/LinuxTargetPlatform.LinuxTargetSettings]
SpatializationPlugin=
@ -319,3 +319,18 @@ 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,6 +110,7 @@ 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.

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.

Binary file not shown.

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

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.

BIN
Content/Blueprint/DATA/Enums/EBuiltInAAModes.uasset (Stored with Git LFS) Normal file

Binary file not shown.

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