Ran into an interesting problem while trying to compile a Unity project for iOS. It failed to build because
“LocationService class is used but Locations Usage Description is empty. App will not work on iOS 10+. UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)”
Well as far as I know there is not anything calling or requesting location services. I probably could have just put a reason for requesting the service under the build options in Project Settings. But why “use” something we don’t need?
Using the handy grep tool from a terminal, I was able to search through the project for “LocationService” and that returned a couple hits for files in the PlayMaker folder.
Looks like PlayMaker has a couple preconfigured “scripts” for Starting, Stopping, and Requesting Location.
Deleting the following four C# files resolved the error and it built fine afterwards.
This is actually really simple to do. Create a script called PlayerRotation or something, then put in the following code.
public float speed;
// Touch controls for rotation
if (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Moved)
Vector2 touchDeltaPosition = Input.GetTouch(0).deltaPosition;
// Rotate Player. Could change Rotate to Translate to move the player.
transform.Rotate(0, touchDeltaPosition.x * speed, 0);
Assign the Script to the player and specify the speed in the Unity Inspector. The public float speed variable will increase or decrease how fast you rotate around. You can also set it to a negative number to rotate the opposite direction you drag with your finger.
While trying to launch a project in Unity I kept getting met with, nothing… Click on the project the Hub disappears and nothing happens… Tried uninstalling and reinstalling both Unity and the Unity hub.
I did receive an error similar to the following when trying to launch Unity directly.
windows\system32\msvcp120.dll is either not designed to run on windows or it contains an error
Doing some digging online shows that it has to do with the Visual C++ Redistributable runtime package which can be downloaded here
There appears to be an issue with HDPI displays and the Unity Game tab while testing the game in unity. Have had issues where the UI elements will resize and not work correctly. Issue seems to be with how Windows scales the screen.
Dropping the scaling to 100% and/or the resolution down to 1920×1080 seems to resolve the issue.
In PlayMaker you can experience issues with variables if you have a Global variable (Green in picture) and a Local variable (Red in picture) that have the same name. PlayMaker will let you select the Global variable however, you’ll get erratic behavior and it seems to revert to the local variable. Work around? Rename one of the variables.
Problem: Game would finish level, but would not load next one.
The issue was that all the levels were not included in the build scene, (File -> Build Settings -> Scenes In Build) so even though the level was correct in PlayMaker, it would not load the level in the Game window while testing.
To add scene to build, open the scene up in the editor, then open the Build Settings from File -> Build Settings… or Ctrl+Shift+B and Add Open Scenes
When you have a button object there is the On Click () area that can execute different actions like a PlayMaker script or a function in a C# script.
Issue with the C# script. You can’t drag and drop the script from the Assets Panel. The script needs to be assigned to an object, then drag and drop that object on the On Click () object. Then select the script and then the function from the drop down there.
Code snippet below is the EnableDisableAudio function that gets executed by the On Click () function above. Note that the script has to be assigned to an object, in this case the button.