We’re very excited to announce the experimental release of Swift Xcode Project Type in Unity 6.5 Alpha. Under the hood, this is a complete re-architecture of the layer connecting Unity Engine to Apple platforms, delivered in modern Swift language. It represents the foundation for Unity’s next generation of Apple platform development.
What this means for you:
- A cleaner, Swift-first approach and Swift-native plug-in workflows
- Improved alignment with Apple platform standards
- A future-proof development architecture
- A dedicated Unity public API for plug-ins
What’s available now
Starting in Unity 6000.5.0a9, you can switch to Swift Xcode projects for iOS and tvOS by selecting the Swift project type in Edit > Project Settings > Player > iOS > Configuration > Xcode Project Type.
The experimental release includes:
- SwiftUI-based Xcode project template
- Full Unity Player functionality
- Native plug-in support in Swift, Objective-C, Objective-C++, C, and C++
- Public API for native plug-in developers
- Interchangeability with Objective-C project type for plug-ins adopting new APIs
You can read in-depth technical details on our accompanying documentation update.
Note: Swift projects will require iOS 16+ as the minimum deployment target.
Note: Support for full screen video, Unity as a Library, and visionOS windowed mode will come in a future update.
If you are a game developer
Throughout this re-architecture work, project stability, performance, and feature parity was a driving factor for us. We expect that your games can smoothly transition to the modern architecture across core gameplay areas such as performance, graphics, audio, input, orientation, etc. We ask you to try the Swift Project Type with your projects and give us feedback/submit potential issues about core areas that may not behave as you expect. While marked experimental, this release is stable for testing and development. We encourage you to try it with new/existing projects in non-production environments first. Critical bugs will be addressed promptly, but we recommend waiting for the LTS release later this year, and the removal of experimental status, before shipping production titles with the Swift Project Type.
If you are a plug-in maintainer
If you’re a Unity plug-in creator with native iOS support: we need your help making this transition smooth for the Unity community. We ask you to begin testing your plug-ins with Swift Project Type now, provide feedback on the new APIs, and - if necessary for your product- start releasing updates that support our Swift direction.
We’ve built new APIs for the Swift Project Type and a mechanism to help you support both project types during the migration period. We’ve provided comprehensive migration documentation and tools to make this as straightforward as possible.
Key things to know:
- Your plug-ins can support both Objective-C and Swift project types simultaneously.
- We’ve introduced
UnityPlayeras the new primary interface (replacing much ofUnityAppController). - Lifecycle events now use
NotificationCenterfor cleaner integration. - Full migration guides and API references are available in our documentation.
We are currently working on the following features for an upcoming release:
- Provide native plug-ins with an Editor version at compile time.
- Encapsulate the plug-in context to prevent mixing the public API with private implementation details.
Looking to the future
Long term, we plan to make Swift Project Type the default, with the eventual phase-out of the Objective-C architecture. This will not happen overnight. Existing LTS (6.0-6.3) and the 2026 upcoming LTS will retain the Obj-C project type for the duration of their support window.
For the next generation after the 2026 LTS, and due to the nature of modern Apple APIs being available only in Swift, we expect to release new capabilities to the Swift Project Type stream only.
By starting this journey now, we’re ensuring Unity remains aligned with Apple’s ecosystem for years to come. In the interests of transparency, here is our provisional timeline that can help both plug-in and game developers plan your next steps:
| Date | Unity version | Status | What you need to do |
|---|---|---|---|
| Spring 2026 | 6.5 Alpha | Swift Project Type released as experimental | Plug-in developers: start supporting both types. Game developers: Test core gameplay |
| Autumn 2026 | LTS shipped in 2026 | Swift Project Type production-ready. Obj-C project type available | Game Developers: you can use in production projects. Game Developers: Feedback to 3rd party plug-ins in case of support. Plug-in developers: release updates to your SDKs with Swift Project Type support if needed |
| 2027+ | Next generation onwards | Swift Project Type recommended for all projects. New features on Swift Architecture only. Obj-C project type evaluated for deprecation & removal | Game Developers: Prepare for a Swift-only world. Plug-in Developers: maintain support for both project types |
Share your feedback
We need your feedback to make it production-ready. Whether you’re building a new project, updating an existing one, or creating native plug-ins, we want to hear about your experience:
Get started:
- Review the documentation and API reference.
- Update to Unity 6000.5.0a9 or later.
- Navigate to Edit > Project Settings > Player > iOS > Configuration > Xcode Project Type and select Swift.
- Build your project and explore the new structure.
Share your feedback in this thread. Your input will directly shape capabilities and fixes and influence the provisional transition roadmap. This is an exciting step forward for Unity on Apple platforms, and we can’t wait to see what you build with it.
Found a bug? Use the in-editor bug report functionality with a reproduction project. Please add “#SwiftProjectType” in your description so it reaches us faster. You can also report any documentation issues using the Report a problem on this page option at the bottom of each page.
For detailed technical information, API references, and step-by-step migration guides, visit our documentation.