SIT283: Development for Virtual Reality
VR Development Challenge
Note that you do not need to complete previous assessment tasks before starting work on this challenge. You
should start planning your solution from now on, firming up your ideas and integrating components as we
cover key concepts in each week of the unit. This will maximize your opportunities to get suggestions and
feedback from the teaching staff prior to submission.
This challenge is an opportunity to integrate the various skills learned throughout the unit. You will develop
a virtual reality experience based around one of the concept areas that will be provided to use. Your solution
must incorporate the elements listed below in this document in order to meet all of the criteria for
assessment. Your report should provide a clear description of the contributions you have made in your
development. Well written and commented code must also be easily accessible within your project file using
professional naming conventions.
This is a significant element that should be incorporated into your professional portfolio. The material may
also be demonstrated and shared with your peers and industry representatives at showcase sessions at the
end of trimester.
End of week 10 (11:59PM, 21st May 2021).
Format of submission
Each submission should contain:
• A document formatted according to the template provided below.
• The project file (a zip archive containing all of the resources, scripts and other assets required to
build, deploy and test your solution).
• Any further material specified explicitly in the task description.
Submit materials to the appropriate unit site assignment folder in CloudDeakin.
Individual submissions. Discussions with peers and teaching are encouraged but solutions must be
individually developed. Solutions should acknowledge all sources of assistance, and formally cite and
reference any external materials used.
Select one of the concepts provided in the concept document and build a virtual reality application
corresponding to one of the contexts listed. Alternative contexts for one of the concepts listed can be
undertaken with approval of the unit chair.
Due to the ongoing crisis with COVID-19, a number of students are joining the unit online and cannot utilize
the head mounted display and associated controllers. In those cases, your application must be able to run in a
simulator or as a Unity application. The tutors will help you in achieving that. Please discuss with the tutors
during the lab times or schedule a meeting online if required.
Your solution needs to incorporate a minimum set of functionalities as per the list below in order to
demonstrate achievement of the learning outcomes for this unit. Skills developed in the other VR and AR
units can be incorporated to further improve the quality of the resulting product and increase the likelihood
that your skills will be valued by our external partners and stakeholders. We would like the resulting
application to be one that you would proudly include on your portfolio.
Discuss your plans with the teaching staff, particularly if you need any clarification on whether a feature you
have planned meets the required level of functionality. You should discuss and finalize this with the unit
chair by week 4 so that formative feedback can be provided.
This task is intended to allow you to practice your development skills in creating VR applications. You
would need to enhance existing third-party components or built-in facilities to provide additional
functionality if you wish to claim those elements towards satisfying requirements. You may freely use
(subject to valid licensing and acknowledging sources) such components or third-party art assets, to support
your applications in ways that you do not designate for assessment purposes. All material that you do not
create yourself (including third party scripts, built-in scripts, material developed from tutorials,
answers from support sites, help received from any source including teachers) must be clearly
identified and referenced.
Your virtual reality application must include each of the following elements.
1. Scripts that provide various form of control:
a. Some form of movement involving change of position of one or more objects (which can
include the viewer). Simple forms of this include movement along one of the principle
axes. More sophisticated movement would follow a curve, or respond dynamically to
other factors (e.g. cross winds and wind resistance)
b. Some form of direction (attitude) control allowing objects to be rotated. Simple forms of
this include rotations around a single axis. More sophisticated use involves rotation to
track a particular object or person.
2. The application should support a task that involves a sequence of steps that have to be undertaken
by the users. The goal of this requirement is to demonstrate management of state and transitions
between different states; specifically, the application of the state machine pattern.
3. The application should support a tool that allows the user to interact with the environment in some
way. An appropriate representation is needed for the tool, and to shows its effects. Control of the
tool will involve managing input from an appropriate controller. An example would be a magic
wand for teleporting to a particular location but would ideally be a mechanism unique to the
context for which the application is developed.
4. Visual, auditory and other sensory cues need to be provided to increase the value of using a
virtual reality solution towards solving these tasks. This requirement evaluates the mechanisms
required to use such media resources. Given the use of simulators only, we would encourage to
find innovative ways to achieve this (for example, keyboard or mouse-based controls to trigger
5. Key parameters of the application must be assessable via a user interface provided to the user
while in the virtual environment. There needs to be at least one parameter (such as difficulty level,
or speed of interaction) that the user can manipulate, and which will have an effect on some
clearly identifiable property of the virtual world.
6. Some part of the virtual environment needs to include an autonomous simulation. This may be
moving blood cells through a circulatory system in a medical simulation or having a bath filling
with water while showing off real estate. This simulation need not be affected by user behavior,
but interaction can be included to achieve a high-quality solution.
7. The application needs to include a start screen, with title and author details, a brief overview of
the purpose and the controls or controller configuration to be used. The application must have an
option to exit back to this start screen and reset the experience.
Prepare a report describing your solution to the task, particularly with respect to the VR/AR development
aspects of the process. Your report should contain the following sections, corresponding to the assessment
criteria in the rubric:
a) Name of the concept that you have chosen.
b) Describe the context of that concept that you have chosen.
c) List the key requirements of the concept and briefly describe how you have achieved these
requirements in the virtual reality experience you have created.
d) Justify why your application should be considered to be a virtual reality experience.
2. Required functionality:
Include a numbered and labelled subsection for each of the key challenges required. In each
a. Explain what you intend or have done to satisfy that particular requirement (1 paragraph).
b. Describe research conducted into ways of solving the challenge. References are important.
Finding specific code fragments represents very limited research ability.
c. Finding and reporting programming patterns or adapting and applying abstract concepts to
produce professional quality results represents valuable research.
d. Present your design and solution. Describe your choice of patterns to solve the problem.
Show the relevant portion of well written and commented code. Support each excerpt with
brief discussion of the significance of this script fragment as to why it represents a
valuable demonstration of your programming abilities.
e. Show how well this functionality works. Provide screenshots clearly showing the effect.
Mention any testing conducted to make sure the functionality is robust.
3. Operational instructions.
a) Describe how to install and run your code. You may assume that the software and equipment
available in the laboratory will be used for testing, but be specific on any software version
requirements, or particular configuration of any hardware that needs to be connected. Make sure
your solution runs correctly when loaded (defaults to the correct scene, for example).
b) Give instructions on how to test each of the facilities required. This includes any sequence of keys,
gestures or controller operations required to invoke them.
Criteria ULO GLO Inadequate 0
SIT283: Development for Virtual Reality