Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
232 commits
Select commit Hold shift + click to select a range
ef30eb0
Initalized Unity project
TheBv Sep 28, 2022
6ca64bf
Added basic classroom scene
TheBv Sep 28, 2022
d1e5dc3
Add Ubiq Avatar and Networking Module to Classroom
chrisspi Oct 20, 2022
b3f4a45
Mirror Mode: Static Camera + Host Room
chrisspi Oct 25, 2022
740784c
Fixed wrong player position
TheBv Nov 4, 2022
da2df0a
Added a pen that allows the user
TheBv Nov 7, 2022
f9b52b9
Drawings made by the pen are now saved to the peer
TheBv Nov 14, 2022
ba270f8
Added more networking fixes
TheBv Nov 18, 2022
105c984
New Scene corridor and update classroom
mevbagci Dec 9, 2022
13d7ee4
Added school courtyard scene
TheBv Dec 10, 2022
fa7091a
Update Scene
mevbagci Dec 12, 2022
45b13d4
Merged courtyard and classroom scene into
TheBv Dec 12, 2022
075c47a
Fixed scene issue
TheBv Dec 12, 2022
c008365
Fixed MirrorMode
TheBv Dec 12, 2022
7c7abd0
Updated school scene
TheBv Dec 12, 2022
37d136b
Fixed drawing
TheBv Dec 12, 2022
8693649
Fixed issues with Player prefab
TheBv Dec 14, 2022
0c94c0b
Updated school scene
TheBv Dec 15, 2022
05c67b0
Initial BiologyRoom Scene
TheBv Dec 15, 2022
c036264
Added a SceneSelecter to dynamically join a room
TheBv Dec 18, 2022
a7dd43b
Fixed small isssue with the BiologyRoom Scene
TheBv Dec 18, 2022
dd03253
Update Beratung
mevbagci Dec 19, 2022
bb0de89
Added Spectator mode
TheBv Dec 19, 2022
a3744bf
Integrated SPB Scene
TheBv Dec 19, 2022
1ad93d6
Added School scene
TheBv Dec 19, 2022
0b7ff3e
Added more models
TheBv Dec 19, 2022
ff689c4
Update VSPB
mevbagci Dec 19, 2022
cf9483a
Updated Scene/Role Controller to use API
TheBv Dec 19, 2022
ebaaeff
Updated role description panel
TheBv Dec 19, 2022
59ec0da
Added OrganisationDistribution Scene to build
TheBv Dec 19, 2022
4b93eff
Updated SchoolHetero Scene
TheBv Dec 20, 2022
15d9af5
Added player position
TheBv Dec 20, 2022
30772b9
Added player collision
TheBv Dec 20, 2022
4b3de4d
Fixed lighting in school scene
TheBv Dec 20, 2022
57d7bd3
Merge branch 'main' of https://github.com/texttechnologylab/Va.Si.Li-Lab
mevbagci Dec 20, 2022
abfc246
Added Sozial Scene
mevbagci Dec 20, 2022
5d84b9a
Update Social Scene
mevbagci Dec 21, 2022
33dbdc5
Added OrganisationEducation Scene
TheBv Dec 21, 2022
400e220
Merge branch 'main' of https://github.com/texttechnologylab/Va.Si.Li-…
TheBv Dec 21, 2022
2be472d
Fixed ligthing
TheBv Dec 21, 2022
d3ae43d
Teleportation on stairs and Update Social Scene
mevbagci Dec 22, 2022
a1553c6
Renamed Scenes
TheBv Dec 22, 2022
5cd707f
Fixed TeleportationOnTrigger
mevbagci Dec 22, 2022
83344a8
Rewrote SceneController
TheBv Dec 27, 2022
f70fb7b
Added capability for roles to only be
TheBv Dec 28, 2022
55f117e
Added Audio-Files in Szenarios
mevbagci Jan 2, 2023
ae674fa
CleanUp Unity Project
mevbagci Jan 4, 2023
262f582
Added DataLogger
TheBv Jan 5, 2023
5cb8df2
Fixed door not being openable
TheBv Jan 5, 2023
d7a67db
Update SocialDistribution
mevbagci Jan 6, 2023
b75e11d
Added Tutorial selection
TheBv Jan 10, 2023
6971ce9
Fixed issues with timer.
TheBv Jan 17, 2023
bfa27c0
Added hidden role
TheBv Jan 23, 2023
bd5c34c
Switched to using ubiqs scene manager
TheBv Jan 23, 2023
5bc4bb6
Rewrote level system.
TheBv Feb 5, 2023
e9b43f4
Fixed various issues with the level controller
TheBv Feb 6, 2023
bfd8d94
Added postion tags to data logger
TheBv Feb 7, 2023
b3d3f27
Version bump
TheBv Feb 14, 2023
3415f08
Update unity version to 2021.3.18f1
TheBv Feb 17, 2023
8da0842
Added webview example
TheBv Feb 21, 2023
22cb565
Added missing event system
TheBv Feb 21, 2023
1ba65e4
Version bump
TheBv Feb 24, 2023
956a95c
Version bump
TheBv Feb 27, 2023
714a761
Merge branch 'main' into dev
TheBv Feb 27, 2023
4a5a249
Code refractor
TheBv Mar 4, 2023
990ff45
Removed ubiq submodule
TheBv Mar 25, 2023
d7e2bce
Updated readme
TheBv Apr 1, 2023
d14309c
Added capability for roles with different languages.
TheBv Apr 4, 2023
bb5a384
Refactor: prepare for proper upm release
TheBv Apr 25, 2023
6ed5c1c
Init
May 2, 2023
6f6482f
Desktop Object grabbing and syncing
May 9, 2023
a70fb01
Link Spawning
May 10, 2023
ad1b308
Keyboard Canvas
May 10, 2023
be6e6f4
TextEdit
May 11, 2023
0b63f21
Courser Functionality
May 11, 2023
be7e08b
not nice but hey ...
May 11, 2023
3f97af2
Todos
May 11, 2023
5c76a4d
TextField Somehow working
May 12, 2023
8ed9e1a
Cleanup and rework loadking
May 12, 2023
758e9b2
Meta Init
May 16, 2023
cc42d4b
meta update
May 17, 2023
210f01f
Network Sync Writing
May 17, 2023
8f705a9
Despawing
May 17, 2023
bfcd4c8
Update meta avatar
May 19, 2023
5496219
OpenXR settings
May 19, 2023
be0e28f
Back to Oculus -.-
May 19, 2023
fbbca41
json something. ..
May 19, 2023
e94cd59
Window Spawning
May 19, 2023
9e741f5
Merge branch 'meta' into DataBrowser
May 19, 2023
dac70c6
Merge pull request #3 from texttechnologylab/DataBrowser
henlein May 19, 2023
50aa3b8
feat: updated ubiq, updated mic recording
TheBv May 20, 2023
3a9e464
Merge branch 'meta' into chatbots-meta
TheBv May 22, 2023
bbaed1b
fix: fixed remaining merge issues
TheBv May 22, 2023
d7ec4c7
feat: sync messages on panel
TheBv May 22, 2023
e384baf
Update Oculus to new Unity Version
May 22, 2023
5cb9677
Update
May 23, 2023
a6da758
Android settings
May 23, 2023
e2c413c
Face + Eye
May 23, 2023
3d04286
Revert "Android settings"
May 23, 2023
19e5ab5
Bamberg :)
May 23, 2023
d3f4ed5
init
May 26, 2023
b2cbfd3
Load and Spawn ShapeNet Objects
May 30, 2023
adf63f7
collider
May 30, 2023
ff0d795
Spawn Placement + Material Bug
May 30, 2023
d4f71a7
WG Konzept, WG erweitert, Items platzieren.
Jun 4, 2023
ec1c8a2
Merge pull request #4 from Ansothso/main
henlein Jun 6, 2023
5ef78e3
Merge pull request #5 from texttechnologylab/herschbach
henlein Jun 6, 2023
2c80606
feat: Added metalogger and multi grabber
TheBv Jun 8, 2023
7b9f3f2
feat: fixed many things and added multi grabbing to spawnable objects
TheBv Jun 8, 2023
2513674
fix: fixed positions of spawned objects being desynchronized
TheBv Jun 8, 2023
2e4b458
Update Role Disability
mevbagci Jun 13, 2023
7679aa3
feat: added tutorial step for shapenet and icons
TheBv Jun 13, 2023
8263320
fix: grabbed objects colliding with player
TheBv Jun 13, 2023
5650d99
fix: fixed tutorial issues
TheBv Jun 13, 2023
1681eb5
fix: object grasping issues
TheBv Jun 13, 2023
e55a283
More Blur and Project Settings
Jun 14, 2023
af0fd89
Old Blur Again
Jun 14, 2023
0f86801
Use Responsive Networking
Jun 15, 2023
12be8fb
feat: added item deletion by long pressing the use button
TheBv Jun 15, 2023
6aac9dc
Update eyesight
mevbagci Sep 5, 2023
6d2d305
maiz
Sep 27, 2023
a467518
Merge pull request #7 from texttechnologylab/icids
TheBv Nov 10, 2023
8e80a04
Scenario Init Prakitkum
henlein Dec 7, 2023
4e097cf
Update Szenario
henlein Dec 21, 2023
c3fdae2
Update Scenarios
henlein Dec 21, 2023
f11ff5e
Scenario3 Update
henlein Dec 22, 2023
a7dfc4b
Android Build
henlein Jan 11, 2024
960847d
Scenario3 Reflect deacitvated
henlein Jan 11, 2024
eaa4e21
3D TI Toolkit
henlein Jan 11, 2024
27c0d53
OpenVisSim
henlein Jan 12, 2024
c62b3a7
Teleporter Bugfix
Jan 31, 2024
16b7677
Add door in start
Jan 31, 2024
66d96c1
Diverse updates
henlein Jan 31, 2024
c9c82b9
update
henlein Jan 31, 2024
4063c47
update scenario1
Feb 2, 2024
a96fbfe
Added Meetingpoint
henlein Feb 5, 2024
6b62b7c
tmp
henlein Feb 7, 2024
c066041
no diability
henlein Feb 9, 2024
31d2c10
update
Feb 9, 2024
ea0d5ab
small update
Feb 14, 2024
7beaa51
randomize
henlein Feb 20, 2024
43a79c6
feat: update unity version
TheBv Mar 1, 2024
4e12109
feat(WIP): update ubiq version
TheBv Mar 5, 2024
05ca15c
chore: project cleanup
TheBv Mar 21, 2024
234449b
feat: added meta VR SDK
TheBv May 22, 2024
eda2e9d
Meta Avatar Bugfix
henlein Sep 11, 2024
a9f3cc9
package update, avatar bugfix, new start scene
henlein Sep 11, 2024
0e89159
feat: fixed meta avatar issues
TheBv Oct 30, 2024
e23e85d
Essential Logging Update
henlein Nov 15, 2024
d970a0b
feat: first iteration of new OVR interface
TheBv Nov 20, 2024
7c421d5
feat: cleaned up repo, updated api routes, chatbot compat
TheBv Oct 11, 2023
c8a3c94
chore: sdk updates and other things
TheBv Nov 22, 2024
6fb22f9
feat: fixed VOIP Issues
TheBv Nov 28, 2024
ba9ea61
feat: version bumps, build issue fixes
TheBv Nov 29, 2024
195be0e
fix: fixed some build issues related to permissions among other things
TheBv Nov 30, 2024
efe6c56
fix: fixed remaining build issues
TheBv Nov 30, 2024
43c30a3
feat: update to unity 6
TheBv Nov 30, 2024
27251aa
feat: fixed android build issues updated level manager
TheBv Dec 10, 2024
555e157
feat: test stuff
TheBv Dec 11, 2024
350fc93
feat: teleport fixes
TheBv Dec 11, 2024
bddeb9d
feat: webcam updates
TheBv Dec 11, 2024
15e34e6
feat(WIP): Janus WHIP server
TheBv Jan 16, 2025
a5e221e
feat(WIP): Janus WHIP Server audio implemented
TheBv Jan 22, 2025
243673b
feat(WIP): Janus WHIP server updates
TheBv Jan 29, 2025
dfe0568
feat: meta SDK upgrade
TheBv Apr 3, 2025
d76c9c4
feat: meta SDK upgrade
TheBv Apr 3, 2025
d1ac69b
Merge branch 'dev-handtracking-patrick' into dev-faces
TheBv Apr 3, 2025
a3b0b6e
feat: ubiq update, meta sdk update, janus api fixes
TheBv Apr 11, 2025
2d6444a
fix: fixed upgrade issues and build issues
TheBv Apr 12, 2025
04f3d53
feat: meta sdk version bump, small OpenXR SDK fixes
TheBv May 2, 2025
472700c
feat: transition to OpenXR (hands), network fixes, ubiq updates
TheBv May 5, 2025
1e8ded0
Merge branch 'main' of https://github.com/texttechnologylab/Va.Si.Li-…
TheBv May 5, 2025
0c79ef7
chore: cleanup and code improvements
TheBv May 6, 2025
3bd7a1b
chore: minor cleanup
TheBv May 12, 2025
c3ca1ea
chore: more cleanup and folder restructuring to be more in-line with …
TheBv May 12, 2025
267a6c0
chore: further cleanup
TheBv May 12, 2025
e8d875e
fix: fixed build issues, more cleanup
TheBv May 16, 2025
abe7864
fix: networking fixes, cleanup
TheBv May 16, 2025
676291a
fix: various build and player character issues
TheBv Jul 3, 2025
ea97eff
feat: fixes, WIP CDN avatar support and WIP logging update
TheBv Jul 10, 2025
a866414
feat: removed CDN avatar support for now
TheBv Jul 23, 2025
e91549d
feat: added web browser (android)
TheBv Jul 30, 2025
786930d
Merge branch 'dev-upgrade' of https://github.com/texttechnologylab/Va…
TheBv Jul 30, 2025
ea93025
fix: fixed player movement issues when rotating the HMD device
TheBv Aug 13, 2025
5a69545
feat: (WIP)Meta Platform integration, updated Meta SDK, updated FACES…
TheBv Aug 14, 2025
31fd311
feat: (WIP) further updates
TheBv Aug 20, 2025
7b798db
feat: upgrade to URP pipeline, added additional settings reworked FAC…
TheBv Aug 27, 2025
4826ceb
feat: version upgrade, minor bug fixes
TheBv Oct 8, 2025
ead506b
feat(WIP): webview communication scripts
TheBv Oct 14, 2025
50d7828
feat: webview, small changes
TheBv Oct 15, 2025
d9519b1
feat: additional changes
TheBv Oct 21, 2025
5a87678
feat(WIP): working custom avatars
TheBv Oct 21, 2025
53c26a9
feat: updated meta sdk, switched to new input system per default
TheBv Oct 29, 2025
dcb2d25
Merge pull request #15 from texttechnologylab/dev-upgrade
TheBv Oct 31, 2025
c57793b
fix: fixed various networking related issues
TheBv Jan 14, 2026
724b2fb
feat: initial expression mapping update for new avatars
TheBv Jan 14, 2026
b842589
feat(WIP): added VoipJitterBuffer
TheBv Jan 15, 2026
1eb50cf
Merge branch 'dev-emotion' into dev-faces
TheBv Jan 15, 2026
40c28a0
feat: improved VOIP playback, added joystick browser scrolling and ad…
TheBv Jan 21, 2026
25e4ffc
feat: made some changes to the role selection, adjusted port
TheBv Jan 23, 2026
cce1c84
feat: added controller scrolling support, added eye gazing UI interac…
TheBv Jan 29, 2026
0c946bf
Merge branch 'dev-faces' of https://github.com/texttechnologylab/Va.S…
TheBv Jan 29, 2026
b0bdbfd
feat: updated browser package to fix scrolling issues
TheBv Jan 29, 2026
0f750ae
feat: updated the ray interactor visual, increased audio gain, fixed …
TheBv May 2, 2026
8f49573
feat: initial janus API implementation
TheBv May 4, 2026
e749d6c
feat: further updates for the video interview
TheBv May 11, 2026
a506935
feat: update FACES scene, updated API url
TheBv May 13, 2026
a87038a
feat: further improvements to the janus interview capabilities
TheBv May 15, 2026
294d92a
feat: updated dependencies updates Janus negotiations strategies etc.
TheBv Jun 2, 2026
d14d190
feat: fixed browser url issues
TheBv Jun 5, 2026
35747f9
feat: various performance improvements and more exhaustive logging
TheBv Jun 9, 2026
681f631
feat: further performance improvements and dependency updates
TheBv Jun 9, 2026
16bd3f1
feat: further optimisations and updates
TheBv Jun 21, 2026
af259eb
feat: added new interview avatars, added answer options logging, adde…
TheBv Jul 1, 2026
81b9ed1
feat: add EventSystem features
TheBv Jul 15, 2026
4485207
Merge branch 'NickkoryUni-main'
TheBv Jul 15, 2026
89db79a
feat: update answer option filtering and reconnect handling
TheBv Sep 9, 2026
7794081
Merge branch 'main' into dev-faces
TheBv Sep 9, 2026
93314e2
Merge branch 'main' into dev-faces
TheBv Sep 9, 2026
ce8c4d2
Merge pull request #20 from texttechnologylab/dev-faces
TheBv Sep 9, 2026
9f96fd9
feat: changed directory structure to allow for a cleaner separatation…
TheBv Oct 14, 2026
ed297f7
feat: update Unity SDK to 6.3 LTS update Meta SDK to 207.1
TheBv Oct 14, 2026
69c9a54
chore: further clean-up, removed stale script references, fixed textu…
TheBv Oct 14, 2026
a86b708
chore: remaining cleanup of unsed and outdated prefabs
TheBv Oct 14, 2026
c78fde5
feat: added scripts and documentation for updating the public reposit…
TheBv Oct 14, 2026
009fdb4
docs: document the AvatarEditorUtils patch needed for the Meta Avatar…
TheBv Oct 14, 2026
c6a84cb
Sync Va.Si.Li-Lab from dev (restructure @ 93000196)
TheBv Oct 14, 2026
1fd9816
docs: add InterView VR client setup, link platform docs to InterView
TheBv Sep 7, 2026
3fe39f2
docs: remove stale server pages, link to backend documentation
TheBv Sep 7, 2026
5c94a94
docs: link scene creation to the new Database API scene endpoints
TheBv Sep 8, 2026
dcfbaa4
docs: link the FACES studies page.
TheBv Oct 14, 2026
82b8657
ci: build Core and EventSystem UPM branches with actions/checkout@v7 …
TheBv Oct 14, 2026
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
  •  
  •  
  •  
