This page will tell you how to download the project and the required softwares to build the project.
The first step is to go to the github repository containing the project file: https://github.com/msaleh28/cs428-project1.git
Click on the green button named Code and then Download Zip. Decompress the Zip file and then we will continue to the next step.
In order to run this project, you will need Unity version 2021.3.6f1 and Vuforia version 10.9. To download unity, go to https://unity.com/ and click on the blue Get Started button, then click the Student and Hobbyist tab, and then click the Get Started button under the Personal plan. You may then download for your preferred platform. Install Unity Hub. Inside Unity Hub, click on Installs then Install Editor. You should then click the Archive button and then click Long-term support. From there, click on LTS Release 2021.3.6f1 and then Unity Hub to let Unity Hub install that version.
NOTE: You will need to be admin / root to install Unity in the default location, otherwise Unity Hub will download the files and then fail (mostly silently) on the install. To get around this you can click on the gear on the left pane of Unity Hub, click on Installs, and then change the Installs Location to a place you do have write access to, say somewhere in your home directory.
You should have it install Unity, Documentation, and iOS Build Support to deploy to iPhone.
Our next step is to download Vuforia. Register for a free account at https://developer.vuforia.com/. Then download Vuforia 10.9 from https://developer.vuforia.com/downloads/sdk. Then click on 'Add Vuforia Engine to a Unity Project or upgrade to the latest version'. Vuforia should download as add-vuforia-package-10-9-3.unitypackage. Add Vuforia Engine version 10.9 to a Unity Project by following the instructions at - https://library.vuforia.com/getting-started/getting-started-vuforia-engine-unity. On the mac you may get a warning that it cant do the install if you don't have the Xcode command line tools installed. One way to do the Xcode installation is to open up a terminal window and type xcode-select --install.
Once you have finished installing Vuforia, open up the Project folder from Unity Hub. Once you are in the project, click on the Scenes folder in the bottom-left part of the screen. Drag the RoswellScene under the Hierarchy on the left. If the default scene is visible in the hierarchy, right-click it and delete. You should just see the RoswellScene on the left. Under Window / Vuforia Configuration check the Play Mode Camera Device. Make sure it is the correct one for the computer you are using. Having a dedicated webcam can help in development as its easier to reorient a hand-held webcam than the one at the top of your computer screen.
The next step is running the program. Now that you have installed Vuforia and changed the configuration settings, the camera will be able to track the printed cubes. To print the cubes, download the files posted at the bottom of the page and print out both the Merge and Class cubes, cut out the shapes and put them together. Hold each cube up to the camera and watch it transform into a 3D model of either the Bermuda Triangle or the pyramids of Giza, depending on which cube you hold up. You can see the time and climate of each model on the sides of the cubes, and you can also flip them upside down then rightside up again to change the lighting.
There is an option in Unity to export to a phone app. In order to export onto iOS, you will need XCode, which is around 10-11 GB of space. Open up the project in Unity and go to File / Build Settings. If the scene is not listed at the top in 'Scenes in Build' then add your scene. To build for iOS, click on iOS in the Platform list and click on Switch Platform. Unity will install a bunch of assets. In Unity go to Edit / Project Settings / Player. Below 'Cursor Hotspot' there should be a horizontal menu with icons for PC / iOS / Android. Click on iOS. Click on Other Settings. Midway down you should see 'Camera Usage Description'. Type something in like 'Vuforia needs access to your camera'. This will appear when the app first tries to use your camera so a user knows why the app to wants access to the camera.
In Unity, in the Build Settings panel, click on Build. It will ask for a directory to put the build. Its best to put this outside your project folder so it doesn't get backed up by git. It will take about 1.75 gig of space. Plug in your iPhone with the appropriate cable. If this is the first time then Xcode will want to link it to an iCloud account. You will also need to trust this computer to talk to your phone. After Xcode does some more thinking, you should now see your phone listed at the top of the screen 'Unity-iPhone > your-phone-name'. If not, click on Any iOS Device and you should see your phone in the drop-down list.
If the folder icon at the top of the left column isnt selected, click on it. Scroll to the top of the big list on the left and click on the top item Unity-iPhone. This will bring up a bunch of settings for the project. Click on 'Signing & Capabilities'. It will probably say Team: None. You need to give it a team or you will get a build error. If you already have an account select it. If not you need to create a new one. Make sure that 'Automatically manage signing' is checked as this simplifies things dramatically with regards to certificates. Now you should be able to click on the '>' button at the top and the app should build, install, and run on your phone. If its the first time it should ask you for permission to use the camera and after that it should work the same as the webcam version. If you are using a free account (rather than a paid developer account) you will need to give permission in Settings for the phone to run this unidentified application you just created.