Search Unity

Vuforia ilcpp big problem

Discussion in 'Vuforia' started by glutvort, Aug 16, 2019.

  1. glutvort

    glutvort

    Joined:
    Apr 13, 2019
    Posts:
    31
    Hello. I need your help. I have unity project(big project), unity 2018.2.20f, vuforia 7.5.26. I cant change unity version or update vuforia, because my project will crashed.
    When i use this build setting
    Screenshot_1.png I have this problem

    if i use Scripting backend Mono - i dont have this problem, and AR are works.
    I updated all android sdk,jdk. i have ndk version android-ndk-r13b - because unity requiered exactly this version
    I need your help, please dont ignore its very important
     
  2. glutvort

    glutvort

    Joined:
    Apr 13, 2019
    Posts:
    31
    update: i download unity 2019.1.12, vuforia 8.3.8, create empty project add vuforia, build on ilcpp, and my app to laag, slowmotion, 10fps likes
     
  3. JoshPeterson

    JoshPeterson

    Unity Technologies

    Joined:
    Jul 21, 2014
    Posts:
    6,931
    I'm not too familiar with Vuforia, but the first error looks like a native DLL is missing. Do you know if a native library should be present? If so, it is in the correct location near the player build?
     
  4. glutvort

    glutvort

    Joined:
    Apr 13, 2019
    Posts:
    31
    this dll present in armx86, but not in in 64
     
  5. JoshPeterson

    JoshPeterson

    Unity Technologies

    Joined:
    Jul 21, 2014
    Posts:
    6,931
    If you are building for arm64, then the native library will need to be built for arm64 as well.
     
  6. glutvort

    glutvort

    Joined:
    Apr 13, 2019
    Posts:
    31
    how i can do it? its librrary from vuforia. Its my apk profile&debug in android studio
    Screenshot_2.png
     
  7. JoshPeterson

    JoshPeterson

    Unity Technologies

    Joined:
    Jul 21, 2014
    Posts:
    6,931
    I don't know enough about Vuforia to say, sorry. I suspect that they have an arm64 version available though.
     
  8. henriqueranj

    henriqueranj

    Joined:
    Feb 18, 2016
    Posts:
    177
    meedabit likes this.
  9. glutvort

    glutvort

    Joined:
    Apr 13, 2019
    Posts:
    31
    i updated my project to unity 2019.1.12f1 and download vuforia 8.3.8. and i have many problems. One of the largest - its white screen after game start. I dont see camera image. Maybe you know how to fix it?

    end this errors
    Exception in callback: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.InvalidOperationException: Collection was modified; enumeration operation may not execute.
    at System.Collections.Generic.Dictionary`2+ValueCollection+Enumerator[TKey,TValue].MoveNext () [0x00013] in <7d97106330684add86d080ecf65bfe69>:0
    at System.Linq.Enumerable+WhereEnumerableIterator`1[TSource].MoveNext () [0x0004e] in <fc8f020b2cc84cefa8241445cf28089b>:0
    at Vuforia.StateManager.UpdateTrackableStates (Vuforia.TrackerData+TrackableResultData[] trackableResults) [0x0010c] in <21bfe61d2ac241f6a9131b858645aad9>:0
    at Vuforia.StateManager.UpdateTrackablePoses (UnityEngine.Vector3 positionalOffset, UnityEngine.Quaternion rotationalOffset, Vuforia.TrackerData+TrackableResultData[] trackableResultDataArray, Vuforia.TrackerData+VuMarkTargetResultData[] vuMarkResultDataArray, Vuforia.VuforiaManager+TrackableIdPair originTrackableID, System.Int32 frameIndex, System.Boolean updateTrackableStates) [0x000e3] in <21bfe61d2ac241f6a9131b858645aad9>:0
    at Vuforia.StateManager.UpdateTrackablePoses (UnityEngine.Vector3 positionalOffset, UnityEngine.Quaternion rotationalOffset, Vuforia.TrackerData+TrackableResultData[] trackableResultDataArray, Vuforia.TrackerData+VuMarkTargetResultData[] vuMarkResultDataArray, Vuforia.VuforiaManager+TrackableIdPair originTrackableID, System.Int32 frameIndex) [0x00000] in <21bfe61d2ac241f6a9131b858645aad9>:0
    at Vuforia.VuforiaManager.UpdateTrackers (Vuforia.TrackerData+FrameState frameState) [0x002a6] in <21bfe61d2ac241f6a9131b858645aad9>:0
    at Vuforia.VuforiaManager.Update (UnityEngine.ScreenOrientation counterRotation, System.Boolean& reapplyOldState) [0x0018c] in <21bfe61d2ac241f6a9131b858645aad9>:0
    at Vuforia.VuforiaARController.UpdateStatePrivate (System.Boolean forceUpdate, System.Boolean reapplyOldState) [0x00061] in <21bfe61d2ac241f6a9131b858645aad9>:0
    at Vuforia.VuforiaARController.UpdateState (System.Boolean forceUpdate, System.Boolean reapplyOldState) [0x0000c] in <21bfe61d2ac241f6a9131b858645aad9>:0
    at Vuforia.DigitalEyewearARController.Update () [0x00000] in <21bfe61d2ac241f6a9131b858645aad9>:0
    at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke(System.Reflection.MonoMethod,object,object[],System.Exception&)
    at System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00032] in <7d97106330684add86d080ecf65bfe69>:0
    --- End of inner exception stack trace ---
    at System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00048] in <7d97106330684add86d080ecf65bfe69>:0
    at System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) [0x00000] in <7d97106330684add86d080ecf65bfe69>:0
    at System.Delegate.DynamicInvokeImpl (System.Object[] args) [0x000e7] in <7d97106330684add86d080ecf65bfe69>:0
    at System.MulticastDelegate.DynamicInvokeImpl (System.Object[] args) [0x00008] in <7d97106330684add86d080ecf65bfe69>:0
    at System.Delegate.DynamicInvoke (System.Object[] args) [0x00000] in <7d97106330684add86d080ecf65bfe69>:0
    at Vuforia.DelegateHelper.InvokeDelegate (System.Delegate action, System.Object[] args) [0x0000f] in <21bfe61d2ac241f6a9131b858645aad9>:0
    UnityEngine.Debug:LogError(Object)
    Vuforia.DelegateHelper:InvokeDelegate(Delegate, Object[])
    Vuforia.DelegateHelper:InvokeWithExceptionHandling(Action)
    Vuforia.VuforiaBehaviour:Update()

    Exception in callback: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> UnityEngine.MissingReferenceException: The object of type 'ImageTargetBehaviour' has been destroyed but you are still trying to access it.
    Your script should either check if it is null or you should not destroy the object.
    at (wrapper managed-to-native) UnityEngine.Behaviour.get_enabled(UnityEngine.Behaviour)
    at Vuforia.StateManager+<>c.<UpdateTrackableStates>b__32_0 (Vuforia.TrackableBehaviour b) [0x00000] in <21bfe61d2ac241f6a9131b858645aad9>:0
    at System.Linq.Enumerable+WhereEnumerableIterator`1[TSource].MoveNext () [0x00037] in <fc8f020b2cc84cefa8241445cf28089b>:0
    at Vuforia.StateManager.UpdateTrackableStates (Vuforia.TrackerData+TrackableResultData[] trackableResults) [0x0010c] in <21bfe61d2ac241f6a9131b858645aad9>:0
    at Vuforia.StateManager.UpdateTrackablePoses (UnityEngine.Vector3 positionalOffset, UnityEngine.Quaternion rotationalOffset, Vuforia.TrackerData+TrackableResultData[] trackableResultDataArray, Vuforia.TrackerData+VuMarkTargetResultData[] vuMarkResultDataArray, Vuforia.VuforiaManager+TrackableIdPair originTrackableID, System.Int32 frameIndex, System.Boolean updateTrackableStates) [0x000e3] in <21bfe61d2ac241f6a9131b858645aad9>:0
    at Vuforia.StateManager.UpdateTrackablePoses (UnityEngine.Vector3 positionalOffset, UnityEngine.Quaternion rotationalOffset, Vuforia.TrackerData+TrackableResultData[] trackableResultDataArray, Vuforia.TrackerData+VuMarkTargetResultData[] vuMarkResultDataArray, Vuforia.VuforiaManager+TrackableIdPair originTrackableID, System.Int32 frameIndex) [0x00000] in <21bfe61d2ac241f6a9131b858645aad9>:0
    at Vuforia.VuforiaManager.UpdateTrackers (Vuforia.TrackerData+FrameState frameState) [0x002a6] in <21bfe61d2ac241f6a9131b858645aad9>:0
    at Vuforia.VuforiaManager.Update (UnityEngine.ScreenOrientation counterRotation, System.Boolean& reapplyOldState) [0x0018c] in <21bfe61d2ac241f6a9131b858645aad9>:0
    at Vuforia.VuforiaARController.UpdateStatePrivate (System.Boolean forceUpdate, System.Boolean reapplyOldState) [0x00061] in <21bfe61d2ac241f6a9131b858645aad9>:0
    at Vuforia.VuforiaARController.UpdateState (System.Boolean forceUpdate, System.Boolean reapplyOldState) [0x0000c] in <21bfe61d2ac241f6a9131b858645aad9>:0
    at Vuforia.DigitalEyewearARController.Update () [0x00000] in <21bfe61d2ac241f6a9131b858645aad9>:0
    at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke(System.Reflection.MonoMethod,object,object[],System.Exception&)
    at System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00032] in <7d97106330684add86d080ecf65bfe69>:0
    --- End of inner exception stack trace ---
    at System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00048] in <7d97106330684add86d080ecf65bfe69>:0
    at System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) [0x00000] in <7d97106330684add86d080ecf65bfe69>:0
    at System.Delegate.DynamicInvokeImpl (System.Object[] args) [0x000e7] in <7d97106330684add86d080ecf65bfe69>:0
    at System.MulticastDelegate.DynamicInvokeImpl (System.Object[] args) [0x00008] in <7d97106330684add86d080ecf65bfe69>:0
    at System.Delegate.DynamicInvoke (System.Object[] args) [0x00000] in <7d97106330684add86d080ecf65bfe69>:0
    at Vuforia.DelegateHelper.InvokeDelegate (System.Delegate action, System.Object[] args) [0x0000f] in <21bfe61d2ac241f6a9131b858645aad9>:0
    UnityEngine.Debug:LogError(Object)
    Vuforia.DelegateHelper:InvokeDelegate(Delegate, Object[])
    Vuforia.DelegateHelper:InvokeWithExceptionHandling(Action)
    Vuforia.VuforiaBehaviour:Update()
     
    Last edited: Aug 16, 2019
  10. henriqueranj

    henriqueranj

    Joined:
    Feb 18, 2016
    Posts:
    177
    @glutvort , I recommend that you try Unity 2018.4.6 (LTS) instead of Unity 2019.X.

    Since Unity 2019 has a considerable amount of new changes, using Unity 2018.4.6 is safer.

    Regarding your errors, after you migrated your project to the new Unity and Vuforia versions, did you update the Vuforia library assets within your project? I recommend removing all old Vuforia library files and re-importing the new library into the project.
     
  11. glutvort

    glutvort

    Joined:
    Apr 13, 2019
    Posts:
    31
    it didnt help, I download unity 2018.4.6f1, install vuforia from hub, open project, delete vuforia folder, add ARCamera and update vuforia resources.. And i have white screen, I can scan images, but i didnt see camera image. I see my ar content, but dont see real world((
    end same error
    Screenshot_4.png Screenshot_3.png
     
    Last edited: Aug 19, 2019
  12. henriqueranj

    henriqueranj

    Joined:
    Feb 18, 2016
    Posts:
    177
    @glutvort, from your error logs the issue seems related to Image Targets, if so, try to see how you are loading them. Are you loading them dynamically or via adding them manually into the Scene?

    If you read the error closely, Vuforia is throwing an exception as it is trying to traverse the database of Image Targets but the collection is changed while traversing it. Are you adding/removing Targets while Vuforia is initializing/updating?

    Unfortunately I don't know how else to help you. This issue is somehow related to your project. Try to contact Vuforia support.
     
  13. Jcardoso

    Jcardoso

    Joined:
    Oct 6, 2014
    Posts:
    3
    Have you unchecked the striping option ?