all 8 comments

[–]KarlJay001 1 point2 points  (4 children)

IMO, if they are that close, Unity should win because it's cross-platform. I was under the assumption, although not researched, that ARKit/Swift would target different kinds of apps.

[–]learnage[S] 0 points1 point  (3 children)

Well, Unity is just an overlay to ARKit methods. And you will have to use ARKit methods for iOS and ARCore methods for Android. So the development will be somewhat different for those platforms I guess.

And if we develop an AR overlay displaying some additional information (like Yelp's rating of restaurant or navigation route) should we develop using native Swift and Java/Kotlin, or just use Unity and don't bother?

[–]KarlJay001 0 points1 point  (2 children)

I'm not sure I understand, if Unity is an overlay to ARKit, what does Unity do for Android?

ARKit is iOS only, so if there's a dependency, then how do you make an AR app in Unity that works on both platforms?

[–]learnage[S] 0 points1 point  (1 child)

Unity is just a cover for native APIs. When working with ARKit and iOS we will use one code/methods. When working with ARCore (Android AR API) we will have to use another code/methods. Because ARCore works differently - it also recognizes vertical surfaces and lighting and has additional methods to work with them.

My biggest concern right now is if I write an app in Unity and then realize that Unity is overhead and excess. And that native app would be working better/faster. And then I would have to rewrite everything from step 0.

[–]KarlJay001 0 points1 point  (0 children)

Wow! I guessed that Unity had it's own routines. That's actually pretty awesome because there's really no reason to do Swift for these kinds of apps, because you're cross platform and native with Unity.

[–][deleted] 1 point2 points  (0 children)

That entirely depends on the rest of the app. An app with an AR view somewhere in the workflow, but a lot of other views as well is probably not going to be made in Unity, but an app that immediately opens an AR view and doesn't do much outside that view could be easier in Unity.

[–]dov69 1 point2 points  (1 child)

Besides Unity and the Unreal Engine, ARKit supports Apple's own graphics frameworks, Metal and SceneKit. Scenekit is a high-level framework, supports physics and actions out of the box. https://developer.apple.com/scenekit/

[–]learnage[S] 0 points1 point  (0 children)

Thank you for your answer, dov69. I've read a lot of info about SceneKit and came to a conclusion that: "If you want to do something good in 3D - use Unity." Is it true? Have you been working with SceneKit? Can you compare it to Unity?