Is it possible to create fully local version of Babylon Viewer?

There are situations when users have no access to Internet, or this access is specially restricted.
Here is the screenshot of working viewer example when Internet is off.

Is it possible to provide to users fully local version of Babylon Viewer?
(without need for them to make additional coding or templating)?

Pinging @RaananW (But don’t hold your breath as he is on vacation :))

Seems like it is the resources that are missing. The configuration files only use relative paths, so if you host it locally it will work as well.

But I guess the question is not about a local version but an “no internet” version. That can be a little tricky. As the viewer is an embedded tool, I don’t think it would be a good idea to store downloadable assets per default.

How are you testing it? seeing the debugger, it feels like you set the network throttle to disconnect from the internet after loading the .js file or using cache (otherwise the domain used to load the assets was not

Here is another screenshot, from Opera.
Internet is off. Localhost is on.
After loading the viewer from local file seems that it needs some more files in order to work properly.
So the question is how to make a version which would be completely independent from any external sources.
(Also, in some CMS there is the requirement for plugins that they should provide the ability to work without external links).


this is because the default assetsRootURL is the viewer’s domain. You can define the root url (part of the scene configuration - Babylon.js/sceneConfiguration.ts at master · BabylonJS/Babylon.js ( to be localhost to host your own assets. If you only change this, the directory structure should stay the same.

Would that work out in your case?

Seems that this may be not a trivial task for unprepared user :slight_smile:
Here is the list of some external assets which Viewer wants to load:


Some of those are related to different aspects of the viewer (for example the XR controllers and hands which you probably don’t need). Some are not needed as well. When I look at your console output, the network errors all refer to, which is the base URL for the assets. The rest are actually coming from Babylon itself.
How did you generate this list?