Errors on import (not the tree one)

BDSmith

New member
I always get these errors. I haven't used Opsive for a few years now as I've been idle with game dev. but I remember even last year I was getting errors when I tried to use it.

I installed Inventory system first. Then Character controller. The first 24 pop up automatically after import. The last one pops up when I try to open main manager of inventory system, which displays the UI but no content in any tab. Note, after importing character controller, I click tools -> controller -> installer and run the installer BUT I don't get the old character controller setup I remember, just continues to say installer. The only thing I've done otherwise in project was make a terrain and import a RAW heightmap for it. As well as import a few assets (path painter, dreamscapes, polygon character pack and a low poly water pack)

Errors are as follows:
Code:
Assets\Opsive\Shared\Editor\UI\TextControl.cs(132,31): error CS0012: The type 'TMP_Text' is defined in an assembly that is not referenced. You must add a reference to assembly 'Unity.TextMeshPro, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.

Assets\Opsive\Shared\Editor\UI\TextControl.cs(244,49): error CS0246: The type or namespace name 'TMPro' could not be found (are you missing a using directive or an assembly reference?)

Assets\Opsive\Shared\Editor\UI\TextControl.cs(245,62): error CS0012: The type 'TMP_Text' is defined in an assembly that is not referenced. You must add a reference to assembly 'Unity.TextMeshPro, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.

Assets\Opsive\Shared\Editor\UI\TextControl.cs(270,58): error CS0246: The type or namespace name 'TMPro' could not be found (are you missing a using directive or an assembly reference?)

Assets\Opsive\Shared\Editor\UI\TextControl.cs(271,79): error CS0012: The type 'TMP_Text' is defined in an assembly that is not referenced. You must add a reference to assembly 'Unity.TextMeshPro, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.

Assets\Opsive\Shared\Editor\UI\TextControl.cs(61,49): error CS0246: The type or namespace name 'TMPro' could not be found (are you missing a using directive or an assembly reference?)

Assets\Opsive\Shared\Editor\UI\TextControl.cs(62,62): error CS0012: The type 'TMP_Text' is defined in an assembly that is not referenced. You must add a reference to assembly 'Unity.TextMeshPro, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.

Assets\Opsive\Shared\Editor\UI\TextControl.cs(76,73): error CS0012: The type 'TMP_Text' is defined in an assembly that is not referenced. You must add a reference to assembly 'Unity.TextMeshPro, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.

Assets\Opsive\Shared\Editor\UI\TextControl.cs(103,58): error CS0246: The type or namespace name 'TMPro' could not be found (are you missing a using directive or an assembly reference?)

Assets\Opsive\Shared\Editor\UI\TextControl.cs(104,79): error CS0012: The type 'TMP_Text' is defined in an assembly that is not referenced. You must add a reference to assembly 'Unity.TextMeshPro, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.

Assets\Opsive\UltimateInventorySystem\Scripts\Crafting\RecipeTypes\CraftingRecipeWithCurrency.cs(28,13): error CS0103: The name 'ReflectionUtility' does not exist in the current context

Assets\Opsive\UltimateInventorySystem\Scripts\Exchange\Currency.cs(292,28): error CS1061: 'Currency[]' does not contain a definition for 'Contains' and no accessible extension method 'Contains' accepting a first argument of type 'Currency[]' could be found (are you missing a using directive or an assembly reference?)

Assets\Opsive\UltimateInventorySystem\Scripts\Core\ObjectCategoryBase.cs(426,34): error CS1061: 'Te[]' does not contain a definition for 'Contains' and no accessible extension method 'Contains' accepting a first argument of type 'Te[]' could be found (are you missing a using directive or an assembly reference?)

Assets\Opsive\UltimateInventorySystem\Scripts\Core\ObjectCategoryBase.cs(471,34): error CS1061: 'Te[]' does not contain a definition for 'Contains' and no accessible extension method 'Contains' accepting a first argument of type 'Te[]' could be found (are you missing a using directive or an assembly reference?)

Assets\Opsive\UltimateInventorySystem\Scripts\Crafting\CraftingRecipe.cs(101,13): error CS0103: The name 'ReflectionUtility' does not exist in the current context

Assets\Opsive\UltimateInventorySystem\Scripts\Crafting\CraftingRecipe.cs(232,13): error CS0103: The name 'ReflectionUtility' does not exist in the current context

Assets\Opsive\UltimateInventorySystem\Scripts\Crafting\CraftingRecipe.cs(259,13): error CS0103: The name 'ReflectionUtility' does not exist in the current context

Assets\Opsive\UltimateInventorySystem\Scripts\UI\Views\ViewDrawer.cs(288,21): error CS1061: 'List<View<T>>' does not contain a definition for 'EnsureSize' and no accessible extension method 'EnsureSize' accepting a first argument of type 'List<View<T>>' could be found (are you missing a using directive or an assembly reference?)

Assets\Opsive\UltimateInventorySystem\Scripts\Core\ItemDefinition.cs(510,26): error CS1061: 'ItemDefinition[]' does not contain a definition for 'Contains' and no accessible extension method 'Contains' accepting a first argument of type 'ItemDefinition[]' could be found (are you missing a using directive or an assembly reference?)

