Sculpting VR creativity platform SculptrVR is the work of just two people and yet, over the last two years, they’ve brought the software to practically every major VR platform. PSVR becomes the latest headset to get SculptrVR with a launch today.
Nathan Rowe and Brandon Hjelstrom work together on the project, which is based around Rowe’s voxel engine while Hjelstrom “has done more of the interactions, multiplayer, and content server.” The software was originally released for the HTC Vive launch in April 2016. Here’s the original trailer:
And here is what it looks like more recently:
Each of the creators took the lead on different ports as they brought SculptrVR to more headsets — Oculus Touch, Gear VR, Go, Daydream and, now, PSVR. Bringing the software to so many headsets means Rowe and Hjelstrom faced a number of tough decisions and sacrifices along the way. After all, they started with a creativity platform built to take advantage of intuitive 6dof hand interactions and then they brought a version of it down to 3dof mobile headsets with multiplayer working between them. This means their software also offers unique insight into the advantages of each platform.
With the PSVR launch I thought it would be a good time for a Q&A with Rowe focused on some of the challenges they’ve faced bringing SculptrVR to so many VR headsets.
Q: Why did you pick Vive as your first platform and how did you plan to expand beyond there?
A: Vive was the first consumer VR headset to launch with integrated motion controllers, so it was the obvious place to launch first. We actually released SculptrVR on April 4, 2016 — one day before the Vive launch — because I saw a reddit post where someone already received their Vive. Our intention was to launch second on PSVR. That didn’t exactly pan out. We ended up launching on Rift, then Daydream, then GearVR and Go before finally hitting PSVR. We built SculptrVR in Unreal Engine 4 specifically because it was known to run well on PS4. We’ve had builds of SculptrVR running on PSVR since before its launch back in mid 2016! But back then SculptrVR was releasing major new content updates every couple weeks. We were evolving way too fast to lock down a build for PSVR launch.
Q: What was the biggest surprise or challenge in actually trying to implement a cross-platform VR game?
A: The Good: Multiplayer is easy. I said that wrong.. Multiplayer was hard, but once you have multiplayer working with dedicated servers, it automatically works on all platforms in UE4. Epic has had decades of time to mature their multiplayer framework, and it shows!
The Bad: Cross platform voice chat is surprisingly hard. It’s 2018 and FINALLY there’s starting to be easy to integrate cross-platform voice chat solutions. Until recently the only integrated voice chat solutions in UE4 were piggy-backing off one of the platforms. There’s Steam Chat, Oculus Chat, PlayStation Chat, etc., but they couldn’t talk to each other. Today we still haven’t implement cross platform voice chat into SculptrVR! That’s high on our list of next things to add, though.
The Ugly: We used to be able to push updates every day or two as we added even the tiniest features. But for cross-platform multiplayer to work, we need to push updates onto 5 platforms simultaneously! We’ve reduced our update rate to once per month or so to deal with that.
Q: How much work goes into each new platform you launch on?
A: Unreal Engine already does 95% of the work for us. When we first got Oculus Touch controllers, we launched the release version of SculptrVR through Steam and it just worked! The controllers looked like Vives and most of the buttons weren’t hooked up properly, but it worked! We had to build a bunch of little platform switches to set the correct input manager, set the hand models, etc. Those were both PC platforms, though. Going from PC to Android was not so easy.
For Android, we couldn’t use any of the same interactions, rendering materials, graphics settings, or voxel engine settings. Porting to Daydream took 3 solid months of Brandon’s and my time. Porting to GearVR/Go was when we ported smooth sculpting from PC to mobile, so that also took a bunch of time.
PSVR took the most time of any platform. We’ve been trying to release on PlayStation for 2 years! That’s not because it’s harder to develop for, but because they hold us to a higher standard.
Q: Which platform was your favorite to develop for, and why? Least favorite?
A: PC is always where we develop new features first. Writing the code on the same machine that you test with saves so much time. It’s awful to spend 4 minutes packaging a new build to Android or PS4 and then have it crash on launch because of a tiny bug.
That said, Sony’s tools for developing on the PS4 are absolutely incredible, and every platform has benefited because of bugs we managed to track down thanks to Sony’s tools.
By far the most frustrating platform has been Android (and Daydream is worse than GearVR/Go). We have to support tons of different phones each with random missing features resulting in 50% performance loss in some cases. It’s a huge pain made even worse by the fact that we don’t even have access to most of these phones.
Q: How is SculptrVR different on PSVR compared to other platforms?
A: At launch SculptrVR is missing a few features on PSVR. We don’t have reference images, mesh export, explore mode, or multiplayer. We want to bring all of those features to the platform soon, but Multiplayer will probably not have cross play. The PS4 has a bit less power than the min specs VR PC, so we also had to change the graphics.We decided to drop shadows and build a custom baked ambient occlusion system to keep sculptures easy to understand in 3D.
Sony has a very serious Quality Assurance process. They test EVERYTHING. I think a team of 3 people spend like a week playing your games. They find every bug, and even report back when certain features make them sick. There were a ton of requirements around multiplayer that exist to guarantee a good experience for as many players as possible. Meeting all of those requirements is going to take some time, but we’re working on it!
Overall SculptrVR on PSVR has all the same creative potential as on PC, and we’re really proud of that.
Q: Do people use or engage with your software in different ways across the different platforms? How so?
A: Yes definitely! On Oculus Rift, dropped frames are not such a big deal thanks to Asynchronous Space Warp, so users tend to bump up the graphics settings and show more material. On 3DoF platforms, creation is not as easy, so users spend a lot of time shooting rockets and browsing the online gallery.
Q: What were the pros and cons of making the decision to port the full 6DoF PC head and hands version to a more limited 3DoF platform like Daydream and GearVR?
A: I’m a big believer in the future of mobile VR and mobile AR as well. The current 3DoF mobile VR is better than I expected, but certainly still feels limiting after PC VR. I came up with a cool way to give users direct positional control of their tool with a 3DoF controller. We use sort of a turn-key gesture to extend your tool out in from your hand. I proposed the port with this turn-key input to Google and they gave us just enough funding to pay for our development work during the port.
Getting SculptrVR running on mobile was a challenge. It definitely slowed down the development of new features in SculptrVR. But now we’re ready for full 6DoF mobile as soon as it arrives!
Q: When you sit down to use SculptrVR, which platform do you prefer?
A: This depends a lot on my goal of the play session. If I’m just checking out new creations uploaded to the content server, my favorite platform is probably Oculus Go. I love how easy it is to jump in and out of that headset, and it’s so comfortable! If I’m going to be jumping into multiplayer, there’s usually a lot of climbing and hang gliding, so I prefer the Vive. You still can’t beat the Vive’s room-scale tracking. If I’m taking screenshots or video, I usually use Oculus Touch because I can bump up the graphics and not feel the dropped frames as much. It’s really nice to have so many options!
Q: How has SculptrVR changed since launch?
A: When SculptrVR launched it was single player, cubey only, had no post processing, and you could only sculpt for about an hour before the engine would be overwhelmed and it would start dropping frames. We also only had 5 tools and 16 colors and still used the default Unreal Engine floor!
Now SculptrVR looks so much better, has an incredible tool collection including the stamp tool, supports smooth, poly, and cubey surfaces, has a full color picker, multiple sculpture layers, glowing, metal, and clay materials, cross platform multiplayer, hang gliding, and you can sculpt for a hundred or more hours without dropping frames.
Q: Will there be more platforms for SculptrVR and additional feature updates?
A: Yes and Yes. We’re wrapping up a new update soon that adds a ribbon/sword tool, snapping mode, a voxel exact box for cubey sculpting, an improved copy/paste brush with the ability to make perfect copies, and other random bug fixes. We’ve been building SculptrVR for almost 3 years, and could easily keep going for another 3. We’re really excited about 6DoF mobile platforms and AR Sculpting, so expect to see some news there soon!