How to Clean Scene

In other words, I want to destroy everything in scenes, such as light camera mesh and so on. Because I need to update the scene when the mesh rootUrl changes.

For example, this is an example of babylonjs.


var createScene = function () {
    var scene = new BABYLON.Scene(engine);

    //Adding a light
    var light = new BABYLON.PointLight("Omni", new BABYLON.Vector3(20, 20, 100), scene);

    //Adding an Arc Rotate Camera
    var camera = new BABYLON.ArcRotateCamera("Camera", 0, 0.8, 100, BABYLON.Vector3.Zero(), scene);
    camera.attachControl(canvas, false);

    // The first parameter can be used to specify which mesh to import. Here we import all meshes
    BABYLON.SceneLoader.ImportMesh("", "scenes/", "skull.babylon", scene, function (newMeshes) {
        // Set the target of the camera to the first imported mesh = newMeshes[0];

    // Move the light with the camera
    scene.registerBeforeRender(function () {
        light.position = camera.position;

    return scene;

After a while, the rootUrl of mesh may not be “scenes /”, for example “static /”, How can I update scene?

hello and welcome,
the idea here would be to dispose the scene (scene.dispose()) and create a new one.