Unity Crashes When Clicking Play: Script Error?
I have an issue, whenever I try to click play in the Unity Editor, the Editor freezes. This might be caused by a script error. According to this post http://answers.unity3d.com/questions/756762/unity-bug-not-responding-when-i-try-to-play.html
My Do/While script has a loop. Is there a way to fix it? I am running Windows 10 x64 with Unity 5.3.5 (latest) version.
Here is the code that may have been causing the problem:
 using UnityEngine;
 
 public static class Helper
 {
     public static float ClampAngle(float angle, float min, float max)
     {
         do 
         {
             if (angle < -360)
                 angle += 360;
             if (angle > -360)
                 angle -= 360;
         } while (angle < -360 || angle > 360);
 
         return Mathf.Clamp (angle, min, max); 
 
     }
 }
 
 
              Additionally, the tutorials that I have been following can be found here https://www.3dbuzz.com/training/view/3rd-person-character-system/simple-character-system/18-tpcamera-handleplayerinput-implementation
The part where they scripted this can be found at 9:30 to 15:30 of the video.
Answer by Dave-Carlile · Jun 03, 2016 at 12:24 PM
This part is your problem:
 if (angle > -360)
              angle -= 360;
 
               I believe you want that to be if (angle > 360). 
Currently your loop is just toggling the value back and forth between < -360 and > -360.
You can also eliminate the loop by using modulo arithmetic:
 angle %= 360;
 if (angle < 0) angle += 360;
 
               That will always give you an angle between 0 and 360. I've not tested it fully so use at your own risk, but some flavor of that should work.
Your answer