Prime31 and QCAR (Vuforia) incompatibility on Android

Hi everyone.
I don’t know if this is the right section for this post, so if I’m wrong, please, let me know.

I’m working for a company that makes AR apps. We bought the Prime31 and Vuforia plugins because we think that their functionalities and technologies are the best that you can use in their field of actions.

We have used this techonlogies since a long time now, but due to some recent changes and updates of both of the plugins, it seems that is not possible anymore to let both of the plugins work on Android because of an issue about the way to override the main Unity activity.

We made various posts on both the forums to ask for a possible solution, but we have just received “We are not going to change something that is not working because of other people work” and sometimes just silences.
To be honest we also tried to use other plugins and also write my own library to try to work around this issue.
Someone else also suggested us to write down our own Android library to change the Prime31 and Vuforia behaviours on Android so that they can coexist like they already do in iOS.

In less words we were not without doing anything to solve the problem by ourselves, but, we have to admit that we don’t have the competences to fix this issue. This is a big problem, because we are now damaged economically because of this issue.

I really don’t know if this is just our problem or is a common thing for someone else of you too… but we have the intention to write an email to both Prime31 and Vuforia to try to explain better the situation, asking them that they should try to work together to offer us, us as customers, people who paid to use their technologies, a solution to this issue that now for us has became a very big problem.

What we are asking you, before to do that, is that if you are living the same situation, please, answer to this post to let us know if you want to join us this time. That is because if we are more than just one to ask them, they would probably start considering the fact to do something.
Or better, if you find a solution to this issue and you want to share your knowledge, or to propose to us a different way, this would be very much appreciated.

Thank you very much for your reply to this post.

Sincerely
Eugenio

Is there another post where you describe the actual issue in detail? The main problem I’ve encountered has to do with the Android manifest file getting messed up by one plugin or the other.

Basically the problem is a recognized issue between how QCAR and Prime[31] plugins will override the main Unity activity in Android. As the actual situation is, both of them needs to be the main Android activity so they override themselves each other and only the first activity declared in the AndroidManifest.xml will work.
I don’t know now because the Prime[31] plugins have been updated but at the time I wrote this post there were no solution apart from creating a native Android plugin which will take care of loading the other activity: a Prime31 wrapper that will instantiate QCAR or vice-versa.

As I said I’m not aware about the actual situation, but now we are using a workaround that make both of them work.

Cheers for your interest :slight_smile:

i am desperately trying to find a solution to this aswell as its stopping me from completing my project and is making me look very bad as ive been trying to figure it out for a week, i tried doing some native android code to fix the problem but its a bit out of my depth as ive never done any before. I left a post for prime31 and they directed me to this Instructions to make a plugin that needs to override the Unity Activity play nice with others. · GitHub but i couldnt get it to work. Would love to know if you found a solution.

Hi,
Thank you for the tutorial link. That actually works. Here is a simple blog post i wrote about it.

http://gizmothunder.blogspot.com/2013/11/unityplugins-part2.html

Your blog post really helps, but how can I access things like getApplicationContext from static methods?

This method is great for simple tasks, but for instance, to register a receiver for mic usage it doesn’t seem to work (at least easily)

I’ve updated my blogpost to address the activity access and context access.