Grey iOS option or disabled Build button → check the matching cause first: install iOS Build Support, activate an iOS Build Profile, then move to a compatible Mac and Xcode for the final build.
This applies to you if you are a Windows student exporting your first Unity project, a beginner who cannot find iOS in Build Profiles, or a learner deciding whether to repair a local setup before a course deadline.
Last updated September 20, 2026. Version and workflow details were checked against the Unity 6.5 release documentation, Unity’s iOS build documentation, Build Profiles documentation, and Apple’s Xcode system requirements.
Start by identifying where the button is grey
“iOS build button greyed out” can describe several different failures. They do not all have the same fix.
- iOS is missing from Platform Browser: the editor probably does not have iOS Build Support.
- iOS appears but cannot be selected: the target may not be installed correctly, or the editor may need to be restarted.
- iOS is selected but Build is disabled: the iOS Build Profile may not be active, or the project may have a blocking configuration error.
- Build And Run is disabled while Build is available: the project may be able to export an Xcode project, but no suitable run destination is available.
Do not begin by deleting the project or reinstalling every Unity component. First locate the earliest missing item in this chain:
editor module → iOS target → active Build Profile → project settings → Xcode and Mac environment
Unity’s Platform Browser reference explains how platform targets are displayed. Menu labels can change between editor revisions, so use the labels visible in your installation rather than following an old screenshot from a forum post.
When Unity 6.5 does not show iOS at all
If Unity 6.5 has no iOS entry in Platform Browser, the most likely cause is a missing module. Installing the editor alone does not automatically give every supported platform its build tools. For iOS work, the important component is iOS Build Support.
Think of the editor as a classroom and the module as the course tool kit. You may have opened Unity successfully, but the tool kit for preparing an iOS project is still missing.
First step: check the exact editor installation
Open Unity Hub and inspect the installed editor version that your course project uses. Do not add the module to a different Unity installation by accident. A project opened with another editor version can show different modules, packages, or menu states.
Use this low-risk sequence:
- [ ] Open Unity Hub and locate the Unity 6.5 installation used by the project.
- [ ] Open its module or installation-management view.
- [ ] Confirm whether iOS Build Support is listed as installed.
- [ ] If it is missing, add it through Unity Hub for that same editor version.
- [ ] Wait for the module installation to finish without closing the installer.
- [ ] Restart Unity Hub and the Unity editor.
- [ ] Reopen Platform Browser and check whether iOS is now listed.
- [ ] Record the result before changing project settings.
Your acceptance result at this stage is simple: iOS appears as an available platform in Platform Browser. You have not completed an iOS build yet; you have only restored the required platform tool kit.
Use Unity’s official iOS build process documentation to confirm the role of Unity in the workflow. Avoid independent “module installers,” modified editor packages, or scripts that claim to unlock iOS support. They create a second problem: you may no longer know which files came from the official installation.
Stop condition: if iOS is still missing after the module is installed and the editor is restarted, check that the module belongs to the same Unity 6.5 installation before changing the project.
When iOS is visible but Build remains unavailable
Seeing iOS in the platform list does not mean the project is ready to export. Unity’s newer Build Profiles system separates an available target from the active project configuration.
A Build Profile is the project’s build configuration sheet. It tells Unity which platform and related settings you are preparing. If the project is still using a Windows or another active profile, the iOS Build button may remain unavailable even though the platform is installed.
Second step: create and activate the iOS profile
Open the project’s Build Profiles area and check whether an iOS profile already exists. If it does, select it and use Switch Profile so that iOS becomes the active configuration. If it does not exist, create one using the iOS target.
The official Build Profile creation guide is the correct reference for the current interface. Do not rely on a video recorded for an older Unity release if its menu names no longer match your screen.
After switching profiles, check only the settings needed to begin an export:
- Confirm that the course scene is included in the build.
- Confirm that the project target is iOS rather than a simulator-only or unrelated target.
- Check the application identifier. Unity describes this identifier in its application identifier documentation.
- Look for a red error in the Console.
- Check whether a required package or project setting is missing.
- Save the project and return to the Build Profiles view.
You do not need to turn this troubleshooting session into a complete App Store release tutorial. The useful milestone is narrower: the iOS profile is active, you can choose an output location, and Unity can generate an Xcode project.
If the profile exists but the switch operation fails, close other editor windows, save the project, restart Unity, and try again. If the same project fails while a blank project works, the cause is more likely to be a package, plugin, scene, or project setting than the missing platform module.
Windows can prepare the project, but Mac completes the native stage
Windows can still be a productive part of a Unity iOS course. You can create scenes, write C# scripts, import permitted assets, test general gameplay, and prepare the project. The important distinction is between exporting an Xcode project and building the final iOS application.
A useful analogy is schoolwork:
- Unity arranges the assignment and creates the file package.
- Xcode performs the final assembly, signing, and run process.
- macOS is the approved workshop where that native assembly takes place.
Unity’s documented iOS process describes this two-stage workflow: Unity generates an Xcode project, then Xcode on macOS builds the application. Read the Unity iOS build process before assuming that a successful Windows export means the application is ready to run.
This explains a common student result:
- Build works on Windows: Unity may generate the Xcode project.
- Build And Run does not work on Windows: there is no compatible local iOS run environment.
- Simulator testing is unavailable: the iOS Simulator is part of the Mac-based Xcode workflow.
- Signing fails later: signing accounts, certificates, device registration, and project code errors are separate issues from Unity’s platform selection.
If your class only checks that an Xcode project was generated, Windows may be sufficient for that stage. If the assignment requires a Simulator screenshot, a physical-device test, or a completed application file, you need access to a compatible Mac with Xcode.
There are three sensible routes:
- School Mac: best when you need interactive debugging and the school permits the required project access.
- Temporary remote Mac: useful when the deadline is close and you need a real macOS environment without buying hardware.
- Build automation: suitable when you only need a repeatable build result and do not need to inspect the Simulator interactively.
Do not treat a Hackintosh, shared Apple account, shared signing certificate, or a script that disables security checks as a legitimate shortcut. Those choices can violate school rules, expose credentials, or make the build impossible to reproduce.
Why Build And Run can fail after you switch to a Mac
Moving the project to a Mac does not automatically fix every grey button. It only removes the Windows limitation. You still need a compatible Xcode installation, a supported macOS environment, a valid destination, and a project that can be generated cleanly.
The label Xcode 27 may appear in a course instruction or search result. Do not assume that its compatibility with your Unity project is guaranteed. Check the current Apple requirements for the Xcode version installed on the Mac, including the supported macOS range and SDK information. Apple publishes those requirements on its official Xcode system requirements page.
Use this order so you do not blame the wrong component:
Third step: verify the native environment
- [ ] Confirm that Xcode is installed on the Mac rather than only the command-line tools.
- [ ] Open Xcode once and allow its initial components to finish installing.
- [ ] Compare the installed Xcode and macOS combination with Apple’s current requirements.
- [ ] Generate the Xcode project from the active Unity iOS Build Profile.
- [ ] Open the generated project in Xcode.
- [ ] Decide whether the target is an iOS Simulator or a physical device.
- [ ] Check that a compatible Simulator runtime is installed if you are using the Simulator.
- [ ] Check the signing and team settings only when the project reaches that stage.
- [ ] Read the first useful error in Xcode instead of treating every later message as a separate failure.
The stopping conditions matter:
- If Unity cannot generate the Xcode project, return to the active Build Profile and Unity Console.
- If Xcode cannot open the generated project, check the Xcode and macOS pairing before editing code.
- If the Simulator cannot launch, check the installed runtime and selected destination.
- If a physical device will not run the app, separate device trust, account access, signing, and cable or connection problems from Unity settings.
- If the native build completes but the app crashes, investigate project code, plugins, assets, and runtime behavior.
Unity’s iOS player settings can affect the generated project, so consult the official iOS Player Settings reference when a setting is specifically named in an error. Do not disable security features or install an unknown “one-click fix.”
A quick blank-project test before you move the course project
A blank project is a diagnostic control. It helps answer whether the environment is broken or your course project is the problem.
Create a permitted empty Unity project using the same editor installation. Add the iOS Build Support module if necessary, create an iOS Build Profile, switch to it, and attempt to generate an Xcode project. On a compatible Mac, open that project in Xcode and test the intended Simulator destination.
Compare the result with your original project:
- If the blank project also fails before Xcode opens, investigate the editor, module, Build Profile, Mac, or Xcode environment.
- If the blank project works but the course project fails, inspect packages, plugins, scenes, application identifiers, and project-specific settings.
- If both projects export but only the course project fails in Xcode, stop changing the Unity installation and read the first project-specific Xcode error.
- If the course only requires export, document the generated Xcode project and ask the instructor whether the native run stage is required.
This test is safer than repeatedly reinstalling Unity because it changes fewer variables at once.
Common beginner questions
Is Unity 6.5 enough to build for iOS?
No. The editor version alone is not the complete requirement. You need the iOS Build Support module, an active iOS Build Profile, a project that passes Unity’s configuration checks, and a compatible Mac and Xcode environment for the final native build. Treat each item as a separate checkpoint rather than expecting one installation to solve the entire workflow.
Why does installing iOS Build Support not immediately enable Build?
The module adds the platform tools, but it does not necessarily create or activate the project’s iOS Build Profile. Switch to an iOS profile, verify the scene and application identifier, and inspect the Console. If the profile is active but Build is still unavailable, the next useful clue is the first blocking project error, not another module download.
Can Windows generate the Xcode project?
Often, Windows can prepare the Unity project and generate the Xcode project when the iOS target and profile are available. That does not make Windows a complete iOS development environment. Final compilation, signing, Simulator use, and physical-device testing belong to the compatible macOS and Xcode stage documented by Unity and Apple.
What does a grey Build And Run button mean?
It can mean that Unity has no valid run destination, not that the iOS module is missing. First confirm that Build itself works. Then check whether you are targeting a Simulator or physical device, whether the required destination exists, and whether the Mac has the necessary Xcode runtime or device access.
Can I complete the course without buying a Mac?
You may be able to complete Unity-side work on Windows, but the answer depends on the assignment’s deliverables. If it requires only project preparation or Xcode project export, Windows may cover much of the work. If it requires Simulator evidence, signing, or device testing, use an approved school Mac, temporary remote Mac, or suitable automation workflow.
Which route fits the remaining assignment?
Use this comparison only after the iOS target and Build Profile have been checked:
| Route | Best fit | What you can verify | Main limitation |
|---|---|---|---|
| Windows only | Unity scenes, scripts, and project preparation | Gameplay logic and Xcode project export | No complete local macOS/Xcode run stage |
| School Mac | Interactive debugging and instructor-approved work | Xcode build, Simulator, and permitted device tests | Access hours, software policy, and storage rules |
| Temporary remote Mac | A deadline-driven project needing macOS | Xcode project opening, Simulator checks, and native build stages | Requires stable remote access and careful file transfer |
| Build automation | A repeatable build-only requirement | Whether the project can produce a build artifact | Poor fit for interactive Simulator debugging |
If the build fails before an Xcode project is generated, keep working on Unity and the active profile. If the project exports successfully on Windows but the course requires Simulator evidence, stop spending time trying to make Windows perform a Mac-only stage.
For a short assignment, a temporary remote Mac can be more practical than buying hardware you may not use after the course. You can review the available KVMFLUX remote Mac options and compare the terms on the KVMFLUX pricing page, but first confirm that the access method and environment match your course’s software and account rules. If you are connecting from a managed school computer, review the Windows-to-Mac connection guidance before moving project files.
The decision for your current setup
Keep repairing the local setup when iOS is missing only because the module was not installed, or when the active Build Profile is the only missing configuration. Move to a Mac when Windows can already generate the Xcode project but the assignment still requires Xcode compilation, Simulator evidence, signing, or device testing. Use automation only when you need a build result rather than interactive debugging.
The Windows-only route can leave you unable to launch the Simulator, unable to complete signing, and unable to reproduce the instructor’s Mac-based steps. A school Mac can be unavailable at the deadline, restricted by administrator policies, or unsuitable for storing your project. A temporary Mac rental avoids buying hardware for a short course, keeps the native stage separate from your Windows setup, and gives you a controlled place to validate the blank project before moving the full assignment.
If you need that temporary environment, KVMFLUX is worth considering after you confirm the required Xcode and macOS conditions. Start with the blank-project test, then move the real Unity project only after the iOS Build Profile and Xcode export succeed.
Build Your Unity iOS Project on a Remote Mac
Rent a Mac from KVMFLUX when you need macOS for the final iOS build workflow. Connect remotely and continue your Unity coursework without replacing your Windows setup. Use a temporary Mac environment for Xcode signing, testing, and App Store preparation. Choose a KVMFLUX plan that fits your project timeline and start building when you are ready.