-Function to export a Config.xml file (for Multi Targets) for the setup which has been created at runtime using the API.
-Ability to create a trackable offline by taking a picture with the phone camera and then applying perspective and lens correction to it without using the online service. This will greatly enhance user experience as the user is able to take a picture from any 2d surface and use that as a marker without the need to be a developer and know how to compile a new project. Much faster too.
-Faster marker detection (comparable to String) and support for multithreading. Faster tracking is always better and mobile devices have multiple processors these days. Perhaps Vuforia could take advantage of this?
-If a marker is lost with fast physical camera movements, the marker is still tagged as being tracked for a fraction of a second. This causes the 3d augmentation to be displayed while it should not. I find this very distracting and it breaks the AR illusion. If this is a "feature", please give the user an option to enable or disable this. If this is not a feature, please increase the speed of the marker de-recognition. The speed of de-recognition (marker being lost) is just as important as marker recognition (marker being found). See thread here: http://ar.qualcomm.at/node/2000994
-Camera preview in Unity3d Editor.
-Ability to create a marker lost and marker found event in the Unity3d Editor.
-If the virtual button is occluded by moving the camera so it is partially out of view, the button will still be triggered. This shouldn't be happening. It is known where the camera is in relation to the marker and it's virtual buttons. So the software can test whether or not the button is fully inside the camera view frustum, partially occluded by it, or totally out of it.
-Support for FOCUS_MODE_CONTINUOUS_VIDEO and FOCUS_MODE_CONTINUOUS_PICTURE
-Light sampling. Get the average color of the camera image at the marker location (color value on per-marker basis) to change the color of the augmentation for better in-scene blending.
-Support PC and Mac as well, instead of only IOS and Android.
-It would be nice if in Unity3d a marker object did not rely on a script. Let me explain. If a marker gets lost, all the children of the marker object need to be disabled. Currently this is done by getting all the renderers of the children and disabling those. You can not use SetActiveRecursively() because this will disable the parent marker object itself, which will disable it's scripts. Because it's scripts are disabled, it cannot detect when the marker is back into view and it is lost forever. There are several reasons why I want to use SetActiveRecursively() and one of them is because String uses that and my project is compatible with both String and Vuforia. Using separate code paths to handle marker visibility for String and Vuforia caused me a lot of headaches and a uniform solution would be nice. Another reason is because it is easier to see if a marker is tracked or not by simply looking if the marker object is active or not. With this logic it is not necessary to have separate code to track which markers are currently visible. The renderer cannot
be used with this because the marker object itself doesn't have a renderer.
-Mark a Frame Marker as LOST or not tracked when one of it's edges is nearly touching or beyond the physical camera view frustum. I noticed that the marker pose often contains large errors while being moved out of view before it is marked as LOST. These errors can be filtered out if the marker obstruction is caused by the marker moving out of the field of view.
-Don't download the camera profile file at first startup but use an off-line database which comes with the SDK for that.
-If the online camera profile is used, display a message that the default profile is used instead if the customized one if an internet connection is not available.
-Do not display a warning in the Unity3d editor log that multiple data sets are available. Only display a warning or error if they are tried to be used at the same time.
-Add callback function (which can be added to any custom user script) which is called once when Vuforia is initialized.
This is to make sure that the marker creation code is ready to be used.
-Support for use of image target dataset loading/activation in the Unity3d editor. This is helpful for debugging.
-Support for generating frame markers at runtime in the Unity3d editor. This is helpful for debugging.
-Add an integer variable to each image target which is guaranteed to stay the same for each program run, for each individual marker. This instead of using a string name for the marker. Comparing strings to figure out whether or not a marker is tracked is slow. Besides, frame markers use integers to indicate it's "name", so image targets could use the same logic.
-A video texture which does not contain a black border.
-Add some documentation about how to properly UV map the video texture.
-Remove the need for obscure UV coordinates to get the video texture right. The range should be between 0 and 1 as it is a normal plane.
-Add callback for IsVideoBackgroundInfoAvailable() so I don't have to keep calling it in the Update() function.
-Add more performance efficient example for the video texture code such as the use of a Mobile/Unlit shader which doesn't need a light source and not setting up the entire mesh every frame in the Update() function.
-Ability to change the marker size using the online creation tool if the trackable is already created.
-Ability to set exposure time to a fixed value to force a high video frame rate in low light conditions.
-Get SetSize() to work in Unity3d
-SLAM implementation, but recognizing and tracking markers in the same scene as well.
-Fix bug when using GetSize() on a marker with x size 1.0
-Add documentation specifically for Unity3d since many functions and methods are different in there.
-Replace all QCAR references in the code with Vuforia.
-Improve handling of partially occluded Frame Markers. Currently partially occluded frame markers will have severe pose errors when the marker is occluded by straight surface parallel to the marker.
-If CameraDevice.Instance.Stop() is called, and the remained stopped for a few seconds, it introduces a significant latency between real camera movement and updating of the camera texture. Tested on Transformer Prime.
-CameraDevice.Instance.Stop() doesn't disable the video feed and the marker tracking data exactly at the same time. There is a lag between the two causing pose errors when moving the camera and then freezing the frame.
-Please fix the new forum numerous bugs.
-I would like to do some additional image recognition on the camera feed. Fetching the camera texture in Unity3d and doing math on the texture in C# is going to be far too slow. Why not release part of the native plugin which converts the camera feed to the correct grayscale format. Then you can have one function call which does the ultra-secret proprietary corporate protected pose recognition, and another one where you can do your own image recognition. This way I can combine SLAM and marker based detection which would enable for some really cool special effects.