text: Q:
  
  Why does loop crash and and not print? Unity3D
  
  Given a cubic space, this function searches for the next large empty space, places a marker there, and then quits.
  However, the function doesn't even print the check message that exists prior to the loops starting, so i don't know how to debug it. The checking starts at 0,0,0 and spaces outside the voxel are returned as true, so it should default all the first loops and send messages back. The unity.exe process jams and i have to abort it.
  Why doesn't it print? What else is wrong with it? Even if it is slow, i should be able to track progress within the loops? why wouldn't it? 
  function findvoidable() //find void space in voxel volume
  {   
     var step = dist+1;
     print("start"); WaitForFixedUpdate(); //this doesnt print
  
      for ( var k : int = 0; k < mesher.PNGpaths.Length ; k+=step/2)          
          for ( var j = 0; j  < mesher.tex.height ; j+=step/2)
              for ( var i = 0; i < mesher.tex.width  ; i+=step/2){
                  print("in schema");WaitForFixedUpdate();
                  if (wst( i    , j    , k      )==false )
                  if (wst( i+step,j     ,k      )==false )
                  if (wst( i-step,j     ,k      )==false )
                  if (wst( i     ,j+step,k      )==false )
                  if (wst( i     ,j-step,k      )==false )
                  if (wst( i     ,j     ,k+step )==false )
                  if (wst( i     ,j     ,k-step )==false )
                  {
  
                     var cnt=0;
                     for ( var x = i-step; x < i+step ; x+=1)     
                     for ( var y = j-step; y < j+step ; y+=1)
                     for ( var z = k-step; z < k+step ; z+=1)
                     { 
                         if ( wst( x , y , z ) == false )
                         cnt+=1;
                     }    
                     if ( cnt >= step*step*step-3 )
                     {
                          refCube.transform.position=Vector3(i,j,k);
                          break;break;break;break;break;break;
                     }
                     else
                     {
                         WaitForFixedUpdate();
                         refCube.transform.position=Vector3(i,j,k);
                     }
  
          }   
      }
  }
  
  A:
  
  WaitForFixedUpdate is a Coroutine and is not supposed to be run like a normal method.
  Instead, try "yield" statement:
  yield WaitForFixedUpdate();
  
  More info: https://docs.unity3d.com/ScriptReference/Coroutine.html
  
  