I was trying the swappable datasets part and it works perfectly on Android. But is somewhat glitchy in IOS. First of all the workflow of my project is as follows:
1.Download .xml and .dat from server.
2.Download objects to be augmented from server in the form of assetBundles.
3.Instantiate these models(On a Button click) and make it a child of an Empty gameObject (This part is important and I cannot consider to undo it.)
4.Load the downloaded DataSet.
5.And Make the Empty gameObject a child of DataSetTrackableBehaviour dstb.
This is the code that I am using:
DataSetTrackableBehaviour dstb = dataSet.GetTrackable(i);
GameObject go = dstb.gameObject;
GameObject parent = GameObject.Find ("Parent");
parent.transform.parent= dstb.transform;//make Parent GameObject a Child of ImageTarget for augmentation
parent.transform.localScale = new Vector3 (0.25f,0.25f,0.25f);
parent.transform.localPosition = new Vector3 (0.0f,0.0f,0.0f);
This setup works perfectly on Android. But in IOs when I instantiate my "Object to be Augmented", the model just appears on the screen and mounts the trackable only when its visible/found by ARCamera. Otherwise the model just sits on the screen idly. I did these scripts on PC for android and now I am trying to migrate my whole project to IOs. The Unity version on PC is 3.5.3f3 but On Mac the unity version is 3.5.2f2.Could that be a problem?