Left clicking and color picking for 3D Tiles Next

Hello all, I am currently attempting to add user interaction capabilities to my tileset via CesiumJS. Specifically, I am trying to achieve two things, which are not working:

  1. change the picked feature colors when mouse over or clicked
  2. show an infobox or anything when left clicking on a feature

For some context, I have generated tilesets to load BIM models into the Cesium viewer. This is done by converting BIM to glTF and subsequently, placing both glTF and metadata into the 3D Tiles Next format. The building model contains furnitures, that I have separated into individual glTF files to retain their individual properties and enable picking separately. I have split one building model into two tilesets for now (as I want to hide my ceilings for visualisation purposes). I have attached a sample/anonymised building tileset to provide more information.
cesium.zip (61.8 KB)

  1. overall building structure (minus ceiling)
  2. ceiling/roof

At present, I have look at the sample Sandcastle code and done research on the various related forums. I have managed to retrieve the mouseover following 3d-tiles-samples/1.1/MetadataGranularities at main · CesiumGS/3d-tiles-samples · GitHub

However, I am unable to change the color of the picked feature like Cesium Sandcastle or Cesium Sandcastle. I have narrowed it down to either getting the right material in the glTF file or the right element from viewer.scene.pick(movement.endPosition). I have also tried postprocessing with silhoettes but they seem to only highlight the entire building rather than individual asset. I am at a loss how to proceed from here.

Second, the viewer does not seem to process left click mouse input for any feature, and I am unable to proceed further. Does anyone knows what I am doing wrong with this? The below code works in related Sandcastle applications but does not work locally

handler.setInputAction(function (movement) {       
      const pickedFeature = viewer.scene.pick(movement.endPosition); 
      if (pickedFeature instanceof Cesium.Cesium3DTileFeature) { 
        window.alert("This works!");
      }  
    }, Cesium.ScreenSpaceEventType.LEFT_CLICK);

Thank you in advance for the help!