21-05-2020, 04:01 PM
(19-05-2020, 05:15 PM)josemendez Wrote: Hi there,
The editor under certain Linux distros has issues recognizing the native library, and has been reported by other users. Haven't determined why yet. Ubuntu and Mint seem to work fine, can't talk about others.
Standalone builds using the exact same library run fine in all distros though, so it is a editor-only issue and probably a bug in Unity. Is it possible for you to develop in another distro/OS, or is this your only development machine?
After doing some research, I was actually able to fix this by editing Obi.cs (still having some issues with the particle shader, but thats almost certainly because I'm using URP, though I was able to update all of the relevant materials fairly easily). I added to the preprocessor directives to test for UNITY_EDITOR_LINUX before all of the DllImport declarations so that it also uses LIBNAME "Oni" as well instead of "libOni":
#if (UNITY_IOS && !UNITY_EDITOR)
const string LIBNAME = "__Internal";
#elif ((UNITY_ANDROID || UNITY_STANDALONE_LINUX || UNITY_EDITOR_LINUX) && !UNITY_EDITOR)
const string LIBNAME = "Oni";
#else
const string LIBNAME = "libOni";
#endif