Poster

Elevator Pitching
Space Quest
First person virtual reality game, where the player will embark on an unexpected journey in order to leave a distant and strange planet. The levels will change and challenge the player in different sensory ways
To complete this quest the player must navigate the different levels before returning to their spaceship and ultimately leaving the planet.
Space Quest
Roles and Responsibilities
Team Members
Visual Group —– Miranda Silverman & Shihui Doris He
Sound Group —– Vlad Popescu & Sephora Pietrzak & Rose Vargas & Dean Powell
Menu Scene | Scene1 Space Explore | Scene2 Planet Explore | Scene3 Tunnel Explore | Credit Scene | |
Visual | Doris | Miranda | Doris & Miranda | Miranda & Doris | Doris & Miranda |
Sound | Vlad – Intro sing Piano right st.8th bar | Dean – Explosion Vlad – Music | Sephora – Bleep ship sounds & Starfish Vlad – Sound puzzle Dean – Mushrooms & Portal & mushroom guy Group Colab – Rocks | Sephora – Starfish Rose – music Vlad – Big room music Dean – Hand scan & Portal | Dean – Final music |
Space Quest
Initial Concepts
In our first meeting as a collaborative team of Sound Art students and VR students, we began by sharing and discussing our own strengths and interests. This gave us a good understanding of each team member’s skills and areas of expertise. With this foundation, we began to brainstorm ideas and concepts that pops out of our mind. After the discussion, we combined many ideas into three overall themes. This event ensured that each of our team member had a voice in shaping the direction of the project.
Brainstorm (Loose Concept of Games)






Initial Idea
After all consideration our group decided to expend more with concept 3 with a linear Narrative. The initial idea revolved around a spaceship crash-landing on an unknown planet, leaving the player stranded and unable to take off again. To survive, the player must search around the tunnel. As the player enters the tunnel, it is split into different directions, creating a sense of exploration and uncertainty. We were planning to add various sounds along each path lead the player to the correct tunnel which leads to progress, while others lead to dead end. However, we also think of letting the player to encounter friendly aliens or fish-like creatures offering help to add in more interaction.




Concept Research

Later on, we decided to incorporate the concept of giant crystals into the environment of the underground world as well. The underground space is filled with diverse-shaped crystals, each with a single color dominating its appearance. These crystals add a touch of mystique and visual interest to the underground landscape.

These images represent some of the possibilities that our team brainstormed during the idea-gathering phase. We envisioned a UFO-like extraterrestrial spaceship, with its distinctive design and futuristic appearance. Additionally, we imagined intriguing alien creatures inhabiting the planet, characterized by unique and unusual features. Another idea that emerged was the inclusion of stairwell passages leading to the underground world, adding a sense of mystery and adventure to the game.
The two screenshots on the left above are taken from the episode “The Very Pulse of the Machine” in the series “Love Machine.” In the initial discussion, our team agreed that the environment of the planet and the underground world should be desolate deserts. The planet is covered with vast crystals and sand, creating a landscape filled with grandeur and aridness.

Furthermore, we came up with the idea of exploring additional directions in environmental design. We envisioned a lush and magical ecosystem, reminiscent of a fantastical world. This new concept would involve the inclusion of luminescent flora and fauna, creating an enchanting atmosphere. The introduction of glowing plants and creatures would add a captivating visual element to the game’s environment, immersing players in a vibrant and otherworldly setting.

Once we had finalized the initial game concept, we started assigning tasks among the team. I was in charge of the second scene, which revolved around exploring the planet after the ship had crashed. This would be the main environment where the players will spend most of their time in exploring, solving puzzles, and overcoming challenges towards the third scene, which is exploring the tunnels.
Inspiration For Scene 1 & 2 Story Telling
For the second scenario of our game, we drew inspiration from the lush, vibrant forest environment in the movie Avatar. My goal is to create a visually striking and immersive environment that would captivate players as they explored this unknown planet.
The forest environment in our game is filled with vibrant plants, and bioluminescent elements (ex: trees). The ground is covered with colourful flowers waving with the wind, creating a rich, immersive landscape.
One of the key interactive elements of this environment is the presence of glowing flowers. These flowers emit a soft glow that illuminates the surroundings and adds a magical atmosphere to the forest. Players can interact with these flowers by touching them to activate their glow. These interactions trigger key to appear.
Inspiration For Scene 2 Creature Design
For the storytelling of Scene 3 we drew inspiration from the iconic tunnel scene in Raiders of the Lost Ark. To guide the player through the tunnel, we are thinking of adding elements similar to the noise-driven path. Players hear sound and visual guide in tunnel. This adds an element of curiosity and mystery, compelling the player to follow these sounds and uncover the truth. We are also designing obstacles and challenges along the way such as locked doors.
The goal of storytelling in this tunnel scene is to evoke a sense of adventure and discovery that mirrors the excitement mystery feeling Indiana Jones faced on his own quest.
Inspiration For Scene 3 Environment Design
We took inspiration from the “Love, Death and Robots” episode of the series “The Very Pulse of the Machine” incorporated into our storyline. In the first scene, we introduced the excitement of spaceship piloting. Similar to this episode, the second scene begins with a spaceship crash-landing on an unknown planet.
In scene 2, we include themes similar to the film, such as getting in touch with creatures. And also providing the player with challenges to overcome. It will be about surviving, exploring, and the relationship between humans and creatures.
Inspiration For Scene 2 Environment Design
In addition to the glowing flowers, I have incorporated a unique creature inspired by the flying starfish from the Avatar movies. These creatures gracefully soar through the forest with their bioluminescent wings emitting a soft glow. Players interact with these creatures by simply touching it. As a result, they are going to lead you discover hidden areas or secrets in the forest.
Inspiration For Scene 3 Story Telling
Just as Hayao Miyazaki’s films – Castle in the Sky showcase richly detailed and visually captivating underground landscapes, we aim to recreate a similar sense for our tunnel scene.
In “Castle in the Sky,” the underground scenes feature huge caves adorned with glowing crystals with a soft glow. We plan to incorporate this element by including similar glowing crystal in our tunnel scene. Its glow will also illuminate the surroundings.
In addition, Miyazaki’s underground scenes often evoke a sense of mystery and discovery. In our game, we will tend to create a similar sense into the tunnel environment. Along the way, crystals and sounds hint will guide the right way.
Space Quest
Theoretical research
A Tale of Interspecies Cooperation
As we first decided with the topic “Space Quest”, it remind me of a news I saw years ago about a mysterious planetary system known as TRAPPIST-1, which is a planet beyond Earth that may be suitable for human life or already existing Lifes.
Imagine a scenario when humans venture deep into space and land by chance on an unknown planet in the TRAPPIST-1 system. Upon arrival, our protagonist finds a starfish like alien species calling for help. The player takes on the role of a representative of humanity and faces the unknown danger.
As the game progresses, players will encounter the situation to choose either save or not. In this case, narrative will emphasize the urgency of the situation, compelling players to take action and reach out to these alien creatures. Through exploration, puzzle solving and strategic decision making, players will discover the other side of the world (tunnel), build alliances and work together to overcome obstacles. Throughout process, assistance provided by the species would help the player in return (giving the player missing piece of the spaceship).
In the journey of collaboration, it discussed about the possibility of human encounters with alien species in need of help. I tend to explore the concept of interspecies cooperation, highlighting the potential for mutual help and understanding between humans and creatures.
Game “Outer Wild”
Similar to Outer Wilds, this game emphasizes the exploration of spaces. Both games invite players to venture into the unknown, uncovering hidden secrets.
In addition, sounds help immerse players in the environment and enhances the overall environmental experience. The use of audio cues to guide the player in the right direction (crystal guide — Tunnel), as well as potentially surprising twists and turns (space crash — Space Explore), adds depth and excitement to the gameplay, much like the audio design of The Wilderness Drifter.
Why “VR”
Space Quest
Technical research
In the popular game “The Legend of Zelda: Breath of the Wild,” there is a gameplay mechanic that involves collecting and interacting with the environment. One of the collectibles, called Korok Seeds, is obtained by sequentially touching flowers in a specific order. In my own game, I have also included a similar gameplay element. By touching three flowers in a specific sequence, players will acquire a key item essential to progressing in the game. This adds a sense of discovery and puzzle-solving to the gameplay experience, allowing players to engage with the environment and uncover hidden rewards.
In the game “Monster Hunter,” players are guided by a particle system that constantly provides directional assistance in front of them while they are on missions. This feature serves as an important element that I would like to incorporate into my own game. Since the second scene is a relatively large open space, I wanted to restrict the player’s movement within a certain area, and the best way to achieve this is through guidance. To prevent players from venturing into undeveloped areas, I have implemented invisible walls that limit the player’s range of movement. This ensures that players stay within the intended playable area and maintains a smooth gameplay experience.
After I decided to focus on the planet exploration theme for the scene, I wanted to come up with interactable things for players to do. Inspired by the flower interaction in the movie Avatar, I thought it would be cool if players could touch a flower in the game and see it light up with sounds. Therefore, I watched a video teaching me how to control the emission through script.
I also achieve making the keypad system work in this game following this tutorial. But instead I use sound as hint for player instead of numbers.
I have added a menu screen at the beginning of the game. Through this menu, players can interact with the UI interface in VR, and I have incorporated scene transition functionality to the “New Game” button. This feature allows players to seamlessly transition from the menu to the game scene. By learning how to enable player interaction with UI elements in a VR environment, I have successfully implemented a smooth and intuitive start to the game. Players can also learn the control of the game by reading the control texts.

