Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
99 changes: 99 additions & 0 deletions .github/workflows/pr-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
name: PR Build

# Validates that the project still builds for Quest (Android / IL2CPP) on every PR.
# Requires these repository secrets (Settings -> Secrets and variables -> Actions):
# UNITY_LICENSE - contents of the .ulf licence file (Unity Personal), OR
# UNITY_SERIAL - serial key (Unity Pro/Plus)
# UNITY_EMAIL - Unity account e-mail
# UNITY_PASSWORD - Unity account password
# See https://game.ci/docs/github/activation for how to obtain the .ulf.

on:
pull_request:
branches:
- main
workflow_dispatch:

# A new push to the same PR cancels the previous (long) build.
concurrency:
group: pr-build-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

jobs:
build:
name: Build Android (Quest)
runs-on: ubuntu-latest
timeout-minutes: 180
permissions:
contents: read

steps:
- name: Check Unity credentials are configured
env:
UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }}
UNITY_SERIAL: ${{ secrets.UNITY_SERIAL }}
run: |
if [ -z "$UNITY_LICENSE" ] && [ -z "$UNITY_SERIAL" ]; then
echo "::error::Neither UNITY_LICENSE nor UNITY_SERIAL is set. Add the Unity licence secrets to this repository (see the header of this workflow file)."
exit 1
fi

# The Android + IL2CPP editor image is ~30 GB; the default runner does not
# have room for it. This frees ~25 GB of tooling we do not use.
- name: Free up disk space
run: |
df -h /
sudo rm -rf /usr/share/dotnet /usr/local/lib/android /opt/ghc \
/usr/local/share/boost "$AGENT_TOOLSDIRECTORY" \
/usr/local/share/powershell /usr/share/swift || true
sudo docker image prune --all --force || true
df -h /

- name: Checkout
uses: actions/checkout@v4
with:
lfs: true

- name: Cache Library
uses: actions/cache@v4
with:
path: Library
key: Library-Android-${{ hashFiles('Assets/**', 'Packages/**', 'ProjectSettings/**') }}
restore-keys: |
Library-Android-
Library-

- name: Build
uses: game-ci/unity-builder@v4
env:
UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }}
UNITY_SERIAL: ${{ secrets.UNITY_SERIAL }}
UNITY_EMAIL: ${{ secrets.UNITY_EMAIL }}
UNITY_PASSWORD: ${{ secrets.UNITY_PASSWORD }}
with:
unityVersion: 6000.3.8f1
targetPlatform: Android
androidExportType: androidPackage
buildName: AEDES-VR
# Semantic versioning needs full git history + tags; not worth it for a PR check.
versioning: None

- name: Upload APK
if: success()
uses: actions/upload-artifact@v4
with:
name: AEDES-VR-apk-pr-${{ github.event.pull_request.number || github.run_number }}
path: build/Android
retention-days: 14
if-no-files-found: error

- name: Upload build log on failure
if: failure()
uses: actions/upload-artifact@v4
with:
name: unity-build-log
path: |
*.log
build/**/*.log
retention-days: 7
if-no-files-found: ignore
34 changes: 34 additions & 0 deletions .github/workflows/unity-activation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: Request Unity Activation File

# One-time (or once per Unity major version) helper to obtain a free Unity
# Personal licence file for CI. Run it manually, then:
# 1. Download the "Unity_v6000.x.alf" artifact from this workflow's run.
# 2. Upload that .alf at https://license.unity3d.com/manual -> pick Unity
# Personal -> download the resulting .ulf file.
# 3. Repository Settings -> Secrets and variables -> Actions, add:
# UNITY_LICENSE = the full contents of the .ulf file
# UNITY_EMAIL = your Unity account e-mail
# UNITY_PASSWORD = your Unity account password
# After that, pr-build.yml can activate the editor and build.

on:
workflow_dispatch:

jobs:
activation:
name: Request manual activation file
runs-on: ubuntu-latest
steps:
- name: Request activation file
id: getManualLicenseFile
uses: game-ci/unity-request-activation-file@v2
with:
unityVersion: 6000.3.8f1

