app.hypergames.hypersdk 1.9.0-exhibition.6 → 1.9.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.
Files changed (67) hide show
  1. package/CHANGELOG.md +91 -19
  2. package/Editor/Scripts/Tools/HyperBuildAssistant.cs +17 -2
  3. package/HyperLoader.unity +3 -3
  4. package/Runtime/Internal/Bootstrap/HyperLoader.cs +5 -12
  5. package/Runtime/Internal/Managers/BackendManager.cs +217 -52
  6. package/Runtime/Internal/Managers/DataManager.cs +39 -4
  7. package/Runtime/Internal/Managers/GameManager.cs +173 -41
  8. package/Runtime/Internal/Managers/TimeManager.cs +71 -20
  9. package/Runtime/Internal/ScriptableObjects/HyperSDKSettings.cs +1 -1
  10. package/Runtime/Internal/UI/Animation/SlideUp.cs +12 -2
  11. package/Runtime/Internal/UI/Components/RoundedRawImage.cs +146 -0
  12. package/Runtime/Internal/UI/Components/RoundedRawImage.cs.meta +11 -0
  13. package/Runtime/Internal/UI/Modals/GameOverModal.cs +6 -1
  14. package/Runtime/Internal/UI/Modals/GamePausedModal.cs +17 -15
  15. package/Runtime/Internal/UI/Modals/TutorialAnnouncementModal.cs +78 -0
  16. package/Runtime/Internal/UI/Modals/TutorialAnnouncementModal.cs.meta +2 -0
  17. package/Runtime/Internal/UI/Modals/TutorialButton.cs +13 -10
  18. package/Runtime/Internal/UI/Modals/TutorialLoaderModal.cs +31 -4
  19. package/Runtime/Internal/UI/Modals/TutorialModal.cs +815 -48
  20. package/Runtime/Internal/Utils/HyperConstants.cs +1 -1
  21. package/Runtime/Plugins/WebGL/HyperTutorialCachePlugin.jslib +37 -51
  22. package/Runtime/Resources/Materials/RoundedRawImage.mat +65 -0
  23. package/Runtime/Resources/Materials/RoundedRawImage.mat.meta +8 -0
  24. package/Runtime/Resources/Materials.meta +8 -0
  25. package/Runtime/Resources/RenderTextures/TutorialVideoTexture P.renderTexture +3 -3
  26. package/Runtime/Resources/Shaders/RoundedRawImage.shader +142 -0
  27. package/Runtime/Resources/Shaders/RoundedRawImage.shader.meta +10 -0
  28. package/Runtime/Resources/Shaders/RoundedStrip.shader +152 -0
  29. package/Runtime/Resources/Shaders/RoundedStrip.shader.meta +10 -0
  30. package/Runtime/Resources/Shaders.meta +8 -0
  31. package/Runtime/Resources/Sprites/Frames/Square.png +0 -0
  32. package/Runtime/Resources/Sprites/{TutorialModal/P Container.png.meta → Frames/Square.png.meta} +35 -18
  33. package/Runtime/Resources/Sprites/Hyper Atlas.spriteatlasv2 +1 -0
  34. package/Runtime/Resources/Sprites/Small Icons/Play.png +0 -0
  35. package/Runtime/Resources/Sprites/{Demo Label.png.meta → Small Icons/Play.png.meta } +11 -11
  36. package/Runtime/Resources/Sprites/TutorialModal/Button_Back.png.meta +1 -1
  37. package/Runtime/Resources/Sprites/TutorialModal/Button_Next.png.meta +1 -1
  38. package/Runtime/Resources/Sprites/TutorialModal/Knob.png.meta +1 -1
  39. package/Runtime/Resources/UIPrefabs/ConnectionStatusBar.prefab +10 -10
  40. package/Runtime/Resources/UIPrefabs/ControlBar.prefab +1 -1
  41. package/Runtime/Resources/UIPrefabs/GamePausedModal_Battle.prefab +123 -25
  42. package/Runtime/Resources/UIPrefabs/GamePausedModal_Battle_Landscape.prefab +251 -82
  43. package/Runtime/Resources/UIPrefabs/GamePausedModal_Practice.prefab +342 -43
  44. package/Runtime/Resources/UIPrefabs/GamePausedModal_Practice_Landscape.prefab +181 -8
  45. package/Runtime/Resources/UIPrefabs/IndicatorCircle.prefab +2 -2
  46. package/Runtime/Resources/UIPrefabs/LoadingFailedModal.prefab +7 -7
  47. package/Runtime/Resources/UIPrefabs/{Hyper Demo Label.prefab → TutorialAnnouncementModal.prefab} +286 -222
  48. package/Runtime/Resources/UIPrefabs/{Hyper Demo Label.prefab.meta → TutorialAnnouncementModal.prefab.meta} +1 -1
  49. package/Runtime/Resources/UIPrefabs/TutorialLandscapeModal.prefab +1612 -1182
  50. package/Runtime/Resources/UIPrefabs/TutorialLandscapeModal.prefab.meta +1 -1
  51. package/Runtime/Resources/UIPrefabs/TutorialPortraitModal.prefab +1423 -962
  52. package/Runtime/Shared/DTOs/TutorialData.cs +18 -1
  53. package/package.json +1 -1
  54. package/Runtime/Resources/Sprites/Demo Label.png +0 -0
  55. package/Runtime/Resources/Sprites/TutorialModal/L Container.png +0 -0
  56. package/Runtime/Resources/Sprites/TutorialModal/L Container.png.meta +0 -169
  57. package/Runtime/Resources/Sprites/TutorialModal/P Container.png +0 -0
  58. package/Runtime/Resources/Sprites/TutorialModal/Time_Seeker_Bar_Empty.png +0 -0
  59. package/Runtime/Resources/Sprites/TutorialModal/Time_Seeker_Bar_Empty.png.meta +0 -156
  60. package/Runtime/Resources/Sprites/TutorialModal/Time_Seeker_Bar_Filled.png +0 -0
  61. package/Runtime/Resources/Sprites/TutorialModal/Time_Seeker_Bar_Filled.png.meta +0 -156
  62. package/Runtime/Resources/Sprites/TutorialModal/Tutorial_Background_Landscape.png +0 -0
  63. package/Runtime/Resources/Sprites/TutorialModal/Tutorial_Background_Landscape.png.meta +0 -169
  64. package/Runtime/Resources/Sprites/TutorialModal/Tutorial_Background_Portrait.png +0 -0
  65. package/Runtime/Resources/Sprites/TutorialModal/Tutorial_Background_Portrait.png.meta +0 -169
  66. package/Runtime/Shared/HyperDemoLabel.cs +0 -14
  67. package/Runtime/Shared/HyperDemoLabel.cs.meta +0 -2
