Skip to content

Commit c48d446

Browse files
committed
Remove Override and ParseArgs, add flag to overide
1 parent 40c2d2b commit c48d446

File tree

10 files changed

+134
-93
lines changed

10 files changed

+134
-93
lines changed

Examples/OverridingScenesAndPrefabs/Packages/manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
"com.unity.services.multiplayer": "1.2.0",
1616
"com.unity.test-framework": "1.6.0",
1717
"com.unity.timeline": "1.8.9",
18-
"com.unity.toolchain.win-x86_64-linux-x86_64": "2.0.10",
18+
"com.unity.toolchain.win-x86_64-linux-x86_64": "2.0.11",
1919
"com.unity.transport": "2.6.0",
2020
"com.unity.ugui": "2.0.0",
2121
"com.unity.visualscripting": "1.9.7",

Examples/OverridingScenesAndPrefabs/Packages/packages-lock.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -334,7 +334,7 @@
334334
"url": "https://packages.unity.com"
335335
},
336336
"com.unity.toolchain.win-x86_64-linux-x86_64": {
337-
"version": "2.0.10",
337+
"version": "2.0.11",
338338
"depth": 0,
339339
"source": "registry",
340340
"dependencies": {

Examples/OverridingScenesAndPrefabs/ProjectSettings/ProjectSettings.asset

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ PlayerSettings:
7070
androidStartInFullscreen: 1
7171
androidRenderOutsideSafeArea: 1
7272
androidUseSwappy: 1
73+
androidDisplayOptions: 1
7374
androidBlitType: 0
7475
androidResizeableActivity: 1
7576
androidDefaultWindowWidth: 1920
@@ -86,6 +87,7 @@ PlayerSettings:
8687
muteOtherAudioSources: 0
8788
Prepare IOS For Recording: 0
8889
Force IOS Speakers When Recording: 0
90+
audioSpatialExperience: 0
8991
deferSystemGesturesMode: 0
9092
hideHomeButton: 0
9193
submitAnalytics: 1
@@ -271,6 +273,9 @@ PlayerSettings:
271273
AndroidBuildApkPerCpuArchitecture: 0
272274
AndroidTVCompatibility: 0
273275
AndroidIsGame: 1
276+
androidAppCategory: 3
277+
useAndroidAppCategory: 1
278+
androidAppCategoryOther:
274279
AndroidEnableTango: 0
275280
androidEnableBanner: 1
276281
androidUseLowAccuracyLocation: 0
@@ -398,6 +403,7 @@ PlayerSettings:
398403
iPhone: 1
399404
tvOS: 1
400405
m_BuildTargetGroupLightmapEncodingQuality: []
406+
m_BuildTargetGroupHDRCubemapEncodingQuality: []
401407
m_BuildTargetGroupLightmapSettings: []
402408
m_BuildTargetGroupLoadStoreDebugModeSettings: []
403409
m_BuildTargetNormalMapEncoding: []

com.unity.netcode.gameobjects/Runtime/Transports/UTP/UnityTransport.cs

Lines changed: 22 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -805,19 +805,6 @@ public void SetClientRelayData(string ipAddress, ushort port, byte[] allocationI
805805
SetRelayServerData(ipAddress, port, allocationId, key, connectionData, hostConnectionData, isSecure);
806806
}
807807

808-
internal struct Override<T>
809-
{
810-
private T m_Value;
811-
public bool Overidden { get; private set; }
812-
internal T Value
813-
{
814-
get { return Overidden ? m_Value : default(T); }
815-
set { Overidden = true; m_Value = value; }
816-
}
817-
};
818-
819-
internal Override<ushort> PortOverride;
820-
821808
// Command line options
822809
private const string k_OverridePortArg = "-port";
823810

@@ -832,27 +819,27 @@ private string GetArg(string[] commandLineArgs, string arg)
832819
return null;
833820
}
834821

835-
private void ParseArg<T>(string arg, ref Override<T> value)
836-
{
837-
if (GetArg(Environment.GetCommandLineArgs(), arg) is string argValue)
838-
{
839-
value.Value = (T)Convert.ChangeType(argValue, typeof(T));
840-
}
841-
}
842-
843-
private void ParseCommandLineOptions()
822+
private bool ParseCommandLineOptions(out int port)
844823
{
845824
#if UNITY_SERVER && UNITY_DEDICATED_SERVER_ARGUMENTS_PRESENT
846825

847826
Debug.Log("UNITY_DEDICATED_SERVER_ARGUMENTS_PRESENT");
848827
if (UnityEngine.DedicatedServer.Arguments.Port != null)
849828
{
850829
Debug.Log("UnityEngine.DedicatedServer.Arguments.Port is not null");
851-
PortOverride.Value = (ushort)UnityEngine.DedicatedServer.Arguments.Port;
830+
port = UnityEngine.DedicatedServer.Arguments.Port.Value;
831+
return true;
852832
}
833+
853834
#else
854-
ParseArg(k_OverridePortArg, ref PortOverride);
835+
if (GetArg(Environment.GetCommandLineArgs(), arg) is string argValue)
836+
{
837+
port = (T)Convert.ChangeType(argValue, typeof(T));
838+
return true;
839+
}
855840
#endif
841+
port = default;
842+
return false;
856843
}
857844

858845
/// <summary>
@@ -864,18 +851,9 @@ private void ParseCommandLineOptions()
864851
/// <param name="forceOverrideCommandLineArgs">Should override port value</param>
865852
public void SetConnectionData(string ipv4Address, ushort port, string listenAddress = null, bool forceOverrideCommandLineArgs = false)
866853
{
867-
if (forceOverrideCommandLineArgs)
854+
if (!forceOverrideCommandLineArgs)
868855
{
869-
if (m_NetworkManager.LogLevel <= LogLevel.Developer)
870-
{
871-
Debug.Log($"Already has command line option set. Using connection data set to {ipv4Address}:{port}");
872-
}
873-
874-
port = ConnectionData.Port;
875-
}
876-
else
877-
{
878-
ParseCommandLineOptions();
856+
port = ParseCommandLineOptions(out var newPort) ? (ushort)newPort : ConnectionData.Port;
879857
}
880858

881859
ConnectionData = new ConnectionAddressData
@@ -1631,6 +1609,9 @@ protected override string GetDisconnectEventMessage(DisconnectEvents disconnectE
16311609
return m_UnityTransportNotificationHandler.GetDisconnectEventMessage(disconnectEvent);
16321610
}
16331611

1612+
1613+
private bool m_HasForcedConnectionData;
1614+
16341615
/// <summary>
16351616
/// Initializes the transport
16361617
/// </summary>
@@ -1647,9 +1628,13 @@ public override void Initialize(NetworkManager networkManager = null)
16471628

16481629
m_NetworkManager = networkManager;
16491630

1650-
if (m_NetworkManager && PortOverride.Overidden)
1631+
if (m_HasForcedConnectionData && ParseCommandLineOptions(out var port))
16511632
{
1652-
ConnectionData.Port = PortOverride.Value;
1633+
if (m_NetworkManager?.LogLevel <= LogLevel.Developer)
1634+
{
1635+
Debug.Log($"Already has command line option set. Using connection data set to {ConnectionData.Address}:{port}");
1636+
}
1637+
ConnectionData.Port = (ushort)port;
16531638
}
16541639

16551640
m_RealTimeProvider = m_NetworkManager ? m_NetworkManager.RealTimeProvider : new RealTimeProvider();

testproject/Assets/Scripts/ServerTest.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ private void Start()
1717
{
1818
ushort port = 8889;
1919
Debug.Log("Start Server Port " + port); // <---- Start Server Port 8888
20-
m_Transport.SetConnectionData("0.0.0.0", port); // <---- Port set to 8888
20+
m_Transport.SetConnectionData("0.0.0.0", port, forceOverrideCommandLineArgs: true); // <---- Port set to 8888
2121
m_Network.StartServer();
2222
Debug.Log("Server listening on port: " + m_Transport.ConnectionData.Port); // <---- Shows Server listening on port: 7777
2323
}

testproject/ProjectSettings/EditorBuildSettings.asset

Lines changed: 54 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -5,159 +5,162 @@ EditorBuildSettings:
55
m_ObjectHideFlags: 0
66
serializedVersion: 2
77
m_Scenes:
8-
- enabled: 1
8+
- enabled: 0
99
path: Assets/MainMenu.unity
1010
guid: 21c7fd68cda9dd9488fc0cc01f885e39
11-
- enabled: 1
11+
- enabled: 0
1212
path: Assets/Scenes/ZooSam.unity
1313
guid: 4683469c9a191411fbda5e426765b2fc
14-
- enabled: 1
14+
- enabled: 0
1515
path: Assets/Samples/SamplesMenu.unity
1616
guid: 037562c9b1a469f498dfb34256ddf86f
17-
- enabled: 1
17+
- enabled: 0
1818
path: Assets/Tests/Manual/ManualTestsMenu.unity
1919
guid: 197ba614e9ae3054a8dea7b2bdacad6a
20-
- enabled: 1
20+
- enabled: 0
2121
path: Assets/Tests/Manual/SceneTransitioning/SceneTransitioningTest.unity
2222
guid: 1c2375a896b2e8c4a841aa61224b8494
23-
- enabled: 1
23+
- enabled: 0
2424
path: Assets/Scenes/SampleScene.unity
2525
guid: 9fc0d4010bbf28b4594072e72b8655ab
26-
- enabled: 1
26+
- enabled: 0
2727
path: Assets/Tests/Manual/SceneTransitioning/SecondSceneToLoad.unity
2828
guid: 79c2bf7d6b7a06a42a94982aaf1904d8
29-
- enabled: 1
29+
- enabled: 0
3030
path: Assets/Tests/Manual/RpcTesting/RpcTesting.unity
3131
guid: 931469794d88a874998f1d5edd265522
32-
- enabled: 1
32+
- enabled: 0
3333
path: Assets/Tests/Manual/SceneTransitioning/ThirdSceneToLoad.unity
3434
guid: 637ab8340e96a2949adfe5bfdd42b924
35-
- enabled: 1
35+
- enabled: 0
3636
path: Assets/Tests/Manual/ConnectionApproval/ConnectionApprovalTest.unity
3737
guid: dd570b5916593cb41bab8beb1c9d9315
38-
- enabled: 1
38+
- enabled: 0
3939
path: Assets/Samples/EnableDisableNetworkObject/EnableDisableSceneNetworkObject.unity
4040
guid: 619b9eba5892d5a4e9dd1d6cafb0059a
41-
- enabled: 1
41+
- enabled: 0
4242
path: Assets/Tests/Manual/NetworkSceneManagerCallbacks/SceneWeAreSwitchingTo.unity
4343
guid: ee4d4a69e7f79bc4c861cd9a4b99dd0f
44-
- enabled: 1
44+
- enabled: 0
4545
path: Assets/Tests/Manual/NetworkSceneManagerCallbacks/SceneWeAreSwitchingFrom.unity
4646
guid: 073bd2111475c0643be45b7abe6a97ad
47-
- enabled: 1
47+
- enabled: 0
4848
path: Assets/Scenes/MultiprocessTestScene.unity
4949
guid: 76743cb7b342c49279327834918a9c6e
50-
- enabled: 1
50+
- enabled: 0
5151
path: Assets/Scenes/EmptyScene.unity
5252
guid: a2545a872c007404fbb6b0393ab74974
53-
- enabled: 1
53+
- enabled: 0
5454
path: Assets/Tests/Manual/SceneTransitioningAdditive/SceneTransitioningBase1.unity
5555
guid: 780f96a61e8ac8e41b638ae8ec3a3236
56-
- enabled: 1
56+
- enabled: 0
5757
path: Assets/Tests/Manual/SceneTransitioningAdditive/SceneTransitioningBase2.unity
5858
guid: 9e437cc704801bc47add735d743985f5
59-
- enabled: 1
59+
- enabled: 0
6060
path: Assets/Tests/Manual/SceneTransitioningAdditive/AdditiveScene1.unity
6161
guid: 41a0239b0c49e2047b7063c822f0df8a
62-
- enabled: 1
62+
- enabled: 0
6363
path: Assets/Tests/Manual/SceneTransitioningAdditive/AdditiveScene2.unity
6464
guid: c6a3d883c8253ee43bca4f2b03797d7b
65-
- enabled: 1
65+
- enabled: 0
6666
path: Assets/Tests/Manual/SceneTransitioningAdditive/AdditiveScene3.unity
6767
guid: 7da3dd618f5b5a34db1f6d3c9511e221
68-
- enabled: 1
68+
- enabled: 0
6969
path: Assets/Tests/Manual/SceneTransitioningAdditive/AdditiveScene4.unity
7070
guid: dc7e17c86f5ca81478043be306027c13
71-
- enabled: 1
71+
- enabled: 0
7272
path: Assets/Samples/PrefabPool/PrefabPoolExample.unity
7373
guid: e4732b28c18f52c4dbe06c8a37f7997f
74-
- enabled: 1
74+
- enabled: 0
7575
path: Assets/Samples/PrefabPool/PrefabPoolOverrideExample.unity
7676
guid: 8c9bee1332e0526429d8a2c929945d60
77-
- enabled: 1
77+
- enabled: 0
7878
path: Assets/Tests/Manual/SceneTransitioningAdditive/AdditiveSceneMultiInstance.unity
7979
guid: 0ae94f636016d3b40bfbecad57d99553
80-
- enabled: 1
80+
- enabled: 0
8181
path: Assets/Tests/Manual/DontDestroyOnLoad/DontDestroyOnLoadTest.unity
8282
guid: ff98b91da4ee7ff44bc3aa8a57ad5c12
83-
- enabled: 1
83+
- enabled: 0
8484
path: Assets/Tests/Manual/DontDestroyOnLoad/DontDestroyOnLoad_DestroyNetworkManagerTest.unity
8585
guid: 7dc1ab12373402546befc7d54e447258
86-
- enabled: 1
86+
- enabled: 0
8787
path: Assets/Tests/Manual/PreserveNetworkObjectsOnShutdown/PreserveNetworkObjects.unity
8888
guid: 3efb2ada1190a234d801b415fb526ec3
89-
- enabled: 1
89+
- enabled: 0
9090
path: Assets/Samples/Physics/PhysicsSample.unity
9191
guid: 2c76877ad66aa22458c62a0d74514a91
92-
- enabled: 1
92+
- enabled: 0
9393
path: Assets/Tests/Manual/IntegrationTestScenes/UnitTestBaseScene.unity
9494
guid: fa0b4956a4a0aee48ae43f9116d28354
95-
- enabled: 1
95+
- enabled: 0
9696
path: Assets/Tests/Manual/IntegrationTestScenes/InSceneNetworkObject.unity
9797
guid: 136692aa47cd577499d03a2b0dabbf28
98-
- enabled: 1
98+
- enabled: 0
9999
path: Assets/Tests/Manual/InSceneObjectParentingTests/InSceneNetworkObjectParentingTest.unity
100100
guid: f112d7c4abed6c34ca1287cf5ff15b9c
101-
- enabled: 1
101+
- enabled: 0
102102
path: Assets/Tests/Manual/InSceneObjectParentingTests/InSceneNetworkObjectToLoad.unity
103103
guid: f06a8525a4b5200459f62905c29ce09e
104-
- enabled: 1
104+
- enabled: 0
105105
path: Assets/Tests/Manual/NetworkAnimatorTests/NetworkAnimatorServerOwnerTest.unity
106106
guid: f88da8bb8d07e11418eaad6524d5cc12
107-
- enabled: 1
107+
- enabled: 0
108108
path: Assets/Samples/Teleport/TeleportSample.unity
109109
guid: efa247d1f78ca694f8d2dcb5672e8f8b
110-
- enabled: 1
110+
- enabled: 0
111111
path: Assets/Tests/Manual/NestedNetworkTransforms/NestedNetworkTransforms.unity
112112
guid: 92b8cccf28cbaba40854a025b66e2ac3
113-
- enabled: 1
113+
- enabled: 0
114114
path: Assets/Tests/Runtime/NetworkTransform/NestedNetworkTransformTestScene.unity
115115
guid: 14235ed18eff0964cbb3ff7ae2ed1933
116-
- enabled: 1
116+
- enabled: 0
117117
path: Assets/Tests/Manual/DeltaPositionNetworkTransform/DeltaPositionTest.unity
118118
guid: 19c7c7fb95b74684d8d8f8429b8d4ee5
119-
- enabled: 1
119+
- enabled: 0
120120
path: Assets/Tests/Manual/NestedNetworkTransforms/LerpVsSlerpScene.unity
121121
guid: 54ca4944ec2b95640a68bc35403a4977
122-
- enabled: 1
122+
- enabled: 0
123123
path: Assets/Tests/Runtime/ObjectParenting/ParentingInSceneObjects.unity
124124
guid: d04d395e163705441935990f702c782f
125-
- enabled: 1
125+
- enabled: 0
126126
path: Assets/Tests/Manual/IntegrationTestScenes/GenericInScenePlacedObject.unity
127127
guid: 43c36dc1d38660e4d9879e84e580e22f
128-
- enabled: 1
128+
- enabled: 0
129129
path: Assets/Tests/Manual/IntegrationTestScenes/EmptyScene1.unity
130130
guid: 057ba2cc37faa0b43aa7051d9f555caa
131-
- enabled: 1
131+
- enabled: 0
132132
path: Assets/Tests/Manual/IntegrationTestScenes/EmptyScene2.unity
133133
guid: 17b92153f7381d34fa48c4d5c0393d13
134-
- enabled: 1
134+
- enabled: 0
135135
path: Assets/Tests/Manual/IntegrationTestScenes/EmptyScene3.unity
136136
guid: abd4c8b51c445d54faa16c67ac973f1b
137-
- enabled: 1
137+
- enabled: 0
138138
path: Assets/Samples/SpawnObject/SimpleSpawn.unity
139139
guid: 2a46f77814044a6448d9c8872d851905
140-
- enabled: 1
140+
- enabled: 0
141141
path: Assets/Tests/Manual/PrefabTestAssets/PrefabTestScene.unity
142142
guid: 6449955dcdde54944ba1cdb97a23bd29
143-
- enabled: 1
143+
- enabled: 0
144144
path: Assets/Tests/Runtime/ObjectParenting/NetworkObjectParentingTests.unity
145145
guid: abe92ece17d830e41a66dff7edc9245d
146-
- enabled: 1
146+
- enabled: 0
147147
path: Assets/Tests/Manual/IntegrationTestScenes/InSceneUnderGameObject.unity
148148
guid: 778ea62ad5daee5408d1ec1fce28673f
149-
- enabled: 1
149+
- enabled: 0
150150
path: Assets/Tests/Manual/IntegrationTestScenes/InSceneUnderGameObjectWithNT.unity
151151
guid: 5a4f489df08d16c4d8c0167b099de2ca
152-
- enabled: 1
152+
- enabled: 0
153153
path: Assets/Tests/Manual/IntegrationTestScenes/SessionSynchronize.unity
154154
guid: 468b795904b98234593ebc31bf0d578a
155-
- enabled: 1
155+
- enabled: 0
156156
path: Assets/Tests/Manual/IntegrationTestScenes/NetworkObjectSpawnerTest.unity
157157
guid: 28ec9a0d98d9db64a9c57a79f38d6e0a
158-
- enabled: 1
158+
- enabled: 0
159159
path: Assets/Tests/Manual/NetworkAnimatorTests/AnimationBidirectionalTriggers/NetworkAnimatorDualTriggerCheer.unity
160160
guid: e12df855278120245a8a936a6a52b5bd
161+
- enabled: 1
162+
path: Assets/Scenes/CommandLineOverrideTest.unity
163+
guid: 9a4c20895a6e8e4458ac97be10fc7ffd
161164
m_configObjects:
162165
com.unity.addressableassets: {fileID: 11400000, guid: 5a3d5c53c25349c48912726ae850f3b0,
163166
type: 2}

testproject/ProjectSettings/MultiplayerManager.asset

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,7 @@
33
--- !u!655991488 &1
44
MultiplayerManager:
55
m_ObjectHideFlags: 0
6-
m_EnableMultiplayerRoles: 0
7-
m_StrippingTypes: {}
6+
m_EnableMultiplayerRoles: 1
7+
m_StrippingTypes:
8+
1: []
9+
2: []

0 commit comments

Comments
 (0)