133 changes: 133 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
root = true

[*]
charset = utf-8
end_of_line = crlf
insert_final_newline = true
trim_trailing_whitespace = true
indent_style = space
indent_size = 4

[*.{json,asmdef,yml,yaml}]
indent_size = 2

[*.{unity,prefab,asset,mat,meta,anim,controller}]
# Unity YAML — never reformat, it is machine-owned.
trim_trailing_whitespace = false
insert_final_newline = false

[*.cs]

# --- Formatting -------------------------------------------------------------
csharp_new_line_before_open_brace = all
csharp_new_line_before_else = true
csharp_new_line_before_catch = true
csharp_new_line_before_finally = true
csharp_prefer_braces = true:warning
csharp_indent_case_contents = true
csharp_indent_switch_labels = true
csharp_space_after_keywords_in_control_flow_statements = true

# --- Usings -----------------------------------------------------------------
dotnet_sort_system_directives_first = true
dotnet_separate_import_directive_groups = false
csharp_using_directive_placement = outside_namespace:warning
dotnet_diagnostic.IDE0005.severity = warning # remove unnecessary usings

# --- Language preferences ---------------------------------------------------
csharp_style_var_when_type_is_apparent = true:suggestion
csharp_style_expression_bodied_properties = true:suggestion
csharp_style_expression_bodied_methods = false:suggestion
dotnet_style_prefer_auto_properties = true:suggestion
csharp_style_throw_expression = true:suggestion
csharp_prefer_simple_using_statement = true:suggestion

