Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
837 commits
Select commit Hold shift + click to select a range
c4b919b
NetworkServer - moved AddAllReadyServerConnectionsToObservers down
MrGadget1024 Jan 2, 2023
2943aff
NetworkServer - moved RebuildObserversCustom down
MrGadget1024 Jan 2, 2023
ed8baff
NetworkServer - moved Listent and Shutdown up
MrGadget1024 Jan 2, 2023
ce7706b
NetworkServer - moved RemoveTransportHandlers up
MrGadget1024 Jan 2, 2023
3616ad8
NetworkServer - moved obsoletes
MrGadget1024 Jan 2, 2023
82ff8fd
NetworkClient - moved DestroyObject down
MrGadget1024 Jan 2, 2023
d71c9e2
NetworkIdentity - moved ClearObservers down below Reset
MrGadget1024 Jan 2, 2023
c0e047b
NetworkClient - moved NotifyAuthority and 2 related others down below…
MrGadget1024 Jan 2, 2023
de421cd
NetworkIdentity - moved ClearDirtyBits methods up to their respective…
MrGadget1024 Jan 2, 2023
bc28022
NetworkIdentity - moved HandleRemoteCall up
MrGadget1024 Jan 2, 2023
9405e9f
NetworkIdentity - moved ResetStatics up
MrGadget1024 Jan 2, 2023
ed102ff
NetworkIdentity - moved SetClientOwner down with AssignClientAuthority
MrGadget1024 Jan 2, 2023
1f09c7f
NetworkIdentity - formatting
MrGadget1024 Jan 2, 2023
0189b7f
NetworkServer - formatting
MrGadget1024 Jan 2, 2023
30ec858
NetworkClient - formatting
MrGadget1024 Jan 2, 2023
273f910
fix: #3326 NetworkIdentity doesn't reset SyncObjects anymore (#3339)
MrGadget1024 Jan 3, 2023
34f6df2
NetworkClient - moved RegisterMessageHandlers down
MrGadget1024 Jan 3, 2023
d645aad
fix: forgot to remove SyncList OnSerializeAll log message
Jan 4, 2023
02218bd
fix: #3342 InitSyncObject IsWritable/IsRecording permissions fixed fo…
Jan 3, 2023
8570afa
fix: #3341 SyncLists can now be modified before spawning again
Jan 3, 2023
0d53f7c
fix: #3343 allow modifying client synclists for unspawned objects lik…
Jan 4, 2023
c5aa474
fix: #3340 SyncList callbacks are only called once
Jan 5, 2023
7b7ad85
fix: #3340 SyncSet/Dictionary callbacks are only called once
Jan 5, 2023
c9dfd95
add comment
Jan 6, 2023
3c85efa
fix: #3330 #2422 SpawnObjects now activates, but does not spawn scene…
miwarnec Jan 6, 2023
c939354
Check for no Camera.main in OnGUI
MrGadget1024 Jan 6, 2023
2c9f6c4
fix: kcp2k V1.27. fixes #3337
Jan 8, 2023
3e52ef0
Fix CI (#3348)
MrGadget1024 Jan 9, 2023
b642da6
fix: Fix #3349 - NetworkTransformReliable use correct value in OnSeri…
MrGadget1024 Jan 9, 2023
655d0b0
fix: NetworkClient - make OnGUI public
MrGadget1024 Jan 10, 2023
3e8880d
BasicAuthenticator - comment typo
MrGadget1024 Jan 11, 2023
e16e556
fix: #3354 SyncList callback for OP_SET index parameter fixed
Jan 11, 2023
c04eeac
comment improved
Jan 12, 2023
74e6b72
fix: NetworkServer.DisconnectAll doesn't set inactive anymore. it sho…
Jan 12, 2023
027458d
fix: #3344 NetworkServer.Shutdown sets active=false after destroying …
Jan 12, 2023
0cc27d2
NetworkClient - added bufferTimeMultiplier to OnGUI
MrGadget1024 Jan 13, 2023
626180b
Network Manager HUD - made it wider so it doesn't wrap as much
MrGadget1024 Jan 13, 2023
875b345
fix: #3351 - Reset Statics in NS, NC, and NC_TimeInterpolation (#3353)
MrGadget1024 Jan 13, 2023
a024753
fix: Fixes #3317 - NetworkTransformReliable: don't send last snapshot…
MrGadget1024 Jan 14, 2023
585be60
Added License, Notice, Version files
MrGadget1024 Jan 14, 2023
3e7837c
Revert "Added License, Notice, Version files"
MrGadget1024 Jan 14, 2023
a35c0db
fix: ChangeOwner now adds/removes from owned hashset
MrGadget1024 Jan 16, 2023
3137c6b
Update README.md
miwarnec Jan 17, 2023
180c146
Update README.md
miwarnec Jan 17, 2023
db3e594
Update README.md
miwarnec Jan 17, 2023
16b60e8
PlayerCamera - Added warnings for no MainCamera
MrGadget1024 Jan 18, 2023
7313710
main.yml - Unity 2022.2.2f1
MrGadget1024 Jan 18, 2023
af0bacf
NetworkTransformBase - Reset when changing authority (#3357)
MrGadget1024 Jan 19, 2023
dd5d7ca
fix: NetworkTransform classes - methods in call order
MrGadget1024 Jan 19, 2023
befefeb
main.yml - unityVersion 2020.3.44
MrGadget1024 Jan 20, 2023
1208e9e
main.yml - ignore paths
MrGadget1024 Jan 20, 2023
235eb62
Refactor workflows
MrGadget1024 Jan 20, 2023
e179916
main.yml - fixed name
MrGadget1024 Jan 20, 2023
2239bb0
NetworkTransformBase - syntax
MrGadget1024 Jan 21, 2023
22ac763
NetworkTransformBase - OnClientAuthorityChanged is Server Only
MrGadget1024 Jan 21, 2023
02369e0
Update README.md
miwarnec Jan 24, 2023
debc783
AdditiveLevels Example - Portal.cs typo
MrGadget1024 Jan 24, 2023
696113c
Update README.md
miwarnec Jan 25, 2023
f49ff9b
Update README.md
miwarnec Jan 25, 2023
7a9a861
Update README.md
miwarnec Jan 25, 2023
3ceadac
Create SECURITY.md
miwarnec Jan 25, 2023
da6d4bb
Update SECURITY.md
miwarnec Jan 25, 2023
62ca179
Update README.md
miwarnec Jan 25, 2023
604503f
Update SECURITY.md
miwarnec Jan 25, 2023
01d0ae1
SimpleWebTransport: add SHA1 comments
Jan 25, 2023
5802fec
SHA-1 comments
Jan 25, 2023
0a2d05b
Update SECURITY.md
miwarnec Jan 26, 2023
f16e197
Additive Levels Offline Scene resaved
MrGadget1024 Jan 26, 2023
79718d0
fix: Added SimpleWebTransport to Mirror.Transports AsmDef
MrGadget1024 Jan 27, 2023
900c23a
fix: Removed invalid reference from KCP AsmDef
MrGadget1024 Jan 27, 2023
7318dfe
fix: Use GUID's in AsmDef's
MrGadget1024 Jan 27, 2023
e9e3874
fix: NetworkClient.OnHostClientSpawn now sets AOI visibility before i…
Jan 28, 2023
99360ff
NetworkClient.BootstrapIdentity helper function to move OnStartAuthor…
Jan 28, 2023
547da08
syntax
Jan 28, 2023
bb6c0de
NetworkServer.SpawnObject: add explanation
Jan 28, 2023
b6cee2a
remove unnecessary HostMode.ActivateHostScene function.
Jan 28, 2023
a48f0af
NetworkClient.CheckForStartClient merged into BootstrapIdentity
Jan 28, 2023
7cea78f
syntax
Jan 28, 2023
4d8c745
NetworkClient.ChangeOwner: remove dependency on CheckForLocalPlayer t…
Jan 28, 2023
77c915e
NetworkClient: CheckForLocalPlayer merged into BootstrapIdentity
Jan 28, 2023
25ef554
BootstrapIdentity: local player code simplified
Jan 28, 2023
0312bf7
fix: #3362 BootstrapIdentity now initializes isClient/isLocalPlayer f…
Jan 28, 2023
56a01c3
Application.isFocused check on tanks Update input. (#3364)
JesusLuvsYooh Jan 28, 2023
c389a52
kcp2k V1.28 [2023-01-28]
Jan 28, 2023
e21d42a
syntax
Jan 28, 2023
7d2d21a
fix: #3365 NetworkClient.OnTransportDisconnected now always invokes O…
Jan 28, 2023
860afef
Unity 2021.3.17 LTS
Jan 28, 2023
5bbad6f
kcp2k V1.29 [2023-01-28]
Jan 28, 2023
7dd3ce0
AdditiveLevelsNetworkManager - comments
MrGadget1024 Jan 28, 2023
46f07cc
syntax
Jan 28, 2023
a0accce
syntax: remove redundant type qualifiers
Jan 28, 2023
5c98949
NetworkClient.NetworkLateUpdate: use .localTime in all Unity versions
Jan 28, 2023
d27e086
NetworkClient - comment typo
MrGadget1024 Jan 28, 2023
384e551
NetworkClient.BootstrapIdentity split into SetIdentityFlags and Invok…
Jan 29, 2023
8d8bde7
fix: NetworkClient now sets NetworkIdentity.connectionToServer before…
Jan 29, 2023
db83e2d
naming
Jan 29, 2023
3815fe9
fix: #3259 NetworkClient.ApplySpawnPayload now initializes NetworkIde…
Jan 29, 2023
deddbe6
fix: #3367 NetworkTransformReliable now checks for changes at the end…
Jan 29, 2023
c4e9071
unused import
Jan 29, 2023
2554372
Updated Interest Management Script Template
MrGadget1024 Jan 29, 2023
dc8f0b3
Unity updated Player prefab
MrGadget1024 Feb 3, 2023
5e0b450
LatencySimulator - User friendly changes. (ready for approval) (#3316)
JesusLuvsYooh Feb 3, 2023
a83379f
fix: NetworkManager - handle StopClient in Host mode
MrGadget1024 Feb 5, 2023
3d9e95e
fix: NetworkManager - keep in DDOL if ServerOnly
MrGadget1024 Feb 5, 2023
d303847
fix: Updated examples to handle StopClient for Host
MrGadget1024 Feb 5, 2023
dca22bd
MatchController - syntax
MrGadget1024 Feb 5, 2023
35f72c1
MatchNetworkManager - removed comments
MrGadget1024 Feb 5, 2023
467aa70
CanvasController - use attributes
MrGadget1024 Feb 5, 2023
f451087
WIP
MrGadget1024 Feb 5, 2023
5a161a0
Simplified TryGetComponent usage
MrGadget1024 Feb 5, 2023
70cee43
fix: Examples code review and updates
MrGadget1024 Feb 5, 2023
e2f23d1
RunUnityTests - Updated Unity versions
MrGadget1024 Feb 5, 2023
239e64d
RunUnityTests - Updated Unity versions
MrGadget1024 Feb 5, 2023
40e4a57
fix: Network Manager now calls OnClientConnect as soon as authenticated
MrGadget1024 Feb 6, 2023
42d4723
fix: Network Manager - don't call OnClientConnect from FinishLoadScene
MrGadget1024 Feb 6, 2023
4920f5f
Merged master
MrGadget1024 Feb 6, 2023
10553ca
Removed Debug logs
MrGadget1024 Feb 6, 2023
1399a93
Extended wait to .5 seconds for RpcExitGame to process
MrGadget1024 Feb 6, 2023
a8a6b40
fix: Updated Multiple Matches example
MrGadget1024 Feb 6, 2023
a3dbc9d
fix: Improved Player Controller in examples
MrGadget1024 Feb 6, 2023
614c4e3
main.yml - pull_request_target
MrGadget1024 Feb 7, 2023
7a819f0
Revert "main.yml - pull_request_target"
MrGadget1024 Feb 7, 2023
63235f2
fix: Added missing EventSystem to example scenes
MrGadget1024 Feb 7, 2023
2a021f7
fix: Weaver doesn't NRE on generic array (#3371)
imerr Feb 7, 2023
cbcfeed
fix: Removed buggy canvas from example player prefabs
MrGadget1024 Feb 7, 2023
f86010b
DistanceInterestManagement - larger default visRange
MrGadget1024 Feb 7, 2023
340a4b9
DistanceInterestManagementCustomRange - larger default visRange
MrGadget1024 Feb 7, 2023
229a1a6
perf: Distance Interest Management caches custom ranges to avoid runt…
MrGadget1024 Feb 8, 2023
8596f1d
breaking: MIRROR_73_OR_NEWER
MrGadget1024 Feb 8, 2023
3ef5e06
Revert "breaking: MIRROR_73_OR_NEWER"
MrGadget1024 Feb 8, 2023
bbcf4b3
breaking: MIRROR_73_OR_NEWER
MrGadget1024 Feb 8, 2023
1e802c2
ProjectSettings
MrGadget1024 Feb 8, 2023
324c41e
NetworkRoomManager - refactor CheckReadyToBegin
MrGadget1024 Feb 8, 2023
efeab67
NetworkRoomManager - refactor CheckReadyToBegin
MrGadget1024 Feb 8, 2023
085b531
RunUnityTests unityVersion 2021.3.18
MrGadget1024 Feb 8, 2023
9f7ed98
feat: Read / Write DateTime (#3373)
MrGadget1024 Feb 9, 2023
e260d1e
fix: NetworkWriter - Change MaxStringLength to ushort.MaxValue (#3374)
MrGadget1024 Feb 9, 2023
80211ba
fix: NetworkRoomManager.ReadyStatusChange is now a virtual method
MrGadget1024 Feb 9, 2023
1a3e440
main.yml - exclude Docs folder
MrGadget1024 Feb 10, 2023
6bea6e2
Revert "main.yml - exclude Docs folder"
MrGadget1024 Feb 10, 2023
adc2826
Updated function name in code summary.
JesusLuvsYooh Feb 12, 2023
98212c5
RunUnityTests - unityVersion 2022.2.6f1
MrGadget1024 Feb 13, 2023
59dc88c
perf: Cache Stable Hashes (#3377)
MrGadget1024 Feb 14, 2023
569938c
perf: Use static generic class to cache message id (#3381)
imerr Feb 15, 2023
e0e2626
feature: NetworkTransform interpolation can be disabled (#3378)
JesusLuvsYooh Feb 16, 2023
c2d8343
cleanup: move observer HashSet rebuild logic to IM (#3383)
imerr Feb 16, 2023
bb54f26
Semantic.yml - only master branch
MrGadget1024 Feb 16, 2023
b933dcb
feat: InterestManagementBase (#3379)
imerr Feb 16, 2023
8b7bc68
perf: Weave in pre-computed function hash for RPCs (#3384)
imerr Feb 16, 2023
5d6022f
Remove outdated comment (#3385)
imerr Feb 16, 2023
9e0c595
fix: Extensions - Remove static StableHashes dictionary
MrGadget1024 Feb 16, 2023
e4281fe
fix: fixed warning in test
MrGadget1024 Feb 16, 2023
adafd48
Fixed log msg
MrGadget1024 Feb 16, 2023
2d06bd7
Revert "Semantic.yml - only master branch"
MrGadget1024 Feb 16, 2023
2f2a690
Extenstions - Added comment to GetStableHashCode
MrGadget1024 Feb 16, 2023
4f1a189
Extensions - updated comment
MrGadget1024 Feb 16, 2023
5784ff6
script icons
MrGadget1024 Feb 17, 2023
94bb369
fix: NetworkBehaviour SyncVar uses netId lookup (#3386)
imerr Feb 17, 2023
cfe27a1
fix: never use custom NB writers for SyncVars (#3387)
imerr Feb 20, 2023
69d5cf3
breaking: AsmDef Updates (#3388)
MrGadget1024 Feb 20, 2023
33f1993
gitignore .vscode
MrGadget1024 Feb 20, 2023
5cae45d
Unity 2021.3.19 to fix dedicated server build definitions:
Feb 20, 2023
e5922b1
Update SECURITY.md
miwarnec Feb 22, 2023
3caaeed
Update SECURITY.md
miwarnec Feb 22, 2023
a1db764
Organize WeaverTypes (#3393)
MrGadget1024 Feb 22, 2023
af787b8
unityVersion - updated unityVersions
MrGadget1024 Feb 22, 2023
228a577
fix: kcp2p V1.30 (#3391)
miwarnec Feb 23, 2023
4603bb1
Shortened PingWindowSize to get a faster more accurate result. (#3395)
JesusLuvsYooh Feb 25, 2023
3252dec
fix: Use PingWindowSize instead of hardcoded value (#3396)
JesusLuvsYooh Feb 25, 2023
eaea01c
KcpClient: Tick/Incoming/Outgoing can now be overwritten (virtual)
Feb 26, 2023
17f75b7
RunUnityTests - Updated unityVersion
MrGadget1024 Feb 28, 2023
74f5339
fix: Write for non-spawned NB only writes 0 netId (fixes: #3399) (#3400)
imerr Feb 28, 2023
bb2e7b2
breaking: Removed old Unity 2018 / 2019_3 compiler defines (#3397)
MrGadget1024 Feb 28, 2023
7c4be1f
main.yml - prevent Symantic job for PR's
MrGadget1024 Mar 1, 2023
773f49c
main.yml - trying again to prevent Release for PR's
MrGadget1024 Mar 1, 2023
c8743b2
main.yml - only run Release on push
MrGadget1024 Mar 1, 2023
9d46590
RunUnityTests - try different test reporter
MrGadget1024 Mar 1, 2023
3b1d2ee
RunUnityTests commented out Archive and Publish temporarily
MrGadget1024 Mar 1, 2023
d0cfd19
RunUnityTests - disable game-ci built-in test reporter
MrGadget1024 Mar 1, 2023
a2876e9
RunUnityTests - cleanup
MrGadget1024 Mar 2, 2023
402fd1e
Update README.md
miwarnec Mar 3, 2023
811dfd0
Update README.md
miwarnec Mar 3, 2023
91014bd
breaking: Remove NetworkClient.serverIP (#3394)
MrGadget1024 Mar 4, 2023
8f66bd6
fix: #3392 NetworkLoop now checks if the function was already added b…
Mar 4, 2023
def24f8
fix: NetworkLoop now only runs in play mode, not in edit mode
Mar 4, 2023
7b1d6fd
KcpTransport: virtual Awake/OnValidate/OnGUI to allow inheritance mor…
Mar 4, 2023
582a02e
KcpTransport: OnGUIStatistics helper function for easier OnGUI overwr…
Mar 4, 2023
31b6f19
KcpTransport: config, server, client protected so inheriting classes …
Mar 4, 2023
a0605ae
kcp V1.31 [2023-03-05]
Mar 5, 2023
d45bd66
breaking!(NetworkManager): Removed obsolete OnServerError / OnClientE…
MrGadget1024 Mar 6, 2023
a74f8f9
Revert "breaking!(NetworkManager): Removed obsolete OnServerError / O…
MrGadget1024 Mar 6, 2023
3f7c1af
breaking(NetworkManager)!: Removed obsolete OnServerError / OnClientE…
MrGadget1024 Mar 6, 2023
788fd4d
Revert "breaking(NetworkManager)!: Removed obsolete OnServerError / O…
MrGadget1024 Mar 6, 2023
4b34dc2
breaking(NetworkManager): Removed obsolete OnServerError / OnClientError
MrGadget1024 Mar 6, 2023
2e94e35
chore(CI): RunUnityTests - updated unityVersion
MrGadget1024 Mar 6, 2023
0cd06db
NetworkTransform - formatting
MrGadget1024 Mar 6, 2023
0d471af
script icon
Mar 8, 2023
733e663
syntax
Mar 8, 2023
da6c718
CCU demo: readme added
Mar 8, 2023
5f2c38f
chore(RunUnityTests): Updated unityVersion
MrGadget1024 Mar 9, 2023
60f021e
Snapshot Interpolation Demo: simulate 1 fps
Mar 10, 2023
20c2899
Snapshot Interpolation Demo: simulate moving timeline behind
Mar 10, 2023
86505af
Snapshot Interpolation Demo: simulate moving timeline ahead
Mar 10, 2023
fd63333
SnapshotInterpolation: add explanation why timescale is calculated wh…
Mar 10, 2023
f62d68d
comment
Mar 10, 2023
b1e62cf
SnapshotInterpolation.Timescale: rename threshold parameters to absol…
Mar 10, 2023
80b23f0
feature: ExpontentialMovingAverage.Reset()
Mar 10, 2023
712032a
Formatting
MrGadget1024 Mar 10, 2023
67aa480
Snapshot Interpolation tests: check local timeline and fail early to …
Mar 11, 2023
313c7a1
fix(SnapshotInterpolation): Added TimelineClamp (#3402)
Mar 11, 2023
5a0c826
remove unused code
Mar 11, 2023
5d324d3
SnapshotInterpolation: better explain timeline clamp
Mar 11, 2023
3535728
Updated ReadMe
MrGadget1024 Mar 11, 2023
2f68666
breaking: expose NetworkClient's Snapshot Interpolation settings in N…
miwarnec Mar 12, 2023
8762167
Snapshot Interpolation demo: reuse SnapshotInterpolationSettings
Mar 12, 2023
53658a5
fix: kcp2k V1.32 KcpPeer RawInput now doesn't disconnect in case of r…
Mar 12, 2023
cae12a4
Mathd.Clamp for Unity 2020 support
Mar 12, 2023
844fe69
fix: SnapshotInterpolation.TimelineClamp uses Mathd.Clamp for Unity 2…
Mar 12, 2023
25ebb06
fix: NetworkTransformReliable Reset() now resets 'last' too
Mar 12, 2023
7137ace
fix: NetworkTransformReliable fix jitter (fixes: #3368) (#3410)
miwarnec Mar 12, 2023
c7ddae1
NetworkStatistics - move UI down
MrGadget1024 Mar 12, 2023
724be4f
RemoteStatistics - syntax
MrGadget1024 Mar 12, 2023
46b30aa
SimpleWebClient - log ProcessMessageQueue overflow
MrGadget1024 Mar 12, 2023
cc6f4aa
ClientHandshake - log Unexpected Handshake Response
MrGadget1024 Mar 12, 2023
d7315be
ServerSslHelper - added logging
MrGadget1024 Mar 12, 2023
8638ab9
SimpleWebServer - log ProcessMessageQueue overflow
MrGadget1024 Mar 12, 2023
8d348a7
WebSocketServer - Improved logging
MrGadget1024 Mar 12, 2023
bfcef55
ClientHandshake -added log
MrGadget1024 Mar 12, 2023
c35b43b
WebSocketServer - syntax
MrGadget1024 Mar 12, 2023
1955587
Room example Unity updates
MrGadget1024 Mar 12, 2023
f315295
Examples - Unity 2021 updates
MrGadget1024 Mar 12, 2023
60d22c1
chore(RunUnityTests) - updated unityVersion
MrGadget1024 Mar 13, 2023
73e953e
perf: kcp2k V1.33
Mar 14, 2023
9b25758
syntax
Mar 14, 2023
feab904
NetworkTransformUnreliable: UpdateClientBroadcast helper function
Mar 14, 2023
255789b
NetworkTransformUnreliable: UpdateServerBroadcast helper function
Mar 14, 2023
6e142d8
NetworkTransformUnreliable: UpdateServerInterpolation helper function
Mar 14, 2023
5f1ec83
NetworkTransformUnreliable: UpdateClientInterpolation helper function
Mar 14, 2023
69de3f0
NetworkTransformUnreliable: syntax (early returns)
Mar 14, 2023
8d857de
kcp2k V1.34 [2023-03-15]
Mar 15, 2023
7fb2811
NetworkTransformReliable - formatting for consistancy / legibility
MrGadget1024 Mar 15, 2023
694165a
formatting
MrGadget1024 Mar 15, 2023
d6192bc
formatting
MrGadget1024 Mar 15, 2023
10d1e99
Merge pull request #21 from MirrorNetworking/master
Bod9001 Mar 15, 2023
f2fab0b
Update missing out the disposed change
Bod9001 Mar 15, 2023
436f410
Meta
Bod9001 Mar 15, 2023
b43a750
reee the usage of it looks like a pain.
Bod9001 Mar 15, 2023
f92e4c4
Cash!!!
Bod9001 Mar 16, 2023
e00621f
Forgot to include the steps
Bod9001 Mar 16, 2023
e51e456
Merge branch 'master' into updatingv2
Bod9001 Mar 17, 2023
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
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
github: [vis2k]
59 changes: 59 additions & 0 deletions .github/workflows/RunUnityTests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
name: Run Unity Tests

on:
workflow_dispatch:
workflow_call:

jobs:
RunUnityTests:
name: Run Unity Tests
runs-on: ubuntu-latest
strategy:
matrix:
unityVersion:
- 2019.4.40f1
- 2020.3.46f1
- 2021.3.20f1
- 2022.2.10f1

steps:
- name: Checkout repository
uses: actions/checkout@v3

# Do Not Enable Caching --- Library needs to be recompiled every time because Weaver
# Leaving this here for posterity to ensure we never turn this on.
#- name: Cache Library
# id: cache-library
# uses: actions/cache@v3
# with:
# path: Library
# key: Library-${{ matrix.unityVersion }}

- name: Run editor Tests
uses: game-ci/unity-test-runner@main

# We can use the same license for all Unity versions
env:
UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }}

# testMode is set to editMode (editor tests only) until we fix playmode tests (or eliminate them)
# `-stackTraceLogType None` speeds up the job and vastly shrinks the log output
# If a test actually fails, we'll diagnose it locally anyway, so the stacktrace doesn't really help
with:
projectPath: ./
testMode: editmode
unityVersion: ${{ matrix.unityVersion }}
customParameters: -stackTraceLogType None

- name: Archive test results
uses: actions/upload-artifact@v3
with:
name: Test Results ${{ matrix.unityVersion }}
path: artifacts

- name: Publish test results
uses: MirrorNetworking/nunit-reporter@master
with:
reportTitle: Test Report ${{ matrix.unityVersion }}
path: "artifacts/*.xml"
access-token: ${{ secrets.GITHUB_TOKEN }}
49 changes: 49 additions & 0 deletions .github/workflows/Semantic.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
name: Semantic Release

on:
workflow_dispatch:
workflow_call:

jobs:
SemanticRelease:
name: Semantic Release
runs-on: windows-latest

steps:
- name: Checkout repository
uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Delete Tests
run: |
Remove-Item -Recurse -Force Assets\Mirror\Tests
Remove-Item -Recurse -Force Assets\Mirror\Tests.meta

- name: Setup dotnet
uses: actions/setup-dotnet@v3
with:
dotnet-version: '3.1.100'

# Installs nuget package from https://www.nuget.org/packages/unity-packer
- name: Install unity-packer
run: dotnet tool install -g unity-packer

- name: Package
run: unity-packer pack Mirror.unitypackage Assets/Mirror Assets/Mirror Assets/ScriptTemplates Assets/ScriptTemplates LICENSE Assets/Mirror/LICENSE

- uses: actions/upload-artifact@v3
with:
name: Mirror.unitypackage
path: Mirror.unitypackage

- name: Release
uses: cycjimmy/semantic-release-action@v3
with:
extra_plugins: |
@semantic-release/exec
@semantic-release/changelog
@semantic-release/git
branch: master
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
37 changes: 37 additions & 0 deletions .github/workflows/SonarQube.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: SonarQube Analysis

on:
workflow_dispatch:
workflow_call:

jobs:
SonarQube:
name: SonarQube
runs-on: ubuntu-latest

# available list of containers here:
# https://hub.docker.com/r/unityci/editor/tags?page=1&ordering=last_updated&name=ubuntu-2020.1.17f1-base
container: unityci/editor:ubuntu-2021.3.16f1-base-1.0.1

steps:
- name: SonarQube analysis
uses: MirrorNetworking/[email protected]
with:
entrypoint: /sonar-scanner.sh
projectKey: vis2k_Mirror
projectName: Mirror
sonarOrganisation: vis2k
beginArguments: >-
/d:sonar.verbose="true"
/d:sonar.cs.nunit.reportsPaths=Tests/editmode-results.xml,Tests/playimode-results.xml
/d:sonar.cs.opencover.reportsPaths=Tests/workspace-opencov/EditMode/TestCoverageResults_0000.xml,Tests/workspace-opencov/PlayMode/TestCoverageResults_0000.xml
/d:sonar.coverage.exclusions=Assets/Mirror/Transports/**,Assets/Mirror/Examples/**,Assets/Mirror/Tests/**
/d:sonar.exclusions=Assets/Mirror/Runtime/Transport/SimpleWebTransport/**
# files ignored in code coverage:
# Assets/Mirror/Transports/** - Transports have their own tests and Sonar coverage
# Assets/Mirror/Examples/** - Examples don't need test coverage
# Assets/Mirror/Tests/** - Tests don't need test coverage
env:
FrameworkPathOverride: /opt/Unity/Editor/Data/MonoBleedingEdge/
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
27 changes: 27 additions & 0 deletions .github/workflows/activation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: Acquire Activation File

on:
workflow_dispatch:

jobs:
activation:
name: Acquire Activation File 🔑
runs-on: ubuntu-latest

steps:
- name: Acquire Activation File
id: getManualLicenseFile
uses: game-ci/unity-request-activation-file@v2
with:
unityVersion: 2019.4.40f1

- name: Upload License Request
uses: actions/upload-artifact@v3
with:
name: ${{ steps.getManualLicenseFile.outputs.filePath }}
path: ${{ steps.getManualLicenseFile.outputs.filePath }}

- name: Next Steps
run: |
echo "Upload the alf file to https://license.unity3d.com/manual to get a ulf license file."
echo "Unzip and open the ulf license in Notepad and paste into secret called UNITY_LICENSE."
177 changes: 30 additions & 147 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -1,156 +1,39 @@
name: CI
#on:
# pull_request: {}
# push: { branches: [master] }
name: Main

on:
on:
workflow_dispatch:
pull_request:
push:
branches:
- master
paths-ignore:
- 'doc/**'
- 'Packages/**'
- 'ProjectSettings/**'
- '.github/**'
- '.gitattributes'
- '.gitignore'
- '.editorconfig'
- 'LICENSE'
- '*.md'
- '*.yml'
- '*.txt'
- '*.ps1'

jobs:
RunUnityTests:
name: Run Unity Tests
uses: ./.github/workflows/RunUnityTests.yml
secrets: inherit

requestActivationFile:
runs-on: ubuntu-latest
if: false
steps:
- name: Checkout repository
uses: actions/checkout@v2

- name: Request manual activation file
uses: MirrorNetworking/[email protected]
id: getManualLicenseFile
with:
entrypoint: /request_activation.sh

- name: Expose as artifact
uses: actions/upload-artifact@v1
with:
name: Manual Activation File
path: ${{ steps.getManualLicenseFile.outputs.filePath }}

CI:
name: Test
runs-on: ubuntu-latest
env:
UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }}
if: true
steps:

# Checkout repository (required to test local actions)
- name: Checkout repository
uses: actions/checkout@v2
with:
fetch-depth: 0

- name: Add Coverage Plugin
uses: canastro/[email protected]
with:
source: Packages/manifest-coverage.json
target: Packages/manifest.json

- name: Activate license
uses: MirrorNetworking/[email protected]
with:
entrypoint: /activate.sh

- name: Generate Solution
uses: MirrorNetworking/[email protected]
with:
# Arguments to pass to unity
args: -buildTarget StandaloneWindows64 -customBuildName Mirror -customBuildPath ./build/StandaloneWindows64 -projectPath . -executeMethod UnityEditor.SyncVS.SyncSolution -quit

# Configure test runner
- name: Run editor Tests
uses: MirrorNetworking/[email protected]
with:
args: -runTests -testPlatform editmode -testResults Tests/editmode-results.xml -enableCodeCoverage -coverageResultsPath Tests

- name: Run play Tests
uses: MirrorNetworking/[email protected]
with:
args: -runTests -testPlatform playmode -testResults Tests/playmode-results.xml -enableCodeCoverage -coverageResultsPath Tests

# Upload artifacts
- name: Archive test results
uses: actions/upload-artifact@v1
if: always()
with:
name: Test results (editor mode)
path: Tests

- name: Publish test results
uses: MirrorNetworking/[email protected]
if: always()
with:
path: "Tests/*.xml"
access-token: ${{ secrets.GITHUB_TOKEN }}

- name: SonarQube analysis
if: always()
uses: MirrorNetworking/[email protected]
with:
entrypoint: /sonar-scanner.sh
projectKey: vis2k_Mirror
projectName: Mirror
sonarOrganisation: vis2k
beginArguments: >-
/d:sonar.verbose="true"
/d:sonar.cs.nunit.reportsPaths=Tests/editmode-results.xml,Tests/playimode-results.xml
/d:sonar.cs.opencover.reportsPaths=Tests/workspace-opencov/EditMode/TestCoverageResults_0000.xml,Tests/workspace-opencov/PlayMode/TestCoverageResults_0000.xml
/d:sonar.coverage.exclusions=Assets/Mirror/Runtime/Transport/Telepathy/**/*.cs,Assets/Mirror/Runtime/Transport/SimpleWebTransport/**,Assets/Mirror/Runtime/Transport/KCP/kcp2k/**,Assets/Mirror/Cloud/**/*.cs,Assets/Mirror/Examples/**/*.cs,Assets/Mirror/Tests/**/*.cs
/d:sonar.exclusions=Assets/Mirror/Runtime/Transport/SimpleWebTransport/**
# files ignored in code coverage:
# Assets/Mirror/Runtime/Transport/Telepathy/** - has its own test in the Telepathy repo
# Assets/Mirror/Runtime/Transport/SimpleWebTransport/** - fully exclude this because it has sonar running on its repo
# Assets/Mirror/Runtime/Transport/KCP/kcp2k/** - has its own test in the kcp2k repo
# Assets/Mirror/Cloud/** - has its own tests in private cloud repo
# Assets/Mirror/Examples/** - examples dont need test coverage
# Assets/Mirror/Tests/** - tests dont need test coverage
env:
FrameworkPathOverride: /opt/Unity/Editor/Data/MonoBleedingEdge/
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
#SonarQube:
# name: SonarQube Analysis
# needs: RunUnityTests
# uses: ./.github/workflows/SonarQube.yml
# secrets: inherit

Release:
runs-on: windows-latest
needs: CI
steps:
- name: Checkout repository
uses: actions/checkout@v2
with:
fetch-depth: 0

- name: Delete Tests
run: |
Remove-Item -Recurse -Force Assets\Mirror\Tests
Remove-Item -Recurse -Force Assets\Mirror\Tests.meta

- name: Setup dotnet
uses: actions/setup-dotnet@v1
with:
dotnet-version: '3.1.100'

- name: Install unity-packer
run: dotnet tool install -g unity-packer

- name: Package
run: |
unity-packer pack Mirror.unitypackage Assets/Mirror Assets/Mirror Assets/ScriptTemplates Assets/ScriptTemplates LICENSE Assets/Mirror/LICENSE

- uses: actions/upload-artifact@v1
with:
name: Mirror.unitypackage
path: Mirror.unitypackage

- name: Release
uses: cycjimmy/semantic-release-action@v2
with:
extra_plugins: |
@semantic-release/exec
@semantic-release/changelog
@semantic-release/git
branch: master
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
name: Semantic Release
if: github.event_name == 'push'
needs: RunUnityTests
uses: ./.github/workflows/Semantic.yml
secrets: inherit
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ Source/Source.sln
Output/
bin/
.vs/
.vscode/
.idea/
Mirror/packages
.mfractor
Expand All @@ -52,6 +53,8 @@ Obj
*.mdb
*.mdb.meta
ProjectSettings/Packages/com.unity.testtools.codecoverage/Settings.json
ProjectSettings/RiderScriptEditorPersistedState.asset
ProjectSettings/SceneTemplateSettings.json
UserSettings/
# Packages/manifest.json is enough. lock is auto generated from it.
Packages/packages-lock.json
Expand Down
Loading