├── .travis.yml ├── LICENSE ├── README.md ├── Scripts ├── build.sh ├── install.sh ├── post_build.sh └── upload.enc └── UnityProject ├── .gitignore ├── Assets ├── Materials.meta ├── Materials │ ├── player_material.physicsMaterial2D │ └── player_material.physicsMaterial2D.meta ├── Prefabs.meta ├── Prefabs │ ├── target.prefab │ └── target.prefab.meta ├── Scenes.meta ├── Scenes │ ├── Main.unity │ └── Main.unity.meta ├── Scripts.meta ├── Scripts │ ├── Editor.meta │ ├── Editor │ │ ├── PlayerControlTest.cs │ │ ├── PlayerControlTest.cs.meta │ │ ├── TestConfig.cs │ │ ├── TestConfig.cs.meta │ │ ├── TestHelper.cs │ │ └── TestHelper.cs.meta │ ├── GotTokenEvent.cs │ ├── GotTokenEvent.cs.meta │ ├── PlayerControl.cs │ ├── PlayerControl.cs.meta │ ├── ScoreTracker.cs │ ├── ScoreTracker.cs.meta │ ├── TargetRemoval.cs │ ├── TargetRemoval.cs.meta │ ├── TargetSpawner.cs │ └── TargetSpawner.cs.meta ├── Sprites.meta └── Sprites │ ├── background.png │ ├── background.png.meta │ ├── ground.png │ ├── ground.png.meta │ ├── happy.png │ ├── happy.png.meta │ ├── target.png │ └── target.png.meta └── ProjectSettings ├── AudioManager.asset ├── ClusterInputManager.asset ├── DynamicsManager.asset ├── EditorBuildSettings.asset ├── EditorSettings.asset ├── GraphicsSettings.asset ├── InputManager.asset ├── NavMeshAreas.asset ├── NetworkManager.asset ├── Physics2DSettings.asset ├── ProjectSettings.asset ├── ProjectVersion.txt ├── QualitySettings.asset ├── TagManager.asset ├── TimeManager.asset └── UnityConnectSettings.asset /.travis.yml: -------------------------------------------------------------------------------- 1 | # do not install anything extra onto the image 2 | language: generic 3 | 4 | # use a Mac OSX image 5 | os: osx 6 | 7 | # only run builds on pushes to the master branch 8 | branches: 9 | only: 10 | - master 11 | 12 | # send email notifications when the build changes from succeeding to broken 13 | notifications: 14 | email: 15 | on_success: never 16 | on_failure: change 17 | 18 | # decrypt the encrypted SSH key file so it can be used for scp auth in post_build.sh 19 | before_install: 20 | - openssl aes-256-cbc -k "$KEYFILE_PASS" -in "${UPLOAD_KEYPATH}.enc" -out "${UPLOAD_KEYPATH}" -d 21 | 22 | # run the script to download and install Unity editor 23 | install: 24 | - sudo -E sh ./Scripts/install.sh 25 | 26 | # run the script for unit tests and builds 27 | script: 28 | - sudo -E sh ./Scripts/build.sh 29 | 30 | # run the script to upload the builds as tarballs 31 | after_success: 32 | - sudo -E sh ./Scripts/post_build.sh 33 | 34 | # environment variables used in bash scripts 35 | env: 36 | global: 37 | - UNITYCI_PROJECT_NAME="UnityProject" 38 | - UPLOAD_KEYPATH="./Scripts/upload" 39 | - secure: EP/gYRGlPuoIftQrhEVhAuis44jsntK4qV76x4egPZuf1ddbJw8RnwRxXslqh2WNFqS8O3Hy1BJXVCSMDzWdyaRDdrVK4z9s/kA0qPBt2LUjQpSd4LAgSXD55hxiAbG8sB3Hzhrz5fgh+CJZ87vdoz4lVZLIerdkKOyouM7UfM9A79YLjZYpa2F3E94iMC+TYtdFS3m+ztZZQTWsA/0VwejX4+xeJuA60y8ZIUeyLNaMsSqsaVMWMX7xOpfw1DYT7v4cg01OBE9g1x+t0xOY+e8Ttc6crX2LhR90BXx22wkNXCKOQfy/trnghP/iepL7YQci0loizGskzlc1hVJ+qDbLq5rSgyMS8fGovKjWuV8ln8ppucnmLvCGeqmRJiYJTvW/A4ktTDxcUBbO4Utv/BliIbkS9qEKhQ6aPQHsDOQUZbrBOTCKumoGpEC8KWslCD270BNDOM8NRLl7MSH01LQAzWEuAywa426BJicagAPlzAxqbQYsWI0cQHHObxraQaVtNJ+AiDlxfJcgZlA6GtL35/BLha4121Rm4+6METxPsybY3Tt/7fHDkkyHHnF26ntdJxMLAv9JT6fwAokjsNOZqmAZ/mxsy5DPMkvhSt8P5Y7NRFXRhKYNI4+YBtTEOAlCVZm2PXuJ87pecZb4xLGpOGB5vavvNLp3gJsAyLA= 40 | - secure: CU4mT7MvIaJChil20h4GN87UAU4Rb9DXYYPRotcS0A8HB6t1ew/RCIQYPyEtmGjcVRPPownvDtYO1lS4fzzJv+xlZY09UyuoXRH3TlemSzl3KYeEQg+lNond6NUTamZ34hzfNHp1sPd8w9oQyTiz4tJ8dPbIlzvzJ811b64b2yluNu3jp7VL4GYs0f3ND2xfV2DOJRxpFlsdYoCyfjPjWUTU7xHQ59/hzeSjw6YQ+e4i1Tme0GeXkbJMce33Mh1HW/xONs0Ys/lo/pYc/PnKtaR1vNNV9DcLtECyFK8KzyoPj4lcQMTa5xagbb55W74vs38rD2WkCim41WWyid7flIZGiura4/TBCF3H0rDk6SU1h5X2zsV0H7LWI7PD3ywQgg6jSid5T09f2glHOueGyUDRY3vASXAPdxutGl2af+fQ4mInX+EwIxgYmxMZz9iT7XfLC7asAJZ6DlvFTrhdO85B3Djl3iXVU6adpO/zY6BPFOaybGVuzBsfJAO1XcWkAl13F/keBVj15F4+iMDyvIUrqYtAoxGXAHSghXhNMq6IvGdsWSM7aq5GCt4C8bFVDXvCh6JFJAsaiKDo3YkKSKFaMnHa8C3WwUfikQ1UBw4skLYXmGpDGcX2SJjMOvmLTMBAaEu6APuPhi4KKCmtM+DB8WRjal7Iz8GLBxRb9n8= 41 | - secure: ooThFdJ6ecU3W3oEAc5vGXyxqxVvURz2B955PrQeAG07ie22cBe/3t4u/cmK9N0+LdvPGWHOvumOXycIs9GzqkMm2ag1NHxLBHGkbYTIIa1GbN1YJ+aHkfXsQb01dTAc08lMFeEEEi5gAOOonISXMVKJRjLlQUit1A1YlYx4b9d+bj+xHehC+pSnenNwpu26+IiD5SLqZHSsYJVWT40T+I26w74Gcz1QGBjSZReYG2Cezpk/1iS9ije/w/sSTrbJmhMdP91/IMyU2cTlHYB7u1kd2+vNbmIZQYqCaQhdVg+xoJGoHpdeEOv2zloPdS/vpxUFV7Uiz6z8Ao825dwlFsG7bNj6yQqBS/+Qvi6lSGf4gNh4msm63lat/rCBv7U8eVbv5+n6E/+AkjmMBJjKXvYNDryKMCyNXbyQFGzwYcK0DJNlP1By09ULQpv07Qbz4kP31VMInrRtBgG8oEQ7B6itO+HKr/d8ojKe9vdKyJXcViFWHDOAeM9Nyobm5FqGxmGn1OOqdEdqNfYsSo2iQXK8GMb5rrG6TEVWiukikRU4XlLLPKq8O7YqCHVcT7FzjTkIpPiQz2U5uQv9Snr2SVc2Mi6x4WwF4XTTC6d/amJUmU9W56ZprxlF3705abbK2/jkFh6dxskeOFCPrZ1Ci3Ruhni7r4A1ajAoCD4ApGk= 42 | - secure: itkY1knC+GYW+/7AShceWID77OAZ2Na0oGG+PHbjDCCy12EvMgx6TYUhi9mQD/qe5z3lhITWKG4CrvLVCf++ovDX8IKkv0RxUbltEKjbva+fX85OogHFGiZGgqx4fHO1o5+ooHtXR7nLcWkrIP9ojWAVGv5l08NZC/TUa4dy3TWAaEdUcJ704XLx8cUDinxRzyDR4w2i1yXUZ7pWY/vHpufv7+6frX+uSPX7cwxvcPGWQ2GrtDqjIFs/4DMO0OHx4fbRKuERH64wNPCZI5bFkQD/WHvLlGRXTvcMDLUehjj5H8HgfBfxYznfm6St2WnysZgbzcWKhS8ALb16xHixrrzgyTJO2CgMoSt4xTlJsP8js1PNZ1FxfRIH9LKwYu7WoUZRiytt5EnK5lJNP96lIzSa9Z95FCX+vkGnmnb0maXaRURAbOSqNtT1GaWSpK2jozKDceNbDofIFTiIhSgvMYXMJdEAbmYIIK/33YgvPyl/ig5wM7Ud/qeFM/Tm9h+ASDGkoW7BUfT07xj6xoIweTMAkQ2TyaybQZBJAuQOSyDlgtrWhWJJ6TnPqP08w2V0qRh1S4mT3ac3IDsUEHArjmMFnVUD8pR2QJSJ3vLaXPpt+9t/JDifbId4NEjuWlcscmQxunHm1ged2XXMX4bamnoDiKPR+xbyc+n6el9Q+0w= 43 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 Jay Sebastian 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # unity-ci-test [![Build Status](https://travis-ci.org/SebastianJay/unity-ci-test.svg?branch=master)](https://travis-ci.org/SebastianJay/unity-ci-test) 2 | An example of continuous integration for Unity projects. 3 | 4 | This project uses the [excellent tutorial by Jonathan Porta](https://jonathan.porta.codes/2015/04/17/automatically-build-your-unity3d-project-in-the-cloud-using-travisci-for-free/) as well as the [Unity manual on the test runner](https://docs.unity3d.com/Manual/testing-editortestsrunner.html) to run unit tests on TravisCI and proceed to build the project. From there, the builds are uploaded to a dedicated server (using some tips from [Neemzy](https://neemzy.org/articles/deploy-to-your-own-server-through-ssh-with-travis-ci)). A cloud alternative for hosting builds is Travis's S3 addon that integrates with AWS. 5 | 6 | Parts of this project (i.e. the build and upload) can also be accomplished through Unity Cloud Build with _many_ fewer steps, so if build automation is all you need then [check that out](https://unity3d.com/services/cloud-build). That being said, Travis offers tighter control (e.g. running unit tests before the build, possibly deploying your game after the build) -- you are free to fork and customize. 7 | -------------------------------------------------------------------------------- /Scripts/build.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | # NOTE the command args below make the assumption that your Unity project folder is 4 | # a subdirectory of the repo root directory, e.g. for this repo "unity-ci-test" 5 | # the project folder is "UnityProject". If this is not true then adjust the 6 | # -projectPath argument to point to the right location. 7 | 8 | ## Run the editor unit tests 9 | echo "Running editor unit tests for ${UNITYCI_PROJECT_NAME}" 10 | /Applications/Unity/Unity.app/Contents/MacOS/Unity \ 11 | -batchmode \ 12 | -nographics \ 13 | -silent-crashes \ 14 | -logFile $(pwd)/unity.log \ 15 | -projectPath "$(pwd)/${UNITYCI_PROJECT_NAME}" \ 16 | -runEditorTests \ 17 | -editorTestsResultFile $(pwd)/test.xml \ 18 | -quit 19 | 20 | rc0=$? 21 | echo "Unit test logs" 22 | cat $(pwd)/test.xml 23 | # exit if tests failed 24 | if [ $rc0 -ne 0 ]; then { echo "Failed unit tests"; exit $rc0; } fi 25 | 26 | ## Make the builds 27 | # Recall from install.sh that a separate module was needed for Windows build support 28 | echo "Attempting build of ${UNITYCI_PROJECT_NAME} for Windows" 29 | /Applications/Unity/Unity.app/Contents/MacOS/Unity \ 30 | -batchmode \ 31 | -nographics \ 32 | -silent-crashes \ 33 | -logFile $(pwd)/unity.log \ 34 | -projectPath "$(pwd)/${UNITYCI_PROJECT_NAME}" \ 35 | -buildWindowsPlayer "$(pwd)/Build/windows/${UNITYCI_PROJECT_NAME}.exe" \ 36 | -quit 37 | 38 | rc1=$? 39 | echo "Build logs (Windows)" 40 | cat $(pwd)/unity.log 41 | 42 | echo "Attempting build of ${UNITYCI_PROJECT_NAME} for OSX" 43 | /Applications/Unity/Unity.app/Contents/MacOS/Unity \ 44 | -batchmode \ 45 | -nographics \ 46 | -silent-crashes \ 47 | -logFile $(pwd)/unity.log \ 48 | -projectPath "$(pwd)/${UNITYCI_PROJECT_NAME}" \ 49 | -buildOSXUniversalPlayer "$(pwd)/Build/osx/${UNITYCI_PROJECT_NAME}.app" \ 50 | -quit 51 | 52 | rc2=$? 53 | echo "Build logs (OSX)" 54 | cat $(pwd)/unity.log 55 | 56 | exit $(($rc1|$rc2)) -------------------------------------------------------------------------------- /Scripts/install.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | # Download Unity3D installer into the container 4 | # The below link will need to change depending on the version, this one is for 5.5.1 5 | # Refer to https://unity3d.com/get-unity/download/archive and find the link pointed to by Mac "Unity Editor" 6 | echo 'Downloading Unity 5.5.1 pkg:' 7 | curl --retry 5 -o Unity.pkg http://netstorage.unity3d.com/unity/88d00a7498cd/MacEditorInstaller/Unity-5.5.1f1.pkg 8 | if [ $? -ne 0 ]; then { echo "Download failed"; exit $?; } fi 9 | 10 | # In Unity 5 they split up build platform support into modules which are installed separately 11 | # By default, only Mac OSX support is included in the original editor package; Windows, Linux, iOS, Android, and others are separate 12 | # In this example we download Windows support. Refer to http://unity.grimdork.net/ to see what form the URLs should take 13 | echo 'Downloading Unity 5.5.1 Windows Build Support pkg:' 14 | curl --retry 5 -o Unity_win.pkg http://netstorage.unity3d.com/unity/88d00a7498cd/MacEditorTargetInstaller/UnitySetup-Windows-Support-for-Editor-5.5.1f1.pkg 15 | if [ $? -ne 0 ]; then { echo "Download failed"; exit $?; } fi 16 | 17 | # Run installer(s) 18 | echo 'Installing Unity.pkg' 19 | sudo installer -dumplog -package Unity.pkg -target / 20 | echo 'Installing Unity_win.pkg' 21 | sudo installer -dumplog -package Unity_win.pkg -target / 22 | -------------------------------------------------------------------------------- /Scripts/post_build.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | winname="${UNITYCI_PROJECT_NAME}_win.tar.gz" 4 | osxname="${UNITYCI_PROJECT_NAME}_osx.tar.gz" 5 | 6 | # set file permissions so builds can run out of the box 7 | for infile in `find $(pwd)/Build | grep -E '\.exe$|\.dll$'`; do 8 | chmod 755 $infile 9 | done 10 | 11 | # tar and zip the build folders 12 | tar -C "$(pwd)/Build" -czvf $winname "windows" 13 | tar -C "$(pwd)/Build" -czvf $osxname "osx" 14 | 15 | # upload the tarballs to the server for storage 16 | scp -i "${UPLOAD_KEYPATH}" \ 17 | -o stricthostkeychecking=no \ 18 | -o loglevel=quiet \ 19 | $winname "${UPLOAD_USER}@${UPLOAD_HOST}:${UPLOAD_PATH}" > /dev/null 2>&1 20 | scp -i "${UPLOAD_KEYPATH}" \ 21 | -o stricthostkeychecking=no \ 22 | -o loglevel=quiet \ 23 | $osxname "${UPLOAD_USER}@${UPLOAD_HOST}:${UPLOAD_PATH}" > /dev/null 2>&1 -------------------------------------------------------------------------------- /Scripts/upload.enc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SebastianJay/unity-ci-test/72588cb536339029ce9ec99b82cc5c8f34c1dec5/Scripts/upload.enc -------------------------------------------------------------------------------- /UnityProject/.gitignore: -------------------------------------------------------------------------------- 1 | /[Ll]ibrary/ 2 | /[Tt]emp/ 3 | /[Oo]bj/ 4 | /[Bb]uild/ 5 | /[Bb]uilds/ 6 | /Assets/AssetStoreTools* 7 | 8 | # Autogenerated VS/MD solution and project files 9 | ExportedObj/ 10 | *.csproj 11 | *.unityproj 12 | *.sln 13 | *.suo 14 | *.tmp 15 | *.user 16 | *.userprefs 17 | *.pidb 18 | *.booproj 19 | *.svd 20 | 21 | 22 | # Unity3D generated meta files 23 | *.pidb.meta 24 | 25 | # Unity3D Generated File On Crash Reports 26 | sysinfo.txt 27 | 28 | # Builds 29 | *.apk 30 | *.unitypackage 31 | -------------------------------------------------------------------------------- /UnityProject/Assets/Materials.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b5743ab9092a92a4a85cdb4d76a5a3b0 3 | folderAsset: yes 4 | timeCreated: 1487447647 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /UnityProject/Assets/Materials/player_material.physicsMaterial2D: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SebastianJay/unity-ci-test/72588cb536339029ce9ec99b82cc5c8f34c1dec5/UnityProject/Assets/Materials/player_material.physicsMaterial2D -------------------------------------------------------------------------------- /UnityProject/Assets/Materials/player_material.physicsMaterial2D.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d0e9a490d3bb62f4188e5252cb7316bf 3 | timeCreated: 1487447657 4 | licenseType: Free 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /UnityProject/Assets/Prefabs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f1dc9b47837ce9b46930f9015198e5cd 3 | folderAsset: yes 4 | timeCreated: 1487444652 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /UnityProject/Assets/Prefabs/target.prefab: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SebastianJay/unity-ci-test/72588cb536339029ce9ec99b82cc5c8f34c1dec5/UnityProject/Assets/Prefabs/target.prefab -------------------------------------------------------------------------------- /UnityProject/Assets/Prefabs/target.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 42590717d00688d48b91cd3a33ca449c 3 | timeCreated: 1487445070 4 | licenseType: Free 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /UnityProject/Assets/Scenes.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0d48c85cfd04273488c39d74d1b3a9a9 3 | folderAsset: yes 4 | timeCreated: 1487443824 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /UnityProject/Assets/Scenes/Main.unity: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SebastianJay/unity-ci-test/72588cb536339029ce9ec99b82cc5c8f34c1dec5/UnityProject/Assets/Scenes/Main.unity -------------------------------------------------------------------------------- /UnityProject/Assets/Scenes/Main.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 15cf642069b681346bcff8602252072f 3 | timeCreated: 1487443845 4 | licenseType: Free 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /UnityProject/Assets/Scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 920515b2b1f947447be852808e78ddc5 3 | folderAsset: yes 4 | timeCreated: 1487443836 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /UnityProject/Assets/Scripts/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6d4987904bfe4f44084908066cd2426d 3 | folderAsset: yes 4 | timeCreated: 1487453886 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /UnityProject/Assets/Scripts/Editor/PlayerControlTest.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using UnityEditor; 3 | using UnityEditor.SceneManagement; 4 | using NUnit.Framework; 5 | 6 | public class PlayerControlTest { 7 | 8 | [Test] 9 | public void ScoreUpdatesWithToken() { 10 | var player = new GameObject(); 11 | player.AddComponentAndInit (); 12 | player.tag = "Player"; 13 | 14 | var tracker = new GameObject (); 15 | tracker.AddComponentAndInit(); 16 | tracker.GetComponent ().scoreMultiplier = 100; 17 | 18 | player.GetComponent ().incToken (); 19 | 20 | Assert.AreEqual (1 * 100, tracker.GetComponent ().score); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /UnityProject/Assets/Scripts/Editor/PlayerControlTest.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 08a9679629593c6448483f131b89d855 3 | timeCreated: 1487453896 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /UnityProject/Assets/Scripts/Editor/TestConfig.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEditor.SceneManagement; 3 | using NUnit.Framework; 4 | 5 | // This is run once per namespace, handling any setup and teardown common to all tests 6 | 7 | [SetUpFixture] 8 | public class TestConfig 9 | { 10 | private string returnScenePath; 11 | 12 | [SetUp] 13 | public void Init() { 14 | // grab the path of the scene which is currently open 15 | if (EditorSceneManager.loadedSceneCount > 0) { 16 | this.returnScenePath = EditorSceneManager.GetSceneAt(0).path; 17 | } 18 | 19 | // create a new blank scene so objects in the active scene do not interfere with tests 20 | EditorSceneManager.NewScene (NewSceneSetup.EmptyScene, NewSceneMode.Single); 21 | } 22 | 23 | [TearDown] 24 | public void Dispose() { 25 | // go back to the original scene 26 | if (returnScenePath.Length > 0) { 27 | EditorSceneManager.OpenScene(returnScenePath, OpenSceneMode.Single); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /UnityProject/Assets/Scripts/Editor/TestConfig.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d4fde943ef162b04f96ab9a3d7c89a9e 3 | timeCreated: 1487706426 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /UnityProject/Assets/Scripts/Editor/TestHelper.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Reflection; 3 | using UnityEngine; 4 | 5 | public static class TestHelper 6 | { 7 | public static void AddComponentAndInit(this GameObject o) where T : MonoBehaviour 8 | { 9 | o.AddComponent (); 10 | ExecAwakeStartUpdate (o.GetComponent ()); 11 | } 12 | 13 | public static void ExecAwakeStartUpdate(this MonoBehaviour mb) 14 | { 15 | ExecMethod (mb, "Awake", null); 16 | ExecMethod (mb, "Start", null); 17 | ExecMethod (mb, "Update", null); 18 | } 19 | 20 | public static void ExecMethod(this MonoBehaviour mb, string name, object[] args) 21 | { 22 | Type t = mb.GetType(); 23 | MethodInfo mi = t.GetMethod (name, BindingFlags.NonPublic | BindingFlags.Instance); 24 | try { 25 | mi.Invoke (mb, args); 26 | } catch(TargetInvocationException) { 27 | } catch(NullReferenceException) { 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /UnityProject/Assets/Scripts/Editor/TestHelper.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b6f38701f8dbdd347bd62f545db95928 3 | timeCreated: 1487703243 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /UnityProject/Assets/Scripts/GotTokenEvent.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | public struct GotTokenEvent 4 | { 5 | public int currentNumberTokens; 6 | } 7 | -------------------------------------------------------------------------------- /UnityProject/Assets/Scripts/GotTokenEvent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c481f89138bdfaf4eb302de0ff5a8070 3 | timeCreated: 1487700933 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /UnityProject/Assets/Scripts/PlayerControl.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using UnityEngine; 5 | 6 | // This line enables the testing framework to call internal methods 7 | [assembly:System.Runtime.CompilerServices.InternalsVisibleTo("Assembly-CSharp-Editor")] 8 | 9 | public class PlayerControl : MonoBehaviour { 10 | 11 | public delegate void GotTokenHandler(GameObject sender, GotTokenEvent e); 12 | public event GotTokenHandler GotToken; 13 | 14 | public float moveForce; 15 | public float jumpForce; 16 | 17 | private bool grounded; 18 | private int numTokens; 19 | 20 | // Use this for initialization 21 | void Start () { 22 | numTokens = 0; 23 | grounded = false; 24 | } 25 | 26 | // Update is called once per frame 27 | void FixedUpdate () { 28 | float xval = Input.GetAxis ("Horizontal"); 29 | float yval = Input.GetAxis ("Vertical"); 30 | if (grounded && yval > 0) { 31 | this.GetComponent ().AddForce (new Vector2 (0f, jumpForce)); 32 | } 33 | if (xval != 0) { 34 | this.GetComponent ().AddForce (new Vector2 (moveForce * Mathf.Sign(xval), 0f)); 35 | } 36 | } 37 | 38 | void OnTriggerEnter2D(Collider2D other) { 39 | if (other.gameObject.tag == "Target") { 40 | incToken (); 41 | } 42 | } 43 | 44 | void OnCollisionEnter2D(Collision2D coll) { 45 | if (coll.gameObject.tag == "Ground") { 46 | grounded = true; 47 | } 48 | } 49 | 50 | void OnCollisionExit2D(Collision2D coll) { 51 | if (coll.gameObject.tag == "Ground") { 52 | grounded = false; 53 | } 54 | } 55 | 56 | internal void incToken() { 57 | numTokens += 1; 58 | if (GotToken != null) { 59 | GotToken (this.gameObject, new GotTokenEvent { currentNumberTokens = this.numTokens } ); 60 | } 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /UnityProject/Assets/Scripts/PlayerControl.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3350d9956de09b547964750544924306 3 | timeCreated: 1487445363 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /UnityProject/Assets/Scripts/ScoreTracker.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using UnityEngine.UI; 5 | 6 | [assembly:System.Runtime.CompilerServices.InternalsVisibleTo("Assembly-CSharp-Editor")] 7 | 8 | public class ScoreTracker : MonoBehaviour { 9 | 10 | public int scoreMultiplier; 11 | private GameObject player; 12 | 13 | public int score { get; internal set; } 14 | 15 | // Use this for initialization 16 | void Start () { 17 | player = GameObject.FindGameObjectWithTag ("Player"); 18 | player.GetComponent ().GotToken += Notify; 19 | score = 0; 20 | } 21 | 22 | // Update is called once per frame 23 | void Update () { 24 | this.gameObject.GetComponent ().text = string.Format ("Score: {0}", score); 25 | } 26 | 27 | void Notify(GameObject sender, GotTokenEvent e) { 28 | score = e.currentNumberTokens * scoreMultiplier; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /UnityProject/Assets/Scripts/ScoreTracker.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b9046780b1adffb478c649514c2dd1a1 3 | timeCreated: 1487445345 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /UnityProject/Assets/Scripts/TargetRemoval.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | public class TargetRemoval : MonoBehaviour { 6 | 7 | public float lifeTime; 8 | 9 | private float lifeTimer; 10 | 11 | // Use this for initialization 12 | void Start () { 13 | lifeTimer = 0f; 14 | } 15 | 16 | // Update is called once per frame 17 | void Update () { 18 | lifeTimer += Time.deltaTime; 19 | if (lifeTimer >= lifeTime) { 20 | Destroy (this.gameObject); 21 | } 22 | } 23 | 24 | 25 | void OnTriggerEnter2D(Collider2D other) { 26 | if (other.tag == "Player") { 27 | Destroy (this.gameObject); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /UnityProject/Assets/Scripts/TargetRemoval.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3da8558fb89edfc479b0644215effb06 3 | timeCreated: 1487445410 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /UnityProject/Assets/Scripts/TargetSpawner.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | public class TargetSpawner : MonoBehaviour { 6 | 7 | public GameObject targetPrefab; 8 | public float spawnTime; 9 | public float spawnY; 10 | public float spawnXMin; 11 | public float spawnXMax; 12 | 13 | private float spawnTimer; 14 | 15 | // Use this for initialization 16 | void Start () { 17 | spawnTimer = 0f; 18 | } 19 | 20 | // Update is called once per frame 21 | void Update () { 22 | spawnTimer += Time.deltaTime; 23 | if (spawnTimer >= spawnTime) { 24 | Vector3 newPos = new Vector3(Random.Range (spawnXMin, spawnXMax) ,spawnY, 0f); 25 | Instantiate (targetPrefab, newPos, Quaternion.identity); 26 | spawnTimer = 0f; 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /UnityProject/Assets/Scripts/TargetSpawner.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8af11d7c212b77448841b3f6cfcc5d22 3 | timeCreated: 1487445388 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /UnityProject/Assets/Sprites.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cd41da13d46d70d40b84e5ca433ff271 3 | folderAsset: yes 4 | timeCreated: 1487443830 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /UnityProject/Assets/Sprites/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SebastianJay/unity-ci-test/72588cb536339029ce9ec99b82cc5c8f34c1dec5/UnityProject/Assets/Sprites/background.png -------------------------------------------------------------------------------- /UnityProject/Assets/Sprites/background.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9d8359731801cf54a9a41054fe318628 3 | timeCreated: 1487444176 4 | licenseType: Free 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 4 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | sRGBTexture: 1 12 | linearTexture: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 6 25 | cubemapConvolution: 0 26 | seamlessCubemap: 0 27 | textureFormat: 1 28 | maxTextureSize: 2048 29 | textureSettings: 30 | filterMode: -1 31 | aniso: -1 32 | mipBias: -1 33 | wrapMode: 1 34 | nPOTScale: 0 35 | lightmap: 0 36 | compressionQuality: 50 37 | spriteMode: 1 38 | spriteExtrude: 1 39 | spriteMeshType: 1 40 | alignment: 0 41 | spritePivot: {x: 0.5, y: 0.5} 42 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 43 | spritePixelsToUnits: 100 44 | alphaUsage: 1 45 | alphaIsTransparency: 1 46 | spriteTessellationDetail: -1 47 | textureType: 8 48 | textureShape: 1 49 | maxTextureSizeSet: 0 50 | compressionQualitySet: 0 51 | textureFormatSet: 0 52 | platformSettings: 53 | - buildTarget: DefaultTexturePlatform 54 | maxTextureSize: 2048 55 | textureFormat: -1 56 | textureCompression: 1 57 | compressionQuality: 50 58 | crunchedCompression: 0 59 | allowsAlphaSplitting: 0 60 | overridden: 0 61 | spriteSheet: 62 | serializedVersion: 2 63 | sprites: [] 64 | outline: [] 65 | spritePackingTag: 66 | userData: 67 | assetBundleName: 68 | assetBundleVariant: 69 | -------------------------------------------------------------------------------- /UnityProject/Assets/Sprites/ground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SebastianJay/unity-ci-test/72588cb536339029ce9ec99b82cc5c8f34c1dec5/UnityProject/Assets/Sprites/ground.png -------------------------------------------------------------------------------- /UnityProject/Assets/Sprites/ground.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f97c869dadfa1184f84fd54f5d930159 3 | timeCreated: 1487444420 4 | licenseType: Free 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 4 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | sRGBTexture: 1 12 | linearTexture: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 6 25 | cubemapConvolution: 0 26 | seamlessCubemap: 0 27 | textureFormat: 1 28 | maxTextureSize: 2048 29 | textureSettings: 30 | filterMode: -1 31 | aniso: -1 32 | mipBias: -1 33 | wrapMode: 1 34 | nPOTScale: 0 35 | lightmap: 0 36 | compressionQuality: 50 37 | spriteMode: 1 38 | spriteExtrude: 1 39 | spriteMeshType: 1 40 | alignment: 0 41 | spritePivot: {x: 0.5, y: 0.5} 42 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 43 | spritePixelsToUnits: 100 44 | alphaUsage: 1 45 | alphaIsTransparency: 1 46 | spriteTessellationDetail: -1 47 | textureType: 8 48 | textureShape: 1 49 | maxTextureSizeSet: 0 50 | compressionQualitySet: 0 51 | textureFormatSet: 0 52 | platformSettings: 53 | - buildTarget: DefaultTexturePlatform 54 | maxTextureSize: 2048 55 | textureFormat: -1 56 | textureCompression: 1 57 | compressionQuality: 50 58 | crunchedCompression: 0 59 | allowsAlphaSplitting: 0 60 | overridden: 0 61 | spriteSheet: 62 | serializedVersion: 2 63 | sprites: [] 64 | outline: [] 65 | spritePackingTag: 66 | userData: 67 | assetBundleName: 68 | assetBundleVariant: 69 | -------------------------------------------------------------------------------- /UnityProject/Assets/Sprites/happy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SebastianJay/unity-ci-test/72588cb536339029ce9ec99b82cc5c8f34c1dec5/UnityProject/Assets/Sprites/happy.png -------------------------------------------------------------------------------- /UnityProject/Assets/Sprites/happy.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4d85871c7e9ddc743a5cac35c9419e11 3 | timeCreated: 1487444297 4 | licenseType: Free 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 4 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | sRGBTexture: 1 12 | linearTexture: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 6 25 | cubemapConvolution: 0 26 | seamlessCubemap: 0 27 | textureFormat: 1 28 | maxTextureSize: 2048 29 | textureSettings: 30 | filterMode: -1 31 | aniso: -1 32 | mipBias: -1 33 | wrapMode: 1 34 | nPOTScale: 0 35 | lightmap: 0 36 | compressionQuality: 50 37 | spriteMode: 1 38 | spriteExtrude: 1 39 | spriteMeshType: 1 40 | alignment: 0 41 | spritePivot: {x: 0.5, y: 0.5} 42 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 43 | spritePixelsToUnits: 100 44 | alphaUsage: 1 45 | alphaIsTransparency: 1 46 | spriteTessellationDetail: -1 47 | textureType: 8 48 | textureShape: 1 49 | maxTextureSizeSet: 0 50 | compressionQualitySet: 0 51 | textureFormatSet: 0 52 | platformSettings: 53 | - buildTarget: DefaultTexturePlatform 54 | maxTextureSize: 2048 55 | textureFormat: -1 56 | textureCompression: 1 57 | compressionQuality: 50 58 | crunchedCompression: 0 59 | allowsAlphaSplitting: 0 60 | overridden: 0 61 | spriteSheet: 62 | serializedVersion: 2 63 | sprites: [] 64 | outline: [] 65 | spritePackingTag: 66 | userData: 67 | assetBundleName: 68 | assetBundleVariant: 69 | -------------------------------------------------------------------------------- /UnityProject/Assets/Sprites/target.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SebastianJay/unity-ci-test/72588cb536339029ce9ec99b82cc5c8f34c1dec5/UnityProject/Assets/Sprites/target.png -------------------------------------------------------------------------------- /UnityProject/Assets/Sprites/target.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f04730f3070085145b8c11d84aa88f8b 3 | timeCreated: 1487444645 4 | licenseType: Free 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 4 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | sRGBTexture: 1 12 | linearTexture: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 6 25 | cubemapConvolution: 0 26 | seamlessCubemap: 0 27 | textureFormat: 1 28 | maxTextureSize: 2048 29 | textureSettings: 30 | filterMode: -1 31 | aniso: -1 32 | mipBias: -1 33 | wrapMode: 1 34 | nPOTScale: 0 35 | lightmap: 0 36 | compressionQuality: 50 37 | spriteMode: 1 38 | spriteExtrude: 1 39 | spriteMeshType: 1 40 | alignment: 0 41 | spritePivot: {x: 0.5, y: 0.5} 42 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 43 | spritePixelsToUnits: 100 44 | alphaUsage: 1 45 | alphaIsTransparency: 1 46 | spriteTessellationDetail: -1 47 | textureType: 8 48 | textureShape: 1 49 | maxTextureSizeSet: 0 50 | compressionQualitySet: 0 51 | textureFormatSet: 0 52 | platformSettings: 53 | - buildTarget: DefaultTexturePlatform 54 | maxTextureSize: 2048 55 | textureFormat: -1 56 | textureCompression: 1 57 | compressionQuality: 50 58 | crunchedCompression: 0 59 | allowsAlphaSplitting: 0 60 | overridden: 0 61 | spriteSheet: 62 | serializedVersion: 2 63 | sprites: [] 64 | outline: [] 65 | spritePackingTag: 66 | userData: 67 | assetBundleName: 68 | assetBundleVariant: 69 | -------------------------------------------------------------------------------- /UnityProject/ProjectSettings/AudioManager.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SebastianJay/unity-ci-test/72588cb536339029ce9ec99b82cc5c8f34c1dec5/UnityProject/ProjectSettings/AudioManager.asset -------------------------------------------------------------------------------- /UnityProject/ProjectSettings/ClusterInputManager.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SebastianJay/unity-ci-test/72588cb536339029ce9ec99b82cc5c8f34c1dec5/UnityProject/ProjectSettings/ClusterInputManager.asset -------------------------------------------------------------------------------- /UnityProject/ProjectSettings/DynamicsManager.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SebastianJay/unity-ci-test/72588cb536339029ce9ec99b82cc5c8f34c1dec5/UnityProject/ProjectSettings/DynamicsManager.asset -------------------------------------------------------------------------------- /UnityProject/ProjectSettings/EditorBuildSettings.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SebastianJay/unity-ci-test/72588cb536339029ce9ec99b82cc5c8f34c1dec5/UnityProject/ProjectSettings/EditorBuildSettings.asset -------------------------------------------------------------------------------- /UnityProject/ProjectSettings/EditorSettings.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SebastianJay/unity-ci-test/72588cb536339029ce9ec99b82cc5c8f34c1dec5/UnityProject/ProjectSettings/EditorSettings.asset -------------------------------------------------------------------------------- /UnityProject/ProjectSettings/GraphicsSettings.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SebastianJay/unity-ci-test/72588cb536339029ce9ec99b82cc5c8f34c1dec5/UnityProject/ProjectSettings/GraphicsSettings.asset -------------------------------------------------------------------------------- /UnityProject/ProjectSettings/InputManager.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SebastianJay/unity-ci-test/72588cb536339029ce9ec99b82cc5c8f34c1dec5/UnityProject/ProjectSettings/InputManager.asset -------------------------------------------------------------------------------- /UnityProject/ProjectSettings/NavMeshAreas.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SebastianJay/unity-ci-test/72588cb536339029ce9ec99b82cc5c8f34c1dec5/UnityProject/ProjectSettings/NavMeshAreas.asset -------------------------------------------------------------------------------- /UnityProject/ProjectSettings/NetworkManager.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SebastianJay/unity-ci-test/72588cb536339029ce9ec99b82cc5c8f34c1dec5/UnityProject/ProjectSettings/NetworkManager.asset -------------------------------------------------------------------------------- /UnityProject/ProjectSettings/Physics2DSettings.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SebastianJay/unity-ci-test/72588cb536339029ce9ec99b82cc5c8f34c1dec5/UnityProject/ProjectSettings/Physics2DSettings.asset -------------------------------------------------------------------------------- /UnityProject/ProjectSettings/ProjectSettings.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SebastianJay/unity-ci-test/72588cb536339029ce9ec99b82cc5c8f34c1dec5/UnityProject/ProjectSettings/ProjectSettings.asset -------------------------------------------------------------------------------- /UnityProject/ProjectSettings/ProjectVersion.txt: -------------------------------------------------------------------------------- 1 | m_EditorVersion: 5.5.0f3 2 | -------------------------------------------------------------------------------- /UnityProject/ProjectSettings/QualitySettings.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SebastianJay/unity-ci-test/72588cb536339029ce9ec99b82cc5c8f34c1dec5/UnityProject/ProjectSettings/QualitySettings.asset -------------------------------------------------------------------------------- /UnityProject/ProjectSettings/TagManager.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SebastianJay/unity-ci-test/72588cb536339029ce9ec99b82cc5c8f34c1dec5/UnityProject/ProjectSettings/TagManager.asset -------------------------------------------------------------------------------- /UnityProject/ProjectSettings/TimeManager.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SebastianJay/unity-ci-test/72588cb536339029ce9ec99b82cc5c8f34c1dec5/UnityProject/ProjectSettings/TimeManager.asset -------------------------------------------------------------------------------- /UnityProject/ProjectSettings/UnityConnectSettings.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SebastianJay/unity-ci-test/72588cb536339029ce9ec99b82cc5c8f34c1dec5/UnityProject/ProjectSettings/UnityConnectSettings.asset --------------------------------------------------------------------------------