Seriously, where on Earth do the weeks keep going!? I know time speeds up as you get older, but this is getting silly
The big news this week, is that following a whole lot of testing we’ve taken the plunge and officially moved to UE5! It took a bit of additional work to make it hit the desired performance targets, but I’m happy to say most people are now seeing roughly the same performance they were getting in UE4.
As I’ve touched on before however, this is with the two main UE5 headline features (Nanite & Lumen) disabled. There are a few key reasons for this, but most critically it’s because neither of those features supports VR. We very much want Starsim to be fully playable in VR, so we can’t progress with those features until Epic sorts out the compatibility on their side.
From what I’ve read there’s no technical reason behind Nanite not supporting VR, it’s more the fact Epic just hasn’t focused on it yet. I remain hopeful on that front, but I think it’s fair to say Lumen will never support VR on current hardware. It’s just far too heavy to achieve the stable 90fps that VR requires.
So why did we move to UE5 now? Well, in order to properly do the galaxy justice for the upcoming demo we really need UE5’s double precision vectors. I’d gone about as far as I could with the galaxy in UE4, and rather than wasting time writing hacky workarounds it just made sense to take advantage of UE5’s better coordinate system.
That, and the longer we wait to make the move, the more UE5 gets developed and the larger the gap becomes between it and the UE4 codebase/features. There are still quite a few new toys to take advantage of despite leaving Nanite and Lumen disabled
In fact, this is already bearing fruit, because I’ve just increased the size of the galaxy to be double its real-world size. Having that extra space around the main bulk of the galaxy means we can include things like globular clusters and lone stars sitting a long way outside of the galactic disc. This gives us a play area of 80 trillion cubic lightyears… which is nice.
Randomly, I also made a new cloud system for procedural planets. The current clouds are baked onto the planet’s textures and suffer from limited variety, not to mention some horrid texture artefacts in some cases. The new system exists separately from the surface material and generates its own ground shadows from whatever the input texture is. In short, this means we can now procedurally generate cloud coverage using noise functions and every planet will have completely unique cloud patterns.
My ongoing job for the next few days is getting the UE5 project polished and stable ahead of a new build. It’s a bit temperamental in places, but I should be able to get it beaten into shape. Onwards and upwards!