# ===========================================================================
# Naming rules
# ===========================================================================

# --- Styles -----------------------------------------------------------------
dotnet_naming_style.pascal_case.capitalization = pascal_case

dotnet_naming_style.camel_case.capitalization = camel_case

dotnet_naming_style.underscore_camel_case.capitalization = camel_case
dotnet_naming_style.underscore_camel_case.required_prefix = _

dotnet_naming_style.interface_prefixed.capitalization = pascal_case
dotnet_naming_style.interface_prefixed.required_prefix = I

# --- Symbol groups ----------------------------------------------------------
dotnet_naming_symbols.namespaces_and_types.applicable_kinds = namespace, class, struct, enum, delegate
dotnet_naming_symbols.namespaces_and_types.applicable_accessibilities = *

dotnet_naming_symbols.interfaces.applicable_kinds = interface
dotnet_naming_symbols.interfaces.applicable_accessibilities = *

dotnet_naming_symbols.members.applicable_kinds = method, property, event
dotnet_naming_symbols.members.applicable_accessibilities = *

dotnet_naming_symbols.constants.applicable_kinds = field
dotnet_naming_symbols.constants.required_modifiers = const

dotnet_naming_symbols.static_readonly_fields.applicable_kinds = field
dotnet_naming_symbols.static_readonly_fields.required_modifiers = static, readonly

