Here are some important resources for the class. They may be updated and added to as the semester progresses.
Austin Yarger has some additional tools suggestions: Austin's tools.
All of your projects must be developed using Unity. No exceptions.
Each time you create a new project, go to
Edit -> Project Settings -> Editor and set
Version Control to
Visible Meta Files and
Asset Serialization to
Force Text. This is essential for version control to function correctly.
Prototyping, which we're strongly encouraging you to do, often results in unused assets lying about once a project is complete. Before you submit, please eliminate these assets from your projects. Don't delete anything unless you're sure.
Additionally, audio assets can be exceptionally large when uncompressed. Please use Audacity to reduce the duration of audio assets where appropriate and to compress them before importing them into your projects.
More detailed information about reducing file sizes of builds generated by Unity can be found at Reducing the File Size of the Build if you're really interested.
We require you to use the Git version control system for all your projects. It is required that each project be stored in the root of its own Git repository.
Additionally, we provide a .gitignore file (based on one from GitHub) that will omit files automatically generated by Unity and by our own scripts as well. Please add it to your projects first thing to avoid committing large and unnecessary files.
Public hosting available to your peers will be handled as an honor code violation!
Keep in mind that merging binary files is pretty much impossible. Binary files include prefabs, scenes, and non-code assets. When working with your partner(s), make arrangements to ensure that binary assets are not being worked on in parallel, or you'll frequently need to redo work. One blunt approach is for team members to claim ownership of different scenes. Another possibility is to coordinate work on different scenes through email and/or Google Calendar.
There are some steps you should take care of before getting deep into your project:
git (Git) is accessible from the commandline.
Note: If you choose to use Brew to install Keka, make sure you use
brew install Caskroom/cask/keka.
.git/ directory should exist in the root of your Unity project.)
Documents/ subdirectory within your Git repo and plan to store any written deliverables of the assignment there. (Keep anything we haven't explicitly requested out of there.)
From time to time, you should additionally
File -> Build Settings... and that the checkboxes for them are checked.
Be aware of the naming convention for the given assignment:
Please do as follows:
.app bundle for Mac OS X and the
.exe for Windows following the above naming convention.
eecs-494-f16-p1_uniqname_uniqnamf-private.7z should be built in your repository. It should contain
.7z file built by the script directly to Canvas or, if absolutely necessary, provide a link and the SHA256 sum generated at the end of the script as part of your submission.
Documents/ or which include only links (such as
.gdoc redirects) instead of required exports will not get credit for those deliverables. You will get a 0 for them.
This class requires you to share your projects with one another for feedback and during in-class presentations. The following resources will help you publicly host your files online.
Free University of Michigan web hosting should be suitable for your needs. Looking beyond this class, web portfolios are excellent to have come time for interviews.
For non-static hosting and for additional experience that may be useful in the future, you could consider splurging for Amazon EC2,a DigitalOcean Droplet, or Linode. GitHub and other services often offer affordable or even free options for students.
In cases of emergencies only, laptops with HDMI, Mini DisplayPort, or VGA connectors can be used for in-class presentations. Feedback quantity will suffer, as will your grade if it becomes a habit, but the show must go on.