C:\Users\Kevin\Coursework\Endless-Hallways>

Unity • Game Technologies • 5-Week Prototype

Endless Hallways

A 5-week Unity prototype built while learning game engine fundamentals, starting with object manipulation and growing into a looping hallway exploration game with shooting, enemies, shaders, particles, audio, menus, and a Windows build.

course: game technologies engine: unity focus: engine systems / gameplay prototype / final build

./project_summary

Project Overview

Concept

Endless Hallways began as a weekly Unity learning project and evolved into a prototype about moving through looping hallways, solving a sequence, and surviving enemy encounters.

Goal

The goal was to learn Unity fundamentals through weekly feature milestones: object manipulation, player control, level design, AI, visual effects, audio, menus, and a final build.

Final Direction

The project became a hallway-loop prototype where the player must enter hallways in a specific sequence while managing enemies, arrows, pickups, and environmental clues.

./week_01

Week 1 — Object Manipulation

Core Systems

  • Manipulated object position, rotation, and scale
  • Added button-controlled rotation states
  • Changed object color through RGB sliders
  • Saved and loaded object speed state

Unique Addition

  • Used the space bar to disable button functions
  • Triggered randomized rotation behavior
  • Looped scale, color, and speed changes
  • Combined multiple object manipulation systems into one mode

./week_02

Week 2 — Player Controller + Shooting

Player Movement

  • Added keyboard movement with WASD
  • Added player rotation with arrow keys
  • Added jumping with the space bar
  • Prevented the player from clipping through walls

Collectables + UI

  • Added gold collectables around the level
  • Destroyed collectables on pickup
  • Updated score through UI text
  • Displayed extra player information through interface text

Camera + Shooting

  • Added first-person and third-person camera modes
  • Allowed the player to switch cameras with C
  • Added projectile-based shooting
  • Added raycast shooting that changes object colors

Enemy Interaction

  • Added an enemy with health
  • Displayed enemy health in the UI
  • Allowed projectiles to damage enemies
  • Destroyed the enemy when health reached zero

./week_03

Week 3 — Level Design + AI

Improved Controller

  • Improved player look direction
  • Allowed shooting in multiple directions
  • Added free-look camera behavior
  • Continued refining player control readability

Designed Level

  • Built a designed level using ProBuilder
  • Created alternative hallway paths
  • Added a gate opened by shooting a nearby button
  • Used lighting to guide attention toward important information

Looping Hallways

  • Created a repeating hallway-room concept
  • Returned players to the same room after entering hallways
  • Preserved the player’s orientation to simulate a constant loop
  • Built the foundation for a sequence-based escape puzzle

NavMesh Enemy

  • Added a NavMeshAgent enemy
  • Made the enemy rush toward the player within a certain radius
  • Prepared the system for future enemy spawning variations
  • Connected AI behavior to the exploration loop

./week_04

Week 4 — Visual Effects + Animation

Shaders + Materials

  • Created shader graph materials
  • Applied shader-based textures to the level
  • Used a checkered floor material that went beyond default material settings
  • Improved the visual identity of the prototype

Particles

  • Added local particle effects near lights
  • Created snow-like particles tied to specific locations
  • Added global rain that follows the player
  • Used particles to create stronger atmosphere

Post-Processing

  • Added local post-processing in part of the spawn room
  • Used blue screen effects as the most noticeable local change
  • Added global post-processing through a volume
  • Used visual effects to make areas feel distinct

Player Animation

  • Added a walking animation
  • Created a corner-stepping movement effect
  • Added an idle animation with a breathing-like stretch
  • Made the placeholder player feel more alive

./week_05

Week 5 — Audio, Menus + Final Build

Audio

  • Added background music that starts when the level begins
  • Added a sound effect for firing an arrow
  • Used distance-based sound behavior for the sound effect
  • Separated music and SFX into adjustable volume categories

Main Menu

  • Created a main menu scene
  • Added a start button for entering the game
  • Added master, music, and SFX volume sliders
  • Saved and loaded sound settings using PlayerPrefs

Pause Menu

  • Added pause functionality with Escape
  • Displayed paused text during gameplay
  • Added a resume option
  • Added a return-to-main-menu option

Final Build

  • Created a Windows build
  • Organized the build inside the project files
  • Final controls included shooting, camera switching, movement, and pausing
  • Wrapped the weekly prototype into a playable final version

./controls

Final Controls

Movement: WASD Shoot: Right Click Change Camera: C Pause: Escape

./technical_focus

Technical Focus

Unity C# Player Controller Camera Switching Projectile Shooting Raycasting NavMeshAgent AI ProBuilder Level Design Shader Graph Particle Effects Post-Processing Audio Settings PlayerPrefs Menus Windows Build
Previous
Previous

Splash

Next
Next

Junkyard Jubilee