Skip to content

feat: consolidate simplification #50

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 53 commits into from
Mar 24, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
ab1867c
feat: add scene transition logic and tests to scene manager
joaoborks Jul 5, 2024
eae8de0
feat: remove all scene loader logic
joaoborks Jul 5, 2024
fb01f18
update project to Unity 6 Preview (16f1)
joaoborks Aug 27, 2024
3ce18b3
add scene result struct
joaoborks Aug 27, 2024
b9d60b4
unify scene operation return types
joaoborks Aug 27, 2024
07636f4
update to Unity 6000.0.31f1
joaoborks Dec 19, 2024
cff86d3
unify multiple and single scene parameter functions
joaoborks Dec 20, 2024
076c82e
add extensions for load, transition and unload methods
joaoborks Dec 20, 2024
b5cbfa6
unify single and multiple scene tests
joaoborks Dec 29, 2024
be61365
update a few tests, optimize code smells
joaoborks Dec 29, 2024
ed908f9
optimize scene operation tests
joaoborks Dec 29, 2024
867fe3f
fix: add scene manager extension tests
joaoborks Dec 29, 2024
7496103
update text mesh pro content, remove unused assembly references
joaoborks Jan 7, 2025
04bf7cb
add static api implementation
joaoborks Jan 7, 2025
7ef8712
feat: bump new version
joaoborks Jan 17, 2025
99ec000
feat: replace ValueTask return types with Task
joaoborks Jan 21, 2025
5fcc055
fix: improve load scene info match with scene data
joaoborks Jan 21, 2025
c2ed748
fix: refactor awaitable calls, update loading code
joaoborks Jan 30, 2025
908023f
increase code coverage
joaoborks Jan 30, 2025
fd05ac6
fix player tests
joaoborks Jan 30, 2025
45a11e1
improve wait task transformation
joaoborks Feb 25, 2025
afb5ed2
fix: remove name collision and additional assembly
joaoborks Feb 25, 2025
51d45e5
fix scene director interface file name
joaoborks Feb 25, 2025
8666bba
fix extensions script name
joaoborks Feb 25, 2025
03b5e27
remove alias from utility class
joaoborks Feb 26, 2025
d0068c5
rename classes for better cohesion
joaoborks Feb 26, 2025
67e810c
fix: bump version, update license
joaoborks Mar 1, 2025
9ef8dad
update docs
joaoborks Mar 2, 2025
edd2001
improve readme
joaoborks Mar 2, 2025
f20ab0e
fix wording in readme
joaoborks Mar 2, 2025
a7fa1fb
update unity to 6000.0.40f1
joaoborks Mar 3, 2025
35d288b
fix: add loading scene sample
joaoborks Mar 3, 2025
c76ad3e
fix: add material conversion to render pipelines
joaoborks Mar 3, 2025
23437c0
fix: update material conversion logic
joaoborks Mar 3, 2025
51a2eb9
embed license with package
joaoborks Mar 3, 2025
6b29c9c
fix: test ci ammend commits
joaoborks Mar 3, 2025
ebee026
fix failing test
joaoborks Mar 3, 2025
fe08804
fix: rename package due to collisions with existing asset
joaoborks Mar 5, 2025
2df6bb9
fix readme links
joaoborks Mar 5, 2025
3a5fd73
add asset store tools
joaoborks Mar 5, 2025
dce7bb1
fix test for versions earlier than unity 6
joaoborks Mar 5, 2025
0c58ff5
fix: add missing preprocessor directives to addressable code
joaoborks Mar 5, 2025
87da444
feat: downgrade unity project, auto generate unity package
joaoborks Mar 22, 2025
3263b18
fix: update pipeline
joaoborks Mar 23, 2025
b5d8023
fix: update pipeline
joaoborks Mar 23, 2025
62df854
fix: allow dirty builds (Samples folder rename)
joaoborks Mar 23, 2025
3fc611b
fix: add unity secrets to reusable workflow
joaoborks Mar 23, 2025
8b1b230
fix: isolate package generation to its own job
joaoborks Mar 23, 2025
c1cd3dd
fix: debug list files
joaoborks Mar 24, 2025
f7fe38f
fix: export unity package to assets folder
joaoborks Mar 24, 2025
1b6cfa8
fix: update package export api
joaoborks Mar 24, 2025
d494017
fix: ensure Samples are included in the unitypackage
joaoborks Mar 24, 2025
c964f9d
update readme
joaoborks Mar 24, 2025
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
  •  
  •  
  •  
