app.hypergames.hypersdk 1.8.11 → 1.8.13

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 CHANGED
@@ -1,3 +1,17 @@
1
+ ## [1.8.13](https://github.com/mvmhyper/hyper-sdk/compare/v1.8.12...v1.8.13) (2026-05-13)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * reset time scale when loading practice menu ([1db0bb4](https://github.com/mvmhyper/hyper-sdk/commit/1db0bb433700cb6b6be61586f4ea4e80df67265a))
7
+
8
+ ## [1.8.12](https://github.com/mvmhyper/hyper-sdk/compare/v1.8.11...v1.8.12) (2026-05-13)
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * reduce default session timeout to 29 minutes for v1.8.12 ([5567770](https://github.com/mvmhyper/hyper-sdk/commit/5567770fbbecb7444cd3bfac446f3ea1b0454601))
14
+
1
15
  ## [1.8.11](https://github.com/mvmhyper/hyper-sdk/compare/v1.8.10...v1.8.11) (2026-04-30)
2
16
 
3
17
 
package/HyperLoader.unity CHANGED
@@ -304,7 +304,7 @@ RectTransform:
304
304
  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
305
305
  m_AnchorMin: {x: 0, y: 1}
306
306
  m_AnchorMax: {x: 0, y: 1}
307
- m_AnchoredPosition: {x: 489.45853, y: -280.1698}
307
+ m_AnchoredPosition: {x: 489.20746, y: -280.1698}
308
308
  m_SizeDelta: {x: 1044.9, y: 239.347}
309
309
  m_Pivot: {x: 0.5, y: 0.5}
310
310
  --- !u!114 &751153944
@@ -840,7 +840,7 @@ GameObject:
840
840
  m_Component:
841
841
  - component: {fileID: 1064166296}
842
842
  m_Layer: 0
843
- m_Name: __HyperSDK_BuildMarker_639122897878079609
843
+ m_Name: __HyperSDK_BuildMarker_639142756136327602
844
844
  m_TagString: Untagged
845
845
  m_Icon: {fileID: 0}
846
846
  m_NavMeshLayer: 0
@@ -1092,7 +1092,7 @@ RectTransform:
1092
1092
  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
1093
1093
  m_AnchorMin: {x: 0, y: 1}
1094
1094
  m_AnchorMax: {x: 0, y: 1}
1095
- m_AnchoredPosition: {x: 489.45853, y: -133.2274}
1095
+ m_AnchoredPosition: {x: 489.20746, y: -133.2274}
1096
1096
  m_SizeDelta: {x: 875, y: 54.5378}
1097
1097
  m_Pivot: {x: 0.5, y: 0.5}
1098
1098
  --- !u!1 &2874543288936963705
@@ -517,6 +517,8 @@ namespace Hyper.Internal.Managers
517
517
  {
518
518
  if (!HyperRuntime.GameContent.IsPracticeMenu) return;
519
519
 
520
+ Time.timeScale = 1f;
521
+
520
522
  if (HyperRuntime.GameContent.HasTransitionScene)
521
523
  {
522
524
  HyperRuntime.GameManager.HidePauseModals();
@@ -1304,7 +1306,7 @@ namespace Hyper.Internal.Managers
1304
1306
 
1305
1307
  if (IsBattleMode)
1306
1308
  {
1307
- HyperRuntime.Timer.StopAllTimers();
1309
+ HyperRuntime.Timer.PauseGameplayTimers();
1308
1310
 
1309
1311
  if (isPortrait)
1310
1312
  {
@@ -1319,7 +1321,7 @@ namespace Hyper.Internal.Managers
1319
1321
  }
1320
1322
  else
1321
1323
  {
1322
- HyperRuntime.Timer.StopAllTimers();
1324
+ HyperRuntime.Timer.PauseGameplayTimers();
1323
1325
 
1324
1326
  if (isPortrait)
1325
1327
  {
@@ -1408,9 +1410,16 @@ namespace Hyper.Internal.Managers
1408
1410
  private IEnumerator ShowTimeUpSequence()
1409
1411
  {
1410
1412
  yield return new WaitForSecondsRealtime(0.25f);
1413
+ _isPaused = false;
1411
1414
  HidePauseModals();
1412
1415
  yield return new WaitForSecondsRealtime(0.25f);
1413
1416
  ShowTimeUpModalInternal();
1417
+ if (!_isFrozenBeforePause)
1418
+ {
1419
+ Time.timeScale = _savedTimeScaleBeforePause;
1420
+ }
1421
+
1422
+ _isFrozenBeforePause = false;
1414
1423
  }
1415
1424
 
1416
1425
  private void EnsureTimeUpModal()
@@ -130,6 +130,16 @@ namespace Hyper.Internal.Managers
130
130
  StopPractice();
131
131
  }
132
132
 
133
+ /// <summary>
134
+ /// Pause menu: freeze match/practice clocks without marking the match ended,
135
+ /// so session time can continue and cap the effective battle clock while paused.
136
+ /// </summary>
137
+ public void PauseGameplayTimers()
138
+ {
139
+ StopBattle();
140
+ StopPractice();
141
+ }
142
+
133
143
  public void StartPreSessionTimer()
134
144
  {
135
145
  StartSessionTimer(true);
@@ -204,6 +214,14 @@ namespace Hyper.Internal.Managers
204
214
  {
205
215
  if (_isBattleRunning)
206
216
  {
217
+ if (_gameManager.Config.GameMode == GameMode.Battle &&
218
+ _hasGameStarted &&
219
+ _isPreSessionRunning &&
220
+ _sessionTimer <= _battleTimer)
221
+ {
222
+ _battleTimer = _sessionTimer;
223
+ }
224
+
207
225
  _battleTimer -= delta;
208
226
  if (_battleTimer <= 0)
209
227
  {
@@ -259,7 +277,20 @@ namespace Hyper.Internal.Managers
259
277
  _sessionTimer = 0;
260
278
  _isSessionRunning = false;
261
279
  _isPreSessionRunning = false;
262
- _eventManager?.InvokeSessionTimeOutEvent();
280
+
281
+ if (_hasGameStarted && _gameManager.Config.GameMode == GameMode.Battle)
282
+ {
283
+ _battleTimer = 0;
284
+ if (!_timeUpTriggered)
285
+ {
286
+ _timeUpTriggered = true;
287
+ _eventManager?.InvokeTimeUpEvent();
288
+ }
289
+ }
290
+ else
291
+ {
292
+ _eventManager?.InvokeSessionTimeOutEvent();
293
+ }
263
294
  }
264
295
  }
265
296
 
@@ -13,7 +13,7 @@ namespace Hyper.Internal
13
13
 
14
14
  #region Timer Configuration
15
15
 
16
- public const float SESSION_DURATION = 1800f; // 30 minutes
16
+ public const float SESSION_DURATION = 1740f; // 29 minutes (1740 seconds)
17
17
 
18
18
  #endregion
19
19
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "app.hypergames.hypersdk",
3
- "version": "1.8.11",
3
+ "version": "1.8.13",
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",