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

1 Like

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

1 Like

Product: Bitmovin Player – SpatialNavigation
Platforms Affected: All HTML-based Smart TVs (Tizen, webOS, VIDAA, etc.)

Issue:
Smart TV apps often require temporarily disabling navigation (e.g., when opening modals). Currently, spatialNavigation.release() is the only option, which fully destroys the instance. This forces developers to rebuild all navigation groups and relationships, adding complexity and performance cost.

Request:
Please add support for pausing and resuming SpatialNavigation without destroying state. Preferred options:

  • Option 1 (Preferred):

    spatialNavigation.pause();   // Temporarily disable
    spatialNavigation.resume();  // Restore with preserved config
    
  • Option 2:
    spatialNavigation.reinitialize(); – Reset navigation while keeping configuration.

  • Option 3:
    disableEventListeners() / enableEventListeners() – Manage focus handling more granularly.

Value:
This would greatly simplify navigation management in Smart TV apps and enhance integration flexibility across all supported platforms.

Best regards.