1. Access and Use Rights.
1.1 Read Only (Source Code Access) Unity Source Code Subscription. If a subscription you have purchased includes access to “Read Only” Unity Source Code or “Source Code Access”, or if you have purchased the “Read Only” Unity Source Code product or “Source Code Access”, then conditioned upon Customer’s compliance with the Terms and payment of all applicable fees, Unity grants to you a limited, worldwide, non-exclusive, non-transferable, non-sub-licensable right during the applicable subscription term to: (a) internally access and review the Unity Source Code for the sole purposes of understanding the operation of and troubleshooting Unity Pro in connection with creating, optimizing, publishing and distributing your Projects; and (b) create limited Modifications only to the extent necessary to test, analyze or otherwise debug Unity Pro in connection with creating and optimizing your Projects, provided that you do not publish or distribute such Modifications with any Project. Customer’s access to and use of the Unity Source Code is restricted to the applicable System Requirements. For the avoidance of doubt, you may not otherwise modify or use the Unity Source Code without an additional grant from Unity.
1.2 Full Access (Source Code Adapt) Unity Source Code Subscription. If a subscription you have purchased includes access to “Full Access” Unity Source Code or “Source Code Adapt”, or if you have purchased the “Full Access” Unity Source Code product or “Source Code Adapt”, then conditioned upon Customer’s compliance with the Terms and payment of all applicable fees, Unity grants to you a limited, worldwide, non-exclusive, non-transferable, non-sublicensable right to use, reproduce and modify the Unity Source Code to create Modifications during the applicable subscription term for the sole purposes of the creation, publication and distribution of your Projects for the Unity Supported Platforms and for no other purpose, Platforms or products. “Full Access” Unity Source Code product or “Source Code Adapt” may not be available to all users.
1.2 Proprietary Header Files. Unity Source Code includes proprietary header files and other integration code from Unity’s third party licensors, and all such materials: (i) may be used solely for understanding the operation of and bug fixing Unity Pro and for no other purpose whatsoever; and (ii) are Unity’s “Confidential Information” pursuant to the Terms.
2. Restrictions.
2.1 You may not use your access to Unity Source Code to enable or optimize Software, or otherwise create Modifications, to port to a Platform that is not a Unity Supported Platform without Unity’s prior written consent. For clarity, “porting” in this context means the process of adapting software for the purpose of achieving some form of execution and/or optimization of Software that is different from the one that it was originally designed for (i.e., Unity Supported Platforms).
2.2 For the avoidance of doubt, the Third Party Requirements section of the Unity Editor Additional Terms applies to your use of Unity Source Code.
3. Requirements.
3.1. General. Unity Supported Platforms may have their own requirements or prerequisites, such as developer agreements and nondisclosure agreements, in order to receive relevant Unity Source Code. Unity cannot guarantee that you will be approved to receive such Unity Source Code, and has no liability for delays in your receipt of (or denial of approval for) such portions of Unity Source Code.
3.2 Platform Requirements.
(a) Nintendo. You must register with the Nintendo Developer Portal to become a Nintendo-authorized developer prior to accessing the applicable Unity Source Code.
(b) Nvidia. Your access to and use of the PhysX SDK (as modified for incorporation into Unity Pro) requires agreeing to and complying with the NVIDIA GameWorks EULA terms (currently found here: https://developer.nvidia.com/content/apply-access-nvidia-physx-source-code; accessing these terms requires joining the GameWorks NVIDIA Developer Program). Unity will not deliver the PhysX SDK unless so requested.
(c) PlayStation. You must register your Project in Sony’s DevNet system and receive the PlayStation console add-ons from Sony prior to accessing the applicable Unity Source Code.
(d) Stadia. You must register Your Project with the Google Stadia developer program and receive the Stadia add-ons from Google or Unity prior to accessing the applicable Unity Source Code.
(e) Xbox. You must register with ID@Xbox and receive the Xbox console add-ons from Microsoft or Unity prior to accessing the applicable Unity Source Code.
3.3 Security Requirements. You agree to take all the security precautions with the Unity Source Code as you take to protect your own source code and other trade secrets. In addition to any technical security requirements used by Unity to deliver the Unity Source Code, you will strictly comply with the following security requirements:
(a) you will only allow designated developer employees to access and use the Unity Source Code on your owned personal computers l and that Unity Source Code is not copied onto any hosted storage or portable storage device; You will review the list of these designated employees, and their access, at least quarterly.
(b) you will, upon Unity’s request, email Unity a list of your designated developer employees and their personal computer machine IDs that have access to the Unity Source Code and provide Unity prompt updates of any changes to its list of designated developer employees;
(c) you will implement and maintain reasonable physical and technological security measures in any device accessing Unity Source Code, including but not limited to Malware protection, identity and access authentication, MDM (mobile device management), device encryption, prompt application of all applicable security patches on the device etc., to ensure the security of the Unity Source Code and, upon Unity’s request, provide a reasonably thorough description of all such security measures to Unity; and
(d) you will notify Unity of any security incident that compromised or may have compromised the security of the Unity Source Code, within 24 hours of occurence of the compromise
4. Ownership of Modifications.
You hereby assign to Unity all right, title and interest in and to all Modifications you create, and you agree to promptly deliver to Unity all Modifications you create. Your rights to use Modifications are exclusively set forth in the Terms.
5. Definitions.
“Modifications” means modifications to the Unity Source Code made by you.
“Platform” means a discrete combination of: (a) operating system (specific version / fork / operating mode / build); (b) hardware (including but not limited to CPU and GPU architectures); (c) development toolchain and SDKs and variants thereof designed for the specific version of the operating system; (d) form factor, including peripheral combinations and/or variants; and (e) distribution mechanism (such as stores).
“System Requirements” means the technical requirements, including the listed supported hardware and software, for Unity Pro as set forth in the documentation for Unity Pro, which is regularly updated for each major release.
“Unity Dependencies” means the standalone software or packages to which Unity Pro is linked or is a dependent executable, and which are not included as part of the core Unity Pro product.
“Unity Source Code” means the human readable source code for the core Unity product that Unity makes available, including any source code contained in Unity-controlled repositories for which Unity authorizes your access, and excluding any sublicensed third party proprietary Third Party Software. For clarity, “Unity Source Code” does not include source code for the Unity Dependencies.
“Unity Supported Platform” means any Platform listed in the “Unity Player System Requirements” section of the System Requirements. For clarity, “Unity Supported Platforms”: (i) does not include the Platforms, SDKs, APIs, etc., that are distributed separately from Unity Pro, for instance via the Unity Asset Store or by third parties, even if the underlying operating system itself is part of a Unity Supported Platform (i.e., a Unity Supported Platform is a complete Platform, as defined. Herein, not the individual components of a Platform), and (ii) does not automatically include the streaming version of an existing Unity Supported Platform.