I have a customer reporting this error with a build on 5.3.5p2 running on Windows 10-64 bit:
Initialize engine version: 5.3.5p2 (3103edb99077)
Failed to load 'D:/Spill/SteamLibrary/steamapps/common/Design it Drive it Speedboats/DIDIBoats_Data/Plugins/OVRPlugin.dll' with error 'Den angitte modulen ble ikke funnet.
'.
(Filename: Line: 117)
VR: Oculus could not be loaded: Failed to load symbol ovrp_PreInitialize.
(Filename: Line: 107)
VR: Oculus could not be loaded: Failed to load symbol ovrp_GetInitialized.
(Filename: Line: 107)
VR: Oculus could not be loaded: Failed to load symbol ovrp_Initialize.
(Filename: Line: 107)
VR: Oculus could not be loaded: Failed to load symbol ovrp_Shutdown.
(Filename: Line: 107)
VR: Oculus could not be loaded: Failed to load symbol ovrp_GetVersion.
Etc..
For some reason it’s not able to load OVRPlugin.dll. This customer does not have an Oculus Rift or the software installed. While looking for a solution I found this:
Same problem so I sent the customer the version of the OVRPlugin.dll referenced here which didn’t work (not surprising as Oculus says it’s only for a specific, slightly older version of Unity).
Anyone have any idea what to do here? What version of OVRPlugin.dll should I be giving him as a replacement and where can I get it? Has this type of thing been fixed in any of the 5.4 versions (I’m building with 5.3.5p2 now)?
I don’t know what else to do other than to say “sorry, there’s nothing I can do” and give the customer a refund.
For what it’s worth, I’ve talked with a bunch of other customer also running Win 10 - 64 who are not having this problem. Not sure why but Unity seems to fail to load the plugin on some machines and not others. Does anyone know if this might not be a problem on some 5.4 versions? Would really like to know before upgrading since that usually brings its own fresh, new set of problems…
@enciso16 I’ve just made a 64 bit dll and it fixed the problem on the player’s machine. Thanks so much. My product is on Steam so I guess I might just need to make two depots, one 32 and the other 64 to get around this problem for now. Thanks again.
Argh, maybe I spoke too soon. When I switch to 64 bit it runs fine the first time. After that Unity nukes my project and loses references to everything. Not sure if it’s really feasible in my case to work with both 32 and 64 bit builds unfortunately with 5.3.5p2 in this state.
Unity and its quirks, ugh… If I switch it over to 64 and press play one time only, then restart Unity, I can press play more than once and it doesn’t nuke the project. The only way this even works is to have SVN restore everything when I go back to 32 and then back to 64 again.
Would be great if Unity could just load the 32 bit dll on a 32 bit build reliably on a 64 bit OS so none of this would be necessary. It’s working for most of the people just fine, but for whatever reason it’s failing on some Windows 10 - 64 machines.
Anyway, thanks again for the help. It’s a messy fix I’m not sure I really want to include in the usual workflow just to get around this problem, but at least it’s an option. If anybody knew if 5.4 fixed it I’d maybe bite the bullet and upgrade to that.
Ok, I’ve solved the problem thanks to encisco16’s suggestion. The problem was the plugin settings on that oculus plugin dll. There are 32 and 64 bit versions in the x86 and x86_64 respectively. On both of those I had both 32 and 64 bit checked for build options. Solved it by setting the 32 bit to 32 bit and the 64 bit to 64 bit.
Thanks again encisco16. That was the spark I needed to get headed down the right path.
I started a Steam exposure round yesterday and now this problem is being reported on 32 bit Windows 10 versions!
I have been sending test versions to one of the people running 32 bit who is having this problem. The toggling of the dlls I’ve been doing was not the OVRPlugin.dll, but OculusPlugin.dll. I have no idea why changing the settings on that file fixed the 64 bit problem on the one guy’s machine because I’m not even building a 64 bit version and that’s not even the dll that is failing to load. Everything is 32 bit anyway.
Is there a newer version of OVRPlugin.dll I can get somewhere to drop in my project that might solve this? I’m at a total loss here now that 32 bit OS guys can’t even run it.