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.
If you'd additionally like access to a GUI, I recommend trying SourceTree or TortoiseGit. GitLab provides free, private hosting if you'd like to take advantage of it.
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:
eecs-494-w17-t1_uniqname
eecs-494-w17-t2_uniqname
eecs-494-w17-p1_uniqname_uniqnamf
eecs-494-w17-p2_uniqname_uniqnamf
eecs-494-w17-p3_uniqname
eecs-494-w17-p4_uniqname_uniqnamf_uniqnamg_uniqnamh
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 eecs-494-f16-p1_uniqname_uniqnamf.app/
, eecs-494-f16-p1_uniqname_uniqnamf_Data/
, eecs-494-f16-p1_uniqname_uniqnamf_Repo/
, and eecs-494-f16-p1_uniqname_uniqnamf.exe
..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.