I'm havin a problem while trying to connect to Oculus's achievement/leaderboard api from Unity 5.4.0f3. I downloaded all the necessary packages and set up Oculus Platform settings. At the very beginning, when I start the game I'm getting
ScriptableObject.ctor is not allowed to be called from a ScriptableObject constructor (or instance field initializer), call it in OnEnable instead. Called from ScriptableObject 'OculusPlatformSettingsEditor'. from Platform Settings imported file and I'm not sure whether to make a workaround myself or if there's a simple solution for that one.
My second problem is that despite setting up a Leaderboard and some achievements in my project's site I can't do anything with them. When I'm calling Achievements.GetAllDefinitions().OnComplete(callbackMethod); for example, I'm getting null pointer from Achievements.GetAllDefinitions part and I can't do any further with that. I've spent a lot of time today trying to make all the set up steps from documentations and trying to make it work in any way but at the end of all that I'm still nowhere.
For the error: "ScriptableObject.ctor is not allowed to be called from a ScriptableObject constructor", do you have a stack trace? It's usually printed out in the console log.
If the initializing is failing then nothing else would be working which would explan why achievements isn't returning anything.
Actually we found the problem for the first one you mentioned. We'll have it fixed for the next release. In the mean time, to unblock yourself, it's a one line fix:
open OculusPlatformSettingsEditor.cs go to the constructor on line 32:
OculusPlatformSettingsEditor()
change it to the OnEnable() function:
void OnEnable()
that should fix the error. Thanks for pointing this out to us! Let us know if that helped.
Stuck with yet another problem. I configured everything and the achievements/leaderboards are working for the generated token, work fine when I'm logged on my account on the android device. Now I'm trying to make it work for any account entitled for the app. I've uploaded a beta version of application and disabled the generated token from work, but the network stuff don't want to work properly.
Edit: I think I narrowed the problem a little, but some questions have appeared. Does an app need to be present on the project's oculus page (I mean it's build) for achievements/leaderboards to work on android device?
Hey, is there any way you can give me a quick run down of the steps you took to implement leaderboards in your game? I've been struggling with it for a while and could use a bit of help!