unload a scene and load another scene with a trigger

how is possible to unload the current scene and load another scene when player is triggered with a 2d box collider?
the following two methods are not working . help me please. thanks.

private void OnTriggerEnter2D(Collider2D other)
    {
        if (other.CompareTag("Player"))
        {
            MiniGameFinished(3);
        }
    }


    public void MiniGameFinished(int index)
    {
        Player3D.threedLevelPause = false;
        SceneManager.UnloadScene(index);

        AsyncOperation operation = SceneManager.UnloadSceneAsync(index);
        operation.completed += UnloadAssets;
    }

    private void UnloadAssets(AsyncOperation obj)
    {
        Resources.UnloadUnusedAssets();
    }

Again, remember code is only about 10% of the problem. The rest is the setup of the scene and prefabs. If the scene is wrong, nothing you do in the code will ever work.

In your scene, are you meeting ALL of the requirements for your OnTrigger call to happen? Review the docs for that method to see all the requirements.

To help gain more insight into your problem, I recommend liberally sprinkling Debug.Log() statements through your code to display information in realtime.

Doing this should help you answer these types of questions:

  • is this code even running? which parts are running? how often does it run?
  • what are the values of the variables involved? Are they initialized?

Knowing this information will help you reason about the behavior you are seeing.

1 Like

thanks for your all helps. they help me alot.

there are some coins in the scene, there is also a 3d box collider.

how is possible to say if you want to end the level , you need to collect all of the coins in the level?
i need a clue please for that. thanks.