Warning: Long, but maybe interesting!
Hi everybody! here. Long time. First, I would like to announce that we received an Epic MegaGrant! https://www.linkedin.com/feed/update…3832506318848/
Second, some words on the development of the template. I started (alone) the template in January 2016, when I had been tinkering with the Rift DK2 for a while. At the time, there was no official in Unreal, although you were able to make it work with a few hacks. In Jan 2016, we received a prototype HTC Vive (what was the name, again?) and began seriously working with it. Again, there was no official in Unreal (no “VR Template” yet). So in winter 2016, on a snowy night I sat on the floor, trying to implement the “room-scale” concept withing Unreal, including using Vive’s motion-tracked controllers, and it did not worked well. So it’s during this winter I decided to throw a message in a bottle on the forum asking for a “SteamVR way of handling VR, someone?” or kinda.
Slowly, but surely, people such as Mitch, mordentral and others helped me solving concepts such as “playground”, teleportation and motion controllers tracking. Because Unreal wasn’t officially documenting the usage of VR, I took it on me to bring to the community (strength of many!) some kind of template to use and re-use. For few months, me and mordentral worked on the same template to bring VR closer in dev hands. In April 2016, we received both consumer Vive and Oculus Rift. So much excitation, Red Bulls, sleepless nights and vodkas mixed then you could imagine! I spent so much time in the Valve lab throwing sticks at the dog, you can’t imagine!
Fast forwarding a few months, Mitch and mordentral went their own way (mordentral is a very good plugin check it out!), I met a lot of devs at Oculus Connect 3 in San Jose (that I met the previous year in Hollywood at OC2). Shortly after in fall 2016 we received prototypes Oculus controllers – boy we played Dead and Buried – against other devs! But rapidly, I wanted to bring to the community – before Oculus controllers consumer official release in Christmas 2016 – the way to incorporate Touch Controllers capacitive functions (in addition to Vive controllers).
So I sat down one night around Christmas 2016 (remember working under the lights of the Christmas tree – which caused problems with Constellation), and patiently reversed engineered Oculus Avatars’ hands gestures into a matrix – using the Toy Box as a sandbox anyway that’s what we had access since OC3 – a matrix I put in Maya then UE4. The day the Touch Controllers went to market I was relieved with my NDA, I published an update to the “SteamVR template” to incorporate the Oculus Touch controllers, including finger animation based on my reversed-engineered matrix. To this day, we still use this matrix!
Fast forward a few months, we brought some adjustments/updates to the “SteamVR template” and we pushed forward that VR should be a multiplayer experience, and we aimed to bring our “Steam VR template” into the multiplayer realm. Again, we had to go the hard way. 2017 saw a countless sleepless nights with 2 -3 computers, each with their 2-3 sensors Rift setup (thanks Oculus for providing us at this time plenty of headsets and sensors!!!) and we tried, and tried, and tried, with small success every night. At the end, we succeeded in providing a framework which was working in multiplayer (listen-server model, such as Oculus Store). I was so proud. So proud that I left the “SteamVR template” UE4 forum thread with like 100k views and created another one, the “ template, no fuss, only blueprint template” such as this one. Because I believed in education, and that every devs, noobs to pros, would benefit from our trys and don’ts.
When Oculus Avatars when brought, we spend another round of countless nights make our template work with the newly created Oculus Avatars, including 2.0 lipsync and Quest compatibility (from Oculus engineers in OC6: forget Quest and Avatars! – news: it worked!)
Short story long: In a short matter of time last year, mainly during OC6 in San Jose, I met with a lot of Oculus people, especially the one from the newly created “Oculus for Business (OfB)” branch. By this time we had and open-source, mainly working multiplayer template using Oculus Avatars (or not). As our primary clients are big companies, they will use OfB and the latter is not compatible with Oculus network, Avatars, and Oculus Platform in general. Alarm!!!
As I wanted to by compatible cross-platform, including consumer Quest and Quest for Business, I decided to do a big stern move and by our platform to a dedicated server, Avatars-crossplatform, no recourse to the Oculus Platform ever, all platforms compatible focused (i.e. Rift, Rift S, SteamVR, Quest, Quest for Business). By this time (last fall) some big bucks became in play, and I decided to leave this forum and continue to iterate with my team of devs on the platform. They took it, flipped it, changed it, iterated it, and today probably 10% is still in used on the platform.
Anyway, I decided to leave it the way it was the day I set foot in OC6 last fall on github. All the principles are there, with a few bugs/unnecessary cycles yes/ but a very good start for any dev.
For me it’s true I wasn’t present for the last 10 months, but I should be there more now, re-itering my for the community. Sorry to not meet in person fellow devs at OC7 in a month; I’ll be opffering a big round of drinks of people on person at OC8 [FONT=Segoe UI Emoji]