Instead of 'loadAll()' you can also target specific properties. Try 'load()' and and see if the internal Web Scene properties you want to access/change are available. You can also try the various methods available via 'watchUtils' to discover when specific properties are defined or changed. Also, if wanting to modify layer properties that are loaded asynchronously you can use the 'load()' method for only the layers you need to modify. Here is one of many approaches you could take depending on the application and web scene content.
const map = new WebScene({...});
// slides are part of the web scene [not tested] //
watchUtils.whenDefined(map, 'presentation', presentation =>{
if(presentation && presentation.slides){
// do something with slides now that they're available...
}
});
const view = new SceneView({
map: map
});
view.when(()=> {
view.map.layers.forEach(layer => {
if(listOfLayersToChange.includes(layer.title)){
// only wait for load of specific layers you need to change
layer.load().then(()=>{
// change layer settings that were loaded asyncronously
});
}
});
});