A Unity ID allows you to buy and/or subscribe to Unity products and services, shop in the Asset Store and participate
in the Unity community.
Discussion in 'Unity UI (uGUI) & TextMesh Pro' started by iivo_k, Oct 17, 2014.
WE NEED 9 MORE VOTES FOR THIS ISSUE!!!
9 vote for what?
Are you sure you are not talking about votes you have left? (in the top right corner?) If you are talking about this http://prntscr.com/7bz9z7 , this are votes you can spend for other bugs.
Is anyone of you seeing the missing script links happening after re-starting Unity? Or even after doing a refresh? (switching away from and back to Unity)
From what we have gathered so far, we think the problem is related to the Unity installation folder (and thus the location of extension DLLs) changing which through a sequence of events will lead to the DLL import data to be re-created. Due to a bug, however, the old record from the timestamp list will never be removed (the lookup is done by path and the extension mechanism changes the path behind the asset DBs back) so you see the error come up again and again.
If that is true, however, then the project should however remain fully functional as the extraneous timestamp does not cause any real harm (other than the message on startup). A reimport would get rid of the error message but should not otherwise make a difference.
We strongly suspect an additional bug, though, that will require either a restart of Unity or a refresh of the asset DB for the db to sort itself out and pick up the DLL from the new place.
Any additional insight is greatly appreciated.
Once the links break it will not be fixed until doing a full reimport or doing the trick of moving/reimporting the UI DLLs, restarting does not help. It's definitely not harmless, as the UI does not work with the project until fixed.
Yes but did you know if your working on a big project (few gigs) worth of assets and such, a reimport using Unity is about 45min to hour on a fully speci7 machine, so the person working on such a project will waste a hour or so reimporting, this is very costly - hence the frustration.
So agreed with the previous poster, it does cause some harm to workflow..lets not treat this just as annoying bug, I think this bug should be higher priority as if you see throughout the thread most people agree.
Okay, that discounts one of our theories and means we're looking at a deeper issue.
Oh, make no mistake, just because it "only" requires a reimport, it doesn't mean we're discounting the problem as trivial. On the contrary. It's just that an error message that requires a reimport yet leaves the project fully functional is a much better situation than a reimport that is mandatory to even get the project working again -- which it seems we're looking at here.
Okay cool, well this is my experiance:
My team has been working together on a project, uploading our changes to a Git server created, currently using 4.6x releases - Windows 8.1 machines, after a upload to the Git server and a import of changes by one member of the team, we often came across the issue discussed in the thread.
We know error has happened as a result Unity error message in console..We had no idea how fix this and therefore had to pull a fresh build of project from Git each time..The GUI is gone when this happens
I came across this thread and learnt more about the problem, reimport all fixes it for us but to time consuming, not tried the moving of the folders .dll files yet..
The error seems to be random and therefore hard to reproduce instantly..
If some pattern emerges at some point, please let us know. The biggest issue we have ATM is that we have no reproduction steps. We have plenty of broken projects that show the issue (although we haven't seen the broken links persist past a restart; the error message stays but the reimport of UnityEngine.UI.dll happens) but they all show the problem after it has already happened with no indication of how it got there.
So we're still really sitting there with multiple pieces of the puzzle but still don't quite know how they fit together to produce the problem here. Everything very strongly points to it all being rooted at the way we reference external DLLs in the asset DB but before we go and fix that, we really want to understand what actually breaks where.
BTW just raw information on Unity versions (including potential updates that happened in between), workflows (such as project including Library folder shared between Windows and Mac or whatever else) or any other bits are greatly appreciated.
I was working on a project where we could consistently reproduce the issue. Of course, we were doing something "wrong" at the time, but maybe the steps will still help you identify the root cause.
Contributor A was using Unity 5.0.0f1. He committed an update to an svn repository, which included Assets and ProjectSettings but not Library or Temp.
Contributor B was using Unity 5.0.1f1. He pulled down the update, made some changes, and committed a second update.
Contributor A then pulled down the latest version from the repo. As soon as he opened the project in Unity 5.0.0f1, he got the error message. Then he -- okay, me -- I cried into my teacup and started another hour long Reimport All.
Once we all got onto the same version of Unity, the problem went away. I believe all of the contributors were using Windows 7 64-bit.
As TonyLi described something similar happened to my team, so does this mean it happens when people are working together on a project? Using SVN or GIT? I hope some more posters in thread can confirm, we need to rule out some things..
I can also confirm team uses 4.6 but some members had different point releases..4.6.2 and 4.6.3..could this be again cause of issue?
More people need to describe experiances..
I've finally sent bug report with 100% reproduction scenario for this issue, thanks to Mishaps for hint. For the sake of clear experiment I created clear project without version control and with only few folders, subfolders and materials in it.
Sure this is not the only way to "make Unity loose track of UI.dll" but I hope investigating even one case could cast a light upon this messy problem.
Don't know which link to post here, sure it is not in issue Tracker now, but here is Case: 701462
and link to fogBugz
What you mean change any letter? Letter within GUI if one is using text?
Sorry, I meant rename folder in a way only to change letter case. (Was so exited to reproduce it that forgot all common sense)
Looks like @Garrenttec may have saved the day, but just in case more information is still helpful I'll provide what I can.
This has occurred for my team on a range of 5.0.1 releases, including the patch releases. Definitely seen it on 5.0.1f1, 5.0.1p1, 5.0.1p3.
Members of the team are using different patch releases. So when it has occurred someone may be on f1 while someone else is on p3, for example.
When it happens, restarting Unity does not fix it.
Library and Temp folders are not versioned, everyone has their own, local library.
Everyone is using PCs atm.
Everyone is on Windows 7 or 8.1.
We're using SVN for version control.
Our general workflow is to update while Unity is open and give the Unity window focus when the update is complete to trigger asset refresh.
When it does occur, Unity loses all knowledge of classes in the GUI module. If you try to add, say, a Canvas it will not appear in the list of scripts that can be added to an object. If you have GameObjects that already had GUI scripts on them before the issue occurred, those scripts will be shown as missing or something similar and none of the UGUI still will be functional.
This seems more likely to occur when moving files around in the Assets folder.
Usually it will only occur for one person at a time, but we have had it happen to everyone on the project all at once from a single commit on SVN.
In our worst encounter with this, I had done a bunch of reorganizing in the Assets folder. From Windows Explorer I renamed many scene files, moved some of those scene files to other folders, and renamed some existing folders. This was done through Windows Explorer so 'svn rename' could be used to maintain a clean file history in the repo. No references were broken during this cleanup (no GUIDs changed, except new ones being created for new folders). I committed these changes and had no issue locally. But, everyone else on the project hit this issue upon updating. Again, Unity would have probably been open. Most likely, one of the moved scenes would have been open in the Editor. I think it occurred on one machine where Unity wasn't even open during the update, but I can't guarantee that.
Just wanted to post up here as well, just before everyone decides it's a Team, Git, Subversion issue. I'm the only programmer on my team and don't use any Repos (I really should ). I also get the time stamp error using Unity 5.0.1p1:
I'm not saying it could not be linked to multiple people working on the same project, I'm just pointing out that it's not just multiple people working on the same project. The only difference with me is I've transferred the game from Laptop to PC from time to time.
I wasn't particularly doing anything, I just noticed one of my ScriptableObjects kept on disappearing everytime I made a change to a script and Unity had to recompile, so I kept on reimporting the folder that contained the ScriptableObject in order to get it back. The error popped up after I deleted the ScriptableObject. Was absolutely fine yesterday and randomly started happening today.
EDIT: The work around below fixes the problem for me. from TYRANNICUS100BC on the issue tracker, I'm sure other people have the same solution.
1. Quit Unity
2. Move UnityEngine.UI.dll and UnityEditor.UI.dll to your desktop - ( These are located at C:/Program Files/Unity/Editor/Data/UnityExtensions/Unity/GUISystem, there error will tell you where as well )
3. Relaunch Unity - Don't have to open up a project I don't think, if you're using Unity 5, just as long as the Launcher opens up should be fine *it crashed anyway when I tried to load my project )
4. Quit Unity
5. Move UnityEngine.UI.dll and UnityEditor.UI.dll back to their original location
6. Relaunch Unity
Hey all, my whole team just encountered this issue, 1 by 1 as we each got latest from source control. We encountered this on both PC (Win8) and Mac. We're all on the same version of Unity (4.6.3)
While deleting /Library or using Reimport Assets did work when we first encountered the issue, it was quite a brute force approach, and our project is large enough that this process would cost us 30-60 minutes each just to get Unity working again.
Eventually we found that the solution that Aedous referenced from TYRANNICUS100BC on the issue tracker of moving and replacing the .dlls did work, and vastly sped up the recovery from this error.
Many of the comments here have mentioned renaming files/folders and this caught my attention as this was something we had been doing recently - especially the changing of case of an Asset - before we encountered the issue.
Thanks for all the details. That's very helpful.
Thanks for the repro! We can successfully reproduce the issue on our side with your project.
For the renaming, we have tracked down the issue and found that this is already fixed in 5.1 (which is very, very close to release). We will backport the fix to 5.0.3 (due Monday).
We're still looking into the situation for 4.6 (where we'll provide a fix in a patch-release as soon as we have it) and also into whether this is really the only issue triggering the problem. ATM we/I are/am still unconvinced that in all the cases you guys have run into the issue, a rename was involved where only the casing of a file/folder name was changed. So, we're still digging but there's a first fix.
Had it happen last week with 5.1.0f2, no casing change renames involved. I don't really have any helpful info to give, I think a collegue pulled some changes from git and it happened. But I'm glad to hear you're digging!
Thanks for the update, that's great news!
This worked for me today - the problem showed up in Unity 5.1.0f3.
Hi not sure on how much everyone in this thread knows already, but I can confirm that I just got this issue and it seemed to occur immediately after renaming a folder, and yes the rename only involved changing the case of the folder name just as you mention.
I created a folder called "enemies" in Assets\Sounds.
I added 2 sounds in there.
I renamed "enemies" to "Enemies".
Suddenly, it no longer showed up in Unity!
I tried refreshing the folder in Unity and it still wouldn't show up. Outside of Unity, I confirmed that the folder was inside the directory.
To get it to reappear, I moved the folder out of the project, and then moved it back in. This made it show up in Unity again and I thought all issues were gone. However upon quitting Unity and loading it up again, I saw the
"UnityEngine.UI.dll is in timestamps but is not known in assetdatabase" error.
I'm on Unity 5.0.2f1 Personal.
I hope that helps.
This should be fixed in 5.1 and 5.0.3.
We're still looking for the other bug(s) that lead to the same message.
One thing we know is that there is a problem in how we register extension DLLs -- which happens after the DB verification code that spills the message is run. So when we verify, we actually haven't registered extension DLLs yet which is why the "hey, I'm seeing this timestamp for something called UnityEngine.UI.dll but I don't know what that is" message comes up. In most cases the problem is actually with other assets (like with the rename bug we fixed).
What we don't know yet is what happens in these other cases and especially how it can happen that apparently UnityEngine.UI.dll disappears from the asset DB for good (leading to permanently broken script references).
unity 5.1f3 here one mac version and one windows version, we use SVN, on my repo there is no problem yet, but on window repo all gui objects have missing components, and we moved folder using svn.
@j.robichaud: you are my hero
Since i have started to use unity i have never faced this issue
I had an issue with images being resized autmatically, i did open a question which is the following:
I got an answer that propose i try to fix my issue by trying the following:
BUT after following the solution provided in the link i started to get this issue:
UnityEngine.UI.dll is in timestamps but is not known in assetdatabase
This should be considered as a bug report.
This just happens to me. Removing and replacing the folder was the fix. I had tried reinstalling Unity without success.
FYI 5.2.0b2 appears to disable the ability to fix this by removing the GUISystem folder from the install directory. Hopefully it also fixes it. I was still trying to maintain my 5.1.1f1 build and but when I remove the GUISystem folder the project wont open. It gets caught in an infinite loop of 'The UI couldn't open and needs to be reset.....' It doesn't seem like they would be related because of separate install directories, but that's what i'm experiencing.
Also, I had installed several UI assets just prior to getting these issues. I haven't ruled out on of them being the cause. I was going to rebuild the project without them. But it looks like i'll just move forward with 5.2.0b2.
If you'd just undo the change that forbids us from adding external dlls there wouldn't be a problem. Or let the import happen specifically for files in the unity folder.
This issue frequently happens after unity imports ridiculously large amounts of information (entirely my fault), and gets stuck at the end of the process (doing whatever... again, my fault). I get fed up with waiting (as there is no status indicator and unity is 'frozen') and force end process. Appears to be after the import process, and before the end of the asset post processing.
Having the same issue over here. Not only with the GUISystem folder but with the Networking folder, too. There are 4 error messages pointing to dll-files in both directories on startup of the Unity Editor. My editor is installed in a program folder on a drive different from that of where my Windows installation resides. The one of my colleague who also experiences this behaviour on a regular basis is installed in the default program folder of Windows, though.
We are on 5.1.1f1.
@j.robichaud, SO GOOD. Thanks a lot.
So we have found several issues that all lead to this problem and we hope that we've got all of them. We're in the process of rolling out the respective fixes in 4.6 and 5.1 patch releases. Once they've landed, I'll give a shout here. If contrary to our current expectations the issue still shows up then, we'll go back hunting for more scenarios.
Updated Unity to 5.1.2f1 and still we have the issue happening.
The solution of moving DLLs worked for us. So I decided to automate the process with a batch file. Hope this helps.
Seems like forum won't allow BAT files to be uploaded. So here it is:
Spoiler: Fix Unity3D DLL Asset Database Problem.bat
set UnityInstallationLocation=C:\Program Files\Unity\Editor\Data\UnityExtensions\Unity
echo Temporary fix for "*.DLL is in timestamps but is not known in assetdatabase" errors.
echo This script assumes that you have installed Unity in default "Program Files" folder.
echo Change "UnityInstallationLocation" in this BAT file if you installed Unity elsewhere.
echo Unity Folder : %UnityInstallationLocation%
echo Temp Folder : %TempFolder%
echo --------------------------- Step 1/4
echo Close all Unity projects and press any key to continue.
echo --------------------------- Step 2/4
echo Moving DLLs out of Unity installation folder...
move /Y "%UnityInstallationLocation%\GUISystem\UnityEngine.UI.dll" "%TempFolder%\GUISystem\UnityEngine.UI.dll"
move /Y "%UnityInstallationLocation%\GUISystem\Editor\UnityEditor.UI.dll" "%TempFolder%\GUISystem\Editor\UnityEditor.UI.dll"
move /Y "%UnityInstallationLocation%\Networking\UnityEngine.Networking.dll" "%TempFolder%\Networking\UnityEngine.Networking.dll"
move /Y "%UnityInstallationLocation%\Networking\Editor\UnityEditor.Networking.dll" "%TempFolder%\Networking\Editor\UnityEditor.Networking.dll"
move /Y "%UnityInstallationLocation%\UnityAnalytics\UnityEngine.Analytics.dll" "%TempFolder%\UnityAnalytics\UnityEngine.Analytics.dll"
echo --------------------------- Step 3/4
echo Open Unity and open your project. Let Unity throw some errors. Close Unity WITHOUT MAKING ANY CHANGES to the project.
echo Press any key to continue after you close Unity.
echo --------------------------- Step 4/4
echo Placing DLLs into Unity installation folder...
move /Y "%TempFolder%\GUISystem\UnityEngine.UI.dll" "%UnityInstallationLocation%\GUISystem\UnityEngine.UI.dll"
move /Y "%TempFolder%\GUISystem\Editor\UnityEditor.UI.dll" "%UnityInstallationLocation%\GUISystem\Editor\UnityEditor.UI.dll"
move /Y "%TempFolder%\Networking\UnityEngine.Networking.dll" "%UnityInstallationLocation%\Networking\UnityEngine.Networking.dll"
move /Y "%TempFolder%\Networking\Editor\UnityEditor.Networking.dll" "%UnityInstallationLocation%\Networking\Editor\UnityEditor.Networking.dll"
move /Y "%TempFolder%\UnityAnalytics\UnityEngine.Analytics.dll" "%UnityInstallationLocation%\UnityAnalytics\UnityEngine.Analytics.dll"
echo Done! You can open your Unity project now and hope the errors are gone.
:: Check Admin Rights
NET FILE 1>NUL 2>NUL
if '%errorlevel%' == '0' ( goto gotPrivileges ) else ( goto getPrivileges )
:: Get Admin Rights
if '%1'=='ELEV' (shift & goto gotPrivileges)
echo Admin rights needed to move DLLs inside Unity folder. Press any key to elevate privileges.
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\OEgetPrivileges.vbs"
echo UAC.ShellExecute "!batchPath!", "ELEV", "", "runas", 1 >> "%temp%\OEgetPrivileges.vbs"
You can fix this bug simply:
This solution works for me and takes no reimport time.
("ReImport All" or deleting Library folder takes much time because Unity reimports extra files , especially images and other resources files )
FWIW, this issue is not fixed in 5.1.2f1.
This happens consistently for us after a 'hang' or forced 'End Process'. The only solutions have been the ones provided: Reimport All Assets or temporarily move the affected DLLs out of the Unity installation folder.
This solution not working for me, I even tried deleting UnityAssemblies as well, but no luck.
Any news on this?
I've experienced this problem about 7 times in the past 2 weeks. I'm not sure if this is related at all but I can say without a doubt that the problem started shortly after changing my version control to visible meta files and asset serialization from mixed to force text.
I am the only programmer on this project, using GIT, but had no problems prior to changing my version control settings in Edit->ProjectSettings->Editor.
first instance of the problem occurring was after stepping back one commit (both commits were same meta file settings
not sure if this helps but I haven't noticed anyone else mention this
Using 5.1.1f1 and this is still happening. Was moving a large amount of files (50 or so) from one folder to another in the projects tab.
Sorry for the long delay. The latest round of changes will be in 5.1.2p3.
I am somewhat doubtful, though, that we really got everything. My impression is there's still ways that break asset DB consistency which we haven't found yet...
I have the same problem, i try all, and not work, i cant fix the problem, i have unity3D 5.1.2f1
Saved me as well
remove ProjectSettings and then reimport all, fix this for me. hopefully it will help. (Unity 5.1.2f1)
5.1.2p3 fixed this guys
Any idea when this might be patched into 4.6?
Same Problems I am experiencing but only with UI. I have UI that displays some text and scores and now after saving and closing I get this error. I am now using Windows 10 64 bit with Unity 5.1
Still happening for same scenario in 5.1.2p3
Have you tried 5.1.3?
The release notes include the fix below. It might also address this persistent issue.
Installing 5.1.3 actually fixed it. My UI elements got corrupted (including the canvas) with the aforementioned error, and installing 5.1.3 restored my UI back and got rid of the error.
I have gotten this a number of times still using 5.1.3. It always occurs when Unity freezes or crashes and sometimes during other untraceable cases.
For example, I started a WebGL build which crashed the Editor and on reload, I received the 'not known in assetdatabase' error. Subsequent builds have UI issues thus I am doing a Reimport of all assets now to fix it.
Since this seems to happen as a result of Editor crashes, I'm not sure what can be done about it from the Unity side. I'm just posting my experiences here in case it helps.