First Impressions
I fired up visionOS SDK 1 (The one is cute, right?) in the latest version of Xcode, so much fun to be had in here. It really hits home when you start to play around with it that this really is a whole new platform, it's no toy, no gimmick.
You can immediately start making things with SwiftUI, without even really thinking about it straight from File, Project, New. Serious work has gone into this and it really shows. It shines. This already feels like home.. but home is now a spaceship ..with a whole universe to explore.
The first app I made was placing spheres in the room.. it's a whole new debugging experience when you're panning and orbiting around a 3D kitchen looking for your missing models! Fun though. So much to learn here but a fotunate time to be able to join a new platform again, right from day one.
Performance wise, no complaints here. Not bad for a beta. Everything seems pretty snappy so far. Even the previews are fast and I was defintiely not expecting that. Obviously I haven't pushed the envelope much. The first time I played with an app in the simulator, using just my laptop (M2 MBA), things got very hot indeed. As soon as I switched to running on the Studio Display though, no heat, even with the clam closed.
Reality Composer Pro is bundled in with this Xcode now, I was excited to try that and it did not dissapoint. I think that app is going to be a bit of a hero, super simple to get started with as well. Within a few minutes I was building worlds with primitive shapes, adding materials and tinkering with particle emitters. Without a glance at the docs, bravo.
When you do look around the documentation for visionOS, it's really good, there's a lot of it. The sample projects are good too, you can immediately get your hands on some code to run and play with - which is what we all want. Hopefully they will trickle out some more projects as the year rolls on. One of the projects is a game, 'Happy Beam', it's demo software granted but there's a lot going on. It serves as a good reminder that the 3D wonderlands come with maths, often lots of maths. Great things are possible with great minds on that maths here. I've never had the head for the matrix math myself - I was reminded of an OpenGL course I tried my hand at back in the Cocos2D days, oof. I expect there will be lots of open source projects eventually to help folks with this stuff, animating model transforms, custom hand gestures etc, all for us to learn!
Pro tip for the simulator, get a game controller hooked up to your machine. I had a PS5 controller hanging around from the pandemic days, way easier than using your mouse in the simulator. Said simulator could definitely use some keyboard shortcuts to switch between pan, orbit etc quickly too. On the controller, L2 & R2 are pressure sensitive, they move you up and down nicely which I found sped up navigation around the scene massively.
The development environment doesn't really lend itself to working on a laptop very much - which we are all very used to. It needs screen real estate, a controller (or headset) and will probably be pushing tin later too. This could be an excellent excuse to invest in a Mac Studio I thought.. but the more interesting question.. what does a day developing on this device actually feel like?
We really need the headset to do this properly - if you imagine wearing it during development.. would you take it off to tweak your code? That's a lot of messing around.. so ideally no. So you would probably leave it on. So you're looking at Xcode through the headset with passthrough.. or you're looking at Xcode IN the headset, if that makes sense.. on a giant version of your Mac desktop.. and thus never take it off. There's probably other configurations for the developers 'daily driver' use case (we'll learn I'm sure) but you get the point, it's not obvious.. it's not the pictures under glass we're used to.
Parting thought, I had a little look for any sort of UI testing framework, no dice. Just unit tests for now by the looks of it. I'm sure there is a team busy working away on that somewhere.. and hey, nobody is shipping until May.. right?