dotnet_naming_symbols.private_fields.applicable_kinds = field
dotnet_naming_symbols.private_fields.applicable_accessibilities = private, protected, private_protected

# Public fields on MonoBehaviours are Unity's inspector surface. They stay
# camelCase rather than PascalCase so they read like data, not like members.
dotnet_naming_symbols.public_fields.applicable_kinds = field
dotnet_naming_symbols.public_fields.applicable_accessibilities = public, internal, protected_internal

dotnet_naming_symbols.parameters_and_locals.applicable_kinds = parameter, local

# --- Rules ------------------------------------------------------------------
dotnet_naming_rule.types_are_pascal_case.symbols = namespaces_and_types
dotnet_naming_rule.types_are_pascal_case.style = pascal_case
dotnet_naming_rule.types_are_pascal_case.severity = warning

dotnet_naming_rule.interfaces_are_i_prefixed.symbols = interfaces
dotnet_naming_rule.interfaces_are_i_prefixed.style = interface_prefixed
dotnet_naming_rule.interfaces_are_i_prefixed.severity = warning

dotnet_naming_rule.members_are_pascal_case.symbols = members
dotnet_naming_rule.members_are_pascal_case.style = pascal_case
dotnet_naming_rule.members_are_pascal_case.severity = warning

dotnet_naming_rule.constants_are_pascal_case.symbols = constants
dotnet_naming_rule.constants_are_pascal_case.style = pascal_case
dotnet_naming_rule.constants_are_pascal_case.severity = warning

