ARCore allows developers to build augmented reality experiences for Android devices. It provides APIs for motion tracking, environmental understanding, and depth perception to allow virtual objects to be placed in and interact with the real world. Unity is a common development environment used to build ARCore apps. Some design principles for AR include avoiding separate onscreen controls, using the entire display to engage users, and being mindful of user safety. Audio and haptics can also enhance AR experiences. When developing for AR, it is important to focus on creating engaging and useful experiences for users and to test for safety, comfort and other factors.