This repository explores converting existing iOS apps into windowed apps on visionOS using Unity, focusing on the nuances of user interactions within such apps.
We tested a simplistic iOS app that allows users to manipulate a floating cube by tapping or dragging across the screen. A dropdown menu in the top-left corner enables switching between the two interaction modes.
Converting the project for use on Apple Vision Pro requires merely switching the target platform from iOS to visionOS, with no additional package installations or setting adjustments needed.
The application transitions smoothly into a visionOS window, allowing users to reposition and resize it within the shared space. Currently, window aspect ratio can be modified while resizing, though there may be a way to lock it.
Simulating screen taps through gaze targeting and pinching is functional but lacks visual feedback. There is no visual indication to confirm where the user is looking at on the screen.
The absence of a hover effect for UI elements complicates confident interaction, often leading to inadvertent selections.
However, using gaze and pinch gestures for dragging operations proves to be surprisingly smooth.
Interacting directly with the virtual window mimics tapping on a smartphone's screen, offering a more reliable method of manipulation.
This approach enhances UI operability compared to the indirect eye-hand method, which lacks any hover feedback.
Direct dragging gestures also perform well.
The primary problem with ported windowed apps on visionOS lies in the lack of feedback for eye-tracking, complicating the user of indirect eye pinch interactions. By positioning the window closer and interacting directly, the experience markedly improves, akin to using a virtual iPad with a larger screen.
However, the main advantage of porting iOS apps to visionOS is probably the expanded display size with a relatively far distance to the user, the indirect interaction mode poses significant usability challenges.