dotnet_naming_rule.static_readonly_are_pascal_case.symbols = static_readonly_fields
dotnet_naming_rule.static_readonly_are_pascal_case.style = pascal_case
dotnet_naming_rule.static_readonly_are_pascal_case.severity = warning

dotnet_naming_rule.private_fields_are_underscore_camel.symbols = private_fields
dotnet_naming_rule.private_fields_are_underscore_camel.style = underscore_camel_case
dotnet_naming_rule.private_fields_are_underscore_camel.severity = warning

dotnet_naming_rule.public_fields_are_camel_case.symbols = public_fields
dotnet_naming_rule.public_fields_are_camel_case.style = camel_case
dotnet_naming_rule.public_fields_are_camel_case.severity = warning

dotnet_naming_rule.parameters_and_locals_are_camel_case.symbols = parameters_and_locals
dotnet_naming_rule.parameters_and_locals_are_camel_case.style = camel_case
dotnet_naming_rule.parameters_and_locals_are_camel_case.severity = warning

# ===========================================================================
# Third-party / vendored code — keep upstream style, do not report on it.
# ===========================================================================

[Assets/ThirdParty/**.cs]
dotnet_analyzer_diagnostic.severity = none
dotnet_diagnostic.IDE0005.severity = none

[Assets/{Oculus,Samples,MetaXR,XRI,XR,Plugins}/**.cs]
dotnet_analyzer_diagnostic.severity = none
dotnet_diagnostic.IDE0005.severity = none

[Assets/Lab/**/Lib/**.cs]
dotnet_analyzer_diagnostic.severity = none
dotnet_diagnostic.IDE0005.severity = none
8 changes: 6 additions & 2 deletions .github/workflows/build-upm-from-project-folder.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,16 @@ on:
upm-branch:
required: true
type: string
tag-prefix:
required: false
type: string
default: upm
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout release
uses: actions/checkout@v3
uses: actions/checkout@v7
with:
ref: ${{ github.ref }}
- name: Remove everything except for our project
Expand Down Expand Up @@ -46,6 +50,6 @@ jobs:
- name: Commit
run: git commit -m "Add upm package for ${GITHUB_REF#refs/*/}"
- name: Tag
run: git tag -a upm-${GITHUB_REF#refs/*/} -m ""
run: git tag -a ${{ inputs.tag-prefix }}-${GITHUB_REF#refs/*/} -m ""
- name: Push
run: git push --follow-tags --set-upstream origin ${{ inputs.upm-branch }}
14 changes: 11 additions & 3 deletions .github/workflows/upm.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,18 @@
name: Update upm branch on release
name: Update upm branches on release
on:
push:
tags: [ 'unity-v*.*.*' ]
jobs:
build-upm:
build-upm-core:
uses: ./.github/workflows/build-upm-from-project-folder.yml
with:
project-folder: Assets/Lab/Core
upm-branch: upm
upm-branch: upm
tag-prefix: upm
build-upm-eventsystem:
needs: build-upm-core
uses: ./.github/workflows/build-upm-from-project-folder.yml
with:
project-folder: Assets/Lab/EventSystem
upm-branch: upm-eventsystem
tag-prefix: upm-eventsystem
60 changes: 60 additions & 0 deletions Assets/Lab/Core/Editor/Util/AssetBatch.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
using System;
using System.Linq;
using UnityEditor;
using UnityEditor.SceneManagement;
using UnityEngine;

/// <summary>
/// Runs an operation on every GameObject in all prefabs and scenes under the given folders.
/// The operation returns how many issues it found/fixed on that object; assets are only saved when save is true.
/// </summary>
public static class AssetBatch
{
public static int Run(string[] folders, bool save, Func<GameObject, string, int> process)
{
int total = 0;

// Prefabs first, so scene instances of fixed prefabs are already clean
foreach (string path in Find("t:Prefab", folders))
{
// Model files (.fbx etc.) show up as prefabs too but can't be edited
if (PrefabUtility.GetPrefabAssetType(AssetDatabase.LoadMainAssetAtPath(path)) == PrefabAssetType.Model)
continue;

GameObject root = PrefabUtility.LoadPrefabContents(path);
int count = Walk(root, path, process);
if (save && count > 0)
PrefabUtility.SaveAsPrefabAsset(root, path);
PrefabUtility.UnloadPrefabContents(root);
total += count;
}

string activeScene = EditorSceneManager.GetActiveScene().path;
foreach (string path in Find("t:Scene", folders))
{
var scene = EditorSceneManager.OpenScene(path, OpenSceneMode.Single);
int count = scene.GetRootGameObjects().Sum(go => Walk(go, path, process));
if (save && count > 0)
EditorSceneManager.SaveScene(scene);
total += count;
}
if (!string.IsNullOrEmpty(activeScene))
EditorSceneManager.OpenScene(activeScene);

return total;
}

public static string GetPath(GameObject go) =>
go.transform.parent ? GetPath(go.transform.parent.gameObject) + "/" + go.name : go.name;

private static int Walk(GameObject go, string assetPath, Func<GameObject, string, int> process)
{
int count = process(go, assetPath);
foreach (Transform child in go.transform)
count += Walk(child.gameObject, assetPath, process);
return count;
}

private static string[] Find(string filter, string[] folders) =>
AssetDatabase.FindAssets(filter, folders).Select(AssetDatabase.GUIDToAssetPath).ToArray();
}
2 changes: 2 additions & 0 deletions Assets/Lab/Core/Editor/Util/AssetBatch.cs.meta

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

52 changes: 52 additions & 0 deletions Assets/Lab/Core/Editor/Util/EndpointsSetup.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
using UnityEditor;
using UnityEngine;
using VaSiLi.Networking;

/// <summary>
/// Warns on editor start when no VasiliEndpoints config exists and offers a menu item to create one.
/// The config holds the project's server addresses, so it is not part of the public repository.
/// </summary>
[InitializeOnLoad]
public static class EndpointsSetup
{
private const string DefaultPath = "Assets/Resources/" + VasiliEndpoints.ResourceName + ".asset";

static EndpointsSetup()
{
// Wait until the asset database is ready
EditorApplication.delayCall += () =>
{
if (Find() == null)
Debug.LogWarning("[Va.Si.Li] No endpoints configured: all services will use localhost. " +
"Create a config via Tools > Va.Si.Li > Create Endpoints Config and enter your server addresses.");
};
}

[MenuItem("Tools/Va.Si.Li/Create Endpoints Config")]
private static void Create()
{
var existing = Find();
if (existing == null)
{
if (!AssetDatabase.IsValidFolder("Assets/Resources"))
AssetDatabase.CreateFolder("Assets", "Resources");
existing = ScriptableObject.CreateInstance<VasiliEndpoints>();
AssetDatabase.CreateAsset(existing, DefaultPath);
AssetDatabase.SaveAssets();
}
Selection.activeObject = existing;
EditorGUIUtility.PingObject(existing);
}

// Only assets inside a Resources folder are picked up at runtime
private static VasiliEndpoints Find()
{
foreach (string guid in AssetDatabase.FindAssets("t:" + nameof(VasiliEndpoints)))
{
string path = AssetDatabase.GUIDToAssetPath(guid);
if (path.Contains("/Resources/") && System.IO.Path.GetFileNameWithoutExtension(path) == VasiliEndpoints.ResourceName)
return AssetDatabase.LoadAssetAtPath<VasiliEndpoints>(path);
}
return null;
}
}
2 changes: 2 additions & 0 deletions Assets/Lab/Core/Editor/Util/EndpointsSetup.cs.meta

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

Loading
Loading