app.hypergames.hypersdk 1.11.0-beta.15 → 1.11.0-beta.16

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,10 @@
1
+ # [1.11.0-beta.16](https://github.com/mvmhyper/hyper-sdk/compare/v1.11.0-beta.15...v1.11.0-beta.16) (2026-08-31)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * **replay:** show seek preparation progress ([60213f7](https://github.com/mvmhyper/hyper-sdk/commit/60213f784c5bff39da4634590545fe4d0e4c0911))
7
+
1
8
  # [1.11.0-beta.15](https://github.com/mvmhyper/hyper-sdk/compare/v1.11.0-beta.14...v1.11.0-beta.15) (2026-08-31)
2
9
 
3
10
 
@@ -21,6 +21,8 @@ namespace Hyper.Internal
21
21
  [SerializeField] private float[] playbackSpeeds = { 1.5f, 2f, 3f, 4f, 5f, 1f };
22
22
  [SerializeField, Min(1f)] private float seekPlaybackSpeed = 10f;
23
23
  [SerializeField, Range(0.25f, 1f)] private float seekSnapshotScale = 0.55f;
24
+ [SerializeField, Range(0f, 0.5f)] private float seekPreparationProgress = 0.2f;
25
+ [SerializeField, Min(0.1f)] private float seekPreparationDuration = 1f;
24
26
  [SerializeField] private GameObject seekLoadingOverlay;
25
27
  [SerializeField] private RawImage seekSnapshotImage;
26
28
 
@@ -33,6 +35,7 @@ namespace Hyper.Internal
33
35
  private Image seekOverlayBackground;
34
36
  private Color seekOverlayBackgroundColor;
35
37
  private ReplaySeekOverlay seekOverlay;
38
+ private static float displayedSeekProgress;
36
39
 
37
40
  private void Awake()
38
41
  {
@@ -195,6 +198,7 @@ namespace Hyper.Internal
195
198
 
196
199
  float resumeSpeed = SanitizePlaybackSpeed(ReplaySessionState.UserPlaybackSpeed);
197
200
  float fastForwardSpeed = SanitizePlaybackSpeed(seekPlaybackSpeed);
201
+ displayedSeekProgress = 0f;
198
202
  StartCoroutine(CaptureAndSeek(targetProgress, resumeSpeed, fastForwardSpeed));
199
203
  }
200
204
 
@@ -420,17 +424,32 @@ namespace Hyper.Internal
420
424
  {
421
425
  if (seekOverlay == null) return;
422
426
 
423
- float progress = 0f;
427
+ float progress;
424
428
  if (!isSeeking)
425
429
  {
426
430
  progress = 1f;
427
431
  }
428
- else if (!isCapturingSeek && !ReplaySessionState.IsSeekRestartPending)
432
+ else if (isCapturingSeek || ReplaySessionState.IsSeekRestartPending)
433
+ {
434
+ float duration = Mathf.Max(0.1f, seekPreparationDuration);
435
+ displayedSeekProgress = Mathf.MoveTowards(
436
+ displayedSeekProgress,
437
+ seekPreparationProgress,
438
+ seekPreparationProgress * Time.unscaledDeltaTime / duration);
439
+ progress = displayedSeekProgress;
440
+ }
441
+ else
429
442
  {
430
443
  float target = ReplaySessionState.SeekTarget01;
431
- progress = target <= Mathf.Epsilon
444
+ float reconstructionProgress = target <= Mathf.Epsilon
432
445
  ? 1f
433
446
  : ReplaySessionState.Progress01 / target;
447
+ float realProgress = Mathf.Lerp(
448
+ seekPreparationProgress,
449
+ 1f,
450
+ Mathf.Clamp01(reconstructionProgress));
451
+ displayedSeekProgress = Mathf.Max(displayedSeekProgress, realProgress);
452
+ progress = displayedSeekProgress;
434
453
  }
435
454
 
436
455
  seekOverlay.SetProgress(progress);
@@ -319,6 +319,8 @@ MonoBehaviour:
319
319
  - 0.5
320
320
  seekPlaybackSpeed: 10
321
321
  seekSnapshotScale: 0.725
322
+ seekPreparationProgress: 0.2
323
+ seekPreparationDuration: 1
322
324
  seekLoadingOverlay: {fileID: 0}
323
325
  seekSnapshotImage: {fileID: 0}
324
326
  --- !u!1 &1862654115017658012
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "app.hypergames.hypersdk",
3
- "version": "1.11.0-beta.15",
3
+ "version": "1.11.0-beta.16",
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",