Add Pause/Resume or Reinitialize Methods to SpatialNavigation Component

I confirm this is a Feature Request and NOT a support/technical query. Please use your Bitmovin Dashboard for raising support tickets.

on

Which product is your request related to?

Player

Description

Problem Description:
The current SpatialNavigation component in Bitmovin Player lacks the ability to temporarily disable and re-enable spatial navigation without completely destroying the instance. This creates significant technical challenges when integrating with Smart TV applications that need to manage multiple navigation contexts.

Current Limitation:
Currently, when developers need to temporarily disable spatial navigation (e.g., to show a modal with its own navigation), the only available method is:

spatialNavigation.release() - which completely destroys the instance and removes all event listeners. To restore navigation, developers must:

  1. Completely recreate all navigation groups
  2. Instantiate a new SpatialNavigation object
  3. Reconfigure all navigation relationships

Affected Platforms
This issue impacts all HTML-based Smart TV platforms:

Samsung Tizen (Tizen 2.4+)
LG webOS (webOS 3.0+)
Hisense VIDAA
Other HTML5-based Smart TV platforms

Requested Solution
We request one of the following solutions:

Option 1: Pause/Resume Methods (Preferred)
// Temporarily disable navigation without destroying instance
spatialNavigation.pause();

// Re-enable navigation with preserved state
spatialNavigation.resume();

Option 2: Reinitialize Method
// Reset navigation while preserving configuration
spatialNavigation.reinitialize();

Option 3: Event Listener Management
// Temporarily remove document event listeners
spatialNavigation.disableEventListeners();

// Restore event listeners
spatialNavigation.enableEventListeners();

This feature request addresses a fundamental limitation that affects the navigation behavior and would provide substantial value to the SmartTv community.

Best regards

Hey Nassim, thanks for sending this feature request. Let me have a look into it with our team and let you know how we can help.

Thanks,
James

Hi Nassim, we believe options 1 or 3 are the best approaches. Both methods would have the same effect but option 1 would abstract the event listener handling into more general pause/resume methods.

We don’t currently have a timeline for adding these new methods but we’ll let you know as & when we do.

In the meantime, our UI project is open source and so it would be possible to add these new methods into the UI, either in a private fork or as a contribution.

Thanks,
James