71 changes: 71 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
name: Bug Report
description: Report a bug or unexpected behavior
labels: ["bug"]
body:
- type: markdown
attributes:
value: |
## Bug Report
Please provide as much detail as possible to help us identify and fix the issue.
- type: input
id: summary
attributes:
label: Summary
description: A brief summary of the bug
placeholder: "Scene transition freezes..."
validations:
required: true
- type: textarea
id: steps
attributes:
label: Steps to Reproduce
description: Steps to reproduce the issue
placeholder: |
1. Load scene A
2. Transition to scene B
3. Observe the freeze
validations:
required: true
- type: textarea
id: expected
attributes:
label: Expected Behavior
description: What did you expect to happen?
validations:
required: true
- type: textarea
id: actual
attributes:
label: Actual Behavior
description: What actually happened?
validations:
required: true
- type: input
id: version
attributes:
label: Package Version
description: The version of the package you are using
placeholder: "e.g., 3.1.0"
validations:
required: true
- type: input
id: editorversion
attributes:
label: Unity Editor Version
description: The version of the Unity Editor you are using
placeholder: "e.g., 6000.0.40f1"
validations:
required: true
- type: textarea
id: logs
attributes:
label: Logs
description: Please attach any relevant logs or errors
render: shell
- type: checkboxes
id: terms
attributes:
label: Acknowledgement
options:
- label: I have searched the existing issues to avoid duplicates
required: true
38 changes: 38 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name: Feature Request
description: Suggest an idea or enhancement
labels: ["enhancement"]
body:
- type: markdown
attributes:
value: |
## Feature Request
Have a feature idea? Let us know what you'd like to see in My Scene Manager!
- type: input
id: summary
attributes:
label: Summary
description: A brief summary of the feature
placeholder: "Add support for async scene loading with progress callbacks"
validations:
required: true
- type: textarea
id: problem
attributes:
label: Problem or Use Case
description: What problem would this feature solve? How would it be useful?
validations:
required: true
- type: textarea
id: proposal
attributes:
label: Proposed Solution
description: Describe how you'd like the feature to work
validations:
required: true
- type: checkboxes
id: terms
attributes:
label: Acknowledgement
options:
- label: I have searched the existing issues to ensure this feature hasn't been requested already
required: true
39 changes: 39 additions & 0 deletions .github/ISSUE_TEMPLATE/question.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: Question
description: Ask a question or request help
labels: ["question"]
body:
- type: markdown
attributes:
value: |
## Question or Support Request
Need help or have a question about using My Scene Manager? Let us know!
- type: textarea
id: question
attributes:
label: Your Question
description: Clearly describe your question or the help you need
validations:
required: true
- type: input
id: version
attributes:
label: Package Version
description: The version of the package you are using
placeholder: "e.g., 3.1.0"
validations:
required: true
- type: input
id: editorversion
attributes:
label: Unity Editor Version
description: The version of the Unity Editor you are using
placeholder: "e.g., 6000.0.40f1"
validations:
required: true
- type: checkboxes
id: terms
attributes:
label: Acknowledgement
options:
- label: I have searched the documentation and existing issues
required: true
3 changes: 1 addition & 2 deletions .github/workflows/release-pre.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,5 @@ jobs:
with:
blockPullRequestRelease: false
blockReleaseCommit: true
secrets:
githubToken: ${{ secrets.GH_TOKEN }}
secrets: inherit

77 changes: 72 additions & 5 deletions .github/workflows/release-template.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,13 @@ on:
required: false
type: boolean
secrets:
githubToken:
GH_TOKEN:
required: true
UNITY_LICENSE:
required: true
UNITY_EMAIL:
required: true
UNITY_PASSWORD:
required: true

jobs:
Expand All @@ -28,19 +34,22 @@ jobs:
with:
fetch-depth: 0
persist-credentials: false

# Removes the git plugin from semantic release so it doesn't generate a new commit
- name: ✂️ Disable semantic release commit
if: ${{ inputs.blockReleaseCommit == true }}
run: |
cat .releaserc.json | jq 'del(.plugins[] | select(type == "array" and .[0] == "@semantic-release/git"))' .releaserc.json > .releaserc.json.tmp && mv .releaserc.json.tmp .releaserc.json

- name: 🚀 Semantic Release
id: release
uses: cycjimmy/semantic-release-action@v4
with:
dry_run: ${{ inputs.dryRun }}
ci: ${{ inputs.blockPullRequestRelease }}
env:
GH_TOKEN: ${{ secrets.githubToken }}
GH_TOKEN: ${{ secrets.GH_TOKEN }}

