These are the days of the Venice Film Festival, one of the most important movie festivals in the world. In the last few years, this festival has always had a section dedicated to VR, that according to many was incredibly well-curated. This year, the Venice VR event, called Venice VR Expanded, is going to be held mostly in VR, with the participating movies and artworks that are being distributed through Viveport and Oculus TV and the event being hold in VRChat with a world built by VRrOOm. I’ve worked together with the VRrOOm team to build the virtual exhibition, so let me tell you something about my experience!
Venice VR Expanded
The Venice VR Expanded in VRChat is comprised of 4 virtual worlds: 2 of them are public and 2 are available only to accredited guests. The whole world has been built under the always passionate direction of Louis Cacciuttolo (VRrOOm), the strong support of Maud Clavier, the creative magic of Lapo Germasi and Victor Pukhov (MID Studio), and the “I have no idea what I’m doing” technical and development support offered by me (New Technology Walkers). All of this of course made together with the Venice Biennale (thank you Michel Reilhac and Liz Rosenthal) and the VRChat team (Jason, you’re the best).
In the first public world, called “Venice VR Expanded Arrival By Gondola”, you can arrive in an artistic Venetial building, and have a short trip on a gondola while you admire the Venetian landscape and you hear Michel Reilhac and Liz Rosenthal give you a warm welcome to the festival and offer you some instructions on how to join this initiative. When you arrive at the final bridge of the journey, you get magically teleported to the second public world.
This other world is called “Venice VR Expanded Exhibition Hall” and it is like a big corridor with many portals. Every portal leads you to one mini-world that is inspired by one of the artworks selected by the Biennale. Since the whole experiences are available only to accredited guests and all of them are on different platforms, we decided to show in VRChat not the real experience, but something that can make people willing to explore them: there are 2D trailers, 3D trailers, and also mini interactive worlds inspired by what has been proposed. Imagine them as trailers or mini demos for the real experiences of the Festival.
There are two VIP worlds, that are available only to accredited guests. One is the “Garden”, that is the place where the workshops and meetings of the Biennale are held. It is in my opinion the most beautiful of the 3 worlds, and it is a pity it can’t be public now. The other one is the “Party world”, and it is where the beginning and end party of the event will be held. This is the boldest and craziest part of the Venice VR Expanded.
In less than 2 days, there have been already more than 5000 visits on VRChat for these worlds, with many enthusiastic people making us compliments for what we have achieved. We are impressed by these results and I invite you to visit Venice VR Expanded on VRChat to try it yourself! Just look for the worlds with the name that I have specified above. You have time until September, 12th to enjoy them.
After having introduced what we have done, let me tell you some lessons that I’ve learned by doing this project, hoping that they can help also other people organizing VR events. I remember you liked my post mortem of the Jean-Michel Jarre concert, so I hope you’ll enjoy this article as well.
VRChat is not only for memes
There’s been a period where VRChat earned a very bad reputation because of some trolling and harassment episodes happening on the platform. Now there are strong moderation tools and the situation is much better, but for many, it is still a wild place where people behave wildly. I think it still is and it is exactly what we all love of VRChat: it appears wild and free, and people there can truly express themselves. It is what makes it successful, and what gives it an edge over software that appears having a stricter control like Facebook Horizon.
But our experiences proved that the fact that people want to be crazy doesn’t mean that they don’t like refined and cultural things as well. Thousands of people are enjoying Venice VR, which is a cultural event with a very classical style, that is so different from the usual one that you imagine from VRChat. As soon as we uploaded the world, we met some people with furry avatars in the exhibition hall, and they surrounded us making us lots of compliments for what we created. It is great to see this love from the community!
If you offer high-quality content, people will enjoy it, no matter the platform. And it is so satisfying using VR to promote art and culture, even more if it is about my lovely Italy.
Why VRChat?
This is a question that gets asked to me countless times. We of the VRrOOm team are using VRChat for the following reasons:
- It has a big community, so more people will probably join the events we are creating;
- It lets us create the worlds in Unity, that is a tool that we developers already know well;
- It lets you create truly interactive experiences, so not only static worlds with some animations;
- It works on PC, PC VR, and Quest/Focus+;
- It is an always growing platform: there are continuous updates and for instance the latest avateering system is fantastic and the new scripting system is very powerful.
There are some glitches here and there, but we are at the cutting edge of the technology and nothing works perfectly.
Take your time to design
What we missed for the concert of Jean Michel Jarre was a true design stage. We rushed everything because there was no time to think. For Venice it was different, and we had various weeks to design the experience.
There have been various calls with the organization to understand their needs, then we produced 2D sketches and design documents that were proposed to them so that they could understand how we imagined the world to be. It was very important to show the sketches because a picture is worth a thousand words, and for an organization that values beauty like the Venice Biennale it was of paramount importance that the visuals of the experience would have been in line with the real event.
The sketches have been modified to follow their feedback, and also we discussed various times internally about what could work or not from a technical standpoint and modified the proposals accordingly. This iterative process of designing and modifying through the feedback has led to a final design that satisfied everyone from the aesthetical and technical standpoints. After that, we could start actually developing the experience.
Since we had already thought about everything, the development went smoothly. After that, the worlds were built in VR, and Liz and Michel from the Biennale went visiting them, finally seeing with their eyes how the Venice VR appeared from inside. While being there, they noticed a few things missing and asked some final adjustments, that we did to obtain something that was more functional for them. Some things are difficult to grasp on paper, and you just notice them where you are there, in VR. The result of all this process is what you can experience today.
This is what you should do if you want to create a VR event as well: spend a lot of time on paper before starting the true development. Words and sketches are your best friend if you want to have a smooth development and not do things multiple times for a misunderstanding with your customer.
Graphics is of paramount importance
Something that I already noticed for the concert of Jean Michel Jarre and that Venice VR confirmed me is that for this kind of events, beautiful graphics are the most important thing. As a developer, I have to admit it… I’m not happy, but this is the truth.
Graphics are important in every application, but here they are even more for the following reasons:
- These kinds of events are organized by people that value a lot what is beautiful. They are artists, creators, etc… so they want something that is visually appealing;
- These events do not require many interactions: you go there to watch movies, to socialize with people… they are not minigames. There are little interactions, and nothing more, so there is not much logic to implement. In some cases, too many interactions may even be counter-intuitive, because they could remove the focus from the main purpose of the event;
- The current limits of the social VR platforms do not allow for very complicated interactions.
This means that to host your event, you should hire someone very skilled in doing 3D Art. I’m very happy of collaborating for many projects with the guys at MID Studio, who also for Venice VR have done an impressive job.
Quest is a PITA
I remember that when I published this post about the Quest potentially killing PCVR , someone told me that developing cross-compatible content between PC and Quest is easy if you have a good art director. I think these people have never developed a cross-compatible experience.
The Quest is a very limited platform, and VRChat on it is is still in a beta stage: it is slow, it is buggy, it doesn’t allow for worlds bigger than 50Mb, it doesn’t let you show synced videos, etc…. The result is that if you have to develop for Quest, you have to over-simplify your worlds and over-optimize everything. This is an enormous waste of time. Not to mention the fact that if you simplify the world for Quest, since most of the time you want to have some coherence between the experiences on Quest and PC, you end up simplifying also the version for PC, ruining the potential experience also for PC users. The JMJ concert could never have run on Quest, because we wanted something that was visually stunning, and this is just completely impossible on VRChat on Quest now.
Most of the times, there will be some differences between your scene for PC and the one for Quest: for instance, the water you see for the Venice experience on Quest is different from the one that you see on PC (that is more beautiful). You so end up having at least two different scenes, if not two different projects for Quest and PC, with all the pain of maintaining both coherent and uploading them both every time that there is an update to do.
If you have to develop a cross-platform experience, plan for a longer time to develop it. Also, discuss a lot with your customer about what he/she wants to privilege: if there is Quest support, the experience will cost more and be less beautiful, but it will have more users. He/she has to choose his poison wisely.
You must give up on your ambitions
You won’t be able to do it. Seriously.
When the customer starts thinking about the virtual event he/she has in mind, for sure he/she wants amazing things. Multiplayer games, explosions like in a movie by Micheal Bay, thousands of attendants from all over the world in the same room, Rihanna singing on the stage, and the same graphical level of Half-Life: Alyx… all of this running on all platforms from the Nintendo 64 to the Valve Index. Of course everything for $1000.
What you should do is clarifying that it is the dream of everyone making an experience like that, but it is just impossible. Social VR now has very strong limitations, and if they want to target Quest the limitations are even more strict (as I told you before). So you can only do much less than that.
What you can offer is some visually appealing worlds, with some limited interactions and the support for 40-50 people in the same room. It is possible to do beautiful things in VRChat, but the lesson that I’m learning is that it is better to make fewer things but more polished than proposing 1000 things that are all glitchy and make the world to run at 10fps for everyone. After you have built 2 or 3 worlds, you usually have enough experience to understand what you can do and what not.
Be very careful about that: don’t overpromise, otherwise the risk is that you get crazy developing things that in the end don’t offer a good experience.
Be careful of the multiplayer
Synchronized events are the real pain of multiplayer experiences: if you have ever developed a multiplayer game, you know it. Every time you have to think about things like “What if I’m a player joining later and the instance of that object in the world is doing this exact operation while I’m doing that other thing in that other moment?”. Maintaining a coherent state of the world for all its visitors is an enormous nuisance and expect you’ll make many errors in this sense. Also, remember that the VRCSDK 2 is a bit buggy for what concerns shared events, so be ready to cope with that as well.
Also, another issue with multiplayer is how it affects your world performances. Even if your world runs smoothly at 72 FPS on Quest in your tests, it may become super glitchy when there are 40 people in with an avatar of 5000 polygons each, adding 200,000 polygons to render to your device, not to mention all the logic that these people may trigger, and the audio that must be streamed. So even if things may be great in your internal tests, they may break when 40 people are inside the room. We had some glitches during the intro party, for instance, that in the end resulted a bit heavy. So, try to make some stress tests for your worlds as well.
Managing external contributions is complicated
In the exhibition hall, we showcase something like 40+ artworks from 40 different teams. Every one of these teams had to provide us the material to play inside (a trailer, a mini world, etc…). This resulted in a huge workload, and personally I would advise every one of you to avoid this kind of scenario.
This is because you have to contact everyone, keep a list of who is sending the material and who is not. When they send you the material, you have to verify it, and there are good chances that there are problems (like a wrong Unity version used), then you have to write them back, etc… After you have the material, you have then to create all the logic to showcase it (like the portals that lead to those worlds), etc… and then in the end you have also to verify that everything works! And when you think you’re finished, there is always someone that wants to send you some updated version of what he/she has provided you before… Maud Clavier, Louis and me got crazy in managing all of this!
In total this costed us more than 175 uploads on VRChat to support the various experiences on all platforms and it was a really long and frustrating operation. If you can avoid or outsource it, do it. Ask for external contributions on many people only if it is strictly necessary.
After this pain, the good thing was that many people appreciated the variety of content in the exhibition room and they were happy about it. This repayed us for all the effort.
You are going to need automations
While you have no possibility of using C# in VRChat, you have still 100% of Unity power in the Editor. This means that you can use all the editor scripts that you want. I think this gives a big edge to VRChat when compared to other creation engines.
Unity editor scripts are very useful to produce some automation for you. Because trust me, for bigger events, you are going to need them. Do they ask you to add 100 chairs in a room? You can write a script for it. Do they ask you to add 40 experiences everyone with a different description? Write a script for it.
You may think that it is faster to do, but actually I tell you that you may need more time to write the script than if you did everything manually with a smart copy/paste and bulk editing in the editor. The advantage of the automations are two other ones:
- They are less error-prone: if you have to position dozens of objects, chances are that you will write at least one number wrong. With automations this is not going to happen;
- They are more maintainable. Be sure that when the customer will try everything in VR, he will ask for some modifications. And if you used automations, if he asks you for a slightly different position of the chairs, you don’t have to move them manually every time, but you just have to re-run your script. This was a lifesaver for some aspects of Venice, especially all the portals that lead to the various experiences in the exhibition hall: they are all generated starting from a CSV file, that has been actually modified a lot of times.
Mixing editor scripts with a huge use of prefabs will save your life. Trust me that in the final days you will be requested a lot of little modifications, and if you don’t have a way to modify multiple things together, you’re going to have a hard time meeting your deadline.
Test test test
I will never stress this enough: test, test, test a lot what you have done! For sure at the first iteration, something is not working and you have to fix it. And after you have tested the world alone, test it with someone else, because there are all the multiplayer interactions that have to be verified! Reserve some days for the tests of all the experience.
And remember: no matter how much you test, in the end, there will always be some glitches in the experience! This is VR right now, so just keep a smile on your face and entertain your visitors no matter what is going to happen! Louis is becoming a master in this, because of all the tiny problems that always happen during the experience.
I hope this article has taught you something useful. If you build VR events as well, and you have something to add, feel free to write it in the comments to help the other members of this community. If you instead need help in building your VR event, you can contact directly me or VRrOOm and we all will be happy to support your efforts. And in any case, don’t forget to visit the Venice VR Expanded on VRChat! See you there!