By studying this video, I have added a credit UI at the end of the game to showcase the entire development team behind it. The credit sequence is presented using animation, starting from the bottom of the terrain and gradually moving upwards to create a visually engaging effect.

The credit UI serves as a fitting conclusion to the gameplay experience, giving players a glimpse into the behind-the-scenes efforts that made the game possible.
In this video tutorial, I learned how to incorporate video playback on the UI. Utilizing video editing software, I created a mission video that provides players with instructions on what they need to accomplish. This video is strategically placed in a prominent location within the game, ensuring its visibility and accessibility to players. By using videos as a means of communication, I enhance the immersive experience and convey important information in a dynamic and engaging manner. Players can easily understand their objectives and tasks through the mission video, allowing them to progress through the game with clarity and purpose.
Space Quest
Storyboard
Scene 1 (Space Explore) Storyline (Miranda)
When the game starts, player find himself in a space adventure, piloting a spaceship. During the flight, he encounters many hazards such as flying rocks and obstacles. Unfortunately, the spaceship is hit by a large rock and becomes damaged, forcing him to make an emergency landing on the nearest planet, TRAPPIST-1.


Scene 2 (Planet Explore) Storyline (Doris)
When the player wakes up from unconsciousness, he finds that the ship has malfunctioned, and need to open the sealed hatch manually. By figuring out the sound keypad puzzle, the player manages to open the door and finds himself on a familiar planet. He saw a forest like environment with grass, flowers and trees that are very similar to Earth. On the other side, there are also difference peculiar life such as glowing plants and unique alien creatures. With the guide of the projector, the player discovers that the spaceship has lost two crucial parts which caused the emergency landing. While searching for the losing parts the player encounters a starfish-like creature that seems to be seeking for help. It calls out to the player and eagerly wants the player to follow it. When the player touches the creature, it leads the player to the destination. On the way, player got attracted by a field of flowers. The alien creature seems to be guiding the player to explore this area. By touching the flower, it glows with a peculiar sound then the player is given a key. With confusion the creature continued to lead the player to the next destination. Then the player saw a creature that looked exactly like the one he is following trapped in a cage. At this moment the player realized what he should do with the key. He unlocked the cage where the creature was trapped and at the same time a large mushroom statue next to the cage slowly raised its head and given the player an item. The player discovers that this item is the missing ship fragment he was looking for. Following the rescued creature, the player returned to his ship and repaired the ship. But the creature still seems to be calling for the player to follow. The player decided to find out what the alien creature seek for. The player then sees a cube floating in the air in the distance that seems to be dissonance from this peaceful and harmonious planet. As the player walks closer, the cube opens up and begins to rotate. With curiosity the player went forward and touched the cube. At this point the player was transported to another space. The cube seems to be a teleportation portal.