- name: 📄 Summary
run: |
if [ '${{ steps.release.outputs.new_release_published }}' == 'true' ] && [ '${{ inputs.dryRun }}' == 'false' ]; then
Expand All @@ -60,32 +69,90 @@ jobs:
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: 📤 Extract Path
id: extract-path
run: |
PACKAGE_PATH=$(jq -r '.plugins[] | select(type == "array" and .[0] == "@semantic-release/npm") | .[1].pkgRoot' .releaserc.json)
echo "PACKAGE_PATH=$PACKAGE_PATH" >> $GITHUB_ENV

- name: ✏️ Update package.json
run: |
jq '.version = "${{ env.releaseVersion }}"' $PACKAGE_PATH/package.json > package.json.tmp && mv package.json.tmp $PACKAGE_PATH/package.json

- name: 📦 Package UPM Branch
id: package_upm
run: |
git config --global user.name 'semantic-release-bot'
git config --global user.email 'semantic-release-bot@martynus.net'
git commit -am "update package.json"
git commit --amend -a --no-edit
git branch -d upm &> /dev/null || echo upm branch not found
git subtree split -P "$PACKAGE_PATH" -b upm
git checkout upm
if [[ -d "Samples" ]]; then
git mv Samples Samples~
rm -f Samples.meta
git commit -am "fix: Samples => Samples~"
git commit --amend -a --no-edit
fi
git push -f -u origin upm

- name: 🏷️ Create UPM Tag
run: |
git tag $TAG upm
git push origin --tags
env:
TAG: upm/${{ env.releaseVersion }}
TAG: upm/${{ env.releaseVersion }}

export-unity-package:
runs-on: ubuntu-latest
needs: 'semantic-release'
if: ${{ needs.semantic-release.outputs.new_release_published == 'true' && inputs.dryRun == false }}
env:
releaseVersion: ${{ needs.semantic-release.outputs.new_release_version }}
steps:
- name: 📂 Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: 📤 Extract Path
id: extract-path
run: |
PACKAGE_PATH=$(jq -r '.plugins[] | select(type == "array" and .[0] == "@semantic-release/npm") | .[1].pkgRoot' .releaserc.json)
echo "PACKAGE_PATH=$PACKAGE_PATH" >> $GITHUB_ENV

- name: ✏️ Update package.json
run: |
jq '.version = "${{ env.releaseVersion }}"' $PACKAGE_PATH/package.json > package.json.tmp && mv package.json.tmp $PACKAGE_PATH/package.json

- name: 🔄 Rename Samples Folder
run: |
if [[ -d "$PACKAGE_PATH/Samples" ]]; then
mv "$PACKAGE_PATH/Samples" "$PACKAGE_PATH/Samples~"
rm -f "$PACKAGE_PATH/Samples.meta"
fi

- name: 🗃️ Cache Library
uses: actions/cache@v4
with:
path: Library
key: Library-StandaloneLinux64
restore-keys: Library-

- name: 📦 Export Unity Package
uses: game-ci/unity-builder@v4
with:
targetPlatform: StandaloneLinux64
buildMethod: PackageExporter.ExportPackage
projectPath: "."
allowDirtyBuild: true
env:
UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }}
UNITY_EMAIL: ${{ secrets.UNITY_EMAIL }}
UNITY_PASSWORD: ${{ secrets.UNITY_PASSWORD }}

- name: 🗂️ Upload Unity Package Artifact
uses: actions/upload-artifact@v4
with:
name: com.mygamedevtools.scene-loader-${{ env.releaseVersion }}
path: "./*.unitypackage"
3 changes: 1 addition & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,4 @@ jobs:
create-release:
name: Release
uses: ./.github/workflows/release-template.yml
secrets:
githubToken: ${{ secrets.GH_TOKEN }}
secrets: inherit
6 changes: 5 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -78,4 +78,8 @@ crashlytics-build.properties

# Temporary auto-generated Android Assets
[Aa]ssets/[Ss]treamingAssets/aa.meta
[Aa]ssets/[Ss]treamingAssets/aa/*
[Aa]ssets/[Ss]treamingAssets/aa/*

# Website
.docusaurus
node_modules/
2 changes: 1 addition & 1 deletion Assets/ScriptTemplates.meta → Assets/Rendering.meta

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

Loading