So at Unity - Scripting API: AssetDatabase.IsValidFolder that page says “Given an absolute path to a folder,” which means it should be the absolute path, which goes to the drive letter. However, the root path of that function actually goes to the project folder; it’s not absolute. So if my project was in D:\Unity\MyProject, AssetDatabase.IsValidFolder(“D:\Unity\MyProject\Assets”) would return false, but AssetDatabase.IsValidFolder(“Assets”) would return true.
Still not fixed… It is still relative, and takes the assets directory as root (Unity v.5.6).
I think I should use System.IO methods instead… I could use Assets as roots, but later on Unity might change this and I would have to find the error, remind what was the problem and then fix it.