Scene 3 (Tunnel Explore) Storyline (Miranda)
The space is an underground tunnel, with stone walls and crystals shimmering with a blue glow that illuminates the entire environment. When the player touches the crystals, they light up and make a shimmering sound. As the player explores the tunnel, a blue transparent creature slowly approaches toward him. Just as the player try to figure out how to navigate the confined space to avoid run in to the creature, it slowly turns into the wall that looks like a hidden stone door and disappears. As the players approach to examine the wall, they discover that it is actually a hidden stone door. However, they don’t know how to open it. The players remember seeing a mysterious stone sculpture resembling a human face while exploring the tunnel. Perhaps investigating this stone sculpture is worth a try. Near the stone sculpture, players find two glowing pink crystals that contrast with the blue nature around them. The player picks up the crystals, approaches the stone sculpture, and finds a magnetic-like force attracting the crystals. At this point, the hidden stone door slowly opens. The player steps into the hidden passage and finds a huge open space, different from the narrow and harmonious tunnel before. In the centre of this space, there is an aurora-like vortex. Entering this space, the player finds and picks up a blue gem that seems to be isolated by the wind of these vortexes. Stepping out of the barrier, the player sees six experimental pods placed on both side of the space, each containing the creatures that helped the player before. The player finally realizes that the urgency these creatures expressed in the previous world was their need to the player to save their species. Using the energy of the blue gem, the player opens all the pods and releases the creatures, which leads the player to open the last hidden stone door. Behind the door is another cube, similar to the one encountered in the other dimension. The player knows it’s time to return to their interstellar journey.
Regeneration Reaction


Scene 4 (Credit Scene) Storyline (Doris)
The player returns to his spaceship and watches himself leave from a third-person perspective. Game End

Space Quest
Production
Game Cycle

Platform
- PC
- VR Headset
Rules (Restriction, Boundary)
In the space explore scene and planet explore scene, there are air walls that act as invisible barriers that prevent players from moving to a certain point. These air walls create a well-defined play area, ensuring that the player stays within the designated boundaries of the scene.
In the tunnel scene, there are strategic dead ends to limit the player’s movement options. These dead ends act as physical barriers, forcing the player to move in only one direction.



Game Genre
Linier adventure games
First-Person
Number of Participant:1
Game Mechanic
Scene 1 (Space Explore)
- Vehicle Controls: Allows players to pilot spaceship within the game, provide with a sense of control and immersion.

Scene 2 (Planet Explore)
- Snap Turn: Allows players to instantly rotate their virtual view, which provides a convenient way to change orientation and navigate the virtual world without having to actually turn their bodies.
- Smooth Locomotion: Provides continuous movement through the virtual world, typically controlled by the player’s controller input.
- Grabbing and Manipulation: Allows players to reach out and physically interact with objects in the game world, such as picking them up, throwing them, and manipulating them in a variety of ways.
- Puzzle Solving: Presents players with puzzles and challenges that require their problem-solving skills to progress through the game.
- Environmental Interaction: Encourages players to interact with the virtual environment by touching, pressing buttons, activating switches to trigger events to unlock new areas.
Scene 3 (Tunnel Explore)
- Continuous Turn: Allows players to smoothly rotate their perspective in the virtual world, providing a more immersive and natural way to see and explore their surroundings without physically moving.
- Smooth Locomotion: (Same as scene 2)
- Grabbing and Manipulation: (Same as scene 2)
- Environmental Interaction: (Same as scene 2)
Interaction
Main Menu Button



I created a UI main menu scene for player first enter the game. They can click on the “control” button to see how to control their character. Then they can click on the “New Game” button to enter the space explore scene. “New Game” button contain a script for scene transition shown above. The “Control” button contains a script controlling the animation for “Control” page to scroll down. I also added a “Quit” button for player to exit the game which contains the quit script shown above. The background music is created by the art students.
Planet Explore Inside Spaceship
I created a sound hint Keypad for the planet explore scene. The animated puzzle contains a puzzle script to control the input of the player. each button contains a button script controlling the button player inputs. When player touches the button it would change color from blue to red. Also the 9th button is a reset button which is appeared as a UI text “reset”. Once the player input the correct pattern the animated key would appear. When the player touches the key which contains a door open script. it would trigger the XR Origin to change from stationary to movable and also trigger the door animation to happen. when the door open I attached an audio script for the opening sound. after the audio is played I connected a background audio set active script to start the background audio.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Keypad : MonoBehaviour
{
public GameObject Key;
public string password = "1234";
public string userInput = "";
public int TotalInput;
public AudioSource HintSound;
private void Start()
{
userInput = "";
Key.SetActive(false);
}
public void ButtonClicked(string number)
userInput += number;
TotalInput += 1;
if (userInput.Length >= 4 && !Key.activeSelf)
{
if (userInput == password)
{
Key.SetActive(true);
//Key appear and play sound
Debug.Log("Entry Allowed");
}
else
{
Key.SetActive(false);
Debug.Log("Not this time");
HintSound.Play();
userInput = "";
}
}
if (TotalInput >= 4)
{
TotalInput = 0;
}
}
public void ResetButton(string number)
{
//userInput += number;
userInput = "";
TotalInput = 0;
}
}
Puzzle Script
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class DoorOpenSound : MonoBehaviour
{
public AudioClip DoorAudio;
public AudioSource audioSource;
void DoorSound()
{
audioSource.PlayOneShot(DoorAudio);
}
}
Door Open Audio Script
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Events;
public class ButtonScript : MonoBehaviour
{
[SerializeField] GameObject Button;
[SerializeField] Material ChangeColorTo;
[SerializeField] Material OriginalColor;
public Keypad KPscript;
public UnityEvent KeypadClicked;
public AudioSource ButSound;
private void OnTriggerEnter(Collider Other)
{
if (Other.tag == "Player")
{
ButSound.Play();
Debug.Log("Clicked me!");
KeypadClicked.Invoke();
Button.GetComponent<Renderer>().material = ChangeColorTo;
}
}
void Update()
{
if (KPscript.TotalInput == 0)
{
Button.GetComponent<Renderer>().material = OriginalColor;
}
}
}
Button Script
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class DoorOpen : MonoBehaviour
{
public Animator DoorAnim;
public GameObject StationaryPlayer;
public GameObject MovablePlayer;
private void OnTriggerEnter(Collider other)
{
if (other.tag == "Player")
{
DoorAnim.SetBool("Unlock", true);
StationaryPlayer.SetActive(false);
MovablePlayer.SetActive(true);
}
}
}
XR Origin Change Script
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class BackgroundAudioPlay : MonoBehaviour
{
public GameObject AudioObject;
void Start()
{
AudioObject.SetActive(false);
}
public void PlayBGSound()
{
AudioObject.SetActive(true);
}
}
Background Audio Set Active Script
Projector UI
I created a UI hint for player to know what their missions are. I found a background UI video on YouTube and I edited with the text and background sound using Clipchamp.

