Skip to content

Commit 55bc606

Browse files
fernando-cortezjilfranco-unityLPLafontaineBSamuelBellomopdeschain
authored
feat: merge develop (#686)
* feat: test utilities script including Playmode test helpers (#484) * feat: hosting and disconnect smoke test for IP flow (#487) * feat: connection feedback + IP connection window [MTT-2315] [MTT-3234] (#613) * joining with IP connection window * simplified cancellation callbacks * fetching references to IPUIMediator from DI * connection attempts -> 10, displaying max time instead of attempts * ip connection window api simplification * adding popups to connect status message pattern * generic start host/client messages * countdown simplification * First import of all the vandal imp artwork (#637) * adding test constraint to test asmdef (#639) * feat: other players loading progress in loading screen [MTT-2239] (#580) * Adding way to track loading progress of other players * Removing responsibility of tracking local loading progress from ClientLoadingScreen Co-authored-by: Fernando Cortez <fernando.cortez@unity3d.com> Co-authored-by: Sam Bellomo <71790295+SamuelBellomo@users.noreply.github.com> * feat: auto reconnect [MTT-2617] (#611) * Implementing auto-reconnect feature to reconnect to a game if losing connection unexpectedly * Adding popup that needs to be manually closed for reconnect attempts * Unload all additive scenes when client begins synchronizing * chore: bump boss room to 2021 [MTT-3022] (#620) * initial engine bump * fix * adding missing network object on main menu state prefab * reserialize scenes * missing changes * auto generated changes * initial pass at hooks * Adding project id detection * something didn't work, reverting file * adding git lfs support * cleanup * MTT-3022 removing QoS until we have a version that works and compiles for iOS * bumping to latest LTS * Anything under ProjectSettings should be versioned. * Now tracking new settings * dunno why this was updated automatically, this isn't findable... reverting that change * setting package-lock as non LFS * revert adding VP and RNSM to package-lock * removing file that should be in user settings according to this bug https://youtrack.jetbrains.com/issue/RIDER-76195 bumping Rider package to this new version in the ticket * tmp commit for merge * generated files as well * update with right package lock * material update * tmp-do-not-push * auto version bump in package-lock * fix: folders and assemblies refactor MTT-2623, MTT-2615 (#628) * wip refactor of the code folder and assembly structure * further moves and assembly changes * Adjustments to asmdefs * moving scenebootstrapper to re-enable builds (#641) * feat: adding RNSM (Runtime Network Stats Monitor) to boss room [MTT-3267] (#621) * chore: formatting pass (#640) * quick formatting pass over codebase * manually adding 'non-indented brace after case' rule * formatted 2 files with braces in cases * chore: bump NGO to pre.9 (#643) * Fixing 2021 new serialization and adding default namespace to editor settings (#642) * adding default namespace to editor settings * new serialization with materials * missing mat changes * chore: Yamato jobs to trigger format & UPM project pack (#489) * formatting yamato job and dotnet format project * trigger job added to pack and test projects * reordered project versions so 2020.3 is tested first * removing legacy blocker on ubuntu * mobile build & run tests added & triggered by PRs * adding reference to project metafile * dependency file name fix * reordering name * android commands syntax fixed * job name definition descriptor * name for build file * adding matching build jobs for running jobs * reference to project metafile * using project path as name * updated build params * burst compilation removed on android, ios utr url param * disable burst .py file * shifting order of operations * test: using ngo params * python script enabling/disabling burst fixed, cleanup * specifying test filter * adding testfilter to builds and runs * android image change * utr command param update for playerconnection * utr version? * project name addition * adding editor path * testing building with utr 0.12.0 as well * formatting test * joined mobile build and run to single yml file * format * test editors 2021 & trunk * just 2021 * adding testfilter for only bossroom tests * removing testfilter on packing * fix to hanging tests * code source added * formatting files from RNSM PR * chore: adding template instructions and updating how we update our changelogs (#649) * Removing changelog from package and updating it with real changes for that particular package Adding real changelog for the whole project at the root of the project Updating the PR template with reminders to update tests and changelogs * adding current changelog * feat: change profile in-game [MTT-2809] (#636) * Added a simple popup window to select a profile * Created profiles are saved and can be loaded in ulterior runs Co-authored-by: Sam Bellomo <71790295+SamuelBellomo@users.noreply.github.com> * chore: remove UNET [MTT-3435] (#638) * removed references to unet in code, prefabs and architecture.md * removing TransportPicker * fix: not enough progress bars exception [MTT-3499] (#644) * clearing out loading progress bars when other clients disconnect * Adding internal class to remove the need to remove and re-add callbacks each time * Adding basic player names to ClientLoadingScreen to simplify inheritance * Refactor: Shader and Material Consolidation [MTT-2900] (#648) * First go at re-organizing / cleaning house of all of our VFX materials and shaders, as well as cleaning up some references and making changes to prefabs to support these changes * Another pass on the shader consolidation, more renames, as well as optimization of the bounds for the torch fire effect. also some reserialization of character toon materials * Reserialization of these mats * Renamed this to match my shadergraph naming convention * Recommiting M_Lava to hopefully fix yamato test issue * Fixed up a bunch of broken references--I think I should've saved the project before committing to make sure I had all the meta files and references the refactor needed. Also cleared some node behaviour change notices that were popping up in the console * docs: update architecture.md for transport picker removal (#651) * updated the Architecture.md file to reflect the removal of TransportPicker * updated changelog * fix: remove initial ugs popup [MTT-3563] (#650) * renaming start buttons * removing initial ugs popup * Adding tooltip for UGS setup * Made TooltipDelay into a serialized field instead of a constant * set tooltip delay for UGS setup info to 0 and increased text size * Extracted main menu UI canvas into prefab Co-authored-by: Sam Bellomo <71790295+SamuelBellomo@users.noreply.github.com> * docs: update readmes for new flow [MTT-3573] (#652) * Updated Readme to explicitly mention that boss room can function without UGS * unregister profile manager callback when leaving main menu (#655) * fix: loading progress bars mismatch (#654) * making sure the right progress bars are deactivated and activated when starting a new loading screen * feat: scene parenting: editor time child scene loader for composed scenes (#653) adding this to the boss room main scene * feat: Bumping relay version with qos (#657) bumping relay version so we now have auto region selection (with the QoS package). This allows selecting the right relay region instead of the default us-central and should reduce latency for non-central folks. (#657) * fix: auth signin error on startup [MTT-3581] (#658) * Having LobbyJoiningUI subscribe to the UpdateRunner only when it is shown * feat: bad network conditions warning [MTT-3242] (#632) * Adding text warning to UI when UTP RTT is over a threshold * Added coloring of stats text (becomes yellow after 130ms UTP RTT and red after 200ms) * Using TMP for NetworkLatencyWarning and increasing font size * extracted duplicated methods to NetworkOverlay * increased width of Vetical Layout Group in Debug Overlay Canvas Co-authored-by: Sam Bellomo <71790295+SamuelBellomo@users.noreply.github.com> * fix: reduced scene load timeout (#635) * WIP CHANGELOG for 1.3.0, cleaned up a few things * fix: bad network warning not deleted on despawn (#661) * Modified the click detection collision for the char select portraits (#662) * Fix: Broken Shader References [MTT-3681] (#663) * Fixed up some shader reference errors in these materials * Empty commit to trigger yamato tests * wrong formatting for changelog * Adding default formatting for list items * Fixed Glowing Eyes on Characters on Low Android Settings (#665) * Fixed Glitchy Boss Room Title in Post Game Scene on Mobile (#664) * fix: no popup when incompatible build types [MTT-3689] (#667) * feat: structure refactor (1): asmdefs and folder changes [MTT-2623] (#668) * Moved files, created new asmdefs, decoupled systems via messaging * switched all asmdefs to use GUIDs for better durability when refactoring * simplified very long asmdef names * code standards pass * code standards # * uniform Unity.BossRoom._ naming for asmdefs * folder rearrangement and rename * Update Assets/BossRoom/Scripts/ApplicationLifecycle/ApplicationController.cs Co-authored-by: Sam Bellomo <71790295+SamuelBellomo@users.noreply.github.com> * feat: structure refactor (2) remove bossroom folder [MTT-2623] (#669) * Moved files, created new asmdefs, decoupled systems via messaging * switched all asmdefs to use GUIDs for better durability when refactoring * simplified very long asmdef names * code standards pass * code standards # * uniform Unity.BossRoom._ naming for asmdefs * folder rearrangement and rename * Update Assets/BossRoom/Scripts/ApplicationLifecycle/ApplicationController.cs * bossroom folder removed Co-authored-by: Sam Bellomo <71790295+SamuelBellomo@users.noreply.github.com> * removed redundant bossroom/scripts and fixed the paths to scenes in build settings (#673) * feat: structure refactor (3) gameplay and infrastructure cleanup [MTT-2623] (#674) * Infrastructure and Gameplay folder and assembly refactor * added reference to utils asmdef from applicationcontroller.asmdef * Docs: Readme Image Updates [Skip CI] (#680) * Updated the images in the readme since they were pre URP port :) * commit to skip tests, only a docs change * format: RotationLerper format fix (#681) * fix: profile management UX [MTT-3762] (#677) * Adding information about changing profile for IP-based connections too * clarified how to create a new profile if no profiles exist Co-authored-by: Sam Bellomo <71790295+SamuelBellomo@users.noreply.github.com> * feat: NetworkRigidbody-based toss action [MTT-2333] (#671) * feat: bumping to pre.10 (#678) * bumping to pre.10 Fixing connection approval with new API updating comments to better reflect current state * adding changelog * Fix for new API breaking change * Removing useless ForceNetworkSerializeByMemcpy for FixedString32Bytes Update changelog * updating utilities package version as well * changing syntax in Utilities package to be supported by C#8.0 * removing old UTP adapter reference from assembly definition * Adding tools as a dependency in Utilities package * reverting bump to 2021 in utilities package supported unity version * Creating new asmdef for scripts using RNSM requiring Unity 2021 * adding eof character * updated changelog * updating changelogs for release Co-authored-by: LPLafontaineB <louisphilippe.lb@unity.com> Co-authored-by: Jil Franco <89089503+jilfranco-unity@users.noreply.github.com> Co-authored-by: LPLafontaineB <louisphilippe.lb@unity.com> Co-authored-by: Sam Bellomo <71790295+SamuelBellomo@users.noreply.github.com> Co-authored-by: Philipp Deschain <pdeschain@users.noreply.github.com>
2 parents 2bbc9f1 + c6a20c3 commit 55bc606

2,468 files changed

Lines changed: 26966 additions & 45601 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.editorconfig

Lines changed: 1 addition & 76 deletions
Large diffs are not rendered by default.

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,4 @@
1818
- [ ] All commits are accompanied by meaningful commit messages
1919
- [ ] JIRA ticket ID is in the PR title or at least one commit message
2020
- [ ] Include the ticket ID number within the body message of the PR to create a hyperlink
21+

.yamato/_triggers.yml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
{% metadata_file .yamato/project.metafile %}
2+
---
3+
4+
# Run all relevant tasks when a pull request targeting specified
5+
# branches is created or updated.
6+
pull_request_trigger:
7+
name: Pull Request Trigger (main, develop, & release branches)
8+
dependencies:
9+
- .yamato/project-standards.yml#standards_{{ projects.first.name }}
10+
{% for project in projects -%}
11+
{% for platform in test_platforms -%}
12+
# desktop platforms
13+
- .yamato/project-tests.yml#test_{{ project.name }}_{{ project.test_editors.first }}_{{ platform.name }}
14+
{% endfor -%}
15+
# iOS
16+
- .yamato/mobile-build-and-run.yml#mobile_test_ios_{{ project.name }}_{{ project.test_editors.first }}
17+
# Android
18+
- .yamato/mobile-build-and-run.yml#mobile_test_android_{{ project.name }}_{{ project.test_editors.first }}
19+
{% endfor -%}
20+
triggers:
21+
cancel_old_ci: true
22+
pull_requests:
23+
- targets:
24+
only:
25+
- "main"
26+
- "develop"
27+
- "/release\/.*/"
Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
# Custom python script to enable/disable burst compilations. Disabling burst is currently required for Android tests.
2+
# Source: https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/blob/develop/.yamato/disable-burst-if-requested.py
3+
4+
import argparse
5+
import json
6+
import os
7+
8+
9+
args = None
10+
platform_plugin_definition = None
11+
12+
13+
def resolve_target(platform):
14+
resolved_target = platform
15+
if 'StandaloneWindows' in platform:
16+
resolved_target = 'StandaloneWindows'
17+
elif 'StandaloneLinux' in platform:
18+
resolved_target = 'StandaloneLinux64'
19+
20+
return resolved_target
21+
22+
23+
def create_config(settings_path, platform):
24+
config_name = os.path.join(settings_path, 'BurstAotSettings_{}.json'.format(resolve_target(platform)))
25+
monobehaviour = {
26+
'm_Enabled': True,
27+
'm_EditorHideFlags': 0,
28+
'm_Name': "",
29+
'm_EditorClassIdentifier': 'Unity.Burst.Editor:Unity.Burst.Editor:BurstPlatformAotSettings',
30+
'EnableOptimisations': True,
31+
'EnableSafetyChecks': False,
32+
'EnableBurstCompilation': True
33+
}
34+
35+
data = {'MonoBehaviour': monobehaviour}
36+
with open(config_name, 'w') as f:
37+
json.dump(data, f)
38+
return config_name
39+
40+
41+
def get_or_create_AOT_config(project_path, platform):
42+
settings_path = os.path.join(project_path, 'ProjectSettings')
43+
if not os.path.isdir(settings_path):
44+
os.mkdir(settings_path)
45+
config_names = [os.path.join(settings_path, filename) for filename in os.listdir(settings_path) if filename.startswith("BurstAotSettings_{}".format(resolve_target(platform)))]
46+
if not config_names:
47+
return [create_config(settings_path, platform)]
48+
return config_names
49+
50+
51+
def disable_AOT(project_path, platform):
52+
config_names = get_or_create_AOT_config(project_path, platform)
53+
for config_name in config_names:
54+
set_AOT(config_name, False)
55+
56+
57+
def enable_AOT(project_path, platform):
58+
config_names = get_or_create_AOT_config(project_path, platform)
59+
for config_name in config_names:
60+
set_AOT(config_name, True)
61+
62+
63+
def set_AOT(config_file, status):
64+
config = None
65+
with open(config_file, 'r') as f:
66+
config = json.load(f)
67+
68+
assert config is not None, 'AOT settings not found; did the burst-enabled build finish successfully?'
69+
70+
config['MonoBehaviour']['EnableBurstCompilation'] = status
71+
with open(config_file, 'w') as f:
72+
json.dump(config, f)
73+
74+
75+
def main():
76+
enable_burst = os.environ.get('ENABLE_BURST_COMPILATION', 'true').strip().lower()
77+
if enable_burst == 'true':
78+
print('BURST COMPILATION: ENABLED')
79+
elif enable_burst == 'false':
80+
print('BURST COMPILATION: DISABLED')
81+
disable_AOT(args.project_path, args.platform)
82+
else:
83+
sys.exit('BURST COMPILATION: unexpected value: {}'.format(enable_burst))
84+
85+
86+
def parse_args():
87+
global args
88+
parser = argparse.ArgumentParser(description='This tool disables burst AOT compilation')
89+
parser.add_argument('--project-path', help='Specify the location of the unity project.')
90+
parser.add_argument('--platform', help="Platform to be used to run the build.")
91+
args = parser.parse_args()
92+
93+
94+
if __name__ == '__main__':
95+
parse_args()
96+
main()

.yamato/mobile-build-and-run.yml

Lines changed: 129 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,129 @@
1+
# Modeled after Yamato mobile automation example: https://github.cds.internal.unity3d.com/unity/mobile-yamato-example
2+
3+
{% metadata_file .yamato/project.metafile %}
4+
---
5+
6+
{% for project in projects -%}
7+
{% for editor in project.test_editors -%}
8+
Build_Player_With_Tests_iOS_{{ project.name }}_{{ editor }}:
9+
name: build {{ project.name }} - {{ editor }} on iOS
10+
agent:
11+
type: Unity::VM::osx
12+
image: mobile/macos-10.15-testing:stable
13+
flavor: b1.large
14+
15+
commands:
16+
- pip install unity-downloader-cli --index-url https://artifactory.prd.it.unity3d.com/artifactory/api/pypi/pypi/simple --upgrade
17+
- unity-downloader-cli -c Editor -c iOS -u {{ editor }} --fast --wait
18+
- curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr --output utr
19+
- chmod +x ./utr
20+
- ./utr --suite=playmode --platform=iOS --editor-location=.Editor --testproject={{ project.path }} --player-save-path=build/players --artifacts_path=build/logs --build-only --testfilter=Unity.Multiplayer.Samples.BossRoom.Tests.Runtime
21+
22+
artifacts:
23+
players:
24+
paths:
25+
- "build/players/**"
26+
logs:
27+
paths:
28+
- "build/logs/**"
29+
{% endfor -%}
30+
{% endfor -%}
31+
32+
{% for project in projects -%}
33+
{% for editor in project.test_editors -%}
34+
Build_Player_With_Tests_Android_{{ project.name }}_{{ editor }}:
35+
name: build {{ project.name }} - {{ editor }} on Android
36+
agent:
37+
type: Unity::VM
38+
# Any generic image can be used, no need to have Android tools in the image for building
39+
# All Android tools will be downloaded by unity-downloader-cli
40+
image: desktop/android-execution-r19:v0.1.1-860408
41+
flavor: b1.xlarge
42+
43+
commands:
44+
# Download unity-downloader-cli
45+
- pip install unity-downloader-cli --index-url https://artifactory.prd.it.unity3d.com/artifactory/api/pypi/pypi/simple --upgrade
46+
- curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools/utr-standalone/utr.bat --output utr.bat
47+
- python .yamato/disable-burst-if-requested.py --project-path {{ project.path }} --platform Android
48+
- unity-downloader-cli -c Editor -c Android -u {{ editor }} --fast --wait
49+
# Build player(s)
50+
- set UTR_VERSION=0.12.0
51+
- ./utr.bat --suite=playmode --platform=Android --editor-location=.Editor --testproject={{ project.path }} --player-save-path=build/players --artifacts_path=build/logs --scripting-backend=mono --build-only --testfilter=Unity.Multiplayer.Samples.BossRoom.Tests.Runtime
52+
artifacts:
53+
players:
54+
paths:
55+
- "build/players/**"
56+
logs:
57+
paths:
58+
- "build/logs/**"
59+
variables:
60+
CI: true
61+
ENABLE_BURST_COMPILATION: False
62+
{% endfor -%}
63+
{% endfor -%}
64+
65+
# For every editor version, run iOS project tests without
66+
# running package tests too since they are handled on their respective jobs
67+
{% for project in projects -%}
68+
{% for editor in project.test_editors -%}
69+
mobile_test_ios_{{ project.name }}_{{ editor }}:
70+
name: {{ project.name }} mobile project tests - {{ editor }} on iOS
71+
agent:
72+
type: Unity::mobile::iPhone
73+
image: mobile/macos-10.15-testing:latest
74+
flavor: b1.medium
75+
76+
# Skip repository cloning
77+
skip_checkout: true
78+
79+
# Set a dependency on the build job
80+
dependencies:
81+
- .yamato/mobile-build-and-run.yml#Build_Player_With_Tests_iOS_{{ project.name }}_{{ editor }}
82+
83+
commands:
84+
# Download standalone UnityTestRunner
85+
- curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr --output utr
86+
# Give UTR execution permissions
87+
- chmod +x ./utr
88+
# Run the test build on the device
89+
- ./utr --suite=playmode --platform=iOS --player-load-path=build/players --artifacts_path=build/test-results --testfilter=Unity.Multiplayer.Samples.BossRoom.Tests.Runtime
90+
91+
artifacts:
92+
logs:
93+
paths:
94+
- "build/test-results/**"
95+
{% endfor -%}
96+
{% endfor -%}
97+
98+
# For every editor version, run Android project tests without
99+
# running package tests too since they are handled on their respective jobs
100+
{% for project in projects -%}
101+
{% for editor in project.test_editors -%}
102+
mobile_test_android_{{ project.name }}_{{ editor }}:
103+
name: {{ project.name }} mobile project tests - {{ editor }} on Android
104+
agent:
105+
type: Unity::mobile::shield
106+
image: mobile/android-execution-r19:stable
107+
flavor: b1.medium
108+
109+
# Skip repository cloning
110+
skip_checkout: true
111+
# Set a dependency on the build job
112+
dependencies:
113+
- .yamato/mobile-build-and-run.yml#Build_Player_With_Tests_Android_{{ project.name }}_{{ editor }}
114+
commands:
115+
# Download standalone UnityTestRunner
116+
- curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools/utr-standalone/utr.bat --output utr.bat
117+
- |
118+
set ANDROID_DEVICE_CONNECTION=%BOKKEN_DEVICE_IP%
119+
start %ANDROID_SDK_ROOT%\platform-tools\adb.exe connect %BOKKEN_DEVICE_IP%
120+
start %ANDROID_SDK_ROOT%\platform-tools\adb.exe devices
121+
set UTR_VERSION=0.12.0
122+
./utr --artifacts_path=build/test-results --testproject={{ project.path }} --editor-location=.Editor --reruncount=2 --suite=playmode --platform=android --player-connection-ip=%BOKKEN_HOST_IP% --player-load-path=build/players --testfilter=Unity.Multiplayer.Samples.BossRoom.Tests.Runtime
123+
# Set uploadable artifact paths
124+
artifacts:
125+
logs:
126+
paths:
127+
- "build/test-results/**"
128+
{% endfor -%}
129+
{% endfor -%}

.yamato/project-pack.yml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
{% metadata_file .yamato/project.metafile %}
2+
---
3+
{% for project in projects -%}
4+
pack_{{ project.name }}:
5+
name: Pack {{ project.name }}
6+
agent:
7+
type: Unity::VM
8+
image: package-ci/ubuntu:stable
9+
flavor: b1.small
10+
commands:
11+
- npm install upm-ci-utils@stable -g --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm
12+
- upm-ci project pack --project-path {{ project.path }}
13+
artifacts:
14+
packages:
15+
paths:
16+
- "upm-ci~/packages/**/*"
17+
{% endfor -%}

.yamato/project-tests.yml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
{% metadata_file .yamato/project.metafile %}
2+
---
3+
4+
# For every platform and editor version, run its project tests without
5+
# running package tests too since they are handled on their respective
6+
# jobs
7+
{% for project in projects -%}
8+
{% for editor in project.test_editors -%}
9+
{% for platform in test_platforms -%}
10+
test_{{ project.name }}_{{ editor }}_{{ platform.name }}:
11+
name : {{ project.name }} project tests - {{ editor }} on {{ platform.name }}
12+
agent:
13+
type: {{ platform.type }}
14+
image: {{ platform.image }}
15+
flavor: {{ platform.flavor}}
16+
commands:
17+
- npm install upm-ci-utils@stable -g --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm
18+
- pip install unity-downloader-cli --index-url https://artifactory.prd.it.unity3d.com/artifactory/api/pypi/pypi/simple
19+
- unity-downloader-cli -u {{ editor }} -c editor -w --fast
20+
- upm-ci project test -u {{ editor }} --project-path {{ project.path }} --type project-tests --extra-utr-arg=--testfilter=Unity.Multiplayer.Samples.BossRoom.Tests.Runtime
21+
artifacts:
22+
logs:
23+
paths:
24+
- "upm-ci~/test-results/**/*"
25+
dependencies:
26+
- .yamato/project-pack.yml#pack_{{ project.name }}
27+
{% endfor -%}
28+
{% endfor -%}
29+
{% endfor -%}

.yamato/project.metafile

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,4 @@ projects:
3333
- name: com.unity.multiplayer.samples.coop
3434
path: Packages/com.unity.multiplayer.samples.coop
3535
test_editors:
36-
- 2021.1
37-
- 2021.2
38-
- 2020.3
39-
- trunk
36+
- 2021.3

ARCHITECTURE.md

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ The Boss Room network connection flow is owned by the `GameNetPortal`:
3232
Game data in Boss Room is defined in `ScriptableObjects`. The `ScriptableObjects` are organized by enum and made available in a singleton class: the `GameDataSource`, in particular `ActionDescription` and `CharacterData`. `Actions` represent discrete verbs (like swinging a weapon, or reviving someone), and are substantially data driven. Characters represent both the different player classes, and also monsters, and represent basic details like health, as well as what "Skill" Actions are available to each Character.
3333

3434
## Transports
35-
Currently three network transport mechanisms are supported:
35+
Currently two network transport mechanisms are supported:
3636
- IP based
3737
- Unity Relay Based
3838

@@ -42,10 +42,8 @@ For Unity Relay based multiplayer sessions, some setup is required. Please see o
4242

4343
Please see [Multiplayer over internet](README.md) section of our Readme for more information on using either one.
4444

45-
To allow for any of these options to be chosen at runtime we created `TransportPicker`. It allows one to choose between an IP-based and a Relay-based transport and will hook up the game UI to use those transports. The transport field in the `NetworkManager` will be ignored. Currently we support the following transports:
46-
- **UNET(IP):** UNET is the default Netcode transport. However, it is not the default IP transport for Boss Room.
47-
- **UTP (IP):** Unity Transport Package is a network transport layer, packaged with network simulation tools which are useful for spotting networking issues early during development. This IP based protocol is the default IP transport for Boss Room. See the documentation on [Unity Transport Package](https://docs-multiplayer.unity3d.com/docs/transport-utp/about-transport-utp/#unity-transport-package-utp).
48-
- **Unity (Relay):** Unity Relay is a relay service provided by Unity services, supported by Unity Transport. Read more about [Unity Relay](https://docs-multiplayer.unity3d.com/docs/relay/relay).
45+
The transport is set in the transport field in the `NetworkManager`. We are using the following transport:
46+
- **Unity Transport Package (UTP):** Unity Transport Package is a network transport layer, packaged with network simulation tools which are useful for spotting networking issues early during development. This protocol is initialized to use direct IP to connect, but is configured at runtime to use Unity Relay if starting a game as a host using the Lobby Service, or joining a Lobby as a client. Unity Relay is a relay service provided by Unity services, supported by Unity Transport. See the documentation on [Unity Transport Package](https://docs-multiplayer.unity3d.com/docs/transport-utp/about-transport-utp/#unity-transport-package-utp) and on [Unity Relay](https://docs-multiplayer.unity3d.com/docs/relay/relay).
4947

5048
To add new transports in the project, parts of `GameNetPortal` and `ClientGameNetPortal` (transport switches) need to be extended.
5149

0 commit comments

Comments
 (0)