Hello, I am unsure why I am getting this error. I am trying to integrate Genvid into an Unity project and it throws this error when calling SubmitGameData. I took a look at the generated json in the debugger and it looked fine. This is on SDK version 1.16, I had even less luck with 1.17 (UninitialiedSDK). Any ideas?
Sorry to hear you are having problems.
Could you post your console output or the full errors you are seeing?
Our team will be able to better diagnose the problems you are having.
Might have gotten it sorted. Was testing in editor and it seems stopping play mode doesn’t Terminate the Genvid stuff correctly which caused confusion and all sorts of side effects.
I’m one of the developer that worked directly on the Unity prefab that we are using for the Genvid SDK. We used to have an issue where the prefab didn’t terminate properly, but it was fixed in 1.15.0. I’m sorry to learn that this issue can still occurs in a different way than we anticipated.
I looked at the Output log that you gave us and I am unable to pinpoint the issue. It seems that we will need to add an option to display more logs in the future to help debug this kind of issue. As for now, I would like to be able to reproduce the issue on my station and perform a fix for a future release. Would it be possible to give us more information on your issue:
- Screenshots of the inspector view for each prefab element (to see which parameter that you used): GenvidSessionManager, GenvidSession, Video, Audio and Streams
- The code used to do the SubmitGameData
- An example of the JSON data that you are submitting
Thank you !
I was able to get everything to work, the bug had to do how I was initializing the SDK. I wanted to have control over initializing and terminating genvid streaming so I disabled autoinitialize. There are a few things that made implementing the SDK difficult for me. I’ll outline what I remember:
If not wanting to use GenvidSessionManager.AutoInitialize things get a bit messy.
GenvidSessionManager.Initialize and enabling the actual GenvidSessionManager component both need to be done. Also, if not using autoIntialize, the component must be manually disabled. Ideally, it would be nicer just to deal with calling Initialize and Terminate and have these functions handled the internal bits so that developers don’t have to worry about enabling or disabling the component in the scene.
GenvidSessionManager.Terminate will cause errors if the sessions have not cleaned up yet. I hacked around this problem by first disabling the GenvidSessionManager’s component so that the streams would clean up and then I made the video stream’s IsCreated var public so that I could wait in a coroutine until it is false, only then can I call GenvidSessionManager.Terminate. Ideally this would all be handled by the GenvidSessionManager.Terminate function.
These things weren’t too bad to debug, the main issue that caused the most confusion for me was that stopping the player doesn’t clean up the SDK properly. This caused all sorts of nonsensical errors and made it very hard to understand what was happening (ex: GenvidSDK.Initialize() return successful only to have sessions report SDK was unintialized).
I’ll be entering the issues that you encountered into our database and we will make sure to improve our user experience in the future. I’m happy to learn that you were able to get everything to work in the end.
Thank you again for your feedback !