Roadmap to AR šŖ
Augmented Reality (AR) is a krazyy rapidly developing field that involves creating interactive experiences by overlaying digital data onto the real world. It has numerous applications in gaming, education, healthcare, military, retail, and more. There are several types of AR, including Social AR, Native AR, and Web AR, and each has its own use cases and development approaches.
While itās difficult to provide a clear and straightforward roadmap due to the heavy segmentation of AR across various forms, hereās a rough high level roadmap to get started with AR development:
Understanding AR and Its Types:
Start with getting a deep understanding of what AR is, how it works, and what are its various types. Learn about Social AR, Native AR, and WebAR and understand how they differ from each other.
- Social AR: These are AR experiences built into social media platforms like Instagram, Snapchat, or Facebook. Filters, Effects & Lenses are some common examples.
- Native AR: These are AR experiences that are built natively for a device. They often utilize device-specific SDKs like ARKit for iOS devices or ARCore for Android.
- WebAR: These are AR experiences accessed through the web, eliminating the need for users to download an app.
Choose Your Tools and SDKs:
Depending on the type of AR you choose to develop, youāll need different tools.
- For Social AR, tools like Meta Spark (Facebook and Instagram), Lens Studio (Snapchat and Camera-kit) or Effect House ( Tiktok ) can be used.
- For Native AR, use ARKit (for iOS), ARCore (for Android), or Vuforia/AR Foundation (for cross-platform).
- For WebAR, consider using frameworks like WebXR, A-Frame, AR.js, Snap Camerakit or 8th Wall. You can even try to make your own tracking solutions using Mediapipe models & Tensorflow JS in conjunction with threeJS/BabylonJS
Learn the Necessary Programming Languages:
While code programming is not a mandatory requirement thanks to many no code/visual programming solutions available out there, Iāll still recommend to learn scripting as it provides more control and freedom over your AR Experiences. Depending on the platform, youāll need to learn different programming languages.
- For iOS (ARKit), youāll need Swift. Explore some tutorials here
- For Android (ARCore), youāll need Java or Kotlin. Explore a tutorial here
- For WebAR, Lens Studio & Meta Spark, JavaScript is essential. Familiarity with HTML, Node and CSS will also be beneficial for Web. Note that Meta Spark uses Reactive Programming approach, so if you want to explore scripting inside Spark, get yourself acquainted with that
Explore tutorials here : SnapAR, Meta Spark, Effect House, WebXR - For Vuforia/AR Foundations, youāll need to learn C# as itās often used with Unity, a popular game engine. Explore tutorials here: AR Foundation, Vuforia
Develop Fundamental Skills:
Familiarize yourself with 3D modeling and graphics. Tools like Blender, Maya, and 3DS Max are commonly used for creating 3D models.
Build Small Projects:
Start by building small projects like a simple AR app that overlays text or an object in the real world. This could be a simple game, a social media filter/effect, or a web-based AR experience.
Learn About AR Interaction Design:
AR has its own set of UX/UI design principles. The interaction model in AR is completely different from other platforms, so learning about spatial design, object placement, and user interaction in an AR environment is crucial. Some articles to read: AR In UX Design, 18 AR MR VR Design Principles , Apple Spatial Design Principles
Build More Complex Projects:
As your skills improve, build more complex projects. Implement interactivity, spatial audio, or multi-user experiences. Some examples : Transformers AR, Portal Lens, Atoms & Molecules, Circulatory System
Stay Up to Date:
The AR field is rapidly changing, with new tools, techniques, and best practices emerging all the time. Stay up to date by following AR developers and influencers, joining AR development communities, and attending meetups, conferences or webinars. Some communities which Iām actively part of: XR Developers Group ą¤®ą„ą¤BAI, SnapAR, Meta Spark, Lenslist, Future Proofs, ARVRMR
Portfolio and Networking:
Build a portfolio showcasing your AR projects. This is essential when applying for jobs or freelance work. Networking is also vital in this industry, consider joining online forums, social media groups, and attending networking events. Follow these folks : Max Van, Matthew Hallberg, Don Allen III, Denis Rossiev, Dilmer, Naveen Upadhyay, Jeetesh Singh, Varun Raikar, Aakash Mansukhani, and many more including Me :P
You can use platforms like XR Bazaar, Cross Creators or your own website, link Tree to create portfolios.
Remember, learning AR development is a process. Take your time, keep experimenting, and donāt be afraid to make mistakes. Itās all part of the learning process. Happy developing! #LearnSomethingNewEveryday