Inspiration

Modern content recommendation systems feel static and impersonal. Lists are generated using collaborative filtering or ranking algorithms, but the process is entirely opaque and divorced from any sense of user context or immersion. We wanted to reimagine what content discovery could look like if it was interactive, exploratory, and spatial. Our goal was to combine real-time content generation, intelligent recommendations, and spatial logic into a cohesive 3D system. Not just a UI layer or a wrapper for APIs, but a working, immersive entertainment discovery environment.

What it does

Viseon is a 3D spatial entertainment discovery platform built in Unity. Users navigate through a large interactive world made up of five interconnected biomes: cliffs, forests, caves, oceans, and mountains. Each biome is mapped to a distinct genre: horror, drama, mystery, sci-fi, and action respectively. With room for more. Importantly, these genre zones are not discrete. As users move through the world, we calculate continuous proximity scores to each biome, forming a dynamic genre distribution at any location. These distributions directly influence content suggestions.

As users explore, translucent Media Orbs appear in the environment. Each orb contains a movie tailored to the current genre distribution based on the player’s spatial position. The orb is not static. It is generated live by querying a backend content selection model that takes in the genre proximity vector and returns a single film that best represents that blend. For example, standing between forest and cave might yield a mystery-drama recommendation. The orbs are fully interactive—clicking one spawns a display that shows additional metadata or content (e.g. poster, trailer, description).

Beyond the physical world, there’s a recommendation zone placed in the sky above the environment. This is the “Your Recommendations” section, where five personalized Media Orbs are spawned based on long-term preferences. These are not influenced by spatial location. Instead, the user is assigned a vector representation encoding hypothetical past preferences, and a cloud-based content selection service returns the top five matches based on learned similarity. These five results are rendered in real time in the sky and can be interacted with just like the local orbs on the ground.

Viseon isn’t just visually engaging. It’s a hybrid system combining environment-driven discovery, continuous proximity logic, ML-style personalized inference, and backend model-based generation, all running together in an explorable, real-time space.

How we built it

You can see many built systems in the Project Video. The world was created using Unity’s terrain system, custom lighting, and shader effects. Each biome has a defined spatial region with continuous gradient blending at the borders. Using the player’s world coordinates, we compute distances to each biome center and normalize them into a five-dimensional proximity vector. This represents the user’s current “genre weighting” at any given location.

When a new Media Orb is triggered, a request is sent to a hosted backend model which interprets the genre distribution and returns a movie that best represents that specific mix. The model uses internally indexed genre embeddings and simple vector similarity to pick representative titles. These titles are curated and return only a single result to maximize clarity and precision in the spatial world.

Each orb is instantiated with a movie title, attached metadata, and a stylized semi-transparent display screen that opens when the user clicks on it.

The “Your Recommendations” system is powered by a ML cloud function, which simulates a personalized recommendation engine. The system assigns a sample user ID, queries the function, and retrieves five recommendations based on vector similarity to learned preferences. These results are mapped to GameObjects floating above the world and update at load time.

Unity handles rendering, object pooling, and logic. We use asynchronous HTTP requests to interact with the cloud endpoints and parse results for in-game use. The entire system is modular, allowing genre count, biome mappings, and content sources to be changed independently of the world structure.

Challenges we ran into

• Unity crash and data loss: Midway through development, Unity crashed during a save. A large portion of terrain work and script logic had to be rebuilt from scratch.
• API integration in Unity: Unity’s coroutine system for async HTTP requests made error handling more complicated, especially with timeouts or malformed JSON from early versions of the backend.
• LLM tuning: We initially used a model that returned verbose responses. Several prompt revisions were needed to make sure only precise, usable outputs (titles only) were returned.
• Biome blending: Creating a truly continuous genre weighting system required shifting from zone-based tagging to radial distance functions and softmax-based blending to make transitions feel smooth.
• Performance under load: Multiple orbs spawning near each other led to framerate drops. This required pooling systems and optimization of screen-spawning logic.

Accomplishments that we’re proud of

• Designed and built a fully immersive, explorable recommendation engine using Unity in under two days
• Integrated both context-based (location) and preference-based (ML vector) recommendation logic
• Implemented a backend model that interprets genre distributions and returns relevant content live
• Created a modular world system with interactive orbs, clickable displays, and genre-weighted logic
• Delivered a complete video demo showing all features, with synchronized visuals and textual explanation
• Recovered from setbacks while still finishing every major component we intended to include

What we learned

We learned how to structure a Unity project to support both real-time visuals and asynchronous cloud logic. We improved our ability to use backend content models inside interactive media environments. We also learned how to work with dynamic recommendation logic, balancing simplicity with clarity to make the results meaningful in a visual context.

Additionally, we gained insight into prompt tuning, embedding space design, genre weighting systems, and the integration of ML-style outputs into immersive spaces. Most importantly, we saw how an abstract idea like “genre proximity” could be made tangible and interactive in real time.

What’s next for Viseon

We plan to add true preference learning, allowing the ML system to track user choices and evolve recommendations over time. We want to incorporate live metadata, dynamic trailer embeds, and TMDB integration for full visual content inside Unity.

Visually, we want to increase fidelity and transition to VR, where the full spatial design would be even more impactful. Multiuser exploration is a future goal, with shared orb interactions and co-viewing.

Share this project:

Updates