No UI or Virtual Controls when clicking to add them

MikeGro

Member
Unity 2018.2.7f1 on Windows 10 machine.
I have First Person Controller and Third Person Controller imported and on my project.

I clicked on Tools – Opsive – Ultimate Controller – Main Manager – Setup - Scene
I then clicked on Add UI and got this error:

Error: Unable to find the UI Monitors prefab.
UnityEngine.Debug:LogError(Object)
Opsive.UltimateCharacterController.Editor.Managers.SetupManager:AddUI() (at Assets/Opsive/UltimateCharacterController/Editor/Managers/SetupManager.cs:377)
Opsive.UltimateCharacterController.Editor.Managers.ManagerUtility:DrawControlBox(String, Action, String, Boolean, String, Action, String) (at Assets/Opsive/UltimateCharacterController/Editor/Managers/ManagerUtility.cs:41)
Opsive.UltimateCharacterController.Editor.Managers.SetupManager:DrawSceneSetup() (at Assets/Opsive/UltimateCharacterController/Editor/Managers/SetupManager.cs:140)
Opsive.UltimateCharacterController.Editor.Managers.SetupManager:OnGUI() (at Assets/Opsive/UltimateCharacterController/Editor/Managers/SetupManager.cs:126)
Opsive.UltimateCharacterController.Editor.Managers.MainManagerWindow:OnManagerGUI() (at Assets/Opsive/UltimateCharacterController/Editor/Managers/MainManagerWindow.cs:394)
Opsive.UltimateCharacterController.Editor.Managers.MainManagerWindow:OnGUI() (at Assets/Opsive/UltimateCharacterController/Editor/Managers/MainManagerWindow.cs:297)
UnityEngine.GUIUtility:processEvent(Int32, IntPtr)

It DID put a canvas object in my hierarchy though.
And I don’t have any aiming reticle or anything UI related on my game.


I clicked on Add Virtual Controls and got this error:

Error: Unable to find the UI Monitors prefab.
UnityEngine.Debug:LogError(Object)
Opsive.UltimateCharacterController.Editor.Managers.SetupManager:AddUI() (at Assets/Opsive/UltimateCharacterController/Editor/Managers/SetupManager.cs:377)
Opsive.UltimateCharacterController.Editor.Managers.ManagerUtility:DrawControlBox(String, Action, String, Boolean, String, Action, String) (at Assets/Opsive/UltimateCharacterController/Editor/Managers/ManagerUtility.cs:41)
Opsive.UltimateCharacterController.Editor.Managers.SetupManager:DrawSceneSetup() (at Assets/Opsive/UltimateCharacterController/Editor/Managers/SetupManager.cs:140)
Opsive.UltimateCharacterController.Editor.Managers.SetupManager:OnGUI() (at Assets/Opsive/UltimateCharacterController/Editor/Managers/SetupManager.cs:126)
Opsive.UltimateCharacterController.Editor.Managers.MainManagerWindow:OnManagerGUI() (at Assets/Opsive/UltimateCharacterController/Editor/Managers/MainManagerWindow.cs:394)
Opsive.UltimateCharacterController.Editor.Managers.MainManagerWindow:OnGUI() (at Assets/Opsive/UltimateCharacterController/Editor/Managers/MainManagerWindow.cs:297)
UnityEngine.GUIUtility:processEvent(Int32, IntPtr)


And I noticed in your video on youtube when setting up the controllers… you clicked on Add Mobile controllers and it changed what was on your screen… mine didn’t.

PS - I can still play the game though... it's not preventing from hitting play.
 
Can you list the steps to reproduce from a fresh project? I imported FPC and TPC into a new project and was able to add the UI.
 
I will try it... I sure hope if it does work on a blank project... that we can figure out a way to sort out the issue on my working project as I really don't want to have to start removing 25+ assets again and restart again like the last issue... which seemed to be that there was an upgrade issue where I had one old version of say First Person on there and a new version of Third controller which caused a script issue (according to someone who commented on that thread where I listed the issue).
 
Yes, the UI and Virtual Controls were added. Not sure why they weren't in my main project. So what does that mean?
 
The only thing that I can think of is that the guids were overwritten when you imported FPC/TPC into your new project. This would cause the prefabs not being able to be found.
 
So, how do I fix that? I deleted the opsive folder... and reimported both TPC and FPC... and it's still doing it.
 
Last edited:
I just started a brand new project.
Unity 2018.2.7.f1 running Windows 10 machine.
Just have Third Person in there... that's it... and have the same errors with UI and Virtual Controllers.
 
I tried a fresh TPC project and it worked. When you are importing make sure you import all of the Demos folder since that's where this prefab is located.
 
If you are able to consistently tell me how to reproduce it I should be able to take a closer look.
 
I'm getting this error with a fresh install of 2018.3.0f2 and fresh import of UFPS 2. I checked on Discord and I saw that user: akjells was having the same issue I am having.

Code:
Error: Unable to find the UI Monitors prefab.
UnityEngine.Debug:LogError(Object)
Opsive.UltimateCharacterController.Editor.Managers.SetupManager:AddUI() (at Assets/Opsive/UltimateCharacterController/Editor/Managers/SetupManager.cs:377)
Opsive.UltimateCharacterController.Editor.Managers.ManagerUtility:DrawControlBox(String, Action, String, Boolean, String, Action, String) (at Assets/Opsive/UltimateCharacterController/Editor/Managers/ManagerUtility.cs:57)
Opsive.UltimateCharacterController.Editor.Managers.SetupManager:DrawSceneSetup() (at Assets/Opsive/UltimateCharacterController/Editor/Managers/SetupManager.cs:140)
Opsive.UltimateCharacterController.Editor.Managers.SetupManager:OnGUI() (at Assets/Opsive/UltimateCharacterController/Editor/Managers/SetupManager.cs:126)
Opsive.UltimateCharacterController.Editor.Managers.MainManagerWindow:OnManagerGUI() (at Assets/Opsive/UltimateCharacterController/Editor/Managers/MainManagerWindow.cs:407)
Opsive.UltimateCharacterController.Editor.Managers.MainManagerWindow:OnGUI() (at Assets/Opsive/UltimateCharacterController/Editor/Managers/MainManagerWindow.cs:310)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)
 
Last edited:
It took awhile but I finally found the cause and have a fix for the next version. For now if you drag the Monitors prefab within Demo/Prefabs/UI under a Canvas object then it'll do the same thing as the button would have done.
 
Top