Async Level Loading Not Working

I Could Do With Some Advice As My Level Will Not Load.

using UnityEngine;
    using System.Collections;
    
    public class ButtonScript : MonoBehaviour {
    
    	public bool Play, Options, Video, Sound, Exit, Back;
    
    	private bool doneLoadingScene;
    
    	private AsyncOperation asyncOperation;
    
    	// Use this for initialization
    	void Start () {
    	
    	}
    	
    	// Update is called once per frame
    	void Update () {
    		if(asyncOperation != null && !doneLoadingScene) 
    		{  
    			Debug.Log("Scene Load Progress: " + asyncOperation.progress * 100f); 
    			if(asyncOperation.isDone) 
    			{  
    				doneLoadingScene = true; 
    				Debug.Log("SCENE DONE LOADING!"); 
    			}  
    		}  
    	}
    
    	void OnMouseDown()
    	{
    		if (Play) 
    		{
    			//Application.LoadLevel("Level 1");
    			LoadLevels();
    		}
    	}
    
    	IEnumerator LoadLevels()
    	{
    		asyncOperation = Application.LoadLevelAsync(1);
    		yield return asyncOperation;
    	}
    }

it should load if you remove asyncOperation.isDone

Most IMP

Async level load requires unity Pro license.