- name: Upload activation file
uses: actions/upload-artifact@v4
with:
name: Unity_alf
path: ${{ steps.getManualLicenseFile.outputs.filePath }}
retention-days: 7
if-no-files-found: error
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ Assets/1.TeamWorkspace/Ann
Assets/1.TeamWorkspace/Amee
Assets/1.TeamWorkspace/Sopha
Assets/1.TeamWorkspace/Boy
Assets/1.TeamWorkspace/Phettae

# This .gitignore file should be placed at the root of your Unity project directory
#
Expand Down Expand Up @@ -90,4 +91,6 @@ crashlytics-build.properties
/[Aa]ssets/[Ss]treamingAssets/aa.meta
/[Aa]ssets/[Ss]treamingAssets/aa/*

*_DoNotShip
*_DoNotShip

**/CLAUDE.md
8 changes: 8 additions & 0 deletions Assets/1.TeamWorkspace/Imported by Simple/Animated Hands.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
@@ -0,0 +1,131 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!206 &-7877958355586004021
BlendTree:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Blend Tree
m_Childs:
- serializedVersion: 2
m_Motion: {fileID: 7400000, guid: 1ae9aefe37a62de429ddc2edd1ca36f3, type: 3}
m_Threshold: 0
m_Position: {x: 0, y: 0}
m_TimeScale: 1
m_CycleOffset: 0
m_DirectBlendParameter: Grip
m_Mirror: 0
- serializedVersion: 2
m_Motion: {fileID: 7400000, guid: a91ff20f7450bf446a6bf0bfb5e932ae, type: 3}
m_Threshold: 0.33333334
m_Position: {x: 0, y: 1}
m_TimeScale: 1
m_CycleOffset: 0
m_DirectBlendParameter: Grip
m_Mirror: 0
- serializedVersion: 2
m_Motion: {fileID: 7400000, guid: 7cb2e1480bb51ce4282f540ea3f41d4f, type: 3}
m_Threshold: 0.6666667
m_Position: {x: 1, y: 0}
m_TimeScale: 1
m_CycleOffset: 0
m_DirectBlendParameter: Grip
m_Mirror: 0
- serializedVersion: 2
m_Motion: {fileID: 7400000, guid: 7cb2e1480bb51ce4282f540ea3f41d4f, type: 3}
m_Threshold: 1
m_Position: {x: 1, y: 1}
m_TimeScale: 1
m_CycleOffset: 0
m_DirectBlendParameter: Grip
m_Mirror: 0
m_BlendParameter: Grip
m_BlendParameterY: Trigger
m_MinThreshold: 0
m_MaxThreshold: 1
m_UseAutomaticThresholds: 1
m_NormalizedBlendValues: 0
m_BlendType: 3
--- !u!1107 &-2276301845227396631
AnimatorStateMachine:
serializedVersion: 5
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Base Layer
m_ChildStates:
- serializedVersion: 1
m_State: {fileID: 5869694157650388578}
m_Position: {x: 330, y: 120, z: 0}
m_ChildStateMachines: []
m_AnyStateTransitions: []
m_EntryTransitions: []
m_StateMachineTransitions: {}
m_StateMachineBehaviours: []
m_AnyStatePosition: {x: 50, y: 20, z: 0}
m_EntryPosition: {x: 50, y: 120, z: 0}
m_ExitPosition: {x: 800, y: 120, z: 0}
m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
m_DefaultState: {fileID: 5869694157650388578}
--- !u!91 &9100000
AnimatorController:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Left Hand Animator
serializedVersion: 5
m_AnimatorParameters:
- m_Name: Grip
m_Type: 1
m_DefaultFloat: 0
m_DefaultInt: 0
m_DefaultBool: 0
m_Controller: {fileID: 9100000}
- m_Name: Trigger
m_Type: 1
m_DefaultFloat: 0
m_DefaultInt: 0
m_DefaultBool: 0
m_Controller: {fileID: 9100000}
m_AnimatorLayers:
- serializedVersion: 5
m_Name: Base Layer
m_StateMachine: {fileID: -2276301845227396631}
m_Mask: {fileID: 0}
m_Motions: []
m_Behaviours: []
m_BlendingMode: 0
m_SyncedLayerIndex: -1
m_DefaultWeight: 0
m_IKPass: 0
m_SyncedLayerAffectsTiming: 0
m_Controller: {fileID: 9100000}
--- !u!1102 &5869694157650388578
AnimatorState:
serializedVersion: 5
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Blend Tree
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: -7877958355586004021}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading