Context Capture produced Cesium tiles don't display when hosted online

Hi There,
I am new to Cesium and to java script/web development so excuse my ignorance. I have searched the group but can't find an answer.

1. A concise explanation of the problem you're experiencing.

I have exported Cesium ready tiles/app from context capture and I have successfully built the Cesium environment on my C drive and hosted the app locally. tiles display fine except for a height issue that I am yet to fix.

My issue is I have uploaded the project to my web domain and the tiles do not load/display. Pathing to my scene data json in the main.js is correct as far as I can tell?

2. A minimal code example. If you've found a bug, this helps us reproduce and repair it.


<!DOCTYPE html>
<html lang="en">
  <!-- Use correct character set. -->
  <meta charset="utf-8">
  <!-- Tell IE to use the latest, best version. -->
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <!-- Make the application on mobile take up the full browser screen and disable user scaling. -->
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no">
  <title>404 Old Byron Bay Road_Without_Control_pts_CESIUM - Cesium 3D Tiles generated from Bentley ContextCapture</title>
  <script src="Cesium/Cesium.js"></script>
    @import url(Cesium/Widgets/widgets.css);

    html, body, #cesiumContainer {
      width: 100%;
      height: 100%;
      margin: 0;
      padding: 0;
      overflow: hidden;
  <div id="cesiumContainer"></div>
  <script src="main.js"></script>



// Get your own Bing Maps API key at, prior to publishing your Cesium application:
Cesium.BingMapsApi.defaultKey = 'put your API key here';

// Construct the default list of terrain sources.
var terrainModels = Cesium.createDefaultTerrainProviderViewModels();

// Construct the viewer with just what we need for this base application
var viewer = new Cesium.Viewer('cesiumContainer', {
  terrainProviderViewModels: terrainModels,
  selectedTerrainProviderViewModel: terrainModels[1] // Select STK high-res terrain

// No depth testing against the terrain to avoid z-fighting
viewer.scene.globe.depthTestAgainstTerrain = false;

// Add credit to Bentley
viewer.scene.frameState.creditDisplay.addDefaultCredit(new Cesium.Credit(‘Cesium 3D Tiles produced by Bentley ContextCapture’, ‘Resources/logoBentley.png’, ‘’));

// Bounding sphere
var boundingSphere = new Cesium.BoundingSphere(Cesium.Cartesian3.fromDegrees(153.5562881, -28.7147026, 49.49226305), 500.7051185);

// Override behavior of home button
viewer.homeButton.viewModel.command.beforeExecute.addEventListener(function(commandInfo) {
  // Fly to custom position;

  // Tell the home button not to do anything
  commandInfo.cancel = true;

// Set custom initial position, {duration: 0});

* @bsimethod
// Functions to adapt screen space error and memory use to the device
var isMobile = {
  Android: function() {
    return navigator.userAgent.match(/Android/i);
  BlackBerry: function() {
    return navigator.userAgent.match(/BlackBerry/i);
  iOS: function() {
    return navigator.userAgent.match(/iPhone|iPad|iPod/i);
  Opera: function() {
    return navigator.userAgent.match(/Opera Mini/i);
  Windows: function() {
    return navigator.userAgent.match(/IEMobile/i);
  any: function() {
    return (isMobile.Android() || isMobile.BlackBerry() || isMobile.iOS() || isMobile.Opera() || isMobile.Windows());

// Add tileset. Do not forget to reduce the default screen space error to 1
var tileset = viewer.scene.primitives.add(new Cesium.Cesium3DTileset({
  url: '../App404OldByronBayRoad/Scene/404_Old_Byron_Bay_Road_Without_Control_pts_CESIUM.json',
  maximumScreenSpaceError : isMobile.any() ? 8 : 1, // Temporary workaround for low memory mobile devices - Increase maximum error to 8.
  maximumNumberOfLoadedTiles : isMobile.any() ? 10 : 1000 // Temporary workaround for low memory mobile devices - Decrease (disable) tile cache.

3. Context. Why do you need to do this? We might know a better way to accomplish your goal.

4. The Cesium version you're using, your operating system and browser.

Local build of Cesium is 1.45 but unsure of the version that Context Capture produced. Windows 7 enterprise, Chrome

Any help would be very much appreciated..


My web server settings needed to be updated - the MIME list needed to include: application/b3dm .b3dm & application/json .json

Hopefully this helps some other newbie…

Awesome, glad you solved it and thanks for posting your solution!

For reference, Cesium’s web.config file is here.