package/CHANGELOG.md CHANGED
@@ -1,54 +1,126 @@
1
- # [1.9.0-exhibition.6](https://github.com/mvmhyper/hyper-sdk/compare/v1.9.0-exhibition.5...v1.9.0-exhibition.6) (2026-06-17)
1
+ # [1.9.0](https://github.com/mvmhyper/hyper-sdk/compare/v1.8.26...v1.9.0) (2026-07-09)
2
+
3
+
4
+ ### Features
5
+
6
+ * tutorial UI update and availability announcement ([6ec7b2e](https://github.com/mvmhyper/hyper-sdk/commit/6ec7b2e5ca0af3af07cc22c6cf23fbd13655c2e6))
7
+
8
+ ## [1.8.26](https://github.com/mvmhyper/hyper-sdk/compare/v1.8.25...v1.8.26) (2026-07-09)
2
9
 
3
10
 
4
11
  ### Bug Fixes
5
12
 
6
- * **loader:** expose custom loading start hook ([83f4d83](https://github.com/mvmhyper/hyper-sdk/commit/83f4d834ce132156240aa3a35702e3ae8c78fe0c))
7
- * reset time scale when loading practice menu ([ae7ae62](https://github.com/mvmhyper/hyper-sdk/commit/ae7ae62b8a8d2b5c4dd6f729e9da1e481140c5fb))
8
- * **safe-area:** add ignore safe area component + upm sync ([0eed7ad](https://github.com/mvmhyper/hyper-sdk/commit/0eed7adb58516563f8c19161f7a4a402cb65eaf9))
9
- * show ping UI in production ([9fe688a](https://github.com/mvmhyper/hyper-sdk/commit/9fe688a51d795ad8180c4bda4e3636d7f8c6dd51))
10
- * **ui:** improve HyperCanvas landscape layout ([d223d81](https://github.com/mvmhyper/hyper-sdk/commit/d223d81f4da6d21420c96da17c134396945d0e87))
13
+ * address SDK publishing issues ([f00551a](https://github.com/mvmhyper/hyper-sdk/commit/f00551a681bf5e1011410677e220ca3c372648dd))
11
14
 
12
- # [1.9.0-exhibition.5](https://github.com/mvmhyper/hyper-sdk/compare/v1.9.0-exhibition.4...v1.9.0-exhibition.5) (2026-05-26)
15
+ ## [1.8.25](https://github.com/mvmhyper/hyper-sdk/compare/v1.8.24...v1.8.25) (2026-07-09)
13
16
 
14
17
 
15
18
  ### Bug Fixes
16
19
 
17
- * sync exhibition SDK with Hyper CLI ([72214a6](https://github.com/mvmhyper/hyper-sdk/commit/72214a6a2da51b3bc9f3bcdf40915c265827ff63))
20
+ * repair SDK publish workflow ([e718b78](https://github.com/mvmhyper/hyper-sdk/commit/e718b78b593abfacf49395e87e780ee0e7529b00))
18
21
 
19
- # [1.9.0-exhibition.4](https://github.com/mvmhyper/hyper-sdk/compare/v1.9.0-exhibition.3...v1.9.0-exhibition.4) (2026-05-21)
22
+ ## [1.8.24](https://github.com/mvmhyper/hyper-sdk/compare/v1.8.23...v1.8.24) (2026-07-09)
20
23
 
21
24
 
22
25
  ### Bug Fixes
23
26
 
24
- * load Hyper Demo Label prefab dynamically from Resources ([f409c04](https://github.com/mvmhyper/hyper-sdk/commit/f409c045f71d7729b2a7384eba0ad900ec7ecc53))
27
+ * simplify tutorial available modal ([5a2056d](https://github.com/mvmhyper/hyper-sdk/commit/5a2056d0cac32028e552b250fc76e2a961a04291))
28
+ * support tutorial announcement modal landscape ([db5e7d6](https://github.com/mvmhyper/hyper-sdk/commit/db5e7d639865fdf14ef74947ac0809b1e167f832))
25
29
 
26
- # [1.9.0-exhibition.3](https://github.com/mvmhyper/hyper-sdk/compare/v1.9.0-exhibition.2...v1.9.0-exhibition.3) (2026-05-21)
30
+ ## [1.8.23](https://github.com/mvmhyper/hyper-sdk/compare/v1.8.22...v1.8.23) (2026-07-08)
27
31
 
28
32
 
29
33
  ### Bug Fixes
30
34
 
31
- * add Hyper Demo Label prefab and assets ([2a686e0](https://github.com/mvmhyper/hyper-sdk/commit/2a686e05d5257eba52ad1d2fdab47972c105856b))
35
+ * signal tutorial availability before cache completes ([7a8d043](https://github.com/mvmhyper/hyper-sdk/commit/7a8d043e016c36007b088535f06ae5f4bb4ae64d))
32
36
 
33
- # [1.9.0-exhibition.2](https://github.com/mvmhyper/hyper-sdk/compare/v1.9.0-exhibition.1...v1.9.0-exhibition.2) (2026-05-01)
37
+ ## [1.8.22](https://github.com/mvmhyper/hyper-sdk/compare/v1.8.21...v1.8.22) (2026-07-08)
34
38
 
35
39
 
36
40
  ### Bug Fixes
37
41
 
38
- * sync UPM package contents with dev SDK updates ([16400be](https://github.com/mvmhyper/hyper-sdk/commit/16400bef4a2488bdabe9efbdd520ef444a478346))
42
+ * add tutorial announcement prompt ([0b5e009](https://github.com/mvmhyper/hyper-sdk/commit/0b5e0099346d144b56d35a39d613e24a776ef11b))
39
43
 
40
- # [1.9.0-exhibition.1](https://github.com/mvmhyper/hyper-sdk/compare/v1.8.10...v1.9.0-exhibition.1) (2026-05-01)
44
+ ## [1.8.21](https://github.com/mvmhyper/hyper-sdk/compare/v1.8.20...v1.8.21) (2026-07-08)
41
45
 
42
46
 
43
47
  ### Bug Fixes
44
48
 
45
- * add exhibition prerelease channel ([cf4fbaa](https://github.com/mvmhyper/hyper-sdk/commit/cf4fbaa69f83ca3cd6b4e9f1c518aa885df72cf8))
49
+ * smooth tutorial loader and media switching ([b4cfbef](https://github.com/mvmhyper/hyper-sdk/commit/b4cfbef45d5544e7c5dfa37f702acb9f7be67548))
46
50
 
51
+ ## [1.8.20](https://github.com/mvmhyper/hyper-sdk/compare/v1.8.19...v1.8.20) (2026-07-07)
47
52
 
48
- ### Features
49
53
 
50
- * **exhibition:** decouple battle/practice exhibition flow from backend submission ([ec44391](https://github.com/mvmhyper/hyper-sdk/commit/ec44391604146582c295c184e02c41550e859925))
51
- * **exhibition:** unify fixed countdown flow for battle and practice ([5a25dff](https://github.com/mvmhyper/hyper-sdk/commit/5a25dffbd1f07e6eb2f1d9e718fcdc040b247a3a))
54
+ ### Bug Fixes
55
+
56
+ * **tutorial:** enhance display with rounded corners ([f240203](https://github.com/mvmhyper/hyper-sdk/commit/f240203d4ad14df7c6c481df1d656ea4bc356ad7))
57
+ * update tutorial modal content flow ([a6fb29b](https://github.com/mvmhyper/hyper-sdk/commit/a6fb29b092cd7902493031c87868df58a9775500))
58
+
59
+ ## [1.8.19](https://github.com/mvmhyper/hyper-sdk/compare/v1.8.18...v1.8.19) (2026-06-23)
60
+
61
+
62
+ ### Bug Fixes
63
+
64
+ * align footer button spacing in SDK pause modal across orientations ([f917e8c](https://github.com/mvmhyper/hyper-sdk/commit/f917e8cce6cd7234fc73bf401629df19cae2ed54))
65
+
66
+ ## [1.8.18](https://github.com/mvmhyper/hyper-sdk/compare/v1.8.17...v1.8.18) (2026-06-22)
67
+
68
+
69
+ ### Bug Fixes
70
+
71
+ * **sdk:** update pause modal exit CTA to submit & exit ([eaf7b46](https://github.com/mvmhyper/hyper-sdk/commit/eaf7b46290c176d61e881f3f45ac5537fb5db419))
72
+
73
+ ## [1.8.17](https://github.com/mvmhyper/hyper-sdk/compare/v1.8.16...v1.8.17) (2026-06-14)
74
+
75
+
76
+ ### Bug Fixes
77
+
78
+ * show ping UI in production ([bdbac8b](https://github.com/mvmhyper/hyper-sdk/commit/bdbac8b07aae39cb1142e4a90b93f0b1d2b97a08))
79
+
80
+ ## [1.8.16](https://github.com/mvmhyper/hyper-sdk/compare/v1.8.15...v1.8.16) (2026-06-11)
81
+
82
+
83
+ ### Bug Fixes
84
+
85
+ * **loader:** expose custom loading start hook ([acdec3a](https://github.com/mvmhyper/hyper-sdk/commit/acdec3a1c484a1b476690f3ac5ca8e38877915a6))
86
+ * **safe-area:** add ignore safe area component + upm sync ([9c1ea51](https://github.com/mvmhyper/hyper-sdk/commit/9c1ea5165c7b5bb4e97396ff0e7d375db52a1041))
87
+ * **ui:** improve HyperCanvas landscape layout ([2a3ba8c](https://github.com/mvmhyper/hyper-sdk/commit/2a3ba8c2fa753bc5ab13934c49ba0dee0571814d))
88
+
89
+ ## [1.8.15](https://github.com/mvmhyper/hyper-sdk/compare/v1.8.14...v1.8.15) (2026-06-04)
90
+
91
+
92
+ ### Bug Fixes
93
+
94
+ * derive SDK session timer from backend remaining time ([d1f79a8](https://github.com/mvmhyper/hyper-sdk/commit/d1f79a814c17828faf6590baf46c925dd7d47b80))
95
+
96
+ ## [1.8.14](https://github.com/mvmhyper/hyper-sdk/compare/v1.8.13...v1.8.14) (2026-05-14)
97
+
98
+
99
+ ### Bug Fixes
100
+
101
+ * harden Hyper build validation for CLI runs ([de27fe9](https://github.com/mvmhyper/hyper-sdk/commit/de27fe9ca09073e0214d404dee0f5c350b2c0af1))
102
+ * make Hyper build pipeline callable from CLI ([1f6545c](https://github.com/mvmhyper/hyper-sdk/commit/1f6545c1492c7a00cf94524ec72b5469acf46c7c))
103
+
104
+ ## [1.8.13](https://github.com/mvmhyper/hyper-sdk/compare/v1.8.12...v1.8.13) (2026-05-13)
105
+
106
+
107
+ ### Bug Fixes
108
+
109
+ * reset time scale when loading practice menu ([1db0bb4](https://github.com/mvmhyper/hyper-sdk/commit/1db0bb433700cb6b6be61586f4ea4e80df67265a))
110
+
111
+ ## [1.8.12](https://github.com/mvmhyper/hyper-sdk/compare/v1.8.11...v1.8.12) (2026-05-13)
112
+
113
+
114
+ ### Bug Fixes
115
+
116
+ * reduce default session timeout to 29 minutes for v1.8.12 ([5567770](https://github.com/mvmhyper/hyper-sdk/commit/5567770fbbecb7444cd3bfac446f3ea1b0454601))
117
+
118
+ ## [1.8.11](https://github.com/mvmhyper/hyper-sdk/compare/v1.8.10...v1.8.11) (2026-04-30)
119
+
120
+
121
+ ### Bug Fixes
122
+
123
+ * normalize score ordering and prevent duplicate final score delta ([ad47380](https://github.com/mvmhyper/hyper-sdk/commit/ad47380e7af6d3c6323a53732bc56d2c0fd545fa))
52
124
 
53
125
  ## [1.8.10](https://github.com/mvmhyper/hyper-sdk/compare/v1.8.9...v1.8.10) (2026-04-22)
54
126
 
@@ -102,6 +102,21 @@ namespace Hyper.Editor
102
102
  private const string PREFS_BUILD_ASSETS = "HyperSDK.LastBuildAssets";
103
103
  private const string PREFS_BUILD_OPTIMIZATIONS = "HyperSDK.LastBuildOptimizations";
104
104
 
105
+ private struct BuildSettingsSnapshot
106
+ {
107
+ public bool hasCodeOptimization;
108
+ public object codeOptimizationValue;
109
+
110
+ public bool hasDebugSymbolMode;
111
+ public object debugSymbolModeValue;
112
+
113
+ public bool hasExceptionSupport;
114
+ public WebGLExceptionSupport exceptionSupportValue;
115
+
116
+ public bool hasIl2CppCodeGeneration;
117
+ public Il2CppCodeGeneration il2CppCodeGenerationValue;
118
+ }
119
+
105
120
  #endregion
106
121
 
107
122
  #region Styles
@@ -1764,7 +1779,7 @@ namespace Hyper.Editor
1764
1779
  EditorUtility.DisplayDialog("Development Build Failed", result.Message, "OK");
1765
1780
  }
1766
1781
  }
1767
-
1782
+
1768
1783
  private static void BuildRelease()
1769
1784
  {
1770
1785
  if (EditorApplication.isCompiling)
@@ -2692,4 +2707,4 @@ namespace Hyper.Editor
2692
2707
  }
2693
2708
  }
2694
2709
 
2695
- #endif
2710
+ #endif
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: 1059.0492, y: -280.1698}
307
+ m_AnchoredPosition: {x: 489.112, 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_639142756136327602
843
+ m_Name: __HyperSDK_BuildMarker_639190246458492972
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: 1059.0492, y: -133.2274}
1095
+ m_AnchoredPosition: {x: 489.112, 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
@@ -30,7 +30,6 @@ namespace Hyper.Internal
30
30
  #region Private Fields
31
31
 
32
32
  private Slider _loadingBarSlider;
33
- private HyperDemoLabel _demoLabel;
34
33
  private HyperGameContentConfig _gameContentConfig;
35
34
  private Coroutine _bootstrapCoroutine;
36
35
  private AspectRatioFitter _aspectRatioFitter;
@@ -58,7 +57,6 @@ namespace Hyper.Internal
58
57
 
59
58
  HyperRuntime.Clear();
60
59
 
61
- LoadDemoLabel();
62
60
  InitializeComponents();
63
61
  LoadConfiguration();
64
62
  SetupSplashScreen();
@@ -95,14 +93,6 @@ namespace Hyper.Internal
95
93
 
96
94
  _aspectRatioFitter = gamePoster?.GetComponent<AspectRatioFitter>();
97
95
  }
98
-
99
- private void LoadDemoLabel()
100
- {
101
- // Load demo label from resources (if exists) and set it on the UI
102
- var demoLabel = LoadResourceFromAssets<HyperDemoLabel>("Hyper Demo Label");
103
- var instantiatedDemoLabel = Instantiate(demoLabel, null);
104
- instantiatedDemoLabel.name = demoLabel.name.Trim();
105
- }
106
96
 
107
97
  private void LoadConfiguration()
108
98
  {
@@ -273,6 +263,9 @@ namespace Hyper.Internal
273
263
  _bootstrapProgress = _progressAfterInit;
274
264
  _loadingBarSlider.value = _bootstrapProgress;
275
265
 
266
+ // Start tutorial discovery early, but never wait for it before loading gameplay.
267
+ HyperRuntime.BackendManager.GetTutorial(null);
268
+
276
269
  // Step 2: Handle Backend/PVP or Practice mode initialization
277
270
  if (_gameManager.Config.IsBackendGame && _gameManager.Config.isPVP)
278
271
  {
@@ -338,7 +331,7 @@ namespace Hyper.Internal
338
331
  private void InitializeNonBackendBattle()
339
332
  {
340
333
  _targetSceneName = _gameContentConfig.GameScene?.SceneName;
341
- long seed = 520;
334
+ long seed = GetRandomSeed();
342
335
  _backendManager.RegisterSeed(seed);
343
336
  }
344
337
 
@@ -485,4 +478,4 @@ namespace Hyper.Internal
485
478
 
486
479
  #endregion
487
480
  }
488
- }
481
+ }