Joseph Simpson
banner
vrhermit.com
Joseph Simpson
@vrhermit.com
Learning, sharing, and teaching visionOS development at Step Into Vision
https://stepinto.vision
We can use volumeWorldAlignment to specify if volumes should stay aligned with the ground or if users can tilt them.
stepinto.vision/example-code...
January 16, 2026 at 3:56 PM
When Apple released Stage Manager on macOS and iPadOS, I thought it would play a part in their Spatial Computing platform. When visionOS 1.0 arrived, I was surprised that it was nowhere to be seen.

#visionOS #SwiftUI

stepinto.vision/labs/stage-m...
January 12, 2026 at 10:39 PM
Revisit Lab 005 - Pseudo 3D layouts

We can use SwiftUI rotations and offset to add a bit of 3D to our windows and interfaces.

#SwiftUI #visionOS #AppleVisionPro

stepinto.vision/labs/pseudo-...
January 11, 2026 at 2:16 PM
Revisit Lab 004 - Cover Flow Demo

One of these days I would like to update this using the new Spatial Layout features in visionOS 26. There is a lot of room for improvement here.

#visionOS #SwiftUI #AppleVisionPro

stepinto.vision/labs/lab-004...
January 10, 2026 at 12:56 PM
We already covered how to open a new volume by ID and how to open a window with a value. Opening a volume with an ID is no different than with a window.

#visionOS #SwiftUI #AppleVisionPro

stepinto.vision/example-code...
January 7, 2026 at 5:15 PM
A year ago I set an ambitious goal: Publish on Step Into Vision every day of 2025. Today I reached that goal! It has been an enormous amount of work, but it has been worth every second. I'm proud of what I've accomplished, but I know there is a lot of work ahead. 2026 is going to be awesome!
December 31, 2025 at 7:40 PM
We can use Scene Phase keep track of open Windows. Using this at the app-level can be a bit confusing. When used inside scenes this becomes a simple and powerful way to know if a window, volume, or space is open/active.

#SwiftUI #visionOS #AppleVisionPro

stepinto.vision/example-code...
December 29, 2025 at 1:58 PM
Lab 087 documents a workaround for using SwiftUI Spatial Layouts in Immersive Spaces.

The short version is that we can't be inside a SwiftUI view. My hack was to raise the view above me, the offset the content to hang from the view.

stepinto.vision/labs/lab-087...
December 24, 2025 at 2:05 PM
pushWindow allows us to temporarily replace one window with another. Useful for splash screens, complex pickers, or when we need to show a content that requires a different window style (Photos app vs. single photo view)

stepinto.vision/example-code...
December 23, 2025 at 4:54 PM
We can open value-scoped windows in visionOS, in much the same way as macOS and iPadOS. Each combination of id and value results in a unique window.

#SwiftUI #visionOS #AppleVisionPro

stepinto.vision/example-code...
December 15, 2025 at 4:19 PM
When opening new windows, we can specify a default placement.
Relative to an existing window: leading, trailing, above, and below.

Relative to the user: utility

#visionOS #SwiftUI #AppleVisionPro

stepinto.vision/example-code...
December 13, 2025 at 9:01 PM
Take a look at some methods to size windows in visionOS. We cover defaultSize, contentSize with windowResizability and frame, and fixed size.

#visionOS #SwiftUI #AppleVisionPro

stepinto.vision/example-code...
December 12, 2025 at 4:17 PM
The first article on Step Into Vision was posted weeks before the site went live. I kicked things off with a series of examples covering Windows, Volumes, and Spaces. This one was about openWindow and dismissWindow

#visionOS #SwiftUI #AppleVisionPro

stepinto.vision/example-code...
December 11, 2025 at 12:43 PM