Apple Silicon Mac Support
MisutaaAsriel
Directions
- Open App Store Connect
- Select VRChat for iOS
- Navigate to the TestFlight tab
- For each group selected in the sidebar, under Test iPhone and iPad apps on Macs with Apple siliconclickEnable
Per instructions here: https://developer.apple.com/help/app-store-connect/test-a-beta-version/test-iphone-and-ipad-apps-on-macs-with-apple-silicon
Motivation
Apple Silicon Macs can
run unmodified iOS and iPadOS software
without needing build support, Catalyst, or a separate Mac build. By allowing Apple Silicon Macs to test VRChat for iOS, this would allow a Desktop Mode experience for Mac users in which they can provide valuable feedback in regards to core features and stability, whilst having additional RAM at their disposal which will negate resource issues.Additionally, iOS world and avatar creators who also develop on Mac within this beta would have the ability to near-instantly test their content, without having to switch devices, giving creators a better testing environment, and improving the pace of iteration. This would be a net-positive for creators on Mac.
Log In
MisutaaAsriel
To note: Mac support in the iOS build is on staff's radar, per one of the developers. However, a blocking issue in Unity with iOS applications on Apple Silicon Macs and how it detects the platform prevents them from running it without crashing or weird bugs.
Whilst they do purportedly have ideas in mind on ways they
could
fix this, that would require some level of work in supporting macOS, which they are not ready to do, even in an unofficial capacity, at the time I spoke with them. So barring Unity themselves fixing this issue, there won't be Mac support, even for the iOS build, at this time.Definitely leave your support and feedback though! It helps them know if this is worth pursuing down the road!
piѕѕ
SO TRUE!!!!!!!!!! I LOVE MY MACS FR
空空空zzZ
I sincerely hope I can use my MacBook to play VRChat and see my friends in VRChat one day.
ひやかけ
私もmacOSでiOS版のVRCが動作することを強く望んでいます。
デスクトップ版と同じユーザー体験ができるべきだと思います。
それはmacOSのためでなく、iPadにキーボード付きケースを接続して利用したいユーザーにとっても意味があるでしょう。
M1以降のチップであればQuest対応ワールドをプレイするには十分すぎる性能です。
I also strongly hope that the iOS version of VRC will work on macOS.
I think you should have the same user experience as the desktop version.
It is not for macOS, but also for users who want to connect a keyboard case to the iPad and use it.
If it is an M1 or later chip, the performance is more than enough to play Quest-compatible worlds.
CharmanDrigo
In theory this would be the first step to have a build of VRchat for apple vision pro, since the AVP has a M2 processor, question is if a Mac version that happens to be native handles well the pc limits
owlboy
This Canny makes assumptions about Building and Testing VRChat content with the VRCSDK with an iOS build running on macOS.
The way this Canny describes things acts like the iOS-on-macOS build would be a full fledged macOS build with all of the build and test features of the Windows build.
This is misleading, and not possible. Conflating a native macOS build with an iOS build that is running in a compatibility mode won't help sell them on flipping the switch.
> this would allow a Desktop Mode experience for Mac users
This is false. The controls and UI would still be a _mobile_ experience. A Mobile Mode.
> iOS world and avatar creators who also develop on Mac within this beta would have the ability to near-instantly test their content
This is false, it would not have Build and Test features like Windows does. The iteration time would be just as long as it would be for uploading an iOS build and viewing it on an iOS device.
I too want a native macOS build. And I think allowing the iOS build to run on macOS would be good. But this Canny is misleading and makes assumptions about how iOS apps running on macOS work.
MisutaaAsriel
owlboy You are objectively wrong on all points.
- I am not saying it would be a "full fledged" mac build. I am saying that it would run as a native binary; that is, Silicon Macs can run iOS apps through a native subsystem as they contain the same architectural instructions (ARM64). As opposed to some sort of emulation.
- iPadOS also supports keyboard and mouse, as well as XBOX One, PS5, & Switch controllers. I used the beta iPad build using the keyboard and mouse from my Macvia Universal Control. Touch controls are optional, andautomatically disappear when controller or keyboard input is in use.The "UI" for the client itself within VRChat is identical to its VR counterparts. The UI outside of that is either input dependent, or effectively a stripped down version of the web portal.
- Build and test would be possible with the iOS build. iOS allows apps to expose their files to the Files app. This would be no different with running it on macOS. The SDK could, in theory, automatically place test files within their appropriate directory, and launch the app, if it is present, if VRChat so chose to allow so.Even if it did not have build and test, the ability to quickly test content on macOS, for us who use macOS for VRC development, would expedite matters, as the alternative is moving to another device for testing.Having everything on one machine would provide anear-instantexperience. Just upload (from the SDK), then reload (in the client).
I have made 0 misgivings on this, and made 0 assumptions. A lot of what you say is either flat out wrong, or makes assumptions to how VRChat operates on iPad.
owlboy
MisutaaAsriel I apologize.
All of my assumptions about the iPad build come from being uncharitable to VRChat and assuming they would not choose to put in the effort to go beyond flipping the switch that allows the iPad version to run on macOS. I was wrong to say build and test is impossible. It’s only impossible if VRChat does not do the work to make it possible.
I assume VRChat would rather just do a proper Mac build over putting in specific support for the iOS/iPadOS versions and supporting and maintaining that compatibility.
And yes, of course flipping the switch and letting the builds run on macOS would be great. I said that.
I’d love to be proven wrong. I’d love for the iPad build to work for testing on macOS too. But you need to request that feature. Not just state that it would be possible once that step by step process you outline is complete. 😄
You even use the word “unmodified”. This is what is misleading.
MisutaaAsriel
owlboy well, to be fair, for "most" iOS apps, it is true. Apple even touts this in their developer documentation, and apps built with XCode for iOS even list M-series Macs as a test option.
For all intents and purposes much of iOS software can just run "unmodified" on Apple Silicon Macs.
I use a number of iOS apps on my Mac day to day.As outlined recently above, the issue is that Unity's engine uses low level APIs which, er, break this functionality. Specifically, Apple's UIKit and other "higher level" iOS frameworks will identify the system as an iPad Pro running iPadOS, whenever ran on Macintosh hardware.
But… Apple warns that "other", shall-we-say "lower level", methods of retrieving hardware and software identifiers (which are implied to be deprecated or disapproved of), may incorrectly return the
true
hardware and software identity, rather than the spoofed identity Apple returns for compatibility.This
can
be desirable in some cases, such as providing platform relevant features on macOS. But, in Unity's case, this is instead a bug. Unity's engine detects and treats the system as a Mac, despite executing iOS code, which causes all sorts of issues. For starters, iOS & Catalyst APIs unavailable to AppKit (older macOS native APIs) are disabled (such as ARKit). This breaks applications which rely on them, and can also cause issues with platform specific code inside Unity, scripts, assets, etc. Basically, all sorts of things break.In fact, in my experience with an M2 MacBook air, the iOS applications I have experienced the worst compatibility with are all Unity applications. Same goes for trying to write software that uses Mac available APIs but only for iOS on Apple Silicon & Catalyst (again, like ARKit). E.G Unity will spit out to the console that ARKit is unsupported on Mac and the screen just goes black, even though the API is 100% available.
There are potential answers to this, as I outlined above. Outside of Unity fixing this themselves, VRChat could "swizzle" the relevant APIs, used by Unity, to return the correct platform information on macOS, for example. Or they could limit API usage to known AppKit available APIs and tailor every script to account for macOS as a potential platform. But… this requires VRChat to invest effort into something they weren't even ready to support yet. As it stands, as with many things, Unity itself is standing in the way.
kurokomario
With iPhone and iPad, battery and heat issues occur, making it difficult to play for long periods of time...
I'd like the PC version to work if possible.
Addendum:
Even if you run the iOS version as is, it is currently optimized for touch screens, so you won't be able to play it the same way as you would in desktop mode on the PC version...
MisutaaAsriel
kurokomario you can use all the same inputs as desktop. On iPad if you use a controller or a keyboard & mouse the touch controls are removed.
Breadd~
Agreed. Would be a great way to test iOS content on much more capable hardware.