Spaceship Fix Missing Parts
One of the missions for player in planet explore scene to complete is to fix up the spaceship by finding two missing pieces. By attaching them to the missing area would complete the mission. I first created a script call “puzzle manager” for controlling the fixed ship animation to set active when two of the pieces are attached. Then I created a “puzzle slot” script to control the position when the missing piece enter the missing piece area. The content includes when the tagged piece enter the area. the position, rotation, and scale would change to snap and fit on to the spaceship. I also created a UI text “Missing Parts” on the area that needs to be fix as a guide for player. When the area is fixed, the UI would disappear. I added sound when player snaped the piece onto the spaceship and also when the spaceship is fixed.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PuzzleManager : MonoBehaviour
{
public int AmountofPuz; //track total amount of puzzle
public Animator ShipAnim;
void Update()
{
if (AmountofPuz == 2)
{
print("unlock");
ShipAnim.SetBool("Parts_Fix", true);
}
}
}
Puzzle Manager
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class GearSlot : MonoBehaviour
{
public GameObject P_A, P_B;
public SS_Lost_Parts SSscript;
void Start()
{
}
// Update is called once per frame
void Update()
{
void OnTriggerEnter(Collider other)
{
if (other.tag == "PartsA")
{
SSscript.AmountofParts += 1;
Destroy(other.gameObject);
P_A.SetActive(true);
}
if (other.tag == "PartsB")
{
SSscript.AmountofParts += 1;
Destroy(other.gameObject);
P_B.SetActive(true);
}
}
}
Gear Slot
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PuzzleSlot : MonoBehaviour
{
public PuzzleManager PM_script;
public Transform SlotPosition;
public Transform PuzzlePiece;
public string PuzzleTag;
public bool P_State;
public GameObject UI;
void OnTriggerEnter(Collider other)
{
if (other.tag == PuzzleTag) //if the tag name is same is my string PuzzleTag
{
print("trigger");
P_State = true;
PM_script.AmountofPuz += 1; //add 1 puzzle piece to PuzzleManager
}
}
void Update()
{
if (P_State == true)
{
PuzzlePiece.position = SlotPosition.position; //slot piece in place
PuzzlePiece.rotation = SlotPosition.rotation;
PuzzlePiece.localScale = new Vector3(23.35f, 23.35f, 23.35f);
Destroy(UI);
PuzzlePiece.GetComponent<Rigidbody>().isKinematic = true;
}
}
}
Puzzle Slot
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class SS_Lost_Parts : MonoBehaviour
{
public int AmountofParts;
public Animator SS_Parts_Fix;
void Update()
{
if (AmountofParts == 2)
{
SS_Parts_Fix.SetBool("Parts_Fix", true);
audioSource.PlayOneShot(Fix_Audio);
}
}
}
Spaceship Fix Animation Set Active
Starfish Touch Move
For the starfish creature, I want it to follow a path I created for it therefore I added a “follow” script which would follow the pathway created with the script “Waypoint Circuit”. I also want the player be able to catch up with the starfish and notice that it is leading the player to destination. therefore, I created a “Touch Move” scrip” only when the player touches the starfish it will start moving following the path. But it would be stopping after a distance to wait for the player touch again. The starfish itself contain a waving animation. When the player get close to the starfish, there are area sound that continuously play. When the player touches the starfish it would play a sound like “follow me” as a hint for player to know that they need to follow the starfish.
Waypoint Circuit Script: I didn’t write this script therefore I won’t be putting the entire script in this blog.
using UnityEngine;
using System.Collections;
public class Follow : MonoBehaviour
{
[SerializeField]
private WaypointCircuit circuit;
private float dis;
public float speed;
public bool ActivateMove;
void Start()
{
dis = 0;
ActivateMove = true;
}
void Update()
{
dis += Time.deltaTime * speed;
transform.position = circuit.GetRoutePoint(dis).position;
transform.rotation = Quaternion.LookRotation(circuit.GetRoutePoint(dis).direction);
}
}
Follow Pathway
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class TouchMove : MonoBehaviour
{
public Follow SF_script;
public bool Stop;
public AudioClip FollowMe;
public AudioSource audioSource;
void Start()
{
SF_script.speed = 0;
}
void OnTriggerEnter(Collider other)
{
if (other.tag == "StarFish")
{
SF_script.speed = 0;
}
if (other.tag == "Player" && Stop == false)
{
SF_script.speed = 4;
audioSource.PlayOneShot(FollowMe);
}
}
}
Touch Move
Flower Touch Glow & Key Set Active
When the player touches the flower it is going to glow up. When all three of them are touches, the key for the next mission would appear. The key contains a “key set active” script which controls when int is > 2 the key would set active. For the flower, I attached a “peacock glow” script, when the player enter the flower the emission of the material for the peacock would increase at the same time a glow audio would play. At the same time the int number would +1. In the script the reason why the key is called “Caidan” is because I originally plan to make the flower glowing system an easter egg where player would need to figure this out by himself.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Caidan : MonoBehaviour
{
public GameObject EasterEgg;
public int eggint;
void Update()
{
if (eggint>2)
{
EasterEgg.SetActive(true);
}
else { }
}
public void intchange()
{
eggint++;
}
}
Key Set Active

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PeaCock_Inter : MonoBehaviour
{
public GameObject FlowerGlow;
public Material material;
public Color color;
[Range(0f,10f)]
public float intensity;
public bool touched = false;
public float glowTime;
private float t;
private Color CurColor;
public AudioSource audioSource;
public AudioClip GlowAudio;
void OnTriggerEnter(Collider other)
{
if (other.tag == "Player")
{
if (touched != true)
{
GameObject.Find("PeacockManager").GetComponent<Caidan>().intchange();
}
audioSource.PlayOneShot(GlowAudio);
print("touched");
touched = true;
material = gameObject.GetComponent<MeshRenderer>().material;
CurColor = material.GetColor("_EmissionColor");
}
}
void Update()
{
if (touched == true)
{
t += Time.deltaTime / glowTime;
Color c = new Color(color.r * intensity * 100, color.g * intensity * 100, color.b * intensity * 100);
material.SetColor("_EmissionColor", Color.Lerp(CurColor,c,t));
}
else { };
}
}
Peacock Glow
Mushroom Guy
When the player approaches this mushroom stone carving, the mushroom’s head will lift up, and a prop will drop through animation, allowing the player to pick it up.
Cage Unlock Starfish Active Move
When the player uses the key to touch the cage lock. A cage unlock audio would play with a dissolve shader I created. This interaction is controlled by the script “Cage Unlock” where the dissolve value would increase 0.005f, when it reaches 1.5f and higher the script ” Active Move” would be true. The “active move” controls the trapped starfish’s movement similar to the other guide starfish. The difference is instead of touch move by the player. This starfish’s movement is controlled by the dissolved cage. This starfish also has the same sound and animation as the other starfish.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CageUnlock : MonoBehaviour
{
public Material DissolveM;
public bool Key;
public float DissolveValue;
public ActiveFollow F_script;
public AudioClip KeyUnlock;
public AudioSource audioSource;
void Start()
{
DissolveM.SetFloat("_dissolve", -1);
F_script.ActivateMove = false;
}
void Update()
{
DissolveM.SetFloat("_dissolve", DissolveValue);
if (Key == true)
{
audioSource.PlayOneShot(KeyUnlock);
DissolveValue += 0.005f;
}
if (DissolveValue > 1.5f)
{
F_script.ActivateMove = true;
//audioSource.PlayOneShot(FollowMe);
}
}
void OnTriggerEnter(Collider other)
{
print("touching");
if (other.gameObject.tag == "CageKey")
{
print("keytouching");
Key = true;
}
}
}
Cage Unlock
using UnityEngine;
using System.Collections;
public class ActiveFollow : MonoBehaviour
{
[SerializeField]
private WaypointCircuit circuit;
private float dis;
public float speed;
public bool ActivateMove;
public AudioClip FollowMe;
public AudioSource audioSource;
void Start()
{
dis = 0;
}
void Update()
{
if (ActivateMove == true)
{
print ("active");
audioSource.PlayOneShot(FollowMe);
dis += Time.deltaTime * speed;
transform.position = circuit.GetRoutePoint(dis).position;
transform.rotation = Quaternion.LookRotation(circuit.GetRoutePoint(dis).direction);
}
if (ActivateMove == false)
{
}
}
}
Active Follow

Tunnel Set active & Scene Transition


To ensure that the player won’t be touching the transportation tunnel right after they get out of the spaceship, I created a “Tunnel set active” script and attached to the pathway of the trapped starfish. Therefore, when the starfish reached the point of it’s pathway, the tunnel would appear. When the player gets closer to the tunnel and enter the collider the animation would player and the tunnel would start spinning. When the player touches the tunnel, they would be transfer to the tunnel scene with the “scene transition” script.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class TunnelSetActive : MonoBehaviour
{
public GameObject StarfishFriend;
public GameObject NeonCube;
void OnTriggerEnter(Collider other)
{
if (other.tag == "StarFish")
{
NeonCube.SetActive(true);
}
}
}
Tunnel Set Active
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class NeonCube : MonoBehaviour
{
public Animator NeonAnim;
private void OnTriggerEnter(Collider other)
{
if (other.tag == "Player")
{
NeonAnim.SetBool("Unlock", true);
}
}
}
Animation Set Active
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
public class SceneTransition : MonoBehaviour
{
public string scenename;
private void OnTriggerEnter(Collider other)
{
if (other.CompareTag("Player"))
{
SceneManager.LoadScene(scenename);
}
}
}
Scene Transition
Crystal Touch Glow
In the “Tunnel Explore” scene, I created crystals that emit light and sound when touched, serving as guides to lead the player along the correct path. The creation process for these crystals was similar to the script used for the glowing peacock in the “Planet Explore” scene. The only difference was that I significantly reduced the brightness of the crystals’ light for a subtler effect.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CrystalTouchGlow : MonoBehaviour
{
public GameObject CrystalGlow;
public Material material;
public Color color;
[Range(0f, 10f)]
public float intensity;
public bool touched = false;
public float glowTime;
private float t;
private Color CurColor;
void OnTriggerEnter(Collider other)
{
if (other.tag == "Player")
{
print("touched");
touched = true;
material = gameObject.GetComponent<MeshRenderer>().material;
CurColor = material.GetColor("_EmissionColor");
}
}
void Update()
{
if (touched == true)
{
t += Time.deltaTime / glowTime;
Color c = new Color(color.r * intensity * 1, color.g * intensity * 1, color.b * intensity * 7);
material.SetColor("_EmissionColor", Color.Lerp(CurColor, c, t));
}
else { };
}
}
Touch Glow
Rolling Credit & Animation
At the end of the tunnel scene I put the same transportation tunnel that lets the player to transfer to the last animation credit scene. In this scene the player sees the animated spaceship fly away from the planet. After that the animated UI scrolling credit would start. The background music is also added.
Level Design
There are three levels in this game. Each level represents one scene. The first level is basically a piloting spaceship experience where you only need to go straight and try to avoid hitting on the meteorite. The second level is to get out of the spaceship and fix the spaceship. Meanwhile rescue the starfish from the cage which would lead you to the third level. In the third level player have to find the right direction of the tunnel and rescue all of the trapped starfishes and enter the credit scene.
Environment build up

In the second scene, I created a terrain with small hills and large plains. I added flowers and trees to the terrain to enhance its visual appeal. The flowers were scattered across the landscape, adding vibrant colors, while the trees provided a sense of depth and natural beauty.

The two images displayed showcase the environmental vegetation within the scene. These vibrant and exotic alien plants serve as constant reminders to the players that they are immersed in a world beyond Earth. The striking appearance of these extraterrestrial flora adds an otherworldly charm to the surroundings, captivating players with their unique shapes, colours, and sound.



In all three scenes I created, I used the same skybox, which features an overall blue hue for the celestial background. By using a consistent skybox across scenes, I aimed to establish a coherent visual theme for the entire game. The blue hue of the skyboxes created a sense of serenity and mystery, enhancing the immersive experience for players as they explored the different environments. The consistent use of the skybox also contributes to the overall aesthetic unity of the game, tying the various scenes together and strengthening the interconnectedness of the game’s journey.

Next to the teleportation portal leading to the third scene, I placed two visually distinct trees and tree stumps. These unique-looking elements were strategically positioned to grab the players’ attention and pique their curiosity. By incorporating these eye-catching elements, I aimed to entice players to explore further and discover what lies ahead.


This is the spaceship model I found online, and it comes with a wide variety of textures. It took me quite a while to individually assign and match the textures, but the result was truly worth it. The level of detail and realism achieved with these textures is remarkable. Each texture adds depth and enhances the overall appearance of the spaceship, making it visually captivating and believable. Despite the time-consuming process of assigning the textures, the end result greatly contributes to the overall quality and immersion of the game.
Environment
Main Menu Scene (Environment build up by Doris)
The menu page features a Sci-Fi style UI that incorporates sleek and modern design elements. The menu page features a captivating starry sky in the background, creating a space-themed immersive environment. Players can navigate menu options within this User interface to prepare for the exciting journey.
Space Explore (Environment build up by Miranda)
The first scene of the game revolves around the theme of interstellar travel. The protagonist finds himself in the cockpit of a spaceship, surrounded in space with planets on both sides. In front of the ship, there will be meteorites and explosion effects to create a realistic space travel experience for the protagonist.
Planet Explore (Environment build up by Doris)
In the second scene, initially, players will find himself still in the same spaceship as in the first scene. However, when he unlocks the door, he will find himself in a landscape that resembles the vast grasslands and forests of Earth. The ground is covered with lush green foliage and flowers, creating a lifeful environment. Players are invited to explore this beautiful environment and immerse himself in the natural beauty of the surroundings.
Tunnel Explore (Environment build up by Miranda)
In this scene, the entire environment is set around an underground tunnel. The main theme of the tunnel is blue, with shinny crystals and creatures scattered throughout the tunnel. At the end of the scene, there is a specific area where the creatures are trapped, which takes place in a dilapidated warehouse-like space. This setting adds a sense of mystery and tension as the player travels through the tunnels.
Credit Scene (Environment build up by Doris)
The final spaceship launch animation utilizes the same environment as the planet explore scene, providing continuity and a sense of familiarity for players. However, in this final scene, I have removed all the objects except for the main environment. This helps optimize the game’s performance, ensuring smooth gameplay. The scrolling credits at the end are presented using a combination of UI elements and animations.
Space Quest
Quality control
Playtest
During the playtest, we discovered that the final path in the tunnel scene posed a risk of falling through the ground, which needed to be addressed for a smoother gameplay experience. Additionally, the planet scene lacked some sound effects, which impacted the immersion. To address these issues, I decided to incorporate additional hints and prompts throughout the gameplay to guide the player and provide clarity on their objectives.
After the playtest I added a UI Arrow pointing at the missing piece of the spaceship as hint for player. And also, a UI text “missing parts” on the area of the spaceship that needs to be fixed.
This is the old version of trailer I created for our project but because it’s my first time editing a trailer I am not satisfy with the result. Therefore, I would be creating another version.
Space Quest
Finish Outcome
just trailer and images
This is the newest version of trailer I created for our game.
Link to our presentation slide :
FormalPresentation .pptx – Google Slides
Space Quest
Critical Reflection
If I have more time
Throughout the development of our game, I had the opportunity to work on various aspects, including teamwork, level design, visual environment builds up, interaction design, scripting. Overall, our game shows some strengths, but there are areas that could be improved for a more immersive and polished experience.
The collaborative production process is a key strength of our team during the development of our games. As a VR student, I had the opportunity to work closely with one of my classmates and four talented sound art students. We use various communication channels such as shared drives and WhatsApp to effectively share information, assets, and progress updates. In addition, we held weekly meetings to assign tasks, discuss ideas, and present our individual progress. The dedication and talent of each team member is evident as they work efficiently and diligently to contribute their expertise to the project. The collaborative environment we fostered allowed us to leverage our collective skills and creativity, resulting in a cohesive and impressive game.
In terms of content evaluation, our level design effectively captures the themes of interstellar travel, planetary exploration, and underground tunnels. However, as I critically assess my level design, I recognize the opportunity to introduce non-linearity into the game’s storyline. By offering players more freedom in decision-making and creating a less linear narrative, I can elevate the gameplay experience and engage players on a deeper level. For example, in the planet explore scene, I could provide alternative objectives or branching paths for players to explore, allowing them to shape the outcome and make meaningful choices. This would enhance replayability and add more depth to the overall gameplay.
In terms of visual environment construction, I effectively use online assets to create immersive scenes in my games. For example, in the planetary exploration scene, I used online assets to create a lush, lifelike landscape for green foliage and flowers similar to grasslands and forests on Earth. Adding a starry sky to the main menu scene also helped create a space-themed atmosphere. However, there are areas where I could have improved. First, while the environment assets are sourced online, the terrain is not clearly established, which leaves room for further clarification. In addition, I could have focused more on adding detailed animations and interactive actions to the assets to enhance the overall visual experience. By adding more dynamic elements and interactivity, I could have made the environment more attractive and appealing to the player.
While designing the interactions for my game, I had the opportunity to explore various aspects of interaction design, including the use of sound, visual cues, and intuitive mechanics. One aspect that I think I succeeded in was implementing the touch glow of the flower and the activation of the key. The glowing effect and accompanying sound provided clear feedback to the player as they interacted with the flower, creating a sense of accomplishment and progress. Similarly, the activation of keys when specific conditions are met adds a layer of complexity to the gameplay, encouraging players to engage with the environment and discover hidden elements. These interactions effectively increase immersion and player engagement. However, there is always room for improvement. In future iterations, I would definitely add in more variety of interaction. In addition, I could explore adding additional visual and auditory cues to indicate key activations, provide clearer feedback, and ensure that players are in full control of their progress.
In terms of scripting, I believe I did a commendable job of creating interactive elements and implementing various scripts to control the game mechanics. For example, I effectively used scripts to control the movement of starfish creatures, create interactive puzzles, and manage the ship’s repair process. These scripts enhance player immersion and engagement. One area for improvement, however, is to ensure that these scripts are better organized and documented. While the implemented scripts served their purpose, I realized that implementing more complex interactions within the game’s coding framework was a challenge. This realization underscored the need to expand my knowledge of coding techniques and explore more advanced scripting concepts. By gaining a deeper understanding of coding, I can further enhance the game experience and unlock more complex interactions. Therefore, in the future, I must take the time to learn and improve my coding skills in order to realize the full potential of scripting in game development.
Finally, enhancing the overall polish and refinement of the game would be a priority. This includes fine-tuning animations, improving visuals, and ensuring smooth and optimized performance on different platforms. By investing more time in polishing, we can improve the overall quality of the game and provide players with a more immersive and satisfying experience.
In Future Project
For my next project, I plan to build all the models for each scene myself. This will include creating the models, texturing them, and animating them. By doing this, I believe it will bring a better sense of completeness to the player’s experience. It will also provide me with more creative freedom to imagine scenes and visual effects that are possible without the limitations of online resource packs.
One key aspect that I felt was lacking in this project was the level of refinement. This applies not only to the lighting, materials and interactions, but also to the animation. Each element required meticulous attention to detail in order to truly immerse the player in the aesthetics of the game. This is a step that I regret not having fully considered in this project. However, I believe that gaining experience will allow me to enhance gameplay in each new project.
Additionally, I believe that maintaining the integrity of the storyline is something I want to keep from this project. Having a cohesive and well-developed narrative adds depth and engagement to the overall game experience. By focusing on refining and strengthening the storytelling aspects, I can create a more immersive and memorable journey for the player.
Overall, for my next project, my goal is to take on the challenge of building all of the scene models myself, including their textures and animations. This will provide a greater sense of control and creative expression. In addition, I recognize the importance of refining all aspects of the game, including visuals, interactions, and animations, to truly engage the player. With experience and a focus on maintaining a cohesive storyline, I look forward to enhancing gameplay and providing a more immersive and satisfying experience in future projects.
Difficulties
Pathway Problem
In my scenario, the creature’s motion was designed to follow a specific path and waypoint. However, when I implemented this motion system, I encountered a strange, erratic behaviour where the creature would unexpectedly fly in a random direction along a predetermined path. To solve this problem, I tested it in other scenarios and found that this motion system worked very well. After further investigation, I realized that the root of the problem was the use of paths and waypoints as sub objects of the creatures, which led to conflicts in their movements. Once I separated the paths from the creature’s sub-objects, the problem was solved and the creature followed the intended path smoothly.
When I start the game, the phoenix’s head should be facing the direction of its motion path. However, even when I adjusted its rotation to the correct direction, the phoenix would still face in a strange direction when the game started. After some investigation, I found that there was a script that interfered with the phoenix’s rotation. To fix this, I created a parent object and rotated that object instead. By doing this, the faulty script no longer affected the direction of the phoenix and it was now oriented correctly at the beginning of the game.
Key Fly Away
After triggering the appearance of the key, The key slowly float away. I attempted various methods, including adding a Rigidbody component and experimenting with different ways to make it fall, but none of them were successful. Faced with this challenge, I decided to redo everything. Surprisingly, this approach resolved the issue, and the key now stays on the ground instead.
When I picked up the key and held it in my hand, I noticed that it appeared to be floating parallel to my hand, rather than being realistically held. To address this issue, I modified the pivot point of the key, adjusting it to align with the player’s grip.
Menu Scene Issues
In the menu scene, I initially implemented a mouse-click interaction, and everything seemed to work smoothly at that point. However, when I switched to VR, I encountered a strange trailing effect that was not designed. However, through some trial and error, experimenting with various adjustments and configurations, I managed to resolve the problem, and the transition effect returned to normal.
Another problem with the menu scene has to do with the functionality of the control buttons. Initially, when I clicked the Control button, the Control panel would pop up correctly. However, when you click the back button to switch back to the main panel, a short animation will play and both panels will suddenly disappear. I tried my best but I still didn’t found a way to solve the problem. In the end, I decided to remove the back button altogether. Now, when the player clicks the control button, the control panel appears, while the main panel stays. This allows the player to read the instructions and controls before starting the game directly, without any unnecessary breaks or vanishing panels.
Spaceship parts
When I had everything set up and decided to use the mouse to reassemble the ship’s components, the parts fit perfectly together. However, when I disabled the kinematic property and tested it in VR, the entire assembly started jerking and rotating around a single point. Moreover, the size of the parts appeared significantly distorted. To address this issue, I added code to fix the position, rotation, and scale of the parts in the script, effectively anchoring them to the spaceship. This solution resolved the problem and ensured that the parts remained stable and properly aligned during the VR assembly process.
Scene 2 Original Environment
When I initially started designing the scene, I envisioned Scene 2 to be a desolate landscape resembling the moon. However, I faced difficulty in finding a suitable moon texture, and as a result, I decided not to use this scene in the final version of the game.

Original Keypad
When I initially designed the sound puzzle inside the spaceship, I envisioned it to have an 8×8 grid. However, as I progressed with the implementation, I realized that having so many buttons could potentially consume a lot of time for the players. In order to strike a balance between challenge and accessibility, I made the decision to reduce the grid size to 3×3. This adjustment allowed for a more streamlined gameplay experience, ensuring that players could engage with the puzzle without feeling overwhelmed or spending excessive time on it.
Terrain unable to paint ( billboard)
When I decided not to use the lunar environment, I recalled our previous exploration for inspiration, where we had considered creating scenes with flower fields and forests. To bring this idea to life, I downloaded some flower and grass textures from the internet that could be directly painted onto the terrain. However, when I started painting, I noticed that these textures were not showing up. Initially, I thought it might be due to the size and density of the terrain, as it might have been too overwhelming for the system to process. Despite investigating various aspects, the issue persisted. After spending an entire afternoon troubleshooting, I eventually discovered that the flowers and grass were actually painted on the terrain, but the billboard feature seemed to be causing some issues, as the textures were always facing the camera vertically. By unchecking the billboard option, I was able to resolve this problem and ensure that the textures appeared correctly in the scene.

Cage Unlock Audio
I had been using the “playoneshot” code to play one-time music throughout my game, so naturally, I used it for the lock sound as well. However, during playtesting, the audio didn’t play as it should be. To address this, I decided to switch to using the “oneoffsound” code and set a specific range of values for it. This adjustment effectively resolved the problem and ensured that the lock sound played correctly without any unexpected behaviour.

Texture Issue

When I initially imported the material for this model, I noticed that there was a black border around the leaves. At that time, I wasn’t aware that this issue could be fixed through the material panel. Thinking that the model itself was problematic, I started searching online for alternative models. However, I soon realized that almost all models with leaves had the same issue. Eventually, I discovered a method to modify the material, which successfully resolved the problem.

Terrain Peacock Issue

In the second scene, “Exploring the Planet,” I wanted to add more elements to the terrain, so I found a cockpit model online. However, when I attempted to paint it on the terrain, it appeared extremely small, even smaller than the nearby flowers, making me think that it hadn’t been applied. Even after adjusting the size in the prefab, it remained unchanged. Eventually, I imported the model into Blender, increased its size, and then brought it back into Unity. This process successfully made the cockpit larger and resolved the issue.
Starfish touch not move
starfish touch not move ( Collider off place) I thought its because the collider is off but then I realize no matter how I change the collider it still can’t be touch easily because the starfish stop when it first touches the collider so it’s at the edge of the collider instead of in the middle. (so I moved the collider of the starfish further from the model itself)

Terrain Too Big

Due to oversight during the initial creation of the terrain, I didn’t pay attention to its size in relation to the XR origin. This resulted in everything in the scene appearing inappropriately scaled. The trees seemed too small, while the flowers and alien vegetation on the ground appeared enormous. Furthermore, when players reached the appropriate size in relation to the planet’s environment, they couldn’t enter the spaceship. The spaceship was too small, and if it were to maintain realistic proportions, it would have been half the size of the terrain. To address this issue, I resized the terrain to a smaller scale and increased the size of the spaceship, aiming to achieve a more balanced and immersive experience that didn’t feel too jarring or unrealistic.
Fog
I felt that the sense of boundaries in the scene was a bit too strong, so I wanted to add a fog effect to the terrain. I envisioned the fog following the player, creating a dynamic and immersive experience. However, when I launched the game, I noticed that the fog appeared more like patches of smoke rather than a cohesive mist. Additionally, it lacked a sense of depth and distance, merely hovering in front of the player’s face. As a result, I decided to abandon the use of this fog effect, as it didn’t achieve the desired atmospheric effect and didn’t contribute positively to the overall experience.

Puzzle collider too big

When I was playing the game myself, I didn’t notice that the collider for the puzzle was too large. As the creator of the game, I knew exactly how to press the buttons without accidentally touching others. However, when I had others playtest my game, they struggled and often pressed the wrong buttons unintentionally. It was then that I realized the issue. The solution was quite simple: I just needed to shrink the colliders slightly and increase the distance between each button. This prevented players from accidentally pressing the wrong buttons. Additionally, to address any potential mistakes or frustrations, I added a reset button. This way, players could reset the puzzle at any time and start over if needed.
Player falls out of spaceship
During my testing with players’ interactions inside the spaceship, I noticed that when I moved the controller, the players would accidentally fall out of the spaceship. To address this issue, I duplicated an XR Origin that locks movement and implemented a script to control its behavior. I made sure that the movable XR Origin would only activate and replace the locked XR Origin when the player opens the spaceship door. This way, the players can look around freely inside the spaceship without the risk of unintentionally falling out.


audio source distance

I haven’t been able to determine the exact cause of this issue, but it seems to be related to PlasticSCM. Whenever my team members make changes to something in my scene, the audio source distance of all objects with audio sources resets to the default maximum of 500 units. The first time it happened, I thought it might be caused by something else, so I manually adjusted all the distances back to their correct values. However, it occurred multiple times afterward, so I decided to wait until the last day before submission to make any further changes.
Hand cannot touch the ground
The player’s hands were unable to touch the bottom of the terrain. I tried adjusting the player’s height, but it resulted in the surrounding environment appearing too large. After multiple iterations of tweaking the proportions between the scene, character, and spaceship, I found a suitable size. However, I ultimately decided to add raycasting to the controllers, which made player interactions easier and more seamless.

Menu button press

The Main Menu Controller’s laser line was unable to press the button. To resolve this issue, I began troubleshooting and discovered that a script was missing. I added the Tracked Device Graphic Raycaster Script, and as a result, the button started working properly.
Platform Difference
I couldn’t playtest on Miranda’s scene because we were using different platforms. I had a Windows system while she had an Android system. This resulted in some parts of my scene being invisible on her computer, and I couldn’t access some of her scripts. However, we later decided to use my computer to resolve the issues and build the game.

Space Quest
Credit, Asset Usage
external source
Menu Scene
UI: Sci-fi GUI skin | 2D GUI | Unity Asset Store — 3d.rina
Planet explore Scene & Credit Scene
Cage Lock: (1) Old Lock – Download Free 3D model by Lobbyvictor (@Lobbyvictor) [da48d5e] (sketchfab.com) — Lobbyvictor
Key: (1) key – Download Free 3D model by yomans (@yomans) [7a0f6aa] (sketchfab.com) — yomans
Cage: (1) Bird cage – Download Free 3D model by nuts (@nuts12) [74fd4b3] (sketchfab.com) — nuts
Log and Plants: (1) Stylized log and plants – Download Free 3D model by Cyril43 (@Cyril43) [ebb24bf] (sketchfab.com) — Cyril43
Starfish: (1) Self Luminous Being – Download Free 3D model by yanix (@yanix) [41bb67d] (sketchfab.com) — yanix
Blue Tree: (1) Stylized Hand Painted Tree – Download Free 3D model by Satendra Saraswat (@satendra5286) [7018d9f] (sketchfab.com) — Satendra Saraswat
Mushroom Plants: (1) Fantasy plants Set – Hand-painted – Download Free 3D model by Victoria (@victoriaesch) [abf8837] (sketchfab.com) — Victoria
Phoenix: (1) Real-time Bones Demo: Phoenix Bird – Download Free 3D model by Sketchfab (@Sketchfab) [6a8d1fd] — Sketchfab
Column Debris: (1) Low poly column Debris – Download Free 3D model by haniissa (@haniissa) [6d6b269] (sketchfab.com) — haniissa
Mushroom Monk: (1) Mushroom Monk – Download Free 3D model by Daniel GoE (@Goee) [16dac5e] (sketchfab.com) — Daniel GoE
Glowing Mushroom: (1) Glowing Mushroom – Download Free 3D model by artikora (@artikora978) [3307733] (sketchfab.com) — artikora
Light Plant: (1) Fantasy Light Plant – Download Free 3D model by artikora (@artikora978) [55eb0ab] (sketchfab.com) — artikora
Projector & Peacock: (1) Alien World Explorer – Download Free 3D model by Sharon Kunne (@sharonkunne) [f73af15] (sketchfab.com) — Sharon Kunne
Spaceship Key: (1) Looking Glass hologram “technology meet art” – Download Free 3D model by shinymagic (@shinymagic) [d727bc1] (sketchfab.com) — shinymagic
Puzzle: (1) Cosmograms – Hologram Version – Download Free 3D model by cosmeffect (@cosmeffect) [e719972] (sketchfab.com) — cosmeffect
Spaceship: (1) Volition Fighter – Download Free 3D model by tulex_art (@CassioFernandes) [e1b7730] (sketchfab.com) — tulex_art
Tunnel: (1) Placeholder-Cube 3 – Download Free 3D model by 3DHaupt (@dennish2010) [ebddd52] (sketchfab.com) — 3DHaupt
Skybox: Skybox Series Free | 2D Sky | Unity Asset Store — Avionx
Missing part UI Text: Alpha Flashing UI (UI Shaders) | GUI Tools | Unity Asset Store — Nick Veselov
Terrain Tree: Japanese Garden Pack | 3D Trees | Unity Asset Store —Waldemarst
Terrain Grass: Grass Flowers Pack Free | 2D Nature | Unity Asset Store — ALP
Tunnel Explore Scene
Crystal: (1) Crystal – Download Free 3D model by artikora (@artikora978) [3220f3d] (sketchfab.com) — artikora
Skybox: SpaceSkies Free | 2D Sky | Unity Asset Store — PULSAR BYTES