Assets\Opsive\UltimateInventorySystem\Scripts\Core\ItemDefinition.cs(517,26): error CS1061: 'ItemDefinition[]' does not contain a definition for 'Contains' and no accessible extension method 'Contains' accepting a first argument of type 'ItemDefinition[]' could be found (are you missing a using directive or an assembly reference?)

Assets\Opsive\UltimateInventorySystem\Scripts\Core\ItemDefinition.cs(706,26): error CS1061: 'ItemDefinition[]' does not contain a definition for 'Contains' and no accessible extension method 'Contains' accepting a first argument of type 'ItemDefinition[]' could be found (are you missing a using directive or an assembly reference?)

Assets\Opsive\UltimateInventorySystem\Scripts\Core\ItemDefinition.cs(732,28): error CS1501: No overload for method 'Contains' takes 3 arguments

Assets\Opsive\UltimateInventorySystem\Scripts\UI\Panels\ItemViewSlotContainers\InventoryGridIndexer.cs(246,44): error CS1061: 'List<ItemInfo>' does not contain a definition for 'EnsureSize' and no accessible extension method 'EnsureSize' accepting a first argument of type 'List<ItemInfo>' could be found (are you missing a using directive or an assembly reference?)

Assets\Opsive\UltimateInventorySystem\Scripts\UI\Panels\ItemViewSlotContainers\InventoryGridIndexer.cs(273,48): error CS1061: 'List<ItemInfo>' does not contain a definition for 'EnsureSize' and no accessible extension method 'EnsureSize' accepting a first argument of type 'List<ItemInfo>' could be found (are you missing a using directive or an assembly reference?)

ReflectionTypeLoadException: Exception of type 'System.Reflection.ReflectionTypeLoadException' was thrown.
System.Reflection.Assembly.GetTypes () (at <695d1cc93cca45069c528c15c9fdd749>:0)
Opsive.Shared.Editor.UIElements.Managers.MainManagerWindow.BuildManagers () (at <800fb6aa0a6b4de0880880e2de7d741b>:0)
Opsive.UltimateInventorySystem.Editor.Managers.InventoryMainWindow.BuildManagers () (at Assets/Opsive/UltimateInventorySystem/Editor/Managers/InventoryMainWindow.cs:238)
Opsive.Shared.Editor.UIElements.Managers.MainManagerWindow.OnEnable () (at <800fb6aa0a6b4de0880880e2de7d741b>:0)
Opsive.UltimateInventorySystem.Editor.Managers.InventoryMainWindow.OnEnable () (at Assets/Opsive/UltimateInventorySystem/Editor/Managers/InventoryMainWindow.cs:217)
UnityEditor.EditorWindow:GetWindow(Boolean, String)
Opsive.UltimateInventorySystem.Editor.Managers.InventoryMainWindow:ShowWindow() (at Assets/Opsive/UltimateInventorySystem/Editor/Managers/InventoryMainWindow.cs:83)

Any ideas?
Unity 2020.3.12f1
All Opsive assets up-to-date
 
Last edited:
Sorry we are unavailable during weekends.

That's really odd, that first error says that you have TextMeshPro installed but it is not found. Normally it works whether TextMeshPro is installed or not.

Then the other errors are probably caused by the first one beause it cannot compile. It's as if the shared folder wasn't able to compiler properly. Can you check that the shared folder is ther?

Did closing Unity and reopening fix the errors? Some times Unity has a hard time compiling things in the correct order.

Since you have other assets. Is it possible other assets have errors are could prevent UIS/UCC to import properly?
Can you send me a screenshot of the Assembly Definitions for the Shared Opsive folder, UIS and UCC? perhaps one of the other assets came with an old TextMeshPro version bundled in which broke the AssemblyDefinition reference and you need to set it up manually.
 
Sorry we are unavailable during weekends.

That's really odd, that first error says that you have TextMeshPro installed but it is not found. Normally it works whether TextMeshPro is installed or not.

Then the other errors are probably caused by the first one beause it cannot compile. It's as if the shared folder wasn't able to compiler properly. Can you check that the shared folder is ther?

Did closing Unity and reopening fix the errors? Some times Unity has a hard time compiling things in the correct order.

Since you have other assets. Is it possible other assets have errors are could prevent UIS/UCC to import properly?
Can you send me a screenshot of the Assembly Definitions for the Shared Opsive folder, UIS and UCC? perhaps one of the other assets came with an old TextMeshPro version bundled in which broke the AssemblyDefinition reference and you need to set it up manually.
No worries. I figured that's why. I just ended up starting new since I was at the beginning of creation anyways. I left out UIC this time and UCC works fine thus far. I'm wondering if it's because I installed UIC first and then did UCC.

It IS odd though since TMP is installed by default these days. Either way, thanks for taking the time to respond. Not going to mark as solved in case someone knows an actual cause/ fix of that issue as it's not the first time it's happened.
 
Top