pperuzzo@pperuzzo:~$ cat ambient

ambient - vr real-time multiplayer collaboration tool for designers

project status: discountinued

project team: team of 2

tags: unity, c#, vr, oculus, photon, aws, php, sql

tldr

overview

in 2020, it became particularly difficult for interior designers to collaborate. leveraging vr technology, i created a collaborative (multiplayer) software that allows designers to interact in a virtual space.

i started by developing the vr client software from scratch using unity and c#. leveraging my expertise in writing c# unity code, i ensured that the ambient software was well-structured, easy to maintain, performant, modular, and reusable.

to implement the real-time vr multiplayer part of the software, i chose the photon engine.
this allowed users to interact within the virtual environment and communicate through a voip system.
the multiplayer part consists of two key components:
- a custom web server with a database
- a custom photon server

for the web server, i deployed a php laravel server on aws elastic beanstalk. the key role of the server is to listen to photon's webhook events and update the aws rds database accordingly.
the custom web server facilitated seamless communication between the client's (unity) application, allowing for efficient data management and processing.

i needed a custom photon server to allow customized behavior in the photon event handling system.
firstly, i edited the open-source c# photon server code by introducing the necessary events. then i deployed the photon server on a windows machine on aws ec2.

finally, with all three components fully deployed (client application, server, photon server), the project was completed.

technologies used

media

demo of the finished ambient software

code

the source code for this project is available publicly on github:

back