01
Context
JunkE is set aboard a space sorting station running in power-saving mode. The player takes on the role of the station operator: they must recycle the technological objects moving along a conveyor belt to generate enough energy to keep it running. An academic VR project built in Unity, done in pairs.
- Orbital sorting station in power-saving mode
- Player as operator, technological objects on a conveyor belt
- Goal: keep the station’s energy up before time runs out
- Academic VR project built in Unity, done in pairs

02
Gameplay loop
The main loop rests on a complete physical sequence, from starting the station to sorting the object and advancing the energy gauge.
- start the station via a physical lever
- grab an object off the conveyor belt
- place it in the scan zone
- read the tube number shown on the set’s screen
- throw the object into the correct tube
- advance the energy gauge before time runs out

03
Immersion and built-in UI
The project deliberately avoids floating menus and a classic HUD: useful information is built directly into the set, to keep interaction consistent with the game’s world and avoid breaking immersion with a 2D overlay.
- CRT television displaying instructions
- numbered sorting tubes
- energy gauge built into the set
- audio and visual feedback based on the player’s actions
04
VR interactions
Several interactions were built with the VR controllers. Player positioning and the XR Origin were adjusted to limit mismatches between the Unity simulation and the real headset.
- grabbing objects with VR controllers
- “force pull”-style remote grab
- physical throwing of objects
- start lever
- suction tubes, including one using a physical force to eject objects
- offset camera displaying the scanned object on a television in the set (Render Texture)
05
Optimization and production
The game loop uses several mechanisms to maintain good performance. A Unity version change mid-development caused script and shader incompatibilities, which required production trade-offs; some non-essential features were dropped to keep a stable game loop within the time available.
- Object Pooling to avoid repeated instantiation and destruction
- tag-based validation logic
- Render Texture for displaying the scanned object
- conveyor belt animation synchronized with object movement
- Prefabs and modular architecture
06
Ergonomics and comfort
The conveyor belt’s continuous motion could cause discomfort while the player stayed physically still. In-headset testing sessions were therefore kept short, and some interactions were simplified to favor reliability. Hand tracking was considered, but controllers were ultimately kept to ensure more precise grabbing and throwing.
- potential discomfort from the moving conveyor belt vs. a stationary player
- limited in-headset testing sessions
- VR controllers kept over hand tracking, for reliable grabbing and throwing
07
Art direction and limits
The environment adopts a low-poly aesthetic of an industrial station and space junkyard, with the Junk-E mascot conceived as a “Scrap-Alien” then integrated and animated in Unity. Sound contributes to immersion through spatial audio, sound feedback during scanning and sorting, and distinct music depending on the game’s state. The project remains an academic prototype: some planned features were not kept in the final version.
- low-poly aesthetic, Junk-E mascot (“Scrap-Alien”)
- spatialized 3D audio, scan and sorting sound feedback, music depending on game state
- not kept: exploded object views, dynamic skybox changes, full hand tracking, advanced scan-data enrichment
