Skip to content

[QA] Video pause-on-freeze broken cross-platform β€” doesn't resume correctly (Mac) / never plays at all (Windows)Β #1480

Description

@balducciv

πŸ› οΈ Build version:

Decentraland Creator Hub 0.45.0 (fix/bevy branch) β€” PR #1463, item "Video pause on freeze" (#1469)

πŸ“” Issue Description:

Per #1469, freezing the Bevy editor scene should pause an in-scene video, resuming correctly on unfreeze. Confirmed broken on both platforms tested, with different symptoms:

  • macOS: video plays normally, but pausing (freezing) then unfreezing restarts the video from the beginning instead of resuming from where it paused.
  • Windows: video does not play at all in the Bevy client β€” not yet confirmed whether this is specific to the freeze feature or a more fundamental Windows video-playback issue independent of freezing.

πŸ‘£ STR (macOS):

  1. Play a scene containing a video
  2. Freeze the scene mid-playback (pause button)
  3. Unfreeze (unpause - resume)
  4. Observe: video restarts from 0:00 instead of continuing

πŸ‘£ STR (Windows):

  1. Play a scene containing a video in the Bevy editor on Windows
  2. Observe: video never begins playing at all

βœ”οΈ Expected Result:

Video pauses on freeze and resumes from the same point on unfreeze, on both platforms.

❌ Actual Result with evidence:

macOS: restarts from zero on resume. Windows: never plays in the first place.

βž— Reproduction:

πŸ” Always, both platforms

πŸ–₯️ Operative system and additional Notes:

macOS [confirm chip] + Windows 11 (Daf). Worth dev input on whether the Windows "never plays" symptom shares a root cause with the Mac "resumes from zero" symptom, or whether Windows has a separate, more fundamental video-playback issue unrelated to freeze β€” recommend confirming whether Windows Bevy video playback works at all outside the freeze feature, to isolate.

10.08.2026_09.14.40_REC.video.pause.stop.mp4

Example src/index.ts

import { engine, Transform, MeshRenderer, MeshCollider, pointerEventsSystem, InputAction } from '@dcl/sdk/ecs'
import { Quaternion } from '@dcl/sdk/math'

const cube = engine.addEntity()
Transform.create(cube, { position: { x: 8, y: 1, z: 8 } })
MeshRenderer.setBox(cube)
MeshCollider.setBox(cube)

// System: rotates the cube continuously every frame
engine.addSystem((dt) => {
  const t = Transform.getMutable(cube)
  t.rotation = Quaternion.multiply(
    t.rotation,
    Quaternion.fromAngleAxis(dt * 45, { x: 0, y: 1, z: 0 })
  )
})

// Pointer event: clicking the cube moves it up
pointerEventsSystem.onPointerDown(
  {
    entity: cube,
    opts: { button: InputAction.IA_POINTER, hoverText: 'Click to jump' }
  },
  () => {
    const t = Transform.getMutable(cube)
    t.position.y += 1
  }
)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    Projects

    Status
    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions