Hello!
I'm a programmer that have many experiences for more than 5 years in Unity3D.
In order to solve this problem, I think you do the best.
But this problem is not very easy.
Therefore, you get help from me.
I have many experiences about the problems like this.
I am waiting for your message.
Thanks.