NetworkManagerHUD
#if ENABLE_UNET namespace UnityEngine.Networking { [AddComponentMenu("Network/NetworkManagerHUD")] [RequireComponent(typeof(NetworkManager))] [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] public class NetworkManagerHUD : MonoBehaviour { public NetworkManager manager; [SerializeField] public bool showGUI = true; [SerializeField] public int offsetX; [SerializeField] public int offsetY; // Runtime variable bool showServer = false; void Awake() { manager = GetComponent<NetworkManager>(); } void Update() { if (!showGUI) return; if (!NetworkClient.active && !NetworkServer.active && manager.matchMaker == null) { if (Input.GetKeyDown(KeyCode.S)) { manager.StartServer(); } if (Input.GetKeyDown(KeyCode.H)) { manager.StartHost(); } if (Input.GetKeyDown(KeyCode.C)) { manager.StartClient(); } } if (NetworkServer.active && NetworkClient.active) { if (Input.GetKeyDown(KeyCode.X)) { manager.StopHost(); } } } void OnGUI() { if (!showGUI) return; int xpos = 10 + offsetX; int ypos = 40 + offsetY; int spacing = 24; if (!NetworkClient.active && !NetworkServer.active && manager.matchMaker == null) { if (GUI.Button(new Rect(xpos, ypos, 200, 20), "LAN Host(H)")) { manager.StartHost(); } ypos += spacing; if (GUI.Button(new Rect(xpos, ypos, 105, 20), "LAN Client(C)")) { manager.StartClient(); } manager.networkAddress = GUI.TextField(new Rect(xpos + 100, ypos, 95, 20), manager.networkAddress); ypos += spacing; if (GUI.Button(new Rect(xpos, ypos, 200, 20), "LAN Server Only(S)")) { manager.StartServer(); } ypos += spacing; } else { if (NetworkServer.active) { GUI.Label(new Rect(xpos, ypos, 300, 20), "Server: port=" + manager.networkPort); ypos += spacing; } if (NetworkClient.active) { GUI.Label(new Rect(xpos, ypos, 300, 20), "Client: address=" + manager.networkAddress + " port=" + manager.networkPort); ypos += spacing; } } if (NetworkClient.active && !ClientScene.ready) { if (GUI.Button(new Rect(xpos, ypos, 200, 20), "Client Ready")) { ClientScene.Ready(manager.client.connection); if (ClientScene.localPlayers.Count == 0) { ClientScene.AddPlayer(0); } } ypos += spacing; } if (NetworkServer.active || NetworkClient.active) { if (GUI.Button(new Rect(xpos, ypos, 200, 20), "Stop (X)")) { manager.StopHost(); } ypos += spacing; } if (!NetworkServer.active && !NetworkClient.active) { ypos += 10; if (manager.matchMaker == null) { if (GUI.Button(new Rect(xpos, ypos, 200, 20), "Enable Match Maker (M)")) { manager.StartMatchMaker(); } ypos += spacing; } else { if (manager.matchInfo == null) { if (manager.matches == null) { if (GUI.Button(new Rect(xpos, ypos, 200, 20), "Create Internet Match")) { manager.matchMaker.CreateMatch(manager.matchName, manager.matchSize, true, "", manager.OnMatchCreate); } ypos += spacing; GUI.Label(new Rect(xpos, ypos, 100, 20), "Room Name:"); manager.matchName = GUI.TextField(new Rect(xpos+100, ypos, 100, 20), manager.matchName); ypos += spacing; ypos += 10; if (GUI.Button(new Rect(xpos, ypos, 200, 20), "Find Internet Match")) { manager.matchMaker.ListMatches(0,20, "", manager.OnMatchList); } ypos += spacing; } else { foreach (var match in manager.matches) { if (GUI.Button(new Rect(xpos, ypos, 200, 20), "Join Match:" + match.name)) { manager.matchName = match.name; manager.matchSize = (uint)match.currentSize; manager.matchMaker.JoinMatch(match.networkId, "", manager.OnMatchJoined); } ypos += spacing; } } } if (GUI.Button(new Rect(xpos, ypos, 200, 20), "Change MM server")) { showServer = !showServer; } if (showServer) { ypos += spacing; if (GUI.Button(new Rect(xpos, ypos, 100, 20), "Local")) { manager.SetMatchHost("localhost", 1337, false); showServer = false; } ypos += spacing; if (GUI.Button(new Rect(xpos, ypos, 100, 20), "Internet")) { manager.SetMatchHost("mm.unet.unity3d.com", 443, true); showServer = false; } ypos += spacing; if (GUI.Button(new Rect(xpos, ypos, 100, 20), "Staging")) { manager.SetMatchHost("staging-mm.unet.unity3d.com", 443, true); showServer = false; } } ypos += spacing; GUI.Label(new Rect(xpos, ypos, 300, 20), "MM Uri: " + manager.matchMaker.baseUri); ypos += spacing; if (GUI.Button(new Rect(xpos, ypos, 200, 20), "Disable Match Maker")) { manager.StopMatchMaker(); } ypos += spacing; } } } } }; #endif //ENABLE_UNET
Tango unity-prefab-motion-tracking#create_a_new_project_in_unity
Build Native Tango Apps – Check for Similar Behavior
Create Duplicate scene – Pare down App to min version – esp UI – See if that helps.
This was a common error when stopping an OpenGL-ES app on Intel x86 AVD (every launch crashes at onStop()). Here's a quick solution (worked fine for JPCT-AE Engine): - Open AndroidManifest.xml, add android:allowClearUserData="true" tag to the application node. <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" android:allowClearUserData="true" > May be useful for some users.
E/WifiController( 894): Illegal lock 2 E/libgps ( 894): HandleGpsExtensionMessage: The handler for GPSE_MSG is not assigned E/libgps ( 894): HandleGpsExtensionMessage: The handler for GPSE_MSG is not assigned E/libgps ( 894): HandleGpsExtensionMessage: The handler for GPSE_MSG is not assigned E/DataBuffer( 4145): Internal data leak within a DataBuffer object detected! Be sure to explicitly call release() on all DataBuffer extending objects when you are done with them. (internal object: com.google.android.gms.common.data.DataHolder@6629f5f8) E/DataBuffer( 4145): Internal data leak within a DataBuffer object detected! Be sure to explicitly call release() on all DataBuffer extending objects when you are done with them. (internal object: com.google.android.gms.common.data.DataHolder@66399270) E/DataBuffer( 4145): Internal data leak within a DataBuffer object detected! Be sure to explicitly call release() on all DataBuffer extending objects when you are done with them. (internal object: com.google.android.gms.common.data.DataHolder@66111788) E/DataBuffer( 4145): Internal data leak within a DataBuffer object detected! Be sure to explicitly call release() on all DataBuffer extending objects when you are done with them. (internal object: com.google.android.gms.common.data.DataHolder@66464228) E/DataBuffer( 4145): Internal data leak within a DataBuffer object detected! Be sure to explicitly call release() on all DataBuffer extending objects when you are done with them. (internal object: com.google.android.gms.common.data.DataHolder@663e9578) E/libgps ( 894): HandleGpsExtensionMessage: The handler for GPSE_MSG is not assigned F/libc (12039): Fatal signal 11 (SIGSEGV) at 0x00000803 (code=1), thread 12055 (Binder_1) E/InputDispatcher( 894): channel '656336e8 com.Argos.SlerpSperg/com.google.unity.GoogleUnityActivity (server)' ~ Channel is unrecoverably broken and will be disposed!
adb logcat > logfile.txt adb logcat *:E > logfile.txt
“adb logcat -v” Command – Log Format Control
enum and [Flags]
Android Studio – Download Page
https://youtu.be/gMlBR7nKhJU