app.hypergames.hypersdk 1.11.0-beta.25 → 1.11.0-beta.26

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.26](https://github.com/mvmhyper/hyper-sdk/compare/v1.11.0-beta.25...v1.11.0-beta.26) (2026-09-07)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * **sample:** refine replay integration template ([5a345df](https://github.com/mvmhyper/hyper-sdk/commit/5a345df87d19a6df11af4117fbeed1e21e8e9f9a))
7
+
1
8
  # [1.11.0-beta.25](https://github.com/mvmhyper/hyper-sdk/compare/v1.11.0-beta.24...v1.11.0-beta.25) (2026-09-04)
2
9
 
3
10
 
@@ -134,7 +134,7 @@ Rigidbody:
134
134
  m_ImplicitTensor: 1
135
135
  m_UseGravity: 0
136
136
  m_IsKinematic: 1
137
- m_Interpolate: 0
137
+ m_Interpolate: 1
138
138
  m_Constraints: 0
139
139
  m_CollisionDetection: 0
140
140
  --- !u!114 &3724547471223867592
@@ -134,7 +134,7 @@ Rigidbody:
134
134
  m_ImplicitTensor: 1
135
135
  m_UseGravity: 0
136
136
  m_IsKinematic: 1
137
- m_Interpolate: 0
137
+ m_Interpolate: 1
138
138
  m_Constraints: 0
139
139
  m_CollisionDetection: 0
140
140
  --- !u!114 &6935381596637914183
@@ -13,8 +13,10 @@ deterministic spawning, a timed score multiplier, and replay integration.
13
13
  Assign `LaneRunnerSample` as the Game and Practice scene in Hyper Game Content
14
14
  Config, then use Hyper's Editor game-mode menu to run Practice, Battle, or Replay.
15
15
  Battle sessions record to `hyper-replay.ndjson` in `Application.persistentDataPath`.
16
- Enable Custom Restart Flow in Hyper SDK Settings to test in-place Watch Again and
17
- replay seeking without reloading the scene.
16
+ The sample supports custom replay restarts, but enable **Replay Custom Restart**
17
+ only after repeated Watch Again tests reproduce the original run. Enable
18
+ **Allow Replay Seeking** only after accelerated reconstruction is stable on
19
+ desktop and mobile WebGL.
18
20
 
19
21
  The sample uses only Unity's built-in `Default` layer, `Untagged`, and
20
22
  `MainCamera`. Its collider overrides and ground safety do not require changes to
@@ -40,3 +42,18 @@ HyperSDK.Replay.OnAction += HandleReplayAction;
40
42
 
41
43
  `RecordActivity` records only during active Battle gameplay. The SDK owns replay
42
44
  timestamps, file loading, scheduling, pause handling, progress, and completion.
45
+
46
+ ## Replay integration checklist
47
+
48
+ 1. Read physical input in `Update`, queue commands, and consume them in
49
+ `FixedUpdate` with gameplay and physics.
50
+ 2. Record only commands the game accepts, then route `HyperSDK.Replay.OnAction`
51
+ through the same command path.
52
+ 3. Use `HyperRandom` for gameplay randomness and interpolate moving Rigidbodies
53
+ so fixed simulation still renders smoothly.
54
+ 4. Verify the original replay and repeated Watch Again runs at every supported
55
+ speed on desktop and mobile WebGL.
56
+ 5. Leave **Replay Custom Restart** disabled unless the game clears all gameplay
57
+ state, spawned objects, coroutines, pools, and cached references correctly.
58
+ 6. Leave **Allow Replay Seeking** disabled for physics-heavy games unless their
59
+ accelerated reconstruction has been tested and remains deterministic.
@@ -47,7 +47,7 @@ namespace HyperSamples.LaneRunner
47
47
  }
48
48
 
49
49
  item.Advance(distance);
50
- if (item.transform.position.x < despawnX)
50
+ if (item.PositionX < despawnX)
51
51
  RemoveItemAt(i);
52
52
  }
53
53
 
@@ -2,14 +2,21 @@ using UnityEngine;
2
2
 
3
3
  namespace HyperSamples.LaneRunner
4
4
  {
5
- [RequireComponent(typeof(Collider))]
5
+ [RequireComponent(typeof(Collider), typeof(Rigidbody))]
6
6
  public sealed class LaneRunnerTrackItem : MonoBehaviour
7
7
  {
8
8
  [SerializeField] private bool doubleScorePickup;
9
9
 
10
10
  public bool IsCollected { get; private set; }
11
+ public float PositionX => body.position.x;
11
12
 
12
13
  private LaneRunnerGame game;
14
+ private Rigidbody body;
15
+
16
+ private void Awake()
17
+ {
18
+ body = GetComponent<Rigidbody>();
19
+ }
13
20
 
14
21
  public void Initialize(LaneRunnerGame owner)
15
22
  {
@@ -19,7 +26,7 @@ namespace HyperSamples.LaneRunner
19
26
 
20
27
  public void Advance(float distance)
21
28
  {
22
- transform.position += Vector3.left * distance;
29
+ body.MovePosition(body.position + Vector3.left * distance);
23
30
  }
24
31
 
25
32
  private void OnTriggerEnter(Collider other)
@@ -40,6 +40,7 @@ namespace HyperSamples.LaneRunner
40
40
  private void HandleCustomRestart()
41
41
  {
42
42
  game.Stop();
43
+ // The SDK rewinds replay state and RNG before OnGameStart rebuilds the run.
43
44
  HyperSDK.Game.CompleteCustomRestart();
44
45
  }
45
46
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "app.hypergames.hypersdk",
3
- "version": "1.11.0-beta.25",
3
+ "version": "1.11.0-beta.26",
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",