app.hypergames.hypersdk 1.5.10 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/Editor/Scripts/Tools/HyperBuildAssistant.cs +4 -3
- package/Runtime/Internal/Bootstrap/HyperProductionLoggingBootstrap.cs +19 -0
- package/Runtime/Internal/Bootstrap/HyperProductionLoggingBootstrap.cs.meta +11 -0
- package/Runtime/Internal/Managers/GameManager.cs +2 -2
- package/Runtime/Resources/UIPrefabs/GamePausedModal_Battle.prefab +1 -1
- package/Runtime/Resources/UIPrefabs/ScoreSubmissionFailedModal_Landscape.prefab +16 -16
- package/Runtime/Resources/UIPrefabs/TimeUpModal.prefab +59 -14
- package/Runtime/Shared/Utils/HyperDebug.cs +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
# [1.6.0](https://github.com/mvmhyper/hyper-sdk/compare/v1.5.10...v1.6.0) (2026-03-28)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* avoid auto game resume on reconnect while paused ([ab52983](https://github.com/mvmhyper/hyper-sdk/commit/ab52983215218c658a17a022adda5efe1185bfa1))
|
|
7
|
+
* forward SDK events to FE, fix overlay coverage, disable release logs, and improve editor focus behavior ([1c424ad](https://github.com/mvmhyper/hyper-sdk/commit/1c424adb8dd74ee5f1bfe20896a21547fa3a0b11))
|
|
8
|
+
* send final score as score array payload ([7c06086](https://github.com/mvmhyper/hyper-sdk/commit/7c060869f971aa0a39f07ebc790d7da56462d1d9))
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Features
|
|
12
|
+
|
|
13
|
+
* batch score submission with offline backlog support ([b372643](https://github.com/mvmhyper/hyper-sdk/commit/b3726438239523119d7c13ba3b5f738dcd3b1381))
|
|
14
|
+
|
|
1
15
|
## [1.5.10](https://github.com/mvmhyper/hyper-sdk/compare/v1.5.9...v1.5.10) (2026-03-25)
|
|
2
16
|
|
|
3
17
|
|
|
@@ -1166,7 +1166,7 @@ namespace Hyper.Editor
|
|
|
1166
1166
|
|
|
1167
1167
|
EditorGUILayout.BeginVertical(infoBoxStyle);
|
|
1168
1168
|
{
|
|
1169
|
-
EditorGUILayout.LabelField("Fast builds with Brotli compression for testing. Uses shorter build time, debug symbols, and
|
|
1169
|
+
EditorGUILayout.LabelField("Fast builds with Brotli compression for testing. Uses shorter build time, debug symbols, full exceptions, and HYPER_DEVELOPMENT_BUILD so HyperSDK and Unity Debug.Log output stay available.", EditorStyles.wordWrappedMiniLabel);
|
|
1170
1170
|
EditorGUILayout.Space(8);
|
|
1171
1171
|
|
|
1172
1172
|
if (GUILayout.Button("Build Development", buttonStyle, GUILayout.Height(40)))
|
|
@@ -1198,7 +1198,7 @@ namespace Hyper.Editor
|
|
|
1198
1198
|
|
|
1199
1199
|
EditorGUILayout.BeginVertical(infoBoxStyle);
|
|
1200
1200
|
{
|
|
1201
|
-
EditorGUILayout.LabelField("Optimized production build that respects your Code Optimization setting and enforces LTO. Build time may exceed 20 minutes.", EditorStyles.wordWrappedMiniLabel);
|
|
1201
|
+
EditorGUILayout.LabelField("Optimized production build that respects your Code Optimization setting and enforces LTO. Sets HYPER_RELEASE_BUILD so Unity Debug.Log / LogWarning / LogError are disabled in the player. Build time may exceed 20 minutes.", EditorStyles.wordWrappedMiniLabel);
|
|
1202
1202
|
EditorGUILayout.Space(8);
|
|
1203
1203
|
|
|
1204
1204
|
if (GUILayout.Button("Build Release", buttonStyle, GUILayout.Height(40)))
|
|
@@ -1944,6 +1944,7 @@ namespace Hyper.Editor
|
|
|
1944
1944
|
ForceAssetRepack();
|
|
1945
1945
|
|
|
1946
1946
|
SetReleaseBuildDefineSymbol(true);
|
|
1947
|
+
AddOptimizationSummary("Runtime: Unity debug logger disabled in player (HYPER_RELEASE_BUILD)");
|
|
1947
1948
|
ApplyReleaseBuildSettings();
|
|
1948
1949
|
|
|
1949
1950
|
BuildPlayerOptions buildOptions = new BuildPlayerOptions
|
|
@@ -2216,7 +2217,7 @@ namespace Hyper.Editor
|
|
|
2216
2217
|
if (!hasReleaseDefine)
|
|
2217
2218
|
{
|
|
2218
2219
|
defines = string.IsNullOrEmpty(defines) ? RELEASE_DEFINE : $"{defines};{RELEASE_DEFINE}";
|
|
2219
|
-
if (IsSDKDeveloper()) HyperDebug.LogSuccess("Set HYPER_RELEASE_BUILD
|
|
2220
|
+
if (IsSDKDeveloper()) HyperDebug.LogSuccess("Set HYPER_RELEASE_BUILD (production API URL; Unity debug logger off in player)");
|
|
2220
2221
|
}
|
|
2221
2222
|
|
|
2222
2223
|
// Remove HYPER_DEVELOPMENT_BUILD if present
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
using UnityEngine;
|
|
2
|
+
|
|
3
|
+
namespace Hyper.Internal
|
|
4
|
+
{
|
|
5
|
+
/// <summary>
|
|
6
|
+
/// Disables Unity's debug logger in production WebGL players built with HYPER_RELEASE_BUILD
|
|
7
|
+
/// (set by Build Assistant release builds). Development builds keep the default logger enabled.
|
|
8
|
+
/// </summary>
|
|
9
|
+
internal static class HyperProductionLoggingBootstrap
|
|
10
|
+
{
|
|
11
|
+
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.SubsystemRegistration)]
|
|
12
|
+
private static void Apply()
|
|
13
|
+
{
|
|
14
|
+
#if !UNITY_EDITOR && HYPER_RELEASE_BUILD
|
|
15
|
+
Debug.unityLogger.logEnabled = false;
|
|
16
|
+
#endif
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
@@ -187,7 +187,9 @@ namespace Hyper.Internal.Managers
|
|
|
187
187
|
|
|
188
188
|
void OnApplicationFocus(bool hasFocus)
|
|
189
189
|
{
|
|
190
|
+
#if !UNITY_EDITOR
|
|
190
191
|
HandlePauseState(!hasFocus);
|
|
192
|
+
#endif
|
|
191
193
|
}
|
|
192
194
|
|
|
193
195
|
void HandlePauseState(bool shouldPause)
|
|
@@ -711,8 +713,6 @@ namespace Hyper.Internal.Managers
|
|
|
711
713
|
|
|
712
714
|
private void OptimizeForWebGL()
|
|
713
715
|
{
|
|
714
|
-
QualitySettings.streamingMipmapsActive = false;
|
|
715
|
-
QualitySettings.billboardsFaceCameraPosition = false;
|
|
716
716
|
Resources.UnloadUnusedAssets();
|
|
717
717
|
}
|
|
718
718
|
|
|
@@ -1526,7 +1526,7 @@ RectTransform:
|
|
|
1526
1526
|
m_AnchorMin: {x: 0, y: 1}
|
|
1527
1527
|
m_AnchorMax: {x: 0, y: 1}
|
|
1528
1528
|
m_AnchoredPosition: {x: 242.0348, y: -33.43245}
|
|
1529
|
-
m_SizeDelta: {x:
|
|
1529
|
+
m_SizeDelta: {x: 0, y: 46.0515}
|
|
1530
1530
|
m_Pivot: {x: 0.5, y: 0.5}
|
|
1531
1531
|
--- !u!222 &8480469813127575513
|
|
1532
1532
|
CanvasRenderer:
|
|
@@ -28,7 +28,7 @@ RectTransform:
|
|
|
28
28
|
m_GameObject: {fileID: 858581963775131442}
|
|
29
29
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
|
30
30
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
|
31
|
-
m_LocalScale: {x:
|
|
31
|
+
m_LocalScale: {x: 0.82, y: 0.82, z: 0.82}
|
|
32
32
|
m_ConstrainProportionsScale: 1
|
|
33
33
|
m_Children:
|
|
34
34
|
- {fileID: 3260987079844009583}
|
|
@@ -40,7 +40,7 @@ RectTransform:
|
|
|
40
40
|
m_AnchorMin: {x: 0.5, y: 0.5}
|
|
41
41
|
m_AnchorMax: {x: 0.5, y: 0.5}
|
|
42
42
|
m_AnchoredPosition: {x: 0, y: 0}
|
|
43
|
-
m_SizeDelta: {x: 890.68, y:
|
|
43
|
+
m_SizeDelta: {x: 890.68, y: 854.7493}
|
|
44
44
|
m_Pivot: {x: 0.5, y: 0.5}
|
|
45
45
|
--- !u!222 &5855589522202011792
|
|
46
46
|
CanvasRenderer:
|
|
@@ -130,9 +130,9 @@ RectTransform:
|
|
|
130
130
|
m_Children: []
|
|
131
131
|
m_Father: {fileID: 1314863699767144124}
|
|
132
132
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
133
|
-
m_AnchorMin: {x: 0.5, y:
|
|
134
|
-
m_AnchorMax: {x: 0.5, y:
|
|
135
|
-
m_AnchoredPosition: {x: 0.0000076293945, y: -
|
|
133
|
+
m_AnchorMin: {x: 0.5, y: 0.6192544}
|
|
134
|
+
m_AnchorMax: {x: 0.5, y: 0.6192544}
|
|
135
|
+
m_AnchoredPosition: {x: 0.0000076293945, y: -3}
|
|
136
136
|
m_SizeDelta: {x: 766, y: 150.8242}
|
|
137
137
|
m_Pivot: {x: 0.5, y: 0.5}
|
|
138
138
|
--- !u!222 &4673185574738174376
|
|
@@ -267,10 +267,10 @@ RectTransform:
|
|
|
267
267
|
- {fileID: 8757155083608065361}
|
|
268
268
|
m_Father: {fileID: 1314863699767144124}
|
|
269
269
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
270
|
-
m_AnchorMin: {x: 0.5, y:
|
|
271
|
-
m_AnchorMax: {x: 0.5, y:
|
|
272
|
-
m_AnchoredPosition: {x: 0, y:
|
|
273
|
-
m_SizeDelta: {x: 766, y: 138.
|
|
270
|
+
m_AnchorMin: {x: 0.5, y: 0}
|
|
271
|
+
m_AnchorMax: {x: 0.5, y: 0}
|
|
272
|
+
m_AnchoredPosition: {x: 0, y: 104}
|
|
273
|
+
m_SizeDelta: {x: 766, y: 138.00012}
|
|
274
274
|
m_Pivot: {x: 0.5, y: 0.5}
|
|
275
275
|
--- !u!225 &60913365496353251
|
|
276
276
|
CanvasGroup:
|
|
@@ -316,9 +316,9 @@ RectTransform:
|
|
|
316
316
|
m_Children: []
|
|
317
317
|
m_Father: {fileID: 1314863699767144124}
|
|
318
318
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
319
|
-
m_AnchorMin: {x: 0, y: 1}
|
|
320
|
-
m_AnchorMax: {x: 0, y: 1}
|
|
321
|
-
m_AnchoredPosition: {x:
|
|
319
|
+
m_AnchorMin: {x: 0.5, y: 1}
|
|
320
|
+
m_AnchorMax: {x: 0.5, y: 1}
|
|
321
|
+
m_AnchoredPosition: {x: 0.33999634, y: -144.2}
|
|
322
322
|
m_SizeDelta: {x: 180, y: 180}
|
|
323
323
|
m_Pivot: {x: 0.5, y: 0.5}
|
|
324
324
|
--- !u!222 &1807166882388356321
|
|
@@ -871,7 +871,7 @@ PrefabInstance:
|
|
|
871
871
|
objectReference: {fileID: 0}
|
|
872
872
|
- target: {fileID: 6466996468591858475, guid: 6a53542e1517b294097a062f761d422c, type: 3}
|
|
873
873
|
propertyPath: m_AnchorMax.y
|
|
874
|
-
value: 0.
|
|
874
|
+
value: 0.3654065
|
|
875
875
|
objectReference: {fileID: 0}
|
|
876
876
|
- target: {fileID: 6466996468591858475, guid: 6a53542e1517b294097a062f761d422c, type: 3}
|
|
877
877
|
propertyPath: m_AnchorMin.x
|
|
@@ -879,7 +879,7 @@ PrefabInstance:
|
|
|
879
879
|
objectReference: {fileID: 0}
|
|
880
880
|
- target: {fileID: 6466996468591858475, guid: 6a53542e1517b294097a062f761d422c, type: 3}
|
|
881
881
|
propertyPath: m_AnchorMin.y
|
|
882
|
-
value: 0.
|
|
882
|
+
value: 0.3654065
|
|
883
883
|
objectReference: {fileID: 0}
|
|
884
884
|
- target: {fileID: 6466996468591858475, guid: 6a53542e1517b294097a062f761d422c, type: 3}
|
|
885
885
|
propertyPath: m_SizeDelta.x
|
|
@@ -919,11 +919,11 @@ PrefabInstance:
|
|
|
919
919
|
objectReference: {fileID: 0}
|
|
920
920
|
- target: {fileID: 6466996468591858475, guid: 6a53542e1517b294097a062f761d422c, type: 3}
|
|
921
921
|
propertyPath: m_AnchoredPosition.x
|
|
922
|
-
value: 0
|
|
922
|
+
value: 0
|
|
923
923
|
objectReference: {fileID: 0}
|
|
924
924
|
- target: {fileID: 6466996468591858475, guid: 6a53542e1517b294097a062f761d422c, type: 3}
|
|
925
925
|
propertyPath: m_AnchoredPosition.y
|
|
926
|
-
value:
|
|
926
|
+
value: 2
|
|
927
927
|
objectReference: {fileID: 0}
|
|
928
928
|
- target: {fileID: 6466996468591858475, guid: 6a53542e1517b294097a062f761d422c, type: 3}
|
|
929
929
|
propertyPath: m_LocalEulerAnglesHint.x
|
|
@@ -108,7 +108,6 @@ GameObject:
|
|
|
108
108
|
m_Component:
|
|
109
109
|
- component: {fileID: 7363684731116559227}
|
|
110
110
|
- component: {fileID: 7474295978719854104}
|
|
111
|
-
- component: {fileID: 8927388423251347516}
|
|
112
111
|
- component: {fileID: 4574435796561651467}
|
|
113
112
|
m_Layer: 5
|
|
114
113
|
m_Name: TimeUpModal
|
|
@@ -129,6 +128,7 @@ RectTransform:
|
|
|
129
128
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
|
130
129
|
m_ConstrainProportionsScale: 0
|
|
131
130
|
m_Children:
|
|
131
|
+
- {fileID: 1331577716990815236}
|
|
132
132
|
- {fileID: 7516979272147510967}
|
|
133
133
|
- {fileID: 1499342646007565420}
|
|
134
134
|
m_Father: {fileID: 0}
|
|
@@ -146,7 +146,7 @@ CanvasRenderer:
|
|
|
146
146
|
m_PrefabAsset: {fileID: 0}
|
|
147
147
|
m_GameObject: {fileID: 936452418214250672}
|
|
148
148
|
m_CullTransparentMesh: 1
|
|
149
|
-
--- !u!114 &
|
|
149
|
+
--- !u!114 &4574435796561651467
|
|
150
150
|
MonoBehaviour:
|
|
151
151
|
m_ObjectHideFlags: 0
|
|
152
152
|
m_CorrespondingSourceObject: {fileID: 0}
|
|
@@ -155,6 +155,63 @@ MonoBehaviour:
|
|
|
155
155
|
m_GameObject: {fileID: 936452418214250672}
|
|
156
156
|
m_Enabled: 1
|
|
157
157
|
m_EditorHideFlags: 0
|
|
158
|
+
m_Script: {fileID: 11500000, guid: 7290c98ee8db59446a0d5e5027a82b76, type: 3}
|
|
159
|
+
m_Name:
|
|
160
|
+
m_EditorClassIdentifier:
|
|
161
|
+
--- !u!1 &8007582516861501233
|
|
162
|
+
GameObject:
|
|
163
|
+
m_ObjectHideFlags: 0
|
|
164
|
+
m_CorrespondingSourceObject: {fileID: 0}
|
|
165
|
+
m_PrefabInstance: {fileID: 0}
|
|
166
|
+
m_PrefabAsset: {fileID: 0}
|
|
167
|
+
serializedVersion: 6
|
|
168
|
+
m_Component:
|
|
169
|
+
- component: {fileID: 1331577716990815236}
|
|
170
|
+
- component: {fileID: 501133231201272860}
|
|
171
|
+
- component: {fileID: 139373640498174883}
|
|
172
|
+
m_Layer: 5
|
|
173
|
+
m_Name: BG
|
|
174
|
+
m_TagString: Untagged
|
|
175
|
+
m_Icon: {fileID: 0}
|
|
176
|
+
m_NavMeshLayer: 0
|
|
177
|
+
m_StaticEditorFlags: 0
|
|
178
|
+
m_IsActive: 1
|
|
179
|
+
--- !u!224 &1331577716990815236
|
|
180
|
+
RectTransform:
|
|
181
|
+
m_ObjectHideFlags: 0
|
|
182
|
+
m_CorrespondingSourceObject: {fileID: 0}
|
|
183
|
+
m_PrefabInstance: {fileID: 0}
|
|
184
|
+
m_PrefabAsset: {fileID: 0}
|
|
185
|
+
m_GameObject: {fileID: 8007582516861501233}
|
|
186
|
+
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
|
187
|
+
m_LocalPosition: {x: 0, y: 0, z: 0}
|
|
188
|
+
m_LocalScale: {x: 3, y: 3, z: 3}
|
|
189
|
+
m_ConstrainProportionsScale: 1
|
|
190
|
+
m_Children: []
|
|
191
|
+
m_Father: {fileID: 7363684731116559227}
|
|
192
|
+
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
193
|
+
m_AnchorMin: {x: 0.5, y: 0.5}
|
|
194
|
+
m_AnchorMax: {x: 0.5, y: 0.5}
|
|
195
|
+
m_AnchoredPosition: {x: 0, y: 0}
|
|
196
|
+
m_SizeDelta: {x: 1700.5007, y: 1278}
|
|
197
|
+
m_Pivot: {x: 0.5, y: 0.5}
|
|
198
|
+
--- !u!222 &501133231201272860
|
|
199
|
+
CanvasRenderer:
|
|
200
|
+
m_ObjectHideFlags: 0
|
|
201
|
+
m_CorrespondingSourceObject: {fileID: 0}
|
|
202
|
+
m_PrefabInstance: {fileID: 0}
|
|
203
|
+
m_PrefabAsset: {fileID: 0}
|
|
204
|
+
m_GameObject: {fileID: 8007582516861501233}
|
|
205
|
+
m_CullTransparentMesh: 1
|
|
206
|
+
--- !u!114 &139373640498174883
|
|
207
|
+
MonoBehaviour:
|
|
208
|
+
m_ObjectHideFlags: 0
|
|
209
|
+
m_CorrespondingSourceObject: {fileID: 0}
|
|
210
|
+
m_PrefabInstance: {fileID: 0}
|
|
211
|
+
m_PrefabAsset: {fileID: 0}
|
|
212
|
+
m_GameObject: {fileID: 8007582516861501233}
|
|
213
|
+
m_Enabled: 1
|
|
214
|
+
m_EditorHideFlags: 0
|
|
158
215
|
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
|
159
216
|
m_Name:
|
|
160
217
|
m_EditorClassIdentifier:
|
|
@@ -176,18 +233,6 @@ MonoBehaviour:
|
|
|
176
233
|
m_FillOrigin: 0
|
|
177
234
|
m_UseSpriteMesh: 0
|
|
178
235
|
m_PixelsPerUnitMultiplier: 1
|
|
179
|
-
--- !u!114 &4574435796561651467
|
|
180
|
-
MonoBehaviour:
|
|
181
|
-
m_ObjectHideFlags: 0
|
|
182
|
-
m_CorrespondingSourceObject: {fileID: 0}
|
|
183
|
-
m_PrefabInstance: {fileID: 0}
|
|
184
|
-
m_PrefabAsset: {fileID: 0}
|
|
185
|
-
m_GameObject: {fileID: 936452418214250672}
|
|
186
|
-
m_Enabled: 1
|
|
187
|
-
m_EditorHideFlags: 0
|
|
188
|
-
m_Script: {fileID: 11500000, guid: 7290c98ee8db59446a0d5e5027a82b76, type: 3}
|
|
189
|
-
m_Name:
|
|
190
|
-
m_EditorClassIdentifier:
|
|
191
236
|
--- !u!1001 &3747920875680424434
|
|
192
237
|
PrefabInstance:
|
|
193
238
|
m_ObjectHideFlags: 0
|
|
@@ -97,7 +97,7 @@ namespace Hyper.Internal
|
|
|
97
97
|
|
|
98
98
|
/// <summary>
|
|
99
99
|
/// Error log (red) with HyperSDK prefix.
|
|
100
|
-
///
|
|
100
|
+
/// In HYPER_RELEASE_BUILD WebGL players the SDK disables Unity's debug logger at startup, so this produces no console output there.
|
|
101
101
|
/// </summary>
|
|
102
102
|
public static void LogError(string message, UnityEngine.Object context = null)
|
|
103
103
|
{
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "app.hypergames.hypersdk",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.6.0",
|
|
4
4
|
"displayName": "HyperSDK",
|
|
5
5
|
"description": "Official Unity SDK for Hyper: multiplayer battles, leaderboards, deterministic RNG, session management, tutorials, and WebGL optimizations for production-ready games.",
|
|
6
6
|
"unity": "6000.0",
|