From caa0a81b47749f53714db4c5d77d6580c33fc3c1 Mon Sep 17 00:00:00 2001 From: Andrew Kahr <22359829+AndrewKahr@users.noreply.github.com> Date: Sun, 12 Nov 2023 05:47:03 -0800 Subject: [PATCH] License Activation fixes and Github Annotations (#590) * Ensure serial is prioritized * Add compile listener to create github annotations * Update node modules * Don't build ubuntu on PR as secrets are now needed. Update PR template to request an example successful run. Remove 32bit windows build. Build on push to any branch * Update activation to use blank project * Ensure exceptions get annotated as well * More robust console printing * Update test project * Build iOS test on macos to verify burst functionality. Add annotation for license activation error. Fix unity version test. Remove minification from android * Improve license checks * Mask partially redacted serial in addition to full serial * Add retry logic to ubuntu builds * Allow dirty build on retry * Bump unity version --- .github/pull_request_template.md | 4 + .github/workflows/build-tests-mac.yml | 9 +- .github/workflows/build-tests-ubuntu.yml | 60 +- .github/workflows/build-tests-windows.yml | 9 +- .../Reporting/CompileListener.cs | 36 ++ .../Reporting/CompileListener.cs.meta | 11 + dist/index.js | Bin 22172464 -> 22176169 bytes dist/index.js.map | Bin 14642005 -> 14646880 bytes dist/licenses.txt | Bin 302824 -> 301747 bytes dist/platforms/mac/steps/activate.sh | 5 + dist/platforms/ubuntu/steps/activate.sh | 65 +- dist/platforms/ubuntu/steps/return_license.sh | 7 +- dist/platforms/windows/activate.ps1 | 5 + src/model/build-parameters.ts | 6 + src/model/docker.ts | 4 +- src/model/image-environment-factory.ts | 32 +- src/model/unity-versioning.test.ts | 10 +- test-project/.gitignore | 1 + test-project/Assets/LFS_Test_File.jpg.meta | 98 +++ test-project/Assets/Scenes.meta | 2 +- test-project/Assets/Scenes/SampleScene.unity | 300 +-------- .../Assets/Scenes/SampleScene.unity.meta | 2 +- test-project/Packages/manifest.json | 36 +- test-project/Packages/packages-lock.json | 301 ++++++++++ .../ProjectSettings/AudioManager.asset | 2 + .../ProjectSettings/DynamicsManager.asset | 6 +- .../ProjectSettings/EditorBuildSettings.asset | 2 +- .../ProjectSettings/EditorSettings.asset | 19 +- .../ProjectSettings/GraphicsSettings.asset | 55 +- .../ProjectSettings/MemorySettings.asset | 35 ++ .../ProjectSettings/NetworkManager.asset | 8 - .../PackageManagerSettings.asset | 35 ++ .../Settings.json | 7 + .../ProjectSettings/PresetManager.asset | 3 +- .../ProjectSettings/ProjectSettings.asset | 465 +++++++++++--- .../ProjectSettingsIl2cpp.asset | 568 ++++++++++++------ .../ProjectSettings/ProjectVersion.txt | 4 +- .../ProjectSettings/QualitySettings.asset | 87 ++- .../SceneTemplateSettings.json | 167 +++++ .../ProjectSettings/TimeManager.asset | 2 +- .../UnityConnectSettings.asset | 1 + test-project/ProjectSettings/VFXManager.asset | 5 + .../VersionControlSettings.asset | 8 + test-project/ProjectSettings/boot.config | 0 yarn.lock | 115 +++- 45 files changed, 1872 insertions(+), 725 deletions(-) create mode 100644 dist/default-build-script/Assets/Editor/UnityBuilderAction/Reporting/CompileListener.cs create mode 100644 dist/default-build-script/Assets/Editor/UnityBuilderAction/Reporting/CompileListener.cs.meta create mode 100644 test-project/Assets/LFS_Test_File.jpg.meta create mode 100644 test-project/Packages/packages-lock.json create mode 100644 test-project/ProjectSettings/MemorySettings.asset delete mode 100644 test-project/ProjectSettings/NetworkManager.asset create mode 100644 test-project/ProjectSettings/PackageManagerSettings.asset create mode 100644 test-project/ProjectSettings/Packages/com.unity.testtools.codecoverage/Settings.json create mode 100644 test-project/ProjectSettings/SceneTemplateSettings.json create mode 100644 test-project/ProjectSettings/VersionControlSettings.asset create mode 100644 test-project/ProjectSettings/boot.config diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 9eb8d367..9396d6cb 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -10,6 +10,10 @@ - ... +#### Successful Workflow Run Link + +- ... + #### Checklist diff --git a/.github/workflows/build-tests-mac.yml b/.github/workflows/build-tests-mac.yml index 860fb1ea..d4c4bf5d 100644 --- a/.github/workflows/build-tests-mac.yml +++ b/.github/workflows/build-tests-mac.yml @@ -3,8 +3,6 @@ name: Builds - MacOS on: workflow_dispatch: push: - branches: - - main concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} @@ -20,11 +18,12 @@ jobs: projectPath: - test-project unityVersion: - - 2021.3.31f1 - - 2022.3.11f1 - - 2023.1.17f1 + - 2021.3.32f1 + - 2022.3.13f1 + - 2023.1.19f1 targetPlatform: - StandaloneOSX # Build a MacOS executable + - iOS # Build an iOS executable steps: ########################### diff --git a/.github/workflows/build-tests-ubuntu.yml b/.github/workflows/build-tests-ubuntu.yml index 60ddfdcf..1fbb12e9 100644 --- a/.github/workflows/build-tests-ubuntu.yml +++ b/.github/workflows/build-tests-ubuntu.yml @@ -3,11 +3,6 @@ name: Builds - Ubuntu on: workflow_dispatch: push: - branches: - - main - pull_request: - paths-ignore: - - '.github/**' concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} @@ -52,9 +47,9 @@ jobs: projectPath: - test-project unityVersion: - - 2021.3.31f1 - - 2022.3.11f1 - - 2023.1.17f1 + - 2021.3.32f1 + - 2022.3.13f1 + - 2023.1.19f1 targetPlatform: - StandaloneOSX # Build a macOS standalone (Intel 64-bit) with mono backend. - StandaloneWindows64 # Build a Windows 64-bit standalone with mono backend. @@ -84,7 +79,13 @@ jobs: ########################### # Build # ########################### - - uses: ./ + - name: Build + uses: ./ + id: build-1 + continue-on-error: true + env: + UNITY_EMAIL: ${{ secrets.UNITY_EMAIL }} + UNITY_PASSWORD: ${{ secrets.UNITY_PASSWORD }} with: projectPath: ${{ matrix.projectPath }} unityVersion: ${{ matrix.unityVersion }} @@ -92,6 +93,47 @@ jobs: customParameters: -profile SomeProfile -someBoolean -someValue exampleValue providerStrategy: ${{ matrix.providerStrategy }} + - name: Sleep for Retry + if: ${{ steps.build-1.outcome == 'failure' }} + run: | + sleep 60 + + - name: Build (Retry 1) + uses: ./ + id: build-2 + if: ${{ steps.build-1.outcome == 'failure' }} + continue-on-error: true + env: + UNITY_EMAIL: ${{ secrets.UNITY_EMAIL }} + UNITY_PASSWORD: ${{ secrets.UNITY_PASSWORD }} + with: + projectPath: ${{ matrix.projectPath }} + unityVersion: ${{ matrix.unityVersion }} + targetPlatform: ${{ matrix.targetPlatform }} + customParameters: -profile SomeProfile -someBoolean -someValue exampleValue + providerStrategy: ${{ matrix.providerStrategy }} + allowDirtyBuild: true + + - name: Sleep for Retry + if: ${{ steps.build-2.outcome == 'failure' }} + run: | + sleep 240 + + - name: Build (Retry 2) + uses: ./ + id: build-3 + if: ${{ steps.build-2.outcome == 'failure' }} + env: + UNITY_EMAIL: ${{ secrets.UNITY_EMAIL }} + UNITY_PASSWORD: ${{ secrets.UNITY_PASSWORD }} + with: + projectPath: ${{ matrix.projectPath }} + unityVersion: ${{ matrix.unityVersion }} + targetPlatform: ${{ matrix.targetPlatform }} + customParameters: -profile SomeProfile -someBoolean -someValue exampleValue + providerStrategy: ${{ matrix.providerStrategy }} + allowDirtyBuild: true + ########################### # Upload # ########################### diff --git a/.github/workflows/build-tests-windows.yml b/.github/workflows/build-tests-windows.yml index 8c0e6e3c..173b8e9e 100644 --- a/.github/workflows/build-tests-windows.yml +++ b/.github/workflows/build-tests-windows.yml @@ -3,8 +3,6 @@ name: Builds - Windows on: workflow_dispatch: push: - branches: - - main concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} @@ -20,13 +18,12 @@ jobs: projectPath: - test-project unityVersion: - - 2021.3.31f1 - - 2022.3.11f1 - - 2023.1.17f1 + - 2021.3.32f1 + - 2022.3.13f1 + - 2023.1.19f1 targetPlatform: - Android # Build an Android apk. - StandaloneWindows64 # Build a Windows 64-bit standalone. - - StandaloneWindows # Build a Windows 32-bit standalone. - WSAPlayer # Build a UWP App - tvOS # Build an Apple TV XCode project diff --git a/dist/default-build-script/Assets/Editor/UnityBuilderAction/Reporting/CompileListener.cs b/dist/default-build-script/Assets/Editor/UnityBuilderAction/Reporting/CompileListener.cs new file mode 100644 index 00000000..4dc14570 --- /dev/null +++ b/dist/default-build-script/Assets/Editor/UnityBuilderAction/Reporting/CompileListener.cs @@ -0,0 +1,36 @@ +using System; +using UnityEngine; +using UnityEditor; + +namespace UnityBuilderAction.Reporting +{ + [InitializeOnLoad] + static class CompileListener + { + static CompileListener() + { + if (Application.isBatchMode) + { + Application.logMessageReceived += Application_logMessageReceived; + } + } + + private static void Application_logMessageReceived(string condition, string stackTrace, LogType type) + { + string prefix = ""; + switch (type) + { + case LogType.Error: + prefix = "error"; + break; + case LogType.Warning: + prefix = "warning"; + break; + case LogType.Exception: + prefix = "error"; + break; + } + Console.WriteLine($"{Environment.NewLine}::{prefix} ::{condition}{Environment.NewLine}{stackTrace}"); + } + } +} diff --git a/dist/default-build-script/Assets/Editor/UnityBuilderAction/Reporting/CompileListener.cs.meta b/dist/default-build-script/Assets/Editor/UnityBuilderAction/Reporting/CompileListener.cs.meta new file mode 100644 index 00000000..66e30d15 --- /dev/null +++ b/dist/default-build-script/Assets/Editor/UnityBuilderAction/Reporting/CompileListener.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: fad44373fb7b61a4bb584e2675795aca +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/dist/index.js b/dist/index.js index 6003d75d1b23f3d720d0cbc13e0e12260182ce34..2bdb48110f7821d8198adbf28e6cc2fde896f6d4 100644 GIT binary patch delta 46544 zcmdVD34B!5*+2eCGTF&S_JqJq04ITDvam;40tABsVTqtc43lI+Mv|E@GhxS3t75AW z5cCm!WznD}GbC83qqbIT)oNWT-CH-X%iCRf+t;qz|MxlP+&g!YVB7cq{yv}IFCWj9 zIrl8jdCqg5?L6n)Q;)rx)c=iFlTP`^hxT6{^=-?+qt8{G-aer==HS_(SlazyObs0^ zkBL1UDw&Z;-Ca4BnLRG2Z^s&k$7%1>is#PNdR%RecBjkHrd@U!ei$!poetL~Uxzjq zWol;8Td%}sXL}vKHI7z~!&ho5NUQFM&YBW_wQhonI0aM+a9~@@ZmoZw7r7NQYwCT$I!ioNT!TJ0{?HP4a7tw=%`c5grnz2?$BP~dY3giEb%gPzhjyb}0^N5sK8@a38=XlX zZU9s-He2S<*B;!TB&V!sU36wBccW$Hti8J*vLMAG#UaHbB_JgtB_SmvjX_F5N<~UT zN=M2-8jF;Pl!cUyl!KIul!ug$RDe{7G!CgKwELm)&%GI4GnrPoGm$X5$QdOQ)kOsnzZB`ZTAj10;?zzMBftX4TBBF0-jDZ`pnC^-j&0 zJ$uHq>19c(_)5En7Chn|pE+&ztm-Pgkp_po&EX-p>yDy{(`L?^Gs7sqxNc2@HdmWI zL)Bl{+_<8i&PVm;UTfqmTD@!u$}H?@Z+CcX?H+emsr7o#^)9R4eEss3P1iLqS%E_B zJ+4-t)9unq%d}m4l9G(yi?Mh-T4`(hCVJ!ZJIDFO?=lq9unK!TF3siGrin~0Q>N`n z(li|xYkVGuz01~W@9Zq~bvV7{8W%}I31_=jT8tms?%nbqwhl4WB~A};2R`82(d}@z zb9q~f8yv#!*&&$47^~Okak@5H83d|68kgf=sK56(w)8kXjy5Ypp*k6@9cCy-GZ+Yi zW&``s8{&Z&y`nA6(dl*Q<(gZ%?H(^sqBAZ(b1u=JXs6jckhx+2rW^)K7HhM6I~-oL zQe|YJVP9kp*rF4~+IWKO0KzB=yml@TFE#)0cTVq0MmuN`)qI|waIG7AyuRgjU+ZWs zwln5=;zrbRx+ED6Z;io4p5Nf#26U}0$RC;Q+~jh59E_@XCI-IHIzL)E5gRt=Nc<#b_A z+cbyW)44-y>v3p4H;BZsy&LkB^Xa3?-mHmcc+Cykx_i7GrLLaN&NAwLa_=NL;>uTV zO-PqxFd=GV$B8T|vmQyN`ahjW%aQPnD0RHxa3)RtATEV$O+9h6^4F&m>HPE~5Hrbl z#Exwaw}*M+Wkj0wNS0_ZO9#wchU_IzXH(UM!xsAe{6O5eUBigLJo$8U|M7xEP&4=j zD1*iqJ)&9KurMfU=x~<5vQm?4#f%?*t(7`#n{1k6yU$|>Om=4{7?F5kZwHDsgE%lJ zg2gJ9B#B>4xXe*Z%*4i9Tfq4x+q8mARK;OTnHgoXK@fED{N7A|GcON8x&qI#BIf~Z zEE||eq##g@@;hGZI^i&&vX*13!{ze=QIdTzbmE0vdwMn&Zn%@Oyy5&=Vy?7|&bi_; z{miFjX`KTII%1s3{!M5ySO6A=XQXQC(XJ4L2f3yuPJ$ff$>@wK7xd=&7dEq0m!J74@2rH=oO{zd?!>yy^rrnpzf!=v8%=8qu-Itez=%~ zlti}?QxQ>5whv|Js=<`vY^_w6`hX1eOuYRk^Lh*YLXWAau!6Z51&!wQ5i_rMy4u|! z7(<;Yb$W#aEEkhju6cc+#&XT!YLgx5E8FejnwKg)5yjD+VErRld$XiK$~b;xoLn8I zg%_5AdVdln;d~}oDYSKT@q!V8%i;03Js6Fyw@ESpL2YwrU6Acsx5ERX>e9UKE{C?+ z>1y+9P@=G$+BB$kz77Y*%Zp3nm4@H$o=qKG+3sN_LC~fE1cWF`Gr5#&ZdCMab3)v@ z+-(l4S6ht+S=ZHD+ve=-#52&zCmY(*@B^e2+&R7OFyIkXUPW-Bp|MbZJ zd4ZbFHlYqJht8tU34k^63x-$ds)8+=l`Ak1vC=d@6R)Oi>j0+2xDmPz8lXZ(8>$@#`txml`Zlx1dNgq!w4fradjoG7y!|Y zWa=sxM9m{rwz@H1xiDES3HVxNO^^s20FwCiHKI#CeWv7iuryq5t&3-nC(Ek|N^Jqb zx3vj=#Kjo=uvSFJ*W90(J6u^%&HghL;Dz^(LIvn}I?*pkB8+lnEAcouahDR;CaN(o z(`?E_$AYID)s$Mu!_j9zwj`)g7rEBYl)2#wRQ$ry2=enXjX2!YF-Z$uY`A@fH&5?A(zRw7L&zwBGG`(tqbPmT8N*NV_iFEAL zpoR8md*fq;`Xx9Poqs3Sa_}RkWsGE9k{?pk8%bIB7u*?}Y%*s^m`9)H-x*If>ybEN z(a@js?@Wm(B&?&artHq=>PgLEj<99VXVe@YOhrB8M=w2@6et9v%wl$E+ag zBZ|;@bj?+N8OZ~OX+*jl(yGRzE8UEW)Dr~6bo@KdW>e$uZ;z$t-`^KI8wi8jfM>|y z$Y?-^RCyGX4jrD`))qRO)0;oBwZ$~B5l#+hsV${+%lZC-7}#|8zkVt=1}-~_`Y><< zon3Qp8cn$PY<5ZYjG42hmD%dq)TxKM1hY+d$C+J*tc5kl(O)HD}*Yy8edR4O7c%*K61N zHq0+wfBp8Vs*3BkFIj@j`I9Qym~nVJY4!)+EIV{`pU2%<;c;woY&Urj?&=FR$WyC53gzg+zxJ7)U>j4 zEJ#i|k&q?ED6&j?jJ_g7zL&?s<~03sUT+G_KrzKe<6f^Y5dM8@hlyMlZ_*hg(5Z7i zlXfKWK9yOP=C4q)aNb<$BQwy$!w*;1MCsAWXlQ}`ZhEVNB?2$<&-7}v%1Qo+f&yZo z$6yj*3A)eL)Y8pP+1u>F3mULM$sAh&;wSOJDE3}L=UfWAC`|75EC$-cxZWm620 z&So)iSyrJ(5xA{OxTcxV!#UffzuKEb&C`-{{2js}^%?7D6u?bmR1_kb*ZGM2F&euV z$yH`b9t5P46HXnkn|&MdrKo~VG;YG_YVGW46YbJ*+tZn=G@H$) zVBw|I5r#a1Q?KvXuwG1J1uLhmHk$D<-~xuG+ONV_mn~yU5)M_e=OK zb^_ZR+Z)?Ut+mR1&b=xC!sS6871hA)XfLX0rCsZ5Ht+;nbB1jxY7pD0@n+R$_--k!s2a+n8{Qepu2p-jy8j8vg5d;$ zexcmVTB)18%Yyjyl56PwKlEqYBDQM6HOdW-mUL93U4BXFh4*C9tk=BkRZ3_OQyKmjskbqUvy@P+fbL+l2)V(-i zY}6Fmzc^tz{`Z^32`liwx^4GNrQWA{i=$EO)Kk5+v9kWTZTB?9fzG-1swD|CDdr1z zPo__A+h>i_8dr1f-Pz=!yoB)!dNK zm^VdRxbvgE`L`6^DZ>@r@RY7u zxV%9tbvYbu*jC4Ml5JmKF)cWd7+)+iLB0!3o7<`+mdljC(fM!1 zB|DnHH&oRQyWlhI3(};d*Wiw~>kW!^X=1;!)-n~5q8ib;D|+Nbp~}$3C*v~d;oUw& zcceaOX;2-u+Fi`LxI-5lrQNB2wm&KFHik8HBT4jyR- zhZo^8EzV7wplA9z&<$$Y^kyk-f8V&J09A<`-UgNmvYyxMZfylhS<9^Rc#X*dvl8e4&JtAuhfnWt-D!)%FXgT8ht^8fzzS8s-z_9 z-``i99@#!}Cp_GDc_At=J7*sYJCHl=aC1YJ!ECbKcP>6RTQ;jE25k6pc83a?W?`8| z-+Z`l(sT|Z!aF1<+GBgs*sx_H8=-}9ChdMFR2Wv37Jk+!!pPN_o zNW29@FQa$A>n)&n&-SL0_jq1mv#w||$_<-GYweKYytSjpwOJ=PHHpneAB;-yXzrZ_ zJmaoqBo4qYv9nI~Smr~KX^s_3%*uzQ4uW260y;0o21>?17yTUmU{R>a_$)O)&{TLGT1 zo60rrX=+4mCN*Kl>IxM)lz-eBqK{adxchI^0tau=yG(mc6Em*pq!Z>(2n9FG->Kot|*mO!Netl=1f?uRpIHatfX%a z^l8}87l@bYy}}l~f3$C0&8QTlBV^QJsVu^>Hz=TXce&mUXy z{Qn#|ky8{HvK0u88z1Q#=iep;tW8_zz{V%SO_+hOSpk{Xx|xMFEC{p;%9E@`b9$jI zajw<@3&dw{-OL2bf>_`{SJ-7~vFOXhhDAlSPD~7x@*Vg`D=x+sxj01@_rZ1N3A&WS ziJ(JXwYs<3j4}m<;p!0YL`}cG?JX9(#NEHS-1Sxkh;nFhiJ4h3UW$1E8lhQXlWiN6 zDr~rg{&uo&ZG5*c$CeuQEAvadO=MqT`0A@R(BW7X-D{l zqEK&7i(M!zXijIyoeqN|l#4+~(vtnyj2Z|Fmg7QIopv=%&aLqNaW(mZpZa7A1|x<~ ztDL>LGe2XYXz0QOS82GrGAcgOmtCdnOvVcnTHzh??7+lA^XY*p-YGaoV?Q|UW2gEG zvAaDAy+mwpj35{_8S}X%#BiZg)E;4rO3%=B<|z&~6hqMl)pg}JjtnrceW zI#{~I>3j*liP1>|+ms>EBX}kYcMU-6q*J@$l1hq{5TnDxQ%*O(hK+$^=g%g_hBd~8 zW-o}u$M6w`M>Q)jOx8PZws9a>#Rt*b5KrDafA93c1Q$-qY!GVmbIYJa~Lg)%0pa z2TNV+8V_c#6|ov^B6K*ndgiRzMoclPcpWfr?OpWbD+Bq3)2G*PqsF`~?D4j^cL*bz zE_xp>Dv=q(Lw;qhG_~ni=N(yeuxTVeOXW82aLYg@K#;g;!z-iPz( zd;hq5f&k0E-0Ai5a#{q}7CcZDO$bq}kS!RdlCF+Q_myg1auGO+q`BTG$HHqBRK`8A zSQDhcKaeMD+k1TO#fa_lxOddT$4Y-6*q`VhtrgV1blkMju2A13!L_+vA^Frk)Lza0BWpDrs2 z!|)dl8p3k#KVEn_Sl9@-N1`ZV6l(GjbGqwje!N&V-cov@KPA^Mra~?_xnU(I9EVxh zctMCtZI~Qv;ao{aFsK~}Xf_v7S@L}Z(G3fTmc-!aWfSp6*2JbWm_pqWbYO1Xlr773 zIx%Bja}k*%--?N7!y@7JQOnUYUPqgH#Xf(}))inPz7BJJgo5x3k&oFBssU>^2B!jG zC;(jec=>b0W2tNya-WVLjmx@vSW%(ys#62ppw!61?Cqa6SU9|_sYOb^<%w7Rmx*VQ?_s=CrS2Q1TLZ}nAjkRgZ<`4iimZQCo1e)&ZO zi|4XP5UIGaH+zACN2{n1D?>(OsZ$$>(rRaYzoKq=Js0rbzzoA>?{Y*G(O=)7zezIIlv;SA zbz{b^7n3RG43HXHfKiDfad*fiC?uMQm&8Ks^uy02l|+d$-b6*yyh8Xj-s&j8Pgz7V z7!(4(w8ED==Vy<93Z_@y*-`(Y-(f=a*@7=i#W5knA*c zS#SC0I5#qqTO5aw;0Vgld7SDrG7sIZXQfk?5A$#orVGn@^P-Zdys+0g-6+D4Kr;~H zf3$Nf{9c}8NurErp3X{%=#Si&-CaaGa_%215Pp_^utEjmX(#6dAlHrF&uWyuouPc?> zf@LhVFcc&FLJ2Jmx&^3%i(p^2S_NMiF&Ol_aR{Cttx~5$)miFd*nK-#G15Ejba+3j zL%c?3qg4bbBWwC2VI93L=Eyg)s!>zC9<@`cF^C=HOTg?$l#8hpTG2yX z;XTxdFa;UTH6nLJXqFV)*sUCXz>X~)_`cjbSb3LN5R1gKNQ5A%@NJz^rT!DSTVJcp zk1*ngm12DAg$&#pN*14LgI%E5#&CUZEw7yj9Zw#Ii^u}xLe&z3l+a^L;bWP`fDDzN z?tcBuII6h%Na|*>KQkP+Qq2-kF?=3`m%99+N6(>4{*wq3*wzcHH~LQiVnqJYv8w~w z{xT7$#4`Z`GQ^GBwGugSgyCuCK2xX4mekbElVRL~zV%`%d`FHF@hBWIu*?Z{$mQ^q zT2)7~eIP(a4v9up4L&8JN_jUsyH_#y$YlRwwuJMs1Aa#A2)2r|jA|RWMr*crZi5rD85WYm>#~}URVXhIPR;q6oUNNh zj04u4fEPMpkJoerL!GpPwTlo5IN>+D+}kv)C>aY6KPL*iI3@#Z9ywXV#EKtO{r=t@`o|rI z6Y~{D7>y%OXcl0D#>ceArwLVSoFf`xEyt9H7GS5CGL#l&$`PIs49k?o%WqgiF0a0k ziFldUC-qKkmrY|};vXx8Mk=gnhiAQ&p<{0XgJ|X07@dUF#)ANhvkkG#C{|RoO6HVxy=q>D>6oR^DG!$HwUVdMEY9s@u zC;#ZpvQC{UJJv@ifsyJg>}EcL%5BkwU)-80HFOV-y>bWw9nc<|KqvQ|N=!f_tjHvh z{e{@<%URqqtOzB+`8qLYYzKtdfYNd>0o=5K1^l48>yC^koMetGs;H1{@*K!NDgK1q zC4}T>&EX9!T~jyCKyg`~CPVCoMYf?kk$qtfZavxY)!6ZRF#`&&uV-p>V3Id48vcwe zDUapSudhu?wg_zSQK2Xo*?Vr!Di=rQb!|W=M)uF>f5YI;{67UAxL4AZktD!+1uLDB zL>crjeRA|JOn$I`gLs7-Pk;>!!Qsg9wzSjp`7wE=QV8e~!B~ZeBPrA7(W;r?WFIw- zkH3r$Vk2M8s-fO-IDrr#Q^j5dRo{d7&+(`760hRIYNwAO3y1NBuc;BIyHO5n$&68E zNvHt*!v!Y^T>Bew%6+oP6Fa>e>NXq>H6b)_>75hk!0x9r(?xlyv~;p5MKApRxokfB zK88*{b13Pm;z+0jmo?2LI$#AT%sm)!BVZ6?7fUTxa1z>*bay^r(boV|SWarVCq6Sm z#m^j`I29bj<#tu@D>;b&+9q!ou@UZa&`=wMc|jtsO!@6LQQmyUhn%`uTcvLXQ>RdAUc@-7>n z;b*~Tpi#Qyn$TUT%!AQtMBppkCURj6o7>3cueYH#MU7c8F@kBjY7=JG8eEjaIk5;G z&^a%i`>-Do-4EQJ;IEvb)p_}tH6M;%P~&KKOt-hpnpr(_=1i@0Yn83K%2qRHY9;@x z+EzV%YFRl3E4J7=uwbG5#(8Q_nHQc#Pz@aYHq074d1D)@+;pgmB8{(2ZUWNlB3%VD;l z*osh6r7wZD+vHe;&P%Gmt}7d+tmSH?7?F>22};W}|?T0|Inibuh0(zP3o2!V>+wrD9n7 zx=v=c_r-i;14$nKHE2v0F^+QSu7&TROK2hz+lYi%m@cH zI>T8BmZ4`w`E6oUQm*ZPU)N)IDJ!exgx$gqd!b-eQLWHlRWIk_Kg1E$(cC zk6e0&8-!V~25`5n-{gP9R4Xa_Aw-`#dqY zevFE*?ai8Pv?iA2T3r5UZV%1iclc;z^Hxy+8MLoaY_tq*?9B`J1h<^f;ZR9xR~TlP z-f7>;zM^8*OrYi~9?g7Ca#DRbbE(qaTaYRkpkx?IkIY+O{6s%X#OU?jSpCIN_|GUL z^=T6cBEq4oCzGDb*gppGUbtYSZM$QOx@)A3_g&S$<^Q@F6PHunvA(=)o-94~RfcLo z!qB<$Q1(1=Z5^Xq${dD3w2RvKKN`h93@?lVQIIr~b2n}2eIke6{T%ptdfMG_t0U)% zWhY|VOa=#Ig%JqPlHC2-K5a2now<@`=z`h{-8YWr-Skvknu#oU zq70BSiX%u<4mYw*+TyxDCstsT&b4R-yxGoFDMF0w2pZbt>Vj)PAy$fWiGO&dxk1?+ zSAqU3ey9bf0tFbGwo#6ic9+X}jIj579oO((TgEcOaOH;Et&>YOcx2za%nZD$Jr)t&o!jGQGj1^=z5?crX z9R*?fJrL&F`v3|3*1?~*VCMQl_c?f5w4Ac zQsPt-ih&HUG12Plfj|%%3oFvd9t0P$z}Y*PNq23;oxr zE;~Avy(h8c-nz|>qVE40#%7Ss{|Uy%jSJn=YAhl_ zP9_TvD+!0HaB^d|5@F(hX2yucVF*(+ID#>T7vcXNGh~X36%m-LSfYWz ze_b$)!V+C{;5WOn$Fi(re}~B)d12l&`84kMk&Hx^+rq~}br0h@*|`}z;|qj0&QR|S zEJO9db;f(MRtjSMOo1;K(!a8pS>V&Tb=Z%sj37sum(<(+Y$bcEvcx4TqO-8B5(agV93ucTmVQ`NE#uL}Om)Vmpp# zu%Cvaj(^iiRd?N+PynNS<+5wmpry*|r{Yc|6}{O|e=RjG?sd`mzTQgub${=bR|{P z?K$3Cnh!fybz|iig0Rz!oG57Kt$U>R^80FV7x$(|dZ*H@FM1Knjwox| za^pi~6EVdrc-w&EkYvD<*5hlhn61_u{ym$z9|;!YoP~5(`miUYmJky!@3=3wcbBdQ z5bLd?Dij>9rV4Ff8%DgDJ?upi!gIpj=r*w|*=~Xbi6^d?##8uLF^A>#SY2M@r?gji zg1C@wz39Jn@N5`VX+$-8;m19Bl>Ykoc+!6Tyk((L60XX~lFBgA&pe9HHjD(Ttc(u) z@V0FF;9^`h{p0M`)OlRSXq8QObN}T6T}|O45pS^wDC5`9Xa282waR}i+rj|Rg_XYS zL<7Tg%Ogi}qUX${RV{x|M0U1pck-3Wmxr5c_)H3b711S#9kSyPbE~U9BxSZuXv9cRoT=~1Z-}eCj9R9oZ5&=A}ZO{)79ee@C8Sr zTc>x0eT9N@y=a?PH`)|mqFA&{1Sd0Z<9GO(sVE_%uQNibai!>&1D3$))S<743BuOR6g7Y}i$^r;G)c zvEQO>WFhhDnKHeJm1LOu0&Ygu9cO;)To4np2=;Z#1|u<_1>biGdHo={Cz`;}txr;SmdT zvRGzZ;Od+wa}O8IWi0Wf&I|)j2L!USC#F%;mT1FaxGMY0@ z_!Kb&16u1`0lrbv>M4rVJ5 zvL}xQg4u(>B78R8+~Ui(Fv@6E{npHSutO#jpL=&sObQDMx^Vhv_TD)+PC(L-ijhi?CL&Ejnv8TAk`<{GsSIff z(p02!qzWV(QYBIqQZ-Ty(ln&$NHdUTBF#dYjWh?T7U^=NE0E?Q%|n`xv;e6NX(7@g zq{T?}NK25eL~1}bmLsh|YD8Lzvq&mpZx zx*ll*(hW$>NE?ytNG(XMNNq?Cq;{lDNF7K{q#KboBXuHmA-Ry;NZm+VkUU6UBp*@_ z(pIExNZXNiAniojg|r)K57JFYex#d`Zb7;g>GMdpA>EF22hv`oJCVMC^hKn*LUV4s zd+)xzPoC*Tx(A8>y&vfS(!EFrkq#l0zWJNJo*5Ast70 zB=qE&M-TmI@4+wiA)P>a4C(RE!7n{g^d5cX;X9IJ5V1sCHXO~TpZ_?JN3ZPf&xnRx z$~fPjANtMye)o8KdZ>RIT|3l&12uoUe+nJ@xPK-+{6T+wX!WW7Wfr+-#fm})Rp%bc zloy7;;8^Nv;}fRPRydlQ<`%^<#f4TqmNuhH;?*9N^&Vx9OZ--^-_Uxcl477d6@<(cDfkXy7rw~B_Mp3SEA+LIFZhmyP<8Xb&*zi%_Wi{) z*MB-8PV07dJ31-qTRX;4`k!u#qqB!k#)oo_4m@G;v%R#LQG&<=*IF6P#d$!SK$Ljx z_WF!+I_gGbtYN(&oV&2c*$I)dr3Z#oIF~OfYP5o9Y>2F zI+<0%r;}@}WqUZXOw2C-PGUC!tD^jtiYv4{|LhsnGiF13#l2IwbKbIiHa91ZnWy+kcdBBHsWzHV{->gKv@ni?8cFKxPx;Say_ ziJLtrgiiJke18nb{;P5#4=xxQi$ZuwrCPv{W$vR?bt2wmh=ah^ zut}$hYzwx>a24r>t+)>69Bwe-ft1V7>4>gzPmb5=bK;6cr^|<{&2eY*CM-#~q~O5< zFjcf=5uD4tPYt-@72u(ZPYrB{9?R&)rN-*oadwwe_p<|8H06 zyPg>sXA$Sp*dw-n_zGkl$J$Y?Hb#I}UM7`t3c?lirO2g~sVjY>vOWE^SeRUVX?|cRO5b^j51xlUF+&-C&9w(CTjI%Oo6KeD)ujsuRAUZ4Tb(<%>Dl zi0*ND9AfJik*fyF=63NXrY*Ww{y*8Ef%!6HEjTZt#dr+M?c4F0BnKRnF2s#`umTiB z!m(*rJ}F#8%*S$M{3W-qR6jXE;DL<8jWqO?f%>S8p~s#ZxHI;u@MM_yC(5z))KSBs zOZ+zD;2)$dVD9aYJa%HwFr#J20Roz7RqH-%!IF z$b8^~QMd_6b+p6lu|sR`#6&P|A(6W5IOPoE+5uw|^C-{Cp&7o00qj}akKEen#>bu< zcJNL)$2PL}lEW){r>_M{3TJ_oF3k z?)@==JpV?y+-kLwcB5tqu+{1SOW@1oxe;yBF8<#hK2!p-owSSpw`ZdWo?-R}&kvIU z_Q+VM=wnyFt=}xbVTwYx;yt3Bc|>ql)3W5iSo*K;2gYVa3>fj*d`zDjQv-8i*nhX+ zm4R`z<-Z0pX=`d=?CN388@EeL#g*q<0%l`uX;v{WP#s60JTfR8ZBP9pgc%}ozfTDVv8qzAr3KYn=tS3PG0 zCWek>1WKZ&3T)^Vv2P=My721CEcHubjoup@$PGRE%D{IP6f@3+8KS&YBAlGBo?%^z zKj=jlzj!*6c1}DqmQExF(&??#Kw4Be?N13zpmT|VSyQOfAa6|L)H2846qz?pgU_x9To z6LI~@(nU)v8fqy0>Va%p|MH0x+WmSUiGKO&!BoGF7C}a8A@X9x=fok+d4i!Z!w{(D zm4%B$yn=T~^@hu_)PVFr!AQY@Bl%*zL{hfoTrB=o1zP{5gGu_Wod}8-q#d~`7zU+x zGnP$KLkYa~n-|HYiMO&-)r#?6@f5t5;77i<`T4Xv){FRzAeh2%9;&lv)t)$v9p-!3 zMp1RbTy(S=`jL%@=3V^B#F>mpU3`nyH@WR#NwQ_Evl_{whP6r`<_E^Lh`L5)p$&xN z6Gxi^Mxq*tjt4QPkuzl~MHjyH#XK6y4dm0yxq%A0m>VdhljjGL$u==iM03{%@}r?^ z6weN1#|qyx-S^i4D{Y#L_549zpoXo~^87#(732pdSa@Ag^X~?-LpSFKUQLLBZ%C|( zF;Wqg41|_X4A??DO9EexD`4kQ@u&j{Rh9*gMAKVkFo#clV_Sbv@K`imSa>Fr{#=6@`&msOE1At;IZ*fu8t^IO2@N1p(vM-l>0-1bRELrR;0?2K~Lv2s(N13-7zGR_be=RMbpX{02A>^&W9f)!9`FEd-wc;;*NN>xavbt2U5J zakB#Bam&y)O^BgV>owibT%km<#;>?M^em1#XsEH$`E@vewe^m{^kuB~mP+NUtX5ki zKG@0nFMn+wY>Ig)__^ln>T!Qi0>qYZqAL#nhu2X49$A42ubr$5gKd?}Xs%N{!R z$NoG9>bhFSk}Ql-w2C8M9W{cl0}Z25sO0%TFkQ$wlrzb24={)6fYBhF%sOSW5ur*_ zAo);If}|37oaTSGzXV?;7bXrgmUeMOLl7#*hr-5E*K{yUJVsp1XV_x=8djD(;Vix% zY|J|k55z7$fhlDkwj~+yO2_BRk}+%I>j8GZUQOJZEF`2*Z4~nOeBd@aqEp4Kv_Ow& zdZWPUMu}8*v8m?5RtCCgb9(tu6+ZawYFi_WLGD7BqlWUN`6lAqE#hPJN~JR9K}5Ll zCv0&<=dE8H%wL4t4)lijf=v*cz7+WTyaF__Hbqx9XyVLd)sPjY=;nXinKerhp7_Q% zwxD4->1frZ(bTDG{%s~pmX6onpMxz6+^72Pf&CK}fxg+0f^hri4f6KHXicuV?6GWm z`{582up^-aIyrD}0_}UPKW^?Qh57RCYB5YP2a(G{n#|$~Y-c+idGcUREzb*| z%xF#W+J~{C)1VTywCYbjd`vIuv1G|bAD$M-yJp7ps)@K;kQJwj*|uqD7&KPfjjJJr zDOu}9lrr|h_4Tj2bl|<@3k$cwrzyBCo1{v9=<6qy9c8?9xG}j>a>oiM8E0BMpu2eC z6`}pp0#%LIh1`(r2CJDzLD)qlStpgJ{I8z(|-+!HjVz#bgjEO_W>~d@N7;7X{McM5*AuS>jkJrEMU0uCt5ppe(iW z8Q@x;6xcW4goko7gARI5GPx4T#NaX1V?acF%wt>OI_fy>|(_% zfK9@Wg-9oGaB;9f@Lk+Bg6kuIjmwyQ;1D_Z5n3LVCom_Y>g+>#>KkYf#q*RA!_yb$ zI!ff1t`MOs>V_ikdSU-Z`h_>(D7spgI;Z3P1f0ONVVAd!gFFBh3gOdF!iCb+Zggq9x(7S%=$ zWHHW5$=g*;y@M%9Mjq~$d!*w>Lb-xZ&S&}>ji(uG5>xZfnB@F0ll=Esq(T7Qz~H2> zI09k52A^0x`}P-N>5alb(v`zak4tL&2m`}N-8;Y}xeU8VY{D-me$y>a@6XTDhbd9w z6_S9qK#5-@aAb10g=a>g4@Rt`)EZ&h31_+VV6pv68+Tv~u`z+nxnZwQxWd2e1EZ)} zfzq`=jN~(;=}j9hZTS5ELWBR(XaErym?*W{Tfo8`e27Y#{_LegiBSaV8s*+rHDozS z^N~&Zu)9J}?G2^#Il|9qh|9Ufy$vWgT0`ta2VlAYRjdB98r8Up0U5g-hJl8w6g#oK z_wTjJSDMIrM$`C*3SkpL*Z65zpJApL1N()le~xRDa;^wu;0h34QMhXfLXOognz=TR zN;RJba_FwV3>F&K~NK?qA-JyR2k!-Jy~2WJ;8 z(4Hn39nJIL6`Ha(P#}B$&OG$|%)@u2&>!Z(Q67_^oOC59*N7QqC@+33GbevIlwla{N!b&wzZ8s@=si5z z5kmlR%0Ib~YBeiW`cD=}0Cz2bUxjC#PsaXpur^!@ETe4`sxA%5B?duN{*&2sPi#*j z?VmE3OM!~xW5`+;NK4e4Dkp70pn=}JDsTloQx}*lgVl7ya=5p8xUU7wfcNX9>5PpJ zz6R3Wvk4nSZV??|vhxJeqz=h(1FVa4_yEG!^lz{*^_J%-?m_kKw3j!_H>CR>H3cF4lIiB>W01Hh+Cj)=61e@ zz@tsf6}htR5o0ArF|-JFX5=dVC(cjk9ME_vc_7u@>B~uxWM-4C(1kVlZ0P%Qu_^J3 zHG#B=D&9m*peh={LHE${rGYPv6$6`Z0EG=zT60xk`Y?QiK$EAVX7gaof__vK=p)sE z1`KrPvcPyczc^qihM&3(^2Q}*TU=19Xh9G6pef4(i|J4Xw!JHaU`OoG1&+cB733w^rRmqUMEj;)`ceAu5% z+UG;@bpFjd5=i^mz?kTc8rnDu2Wp$P;P&dm4+oNj#Hv!vM4uyFyl}SOjY6uX+1%~z zv~L;Y&cPLdA`2U9lB8}~7MM9Um$3z}2+UmA${x_U#0;Ij0XE=Ge@Tv`pWhHzMDAGw zaa7(6Nmcd?;*S@+gkjBHc_NPDa3ehI>t`XHBo3HEZUy zs@XU^_U@kC>>HF8HJA3IiTvV|MRPdf0%=^T3E)L>SksK6!!y~~m>?bc^vlSKu9!6lE+ zf)aIV{zI|kJvo>$R<_T(cB;WLs{S;P8-l|8u;p41SR;SqPP)hiDai^EsO6R;Gs1K` z?1gfpQpUsw^633nPo;;hiVAw-DftimiQ)?=Fk&UvHh@{JmZ~r|ntXKezODK6eta;U zyz>yY5ciXwaWo+zXa&bQl|yeQ1ZUA!*VB1v!g`WN@p#yDA?pM_j(q){u{7sb{bT9n z+fSyGmKZFI0jnhYulgrY{ z8WVgw(a50}?!uise%I5nO*$HlU0~6soYi)GmRrmP7TQR}tCc$91-847AAc;r5gbJ) zsW7z-Z#|M|Br0_gE?d?cp%t4>)w|VY+`lHi=azqt0p}R zrj^aXN-D6Z94@3cPGzq(8eHzgW($sZNX1oLZOxuozFh;OcVjbbvqRtUk@sMtDr=6| zEOTK8!zo#pv;wK(8v~PY$-i_(nxTncN5i3^_kM!_&*s~=#!>g|BnuTT+cpMzc;%a? za#EDlD`U{8&I&c%_Kks3`u?-oX|W*bU35reO`o%nqGJF%~#ppfu zZ8~jG#?%Kh$0Eb#?e28Ki+a81dKZH7$^IvNM|*|yWE{2bO38>pa2zeDO3G&ED+pk{ zfJ}rzvRhVSNpAwCjZ&59z$a%ji+R^c6jg^3^iU);CHQ#~)!lkJvyR7S?DKI4;)C`Z z%O~v;m4%a;8K-$WPZpaio2OgeygidP9Q$HCy_XWK7z3Xo?$fX9=1rDRa%wOkYHT;Z$Otm8Tnz@#*yZVxqYE0`dvQ7*&`TwvLe@#Y2~2zO>Td z@_5A^sJk>cj~XwU3Z&56rNNm-fvmFNlHmpRmIdb-1zs6ZU<}nx3C=eP?4A-_7}>%Y z`t_9H<<$OmPg>}|rv~d2GTq`sjLSJ@k-Y@$-w#zz4;DuA@p`ezs^Yc5LPA%~433Qo zt)CTqF={NNfbbz0fmlg&;A9dE%U4e&r7EAGTA@_^($T#8KRi92Ikvw@qat#|3O)5maNJUJ4lk)4d@CP5p~kl_+niqc z4}H5}K2B%BjE9P>3W!tG@+0Te+z@<`)-DYe7GI+KaPOfVOM|&u>@3AfnA_BTJ^0HxiP502lr>k zKo-(l-#d^`{^fy0syG(Z=(mpq?@E-k#l?0#8e9_o8G7l_;9nDC5fA3{g}!z&SYn|U z9t~!O{_~0!E7LZ;LE{{)pBM$2>C#WE<(HQ zz8-I6@yK^_&O#MW1+R;qEGxI*bPa!~FS44RTSg1^4$Y)zpAP=Q=nN$2ad=j`JDsgN zB5PqI*7UB7jy@CIGF5itwYNK#izuvNJ(*sVh0>l4I%BBrxnRzO$d;k)w>aC{94^&H z8Etzm_{0>|c25f*4C?W;IwEV~Y6|@YEvPwJ5SsP1;5(L?Z04C>p$_NhLsmZ{5r<6r z>eqw$3)EW^)GB8k3uk+BLuKCx9$89h5BA4V!i&M8&?{q3zBVpi9$fc? z`pQoBT0`Gnb@EqBVz}ciwxJw)^MRAe;@9N>BQ+BI&?gU^yfT_>#lg5Dgts*}t`=LL zpqlko4tIkM&1ZP58$yd7I%$s!4IDrDcoIEdv^|+_Zpw=%_l3J-Lu-R4UyY*F=O4=; z*M+;|=!Y(tCDR8_{xzHznl^Ou$%%1*30FRZe*2x1yGlb{e>?eR6m?D>lTNod2TMaO zpPalpn$n(sES*mN<79Q{-G7|SkEV_JMd|c$)Zijo_40|_P-FDq>?oPJH)gN|q)ggb%U~+V5f7;;ulsKjEH~#hHe7dizCru9b`12>Hh87eJKA4auG2$(i*V(Nm z`}U#SQ1oSkt+AoaQwL|n$O^}7gV}V(HuxX%=gP{#Ss2n^zIn2UUY{_SNX=D)adf(J z@EZ9(p=xkysHST05ry9GRSzzv+?v6^$k*x92G@oh(*_IW>#?S>*R%0lS{6DmeQf15ElDP}#WUF?#TEONUyI~^s0y_Gb;!ofcgQf1Jxu9B!v2IH;@+}4V767aA& zTb;%in-CPyDfa#m27chsP+mrxL+pIxLqXg=YxtZ!M$hKxu+X?UgXLMZy5qzvRG`J; zTdAyT2sb{uk*CM4P@t`{Q!B)rh`tClE+7125=}gvoJq%4492FKTep^lzQ1np`gomI z=QIy4oDwIuh=t}J+V_RQyh1%dS>Zzpc{YS~8xiLwIRZ_?-9or1{;D;a)FA`{xspJm z4D*6@v8e~QEcc;=yS4=$3cgMuhJ#!z-RIpvRJSp$~#W}Ed-s{OS zz{s$$AwdW7c4uA+j3%0Q{7?$rUiM%P6@Bwm7JXFv9Qyrnb{rkC#Kv6;pma*V;Y|Ad z)yeTx{`lZfhQ7$y^6$a7W|FAt2Z=fKtwX2F?!S8|AvEKO!QZ6{7Rj7i{A1Be`736Fy$E&a`mKQECsjkghz`9zZD?GCR`b-1q1HIPtId}W-E$eNMhHx9 zlpTM6u@C)Ms`^^EyivB4-Z~JxqM@7*ZgS*Ftth@n1e)@v;YY0b$l9zkEN)z0zrEEV zzTZvrTZalVMzj{Xwsq)0dLD+&F~^be3ZHeRs@|b2KpGa1bnzo!A)O5krjqCB!C9g0 zzM=PG^nu;5eQ1_N|MBqdp(oO#AuN{l4oxYK#yy%lpBb7&uWme@ONmi~xws;r3$byP zj_Iv4T3ct?XE>(Mu9`Egrlx8}&Fr@Jwzle4e2cfHt##V$X|wEA@-AxVZ6(mcI-R(z z23EB=gwt(r zTbF%X-gWrmdZ~3TZq3kr7%(7(V^NjD+(rBjf7qs?hR(T8X43Izh8FU`|MQulRn(Jn zUz+&d_oyvP@gaIgyQW{}R?FzzZCJqbpB*}wC-@Kt?#i+Y?Ow;s>DR1YM&}A2o5|Eabol_m78eN;hQ)@fDiV^TpG(KOY)P+kZZEoPNuv zXJ`CkXae1GIFP@0*Dr>UP9Z%R+VzVsec?mnU@VRhJEHYpgk!QFhul9tJuWH{G}+nd z-quhPy6Y#WcTS*J8qUlP?fUEK=oq^4!=d!tR?m)ZpWAfyTV~KZJwvth-+NAFhxUDP z`hz%{bl{Pk(9M=JO=qj{6n;d@9&(rC!bzAh|_4-96aNt^S2FJDDl2C>GaOQGhpg( zpNtdEXb~%mm}^hxYV6E;+CI4XFf1||U<+q$$u@5ZZM^SH7R@_!CXtelCT34I%Gy9q zVp|C?TDN&?<#|*YJ4uy?&g4<@$=l(tcnyIu>$*>7(VGX6hpuBAye04&VM!TnjqKN3 z!e=1(&nPskL-a^bZbe`N+MPwNgJ+7V>d=|*N6n(R`_6bKu#+-ewF6Aov=AraKK%#I zOr!_zJ5wGto4$G9nNZZ6kpKQOJEEhjtLQHeoS9R?oE>vh8rg_i=irak)l`4@%$(@z zn!WzRXOO;(^b}GE>1m{ALjJ?gzO=$pJ!9sqqg(zIgN|u=@q0`k-mlW8q(`XZy>#i^lhZKkj^1}2kE;=-$VL7 z(hrb+i1Z_*A0zz)>20KUklsal59xiR^GFwvK0x{@($A27j`Rzp|3vyF(yx$yjr1F& z-y;1E>Gwz{($sHr2j_x80k+)e@6NX(qEDOhV*x&Pmn%E`o~?Jzlz$2 z#E)ox#PGwyk63=h@gtre3H(UpM-o4h`7wqcDf~#~M;brU`H{hovHZy7M;1S_`H{nq zTz=&7BcC4y{3ztdIDQoIV>~}5@I&KAF+WQ9F_9mW_%WFum+`~Ok5Yb=@nZ@Ce$3~`0)Eu- zViMyRA6N3DfgelxaTPzV=EpLAEa%4xel+r9Wz_SXzgiXbqVxX)cFYqg delta 43955 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 diff --git a/dist/index.js.map b/dist/index.js.map index 560e37b10d6f371a30a8652b38349fdcc6803601..a47bee96390487d203ced5cde8db5fbb83978c6e 100644 GIT binary patch delta 47750 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 WNt(*)z!LBt_yByAr?SgWUj6|{W>IYb delta 44294 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

hfMLH> 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 diff --git a/dist/licenses.txt b/dist/licenses.txt index e143bef9e54743b1e60a7e6081c2b6f62b1d1577..d21d19f2f842071a48d48fd448287213f8b8d00f 100644 GIT binary patch delta 53 zcmaE{S7`HAp$&gMIMNb}OES|c^|$xbGFq@S|MA%V$AfXAN&C@8Mj&R|ezcJ}Yuff) I8J6lM0GBrxw*UYD delta 58 zcmdnIRp`ZDp$&gMn(chI+xaq1FxkxJY0lDqwviEtnYN#8WX_((nVOheoSImaoUxhP N(}-oesRT=169D4>7bXAz diff --git a/dist/platforms/mac/steps/activate.sh b/dist/platforms/mac/steps/activate.sh index c9511eb5..2d3339ef 100755 --- a/dist/platforms/mac/steps/activate.sh +++ b/dist/platforms/mac/steps/activate.sh @@ -20,6 +20,10 @@ echo "Requesting activation" # Store the exit code from the verify command UNITY_EXIT_CODE=$? +if [ ! -f "/Library/Application Support/Unity/Unity_lic.ulf" ]; then + echo "::error ::There was an error while trying to activate the Unity license." +fi + # # Display information about the result # @@ -30,6 +34,7 @@ else # Activation failed so exit with the code from the license verification step echo "Unclassified error occured while trying to activate license." echo "Exit code was: $UNITY_EXIT_CODE" + echo "::error ::There was an error while trying to activate the Unity license." exit $UNITY_EXIT_CODE fi diff --git a/dist/platforms/ubuntu/steps/activate.sh b/dist/platforms/ubuntu/steps/activate.sh index 81eb2ffc..4af50212 100755 --- a/dist/platforms/ubuntu/steps/activate.sh +++ b/dist/platforms/ubuntu/steps/activate.sh @@ -4,64 +4,13 @@ echo "Changing to \"$ACTIVATE_LICENSE_PATH\" directory." pushd "$ACTIVATE_LICENSE_PATH" -if [[ -n "$UNITY_LICENSE" ]] || [[ -n "$UNITY_LICENSE_FILE" ]]; then +if [[ -n "$UNITY_SERIAL" && -n "$UNITY_EMAIL" && -n "$UNITY_PASSWORD" ]]; then # - # PERSONAL LICENSE MODE - # - # This will activate Unity, using a license file - # - # Note that this is the ONLY WAY for PERSONAL LICENSES in 2020. - # * See for more details: https://gitlab.com/gableroux/unity3d-gitlab-ci-example/issues/5#note_72815478 - # - # The license file can be acquired using `webbertakken/request-manual-activation-file` action. - echo "Requesting activation (personal license)" - - # Set the license file path - FILE_PATH=UnityLicenseFile.ulf - - if [[ -n "$UNITY_LICENSE" ]]; then - # Copy license file from Github variables - echo "$UNITY_LICENSE" | tr -d '\r' > $FILE_PATH - elif [[ -n "$UNITY_LICENSE_FILE" ]]; then - # Copy license file from file system - cat "$UNITY_LICENSE_FILE" | tr -d '\r' > $FILE_PATH - fi - - # Activate license - ACTIVATION_OUTPUT=$(unity-editor \ - -logFile /dev/stdout \ - -quit \ - -manualLicenseFile $FILE_PATH) - - # Store the exit code from the verify command - UNITY_EXIT_CODE=$? - - # The exit code for personal activation is always 1; - # Determine whether activation was successful. - # - # Successful output should include the following: - # - # "LICENSE SYSTEM [2020120 18:51:20] Next license update check is after 2019-11-25T18:23:38" - # - ACTIVATION_SUCCESSFUL=$(echo $ACTIVATION_OUTPUT | grep 'Next license update check is after' | wc -l) - - # Set exit code to 0 if activation was successful - if [[ $ACTIVATION_SUCCESSFUL -eq 1 ]]; then - UNITY_EXIT_CODE=0 - fi; - - # Remove license file - rm -f $FILE_PATH - -elif [[ -n "$UNITY_SERIAL" && -n "$UNITY_EMAIL" && -n "$UNITY_PASSWORD" ]]; then - # - # PROFESSIONAL (SERIAL) LICENSE MODE + # SERIAL LICENSE MODE # # This will activate unity, using the activating process. # - # Note: This is the preferred way for PROFESSIONAL LICENSES. - # - echo "Requesting activation (professional license)" + echo "Requesting activation" # Activate license unity-editor \ @@ -69,11 +18,16 @@ elif [[ -n "$UNITY_SERIAL" && -n "$UNITY_EMAIL" && -n "$UNITY_PASSWORD" ]]; then -quit \ -serial "$UNITY_SERIAL" \ -username "$UNITY_EMAIL" \ - -password "$UNITY_PASSWORD" + -password "$UNITY_PASSWORD" \ + -projectPath "/BlankProject" # Store the exit code from the verify command UNITY_EXIT_CODE=$? + if [ ! -f "~/.local/share/unity3d/Unity/Unity_lic.ulf" ]; then + echo "::error ::There was an error while trying to activate the Unity license." + fi + elif [[ -n "$UNITY_LICENSING_SERVER" ]]; then # # Custom Unity License Server @@ -100,6 +54,7 @@ else echo "Visit https://game.ci/docs/github/getting-started for more" echo "details on how to set up one of the possible activation strategies." + echo "::error ::No valid license activation strategy could be determined." # Immediately exit as no UNITY_EXIT_CODE can be derrived. exit 1; diff --git a/dist/platforms/ubuntu/steps/return_license.sh b/dist/platforms/ubuntu/steps/return_license.sh index f0f68b58..2984f701 100755 --- a/dist/platforms/ubuntu/steps/return_license.sh +++ b/dist/platforms/ubuntu/steps/return_license.sh @@ -13,14 +13,17 @@ if [[ -n "$UNITY_LICENSING_SERVER" ]]; then # /opt/unity/Editor/Data/Resources/Licensing/Client/Unity.Licensing.Client --return-floating "$FLOATING_LICENSE" elif [[ -n "$UNITY_SERIAL" ]]; then # - # PROFESSIONAL (SERIAL) LICENSE MODE + # SERIAL LICENSE MODE # # This will return the license that is currently in use. # unity-editor \ -logFile /dev/stdout \ -quit \ - -returnlicense + -returnlicense \ + -username "$UNITY_EMAIL" \ + -password "$UNITY_PASSWORD" \ + -projectPath "/BlankProject" fi # Return to previous working directory diff --git a/dist/platforms/windows/activate.ps1 b/dist/platforms/windows/activate.ps1 index bfaef5c0..5e505b46 100644 --- a/dist/platforms/windows/activate.ps1 +++ b/dist/platforms/windows/activate.ps1 @@ -12,3 +12,8 @@ Write-Output "" -serial $Env:UNITY_SERIAL ` -projectPath "c:/BlankProject" ` -logfile - | Out-Host + +if(-not(Test-path "C:/ProgramData/Unity/Unity_lic.ulf" -PathType leaf)) +{ + Write-Output "::error ::There was an error while trying to activate the Unity license." +} diff --git a/src/model/build-parameters.ts b/src/model/build-parameters.ts index 8c322124..4cd8a523 100644 --- a/src/model/build-parameters.ts +++ b/src/model/build-parameters.ts @@ -12,6 +12,7 @@ import { Cli } from './cli/cli'; import GitHub from './github'; import CloudRunnerOptions from './cloud-runner/options/cloud-runner-options'; import CloudRunner from './cloud-runner/cloud-runner'; +import * as core from '@actions/core'; class BuildParameters { // eslint-disable-next-line no-undef @@ -132,6 +133,11 @@ class BuildParameters { } } + if (unitySerial !== undefined && unitySerial.length === 27) { + core.setSecret(unitySerial); + core.setSecret(`${unitySerial.slice(0, -4)}XXXX`); + } + return { editorVersion, customImage: Input.customImage, diff --git a/src/model/docker.ts b/src/model/docker.ts index aec955bc..77645666 100644 --- a/src/model/docker.ts +++ b/src/model/docker.ts @@ -62,7 +62,6 @@ class Docker { --workdir ${dockerWorkspacePath} \ --rm \ ${ImageEnvironmentFactory.getEnvVarString(parameters, additionalVariables)} \ - --env UNITY_SERIAL \ --env GITHUB_WORKSPACE=${dockerWorkspacePath} \ --env GIT_CONFIG_EXTENSIONS \ ${gitPrivateToken ? `--env GIT_PRIVATE_TOKEN="${gitPrivateToken}"` : ''} \ @@ -74,6 +73,7 @@ class Docker { --volume "${actionFolder}/platforms/ubuntu/steps:/steps:z" \ --volume "${actionFolder}/platforms/ubuntu/entrypoint.sh:/entrypoint.sh:z" \ --volume "${actionFolder}/unity-config:/usr/share/unity3d/config/:z" \ + --volume "${actionFolder}/BlankProject":"/BlankProject:z" \ --cpus=${dockerCpuLimit} \ --memory=${dockerMemoryLimit} \ ${sshAgent ? `--volume ${sshAgent}:/ssh-agent` : ''} \ @@ -93,7 +93,6 @@ class Docker { const { workspace, actionFolder, - unitySerial, gitPrivateToken, dockerWorkspacePath, dockerCpuLimit, @@ -105,7 +104,6 @@ class Docker { --workdir c:${dockerWorkspacePath} \ --rm \ ${ImageEnvironmentFactory.getEnvVarString(parameters)} \ - --env UNITY_SERIAL="${unitySerial}" \ --env GITHUB_WORKSPACE=c:${dockerWorkspacePath} \ ${gitPrivateToken ? `--env GIT_PRIVATE_TOKEN="${gitPrivateToken}"` : ''} \ --volume "${workspace}":"c:${dockerWorkspacePath}" \ diff --git a/src/model/image-environment-factory.ts b/src/model/image-environment-factory.ts index c66697b4..6162b50b 100644 --- a/src/model/image-environment-factory.ts +++ b/src/model/image-environment-factory.ts @@ -1,4 +1,3 @@ -import { ReadLicense } from './input-readers/test-license-reader'; import { DockerParameters, StringKeyValuePair } from './shared-types'; class ImageEnvironmentFactory { @@ -23,14 +22,18 @@ class ImageEnvironmentFactory { public static getEnvironmentVariables(parameters: DockerParameters, additionalVariables: StringKeyValuePair[] = []) { let environmentVariables: StringKeyValuePair[] = [ - { name: 'UNITY_LICENSE', value: process.env.UNITY_LICENSE || ReadLicense() }, - { name: 'UNITY_LICENSE_FILE', value: process.env.UNITY_LICENSE_FILE }, { name: 'UNITY_EMAIL', value: process.env.UNITY_EMAIL }, { name: 'UNITY_PASSWORD', value: process.env.UNITY_PASSWORD }, { name: 'UNITY_SERIAL', value: parameters.unitySerial }, - { name: 'UNITY_LICENSING_SERVER', value: parameters.unityLicensingServer }, + { + name: 'UNITY_LICENSING_SERVER', + value: parameters.unityLicensingServer, + }, { name: 'UNITY_VERSION', value: parameters.editorVersion }, - { name: 'USYM_UPLOAD_AUTH_TOKEN', value: process.env.USYM_UPLOAD_AUTH_TOKEN }, + { + name: 'USYM_UPLOAD_AUTH_TOKEN', + value: process.env.USYM_UPLOAD_AUTH_TOKEN, + }, { name: 'PROJECT_PATH', value: parameters.projectPath }, { name: 'BUILD_TARGET', value: parameters.targetPlatform }, { name: 'BUILD_NAME', value: parameters.buildName }, @@ -41,12 +44,21 @@ class ImageEnvironmentFactory { { name: 'VERSION', value: parameters.buildVersion }, { name: 'ANDROID_VERSION_CODE', value: parameters.androidVersionCode }, { name: 'ANDROID_KEYSTORE_NAME', value: parameters.androidKeystoreName }, - { name: 'ANDROID_KEYSTORE_BASE64', value: parameters.androidKeystoreBase64 }, + { + name: 'ANDROID_KEYSTORE_BASE64', + value: parameters.androidKeystoreBase64, + }, { name: 'ANDROID_KEYSTORE_PASS', value: parameters.androidKeystorePass }, { name: 'ANDROID_KEYALIAS_NAME', value: parameters.androidKeyaliasName }, { name: 'ANDROID_KEYALIAS_PASS', value: parameters.androidKeyaliasPass }, - { name: 'ANDROID_TARGET_SDK_VERSION', value: parameters.androidTargetSdkVersion }, - { name: 'ANDROID_SDK_MANAGER_PARAMETERS', value: parameters.androidSdkManagerParameters }, + { + name: 'ANDROID_TARGET_SDK_VERSION', + value: parameters.androidTargetSdkVersion, + }, + { + name: 'ANDROID_SDK_MANAGER_PARAMETERS', + value: parameters.androidSdkManagerParameters, + }, { name: 'ANDROID_EXPORT_TYPE', value: parameters.androidExportType }, { name: 'ANDROID_SYMBOL_TYPE', value: parameters.androidSymbolType }, { name: 'CUSTOM_PARAMETERS', value: parameters.customParameters }, @@ -86,7 +98,9 @@ class ImageEnvironmentFactory { } } } - if (parameters.sshAgent) environmentVariables.push({ name: 'SSH_AUTH_SOCK', value: '/ssh-agent' }); + if (parameters.sshAgent) { + environmentVariables.push({ name: 'SSH_AUTH_SOCK', value: '/ssh-agent' }); + } return environmentVariables; } diff --git a/src/model/unity-versioning.test.ts b/src/model/unity-versioning.test.ts index 94aa3c6a..5db2af14 100644 --- a/src/model/unity-versioning.test.ts +++ b/src/model/unity-versioning.test.ts @@ -7,9 +7,9 @@ describe('Unity Versioning', () => { }); it('parses from ProjectVersion.txt', () => { - const projectVersionContents = `m_EditorVersion: 2019.2.11f1 - m_EditorVersionWithRevision: 2019.2.11f1 (5f859a4cfee5)`; - expect(UnityVersioning.parse(projectVersionContents)).toBe('2019.2.11f1'); + const projectVersionContents = `m_EditorVersion: 2021.3.4f1 + m_EditorVersionWithRevision: 2021.3.4f1 (cb45f9cae8b7)`; + expect(UnityVersioning.parse(projectVersionContents)).toBe('2021.3.4f1'); }); }); @@ -19,13 +19,13 @@ describe('Unity Versioning', () => { }); it('reads from test-project', () => { - expect(UnityVersioning.read('./test-project')).toBe('2019.2.11f1'); + expect(UnityVersioning.read('./test-project')).toBe('2021.3.4f1'); }); }); describe('determineUnityVersion', () => { it('defaults to parsed version', () => { - expect(UnityVersioning.determineUnityVersion('./test-project', 'auto')).toBe('2019.2.11f1'); + expect(UnityVersioning.determineUnityVersion('./test-project', 'auto')).toBe('2021.3.4f1'); }); it('use specified unityVersion', () => { diff --git a/test-project/.gitignore b/test-project/.gitignore index 963804f6..cb76c509 100644 --- a/test-project/.gitignore +++ b/test-project/.gitignore @@ -4,6 +4,7 @@ [Bb]uild/ [Bb]uilds/ [Ll]ogs/ +UserSettings/ # Uncomment this line if you wish to ignore the asset store tools plugin # [Aa]ssets/AssetStoreTools* diff --git a/test-project/Assets/LFS_Test_File.jpg.meta b/test-project/Assets/LFS_Test_File.jpg.meta new file mode 100644 index 00000000..5bdb3dbf --- /dev/null +++ b/test-project/Assets/LFS_Test_File.jpg.meta @@ -0,0 +1,98 @@ +fileFormatVersion: 2 +guid: 4464d385be8a6314599ca304b15f6033 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMasterTextureLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/test-project/Assets/Scenes.meta b/test-project/Assets/Scenes.meta index db718afc..83c741b2 100644 --- a/test-project/Assets/Scenes.meta +++ b/test-project/Assets/Scenes.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 7318f4af514280d49b66c315d1f80caf +guid: 6ea315d0fd7389c41b19996891e99ae3 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/test-project/Assets/Scenes/SampleScene.unity b/test-project/Assets/Scenes/SampleScene.unity index 7cd6b0c8..6c41248d 100644 --- a/test-project/Assets/Scenes/SampleScene.unity +++ b/test-project/Assets/Scenes/SampleScene.unity @@ -24,9 +24,9 @@ RenderSettings: m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} m_AmbientIntensity: 1 - m_AmbientMode: 3 + m_AmbientMode: 0 m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} - m_SkyboxMaterial: {fileID: 0} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} m_HaloStrength: 0.5 m_FlareStrength: 1 m_FlareFadeSpeed: 3 @@ -38,12 +38,12 @@ RenderSettings: m_ReflectionIntensity: 1 m_CustomReflection: {fileID: 0} m_Sun: {fileID: 0} - m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} + m_IndirectSpecularColor: {r: 0.37311953, g: 0.38074014, b: 0.3587274, a: 1} m_UseRadianceAmbientProbe: 0 --- !u!157 &3 LightmapSettings: m_ObjectHideFlags: 0 - serializedVersion: 11 + serializedVersion: 12 m_GIWorkflowMode: 1 m_GISettings: serializedVersion: 2 @@ -51,7 +51,7 @@ LightmapSettings: m_IndirectOutputScale: 1 m_AlbedoBoost: 1 m_EnvironmentLightingMode: 0 - m_EnableBakedLightmaps: 0 + m_EnableBakedLightmaps: 1 m_EnableRealtimeLightmaps: 0 m_LightmapEditorSettings: serializedVersion: 12 @@ -72,7 +72,7 @@ LightmapSettings: m_FinalGatherRayCount: 256 m_ReflectionCompression: 2 m_MixedBakeMode: 2 - m_BakeBackend: 0 + m_BakeBackend: 1 m_PVRSampling: 1 m_PVRDirectSampleCount: 32 m_PVRSampleCount: 500 @@ -96,8 +96,9 @@ LightmapSettings: m_PVRFilteringAtrousPositionSigmaAO: 1 m_ExportTrainingData: 0 m_TrainingDataDestination: TrainingData - m_LightingDataAsset: {fileID: 0} - m_UseShadowmask: 1 + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 112000000, guid: 6d45b161158b72540a6627333b5c362d, type: 2} + m_LightingSettings: {fileID: 0} --- !u!196 &4 NavMeshSettings: serializedVersion: 2 @@ -117,10 +118,12 @@ NavMeshSettings: manualTileSize: 0 tileSize: 256 accuratePlacement: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 debug: m_Flags: 0 m_NavMeshData: {fileID: 0} ---- !u!1 &415492281 +--- !u!1 &963194225 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -128,86 +131,9 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 415492282} - - component: {fileID: 415492284} - - component: {fileID: 415492283} - m_Layer: 5 - m_Name: Text - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &415492282 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 415492281} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1861892729} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 100, y: 30} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &415492283 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 415492281} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 0, g: 0.63506866, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_FontData: - m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_FontSize: 14 - m_FontStyle: 0 - m_BestFit: 0 - m_MinSize: 10 - m_MaxSize: 40 - m_Alignment: 4 - m_AlignByGeometry: 0 - m_RichText: 1 - m_HorizontalOverflow: 0 - m_VerticalOverflow: 0 - m_LineSpacing: 1 - m_Text: Bulider test ---- !u!222 &415492284 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 415492281} - m_CullTransparentMesh: 0 ---- !u!1 &519420028 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 519420032} - - component: {fileID: 519420031} - - component: {fileID: 519420029} + - component: {fileID: 963194228} + - component: {fileID: 963194227} + - component: {fileID: 963194226} m_Layer: 0 m_Name: Main Camera m_TagString: MainCamera @@ -215,24 +141,24 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!81 &519420029 +--- !u!81 &963194226 AudioListener: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 519420028} + m_GameObject: {fileID: 963194225} m_Enabled: 1 ---- !u!20 &519420031 +--- !u!20 &963194227 Camera: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 519420028} + m_GameObject: {fileID: 963194225} m_Enabled: 1 serializedVersion: 2 - m_ClearFlags: 2 + m_ClearFlags: 1 m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} m_projectionMatrixMode: 1 m_GateFitMode: 2 @@ -244,13 +170,13 @@ Camera: serializedVersion: 2 x: 0 y: 0 - width: 10 - height: 10 + width: 1 + height: 1 near clip plane: 0.3 far clip plane: 1000 field of view: 60 - orthographic: 1 - orthographic size: 100 + orthographic: 0 + orthographic size: 5 m_Depth: -1 m_CullingMask: serializedVersion: 2 @@ -258,190 +184,26 @@ Camera: m_RenderingPath: -1 m_TargetTexture: {fileID: 0} m_TargetDisplay: 0 - m_TargetEye: 0 + m_TargetEye: 3 m_HDR: 1 - m_AllowMSAA: 0 + m_AllowMSAA: 1 m_AllowDynamicResolution: 0 m_ForceIntoRT: 0 - m_OcclusionCulling: 0 + m_OcclusionCulling: 1 m_StereoConvergence: 10 m_StereoSeparation: 0.022 ---- !u!4 &519420032 +--- !u!4 &963194228 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 519420028} + m_GameObject: {fileID: 963194225} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: -10} + m_LocalPosition: {x: 0, y: 1, z: -10} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1861892725 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1861892729} - - component: {fileID: 1861892728} - - component: {fileID: 1861892727} - - component: {fileID: 1861892726} - m_Layer: 5 - m_Name: Canvas - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &1861892726 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1861892725} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IgnoreReversedGraphics: 1 - m_BlockingObjects: 0 - m_BlockingMask: - serializedVersion: 2 - m_Bits: 4294967295 ---- !u!114 &1861892727 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1861892725} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} - m_Name: - m_EditorClassIdentifier: - m_UiScaleMode: 0 - m_ReferencePixelsPerUnit: 100 - m_ScaleFactor: 1 - m_ReferenceResolution: {x: 800, y: 600} - m_ScreenMatchMode: 0 - m_MatchWidthOrHeight: 0 - m_PhysicalUnit: 3 - m_FallbackScreenDPI: 96 - m_DefaultSpriteDPI: 96 - m_DynamicPixelsPerUnit: 1 ---- !u!223 &1861892728 -Canvas: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1861892725} - m_Enabled: 1 - serializedVersion: 3 - m_RenderMode: 0 - m_Camera: {fileID: 0} - m_PlaneDistance: 100 - m_PixelPerfect: 0 - m_ReceivesEvents: 1 - m_OverrideSorting: 0 - m_OverridePixelPerfect: 0 - m_SortingBucketNormalizedSize: 0 - m_AdditionalShaderChannelsFlag: 0 - m_SortingLayerID: 0 - m_SortingOrder: 0 - m_TargetDisplay: 0 ---- !u!224 &1861892729 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1861892725} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 0, y: 0, z: 0} - m_Children: - - {fileID: 415492282} - m_Father: {fileID: 0} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0, y: 0} ---- !u!1 &1969526254 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1969526257} - - component: {fileID: 1969526256} - - component: {fileID: 1969526255} - m_Layer: 0 - m_Name: EventSystem - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &1969526255 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1969526254} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3} - m_Name: - m_EditorClassIdentifier: - m_HorizontalAxis: Horizontal - m_VerticalAxis: Vertical - m_SubmitButton: Submit - m_CancelButton: Cancel - m_InputActionsPerSecond: 10 - m_RepeatDelay: 0.5 - m_ForceModuleActive: 0 ---- !u!114 &1969526256 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1969526254} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} - m_Name: - m_EditorClassIdentifier: - m_FirstSelected: {fileID: 0} - m_sendNavigationEvents: 1 - m_DragThreshold: 10 ---- !u!4 &1969526257 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1969526254} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/test-project/Assets/Scenes/SampleScene.unity.meta b/test-project/Assets/Scenes/SampleScene.unity.meta index c1e3c88e..952bd1e9 100644 --- a/test-project/Assets/Scenes/SampleScene.unity.meta +++ b/test-project/Assets/Scenes/SampleScene.unity.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 2cda990e2423bbf4892e6590ba056729 +guid: 9fc0d4010bbf28b4594072e72b8655ab DefaultImporter: externalObjects: {} userData: diff --git a/test-project/Packages/manifest.json b/test-project/Packages/manifest.json index 18a1e415..b9f3e7ac 100644 --- a/test-project/Packages/manifest.json +++ b/test-project/Packages/manifest.json @@ -1,3 +1,37 @@ { - "dependencies": {} + "dependencies": { + "com.unity.burst": "1.6.6", + "com.unity.ide.visualstudio": "2.0.22", + "com.unity.modules.ai": "1.0.0", + "com.unity.modules.androidjni": "1.0.0", + "com.unity.modules.animation": "1.0.0", + "com.unity.modules.assetbundle": "1.0.0", + "com.unity.modules.audio": "1.0.0", + "com.unity.modules.cloth": "1.0.0", + "com.unity.modules.director": "1.0.0", + "com.unity.modules.imageconversion": "1.0.0", + "com.unity.modules.imgui": "1.0.0", + "com.unity.modules.jsonserialize": "1.0.0", + "com.unity.modules.particlesystem": "1.0.0", + "com.unity.modules.physics": "1.0.0", + "com.unity.modules.physics2d": "1.0.0", + "com.unity.modules.screencapture": "1.0.0", + "com.unity.modules.terrain": "1.0.0", + "com.unity.modules.terrainphysics": "1.0.0", + "com.unity.modules.tilemap": "1.0.0", + "com.unity.modules.ui": "1.0.0", + "com.unity.modules.uielements": "1.0.0", + "com.unity.modules.umbra": "1.0.0", + "com.unity.modules.unityanalytics": "1.0.0", + "com.unity.modules.unitywebrequest": "1.0.0", + "com.unity.modules.unitywebrequestassetbundle": "1.0.0", + "com.unity.modules.unitywebrequestaudio": "1.0.0", + "com.unity.modules.unitywebrequesttexture": "1.0.0", + "com.unity.modules.unitywebrequestwww": "1.0.0", + "com.unity.modules.vehicles": "1.0.0", + "com.unity.modules.video": "1.0.0", + "com.unity.modules.vr": "1.0.0", + "com.unity.modules.wind": "1.0.0", + "com.unity.modules.xr": "1.0.0" + } } diff --git a/test-project/Packages/packages-lock.json b/test-project/Packages/packages-lock.json new file mode 100644 index 00000000..032b909c --- /dev/null +++ b/test-project/Packages/packages-lock.json @@ -0,0 +1,301 @@ +{ + "dependencies": { + "com.unity.burst": { + "version": "1.6.6", + "depth": 0, + "source": "registry", + "dependencies": { + "com.unity.mathematics": "1.2.1" + }, + "url": "https://packages.unity.com" + }, + "com.unity.ext.nunit": { + "version": "1.0.6", + "depth": 2, + "source": "registry", + "dependencies": {}, + "url": "https://packages.unity.com" + }, + "com.unity.ide.visualstudio": { + "version": "2.0.22", + "depth": 0, + "source": "registry", + "dependencies": { + "com.unity.test-framework": "1.1.9" + }, + "url": "https://packages.unity.com" + }, + "com.unity.mathematics": { + "version": "1.2.6", + "depth": 1, + "source": "registry", + "dependencies": {}, + "url": "https://packages.unity.com" + }, + "com.unity.test-framework": { + "version": "1.1.31", + "depth": 1, + "source": "registry", + "dependencies": { + "com.unity.ext.nunit": "1.0.6", + "com.unity.modules.imgui": "1.0.0", + "com.unity.modules.jsonserialize": "1.0.0" + }, + "url": "https://packages.unity.com" + }, + "com.unity.modules.ai": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.androidjni": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.animation": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.assetbundle": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.audio": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.cloth": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.physics": "1.0.0" + } + }, + "com.unity.modules.director": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.audio": "1.0.0", + "com.unity.modules.animation": "1.0.0" + } + }, + "com.unity.modules.imageconversion": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.imgui": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.jsonserialize": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.particlesystem": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.physics": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.physics2d": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.screencapture": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.imageconversion": "1.0.0" + } + }, + "com.unity.modules.subsystems": { + "version": "1.0.0", + "depth": 1, + "source": "builtin", + "dependencies": { + "com.unity.modules.jsonserialize": "1.0.0" + } + }, + "com.unity.modules.terrain": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.terrainphysics": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.physics": "1.0.0", + "com.unity.modules.terrain": "1.0.0" + } + }, + "com.unity.modules.tilemap": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.physics2d": "1.0.0" + } + }, + "com.unity.modules.ui": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.uielements": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.ui": "1.0.0", + "com.unity.modules.imgui": "1.0.0", + "com.unity.modules.jsonserialize": "1.0.0", + "com.unity.modules.uielementsnative": "1.0.0" + } + }, + "com.unity.modules.uielementsnative": { + "version": "1.0.0", + "depth": 1, + "source": "builtin", + "dependencies": { + "com.unity.modules.ui": "1.0.0", + "com.unity.modules.imgui": "1.0.0", + "com.unity.modules.jsonserialize": "1.0.0" + } + }, + "com.unity.modules.umbra": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.unityanalytics": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.unitywebrequest": "1.0.0", + "com.unity.modules.jsonserialize": "1.0.0" + } + }, + "com.unity.modules.unitywebrequest": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.unitywebrequestassetbundle": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.assetbundle": "1.0.0", + "com.unity.modules.unitywebrequest": "1.0.0" + } + }, + "com.unity.modules.unitywebrequestaudio": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.unitywebrequest": "1.0.0", + "com.unity.modules.audio": "1.0.0" + } + }, + "com.unity.modules.unitywebrequesttexture": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.unitywebrequest": "1.0.0", + "com.unity.modules.imageconversion": "1.0.0" + } + }, + "com.unity.modules.unitywebrequestwww": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.unitywebrequest": "1.0.0", + "com.unity.modules.unitywebrequestassetbundle": "1.0.0", + "com.unity.modules.unitywebrequestaudio": "1.0.0", + "com.unity.modules.audio": "1.0.0", + "com.unity.modules.assetbundle": "1.0.0", + "com.unity.modules.imageconversion": "1.0.0" + } + }, + "com.unity.modules.vehicles": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.physics": "1.0.0" + } + }, + "com.unity.modules.video": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.audio": "1.0.0", + "com.unity.modules.ui": "1.0.0", + "com.unity.modules.unitywebrequest": "1.0.0" + } + }, + "com.unity.modules.vr": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.jsonserialize": "1.0.0", + "com.unity.modules.physics": "1.0.0", + "com.unity.modules.xr": "1.0.0" + } + }, + "com.unity.modules.wind": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.xr": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.physics": "1.0.0", + "com.unity.modules.jsonserialize": "1.0.0", + "com.unity.modules.subsystems": "1.0.0" + } + } + } +} diff --git a/test-project/ProjectSettings/AudioManager.asset b/test-project/ProjectSettings/AudioManager.asset index 4f31e744..07ebfb05 100644 --- a/test-project/ProjectSettings/AudioManager.asset +++ b/test-project/ProjectSettings/AudioManager.asset @@ -3,6 +3,7 @@ --- !u!11 &1 AudioManager: m_ObjectHideFlags: 0 + serializedVersion: 2 m_Volume: 1 Rolloff Scale: 1 Doppler Factor: 1 @@ -15,3 +16,4 @@ AudioManager: m_AmbisonicDecoderPlugin: m_DisableAudio: 0 m_VirtualizeEffects: 1 + m_RequestedDSPBufferSize: 1024 diff --git a/test-project/ProjectSettings/DynamicsManager.asset b/test-project/ProjectSettings/DynamicsManager.asset index 4144c06a..cdc1f3ea 100644 --- a/test-project/ProjectSettings/DynamicsManager.asset +++ b/test-project/ProjectSettings/DynamicsManager.asset @@ -3,7 +3,7 @@ --- !u!55 &1 PhysicsManager: m_ObjectHideFlags: 0 - serializedVersion: 7 + serializedVersion: 11 m_Gravity: {x: 0, y: -9.81, z: 0} m_DefaultMaterial: {fileID: 0} m_BounceThreshold: 2 @@ -28,3 +28,7 @@ PhysicsManager: m_Center: {x: 0, y: 0, z: 0} m_Extent: {x: 250, y: 250, z: 250} m_WorldSubdivisions: 8 + m_FrictionType: 0 + m_EnableEnhancedDeterminism: 0 + m_EnableUnifiedHeightmaps: 1 + m_DefaultMaxAngluarSpeed: 7 diff --git a/test-project/ProjectSettings/EditorBuildSettings.asset b/test-project/ProjectSettings/EditorBuildSettings.asset index 82ab0f59..40917b05 100644 --- a/test-project/ProjectSettings/EditorBuildSettings.asset +++ b/test-project/ProjectSettings/EditorBuildSettings.asset @@ -7,5 +7,5 @@ EditorBuildSettings: m_Scenes: - enabled: 1 path: Assets/Scenes/SampleScene.unity - guid: 2cda990e2423bbf4892e6590ba056729 + guid: 9fc0d4010bbf28b4594072e72b8655ab m_configObjects: {} diff --git a/test-project/ProjectSettings/EditorSettings.asset b/test-project/ProjectSettings/EditorSettings.asset index fee7e362..1e44a0a1 100644 --- a/test-project/ProjectSettings/EditorSettings.asset +++ b/test-project/ProjectSettings/EditorSettings.asset @@ -3,19 +3,28 @@ --- !u!159 &1 EditorSettings: m_ObjectHideFlags: 0 - serializedVersion: 7 + serializedVersion: 11 m_ExternalVersionControlSupport: Visible Meta Files m_SerializationMode: 2 m_LineEndingsForNewScripts: 0 - m_DefaultBehaviorMode: 1 - m_SpritePackerMode: 4 + m_DefaultBehaviorMode: 0 + m_PrefabRegularEnvironment: {fileID: 0} + m_PrefabUIEnvironment: {fileID: 0} + m_SpritePackerMode: 0 m_SpritePackerPaddingPower: 1 m_EtcTextureCompressorBehavior: 1 m_EtcTextureFastCompressor: 1 m_EtcTextureNormalCompressor: 2 m_EtcTextureBestCompressor: 4 - m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd + m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd;asmdef;rsp;asmref m_ProjectGenerationRootNamespace: - m_UserGeneratedProjectSuffix: m_CollabEditorSettings: inProgressEnabled: 1 + m_EnableTextureStreamingInEditMode: 1 + m_EnableTextureStreamingInPlayMode: 1 + m_AsyncShaderCompilation: 1 + m_EnterPlayModeOptionsEnabled: 0 + m_EnterPlayModeOptions: 3 + m_ShowLightmapResolutionOverlay: 1 + m_UseLegacyProbeSampleCount: 0 + m_SerializeInlineMappingsOnOneLine: 1 diff --git a/test-project/ProjectSettings/GraphicsSettings.asset b/test-project/ProjectSettings/GraphicsSettings.asset index b26c5ba9..43369e3c 100644 --- a/test-project/ProjectSettings/GraphicsSettings.asset +++ b/test-project/ProjectSettings/GraphicsSettings.asset @@ -3,32 +3,38 @@ --- !u!30 &1 GraphicsSettings: m_ObjectHideFlags: 0 - serializedVersion: 12 + serializedVersion: 13 m_Deferred: - m_Mode: 0 - m_Shader: {fileID: 0} + m_Mode: 1 + m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0} m_DeferredReflections: - m_Mode: 0 - m_Shader: {fileID: 0} + m_Mode: 1 + m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0} m_ScreenSpaceShadows: - m_Mode: 0 - m_Shader: {fileID: 0} + m_Mode: 1 + m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0} m_LegacyDeferred: - m_Mode: 0 - m_Shader: {fileID: 0} + m_Mode: 1 + m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0} m_DepthNormals: - m_Mode: 0 - m_Shader: {fileID: 0} + m_Mode: 1 + m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0} m_MotionVectors: - m_Mode: 0 - m_Shader: {fileID: 0} + m_Mode: 1 + m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0} m_LightHalo: - m_Mode: 0 - m_Shader: {fileID: 0} + m_Mode: 1 + m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0} m_LensFlare: - m_Mode: 0 - m_Shader: {fileID: 0} - m_AlwaysIncludedShaders: [] + m_Mode: 1 + m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0} + m_AlwaysIncludedShaders: + - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0} m_PreloadedShaders: [] m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} @@ -41,12 +47,12 @@ GraphicsSettings: m_LightmapStripping: 0 m_FogStripping: 0 m_InstancingStripping: 0 - m_LightmapKeepPlain: 0 - m_LightmapKeepDirCombined: 0 - m_LightmapKeepDynamicPlain: 0 - m_LightmapKeepDynamicDirCombined: 0 - m_LightmapKeepShadowMask: 0 - m_LightmapKeepSubtractive: 0 + m_LightmapKeepPlain: 1 + m_LightmapKeepDirCombined: 1 + m_LightmapKeepDynamicPlain: 1 + m_LightmapKeepDynamicDirCombined: 1 + m_LightmapKeepShadowMask: 1 + m_LightmapKeepSubtractive: 1 m_FogKeepLinear: 1 m_FogKeepExp: 1 m_FogKeepExp2: 1 @@ -54,3 +60,4 @@ GraphicsSettings: m_LightsUseLinearIntensity: 0 m_LightsUseColorTemperature: 0 m_LogWhenShaderIsCompiled: 0 + m_AllowEnlightenSupportForUpgradedProject: 0 diff --git a/test-project/ProjectSettings/MemorySettings.asset b/test-project/ProjectSettings/MemorySettings.asset new file mode 100644 index 00000000..5b5facec --- /dev/null +++ b/test-project/ProjectSettings/MemorySettings.asset @@ -0,0 +1,35 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!387306366 &1 +MemorySettings: + m_ObjectHideFlags: 0 + m_EditorMemorySettings: + m_MainAllocatorBlockSize: -1 + m_ThreadAllocatorBlockSize: -1 + m_MainGfxBlockSize: -1 + m_ThreadGfxBlockSize: -1 + m_CacheBlockSize: -1 + m_TypetreeBlockSize: -1 + m_ProfilerBlockSize: -1 + m_ProfilerEditorBlockSize: -1 + m_BucketAllocatorGranularity: -1 + m_BucketAllocatorBucketsCount: -1 + m_BucketAllocatorBlockSize: -1 + m_BucketAllocatorBlockCount: -1 + m_ProfilerBucketAllocatorGranularity: -1 + m_ProfilerBucketAllocatorBucketsCount: -1 + m_ProfilerBucketAllocatorBlockSize: -1 + m_ProfilerBucketAllocatorBlockCount: -1 + m_TempAllocatorSizeMain: -1 + m_JobTempAllocatorBlockSize: -1 + m_BackgroundJobTempAllocatorBlockSize: -1 + m_JobTempAllocatorReducedBlockSize: -1 + m_TempAllocatorSizeGIBakingWorker: -1 + m_TempAllocatorSizeNavMeshWorker: -1 + m_TempAllocatorSizeAudioWorker: -1 + m_TempAllocatorSizeCloudWorker: -1 + m_TempAllocatorSizeGfx: -1 + m_TempAllocatorSizeJobWorker: -1 + m_TempAllocatorSizeBackgroundWorker: -1 + m_TempAllocatorSizePreloadManager: -1 + m_PlatformMemorySettings: {} diff --git a/test-project/ProjectSettings/NetworkManager.asset b/test-project/ProjectSettings/NetworkManager.asset deleted file mode 100644 index 5dc6a831..00000000 --- a/test-project/ProjectSettings/NetworkManager.asset +++ /dev/null @@ -1,8 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!149 &1 -NetworkManager: - m_ObjectHideFlags: 0 - m_DebugLevel: 0 - m_Sendrate: 15 - m_AssetToPrefab: {} diff --git a/test-project/ProjectSettings/PackageManagerSettings.asset b/test-project/ProjectSettings/PackageManagerSettings.asset new file mode 100644 index 00000000..112a053b --- /dev/null +++ b/test-project/ProjectSettings/PackageManagerSettings.asset @@ -0,0 +1,35 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &1 +MonoBehaviour: + m_ObjectHideFlags: 61 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 13964, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_EnablePreReleasePackages: 0 + m_EnablePackageDependencies: 0 + m_AdvancedSettingsExpanded: 1 + m_ScopedRegistriesSettingsExpanded: 1 + m_SeeAllPackageVersions: 0 + oneTimeWarningShown: 0 + m_Registries: + - m_Id: main + m_Name: + m_Url: https://packages.unity.com + m_Scopes: [] + m_IsDefault: 1 + m_Capabilities: 7 + m_UserSelectedRegistryName: + m_UserAddingNewScopedRegistry: 0 + m_RegistryInfoDraft: + m_Modified: 0 + m_ErrorMessage: + m_UserModificationsInstanceId: -830 + m_OriginalInstanceId: -832 + m_LoadAssets: 0 diff --git a/test-project/ProjectSettings/Packages/com.unity.testtools.codecoverage/Settings.json b/test-project/ProjectSettings/Packages/com.unity.testtools.codecoverage/Settings.json new file mode 100644 index 00000000..ad11087f --- /dev/null +++ b/test-project/ProjectSettings/Packages/com.unity.testtools.codecoverage/Settings.json @@ -0,0 +1,7 @@ +{ + "m_Name": "Settings", + "m_Path": "ProjectSettings/Packages/com.unity.testtools.codecoverage/Settings.json", + "m_Dictionary": { + "m_DictionaryValues": [] + } +} \ No newline at end of file diff --git a/test-project/ProjectSettings/PresetManager.asset b/test-project/ProjectSettings/PresetManager.asset index 636a595b..67a94dae 100644 --- a/test-project/ProjectSettings/PresetManager.asset +++ b/test-project/ProjectSettings/PresetManager.asset @@ -3,4 +3,5 @@ --- !u!1386491679 &1 PresetManager: m_ObjectHideFlags: 0 - m_DefaultList: [] + serializedVersion: 2 + m_DefaultPresets: {} diff --git a/test-project/ProjectSettings/ProjectSettings.asset b/test-project/ProjectSettings/ProjectSettings.asset index 7b66fd1f..96a5e37c 100644 --- a/test-project/ProjectSettings/ProjectSettings.asset +++ b/test-project/ProjectSettings/ProjectSettings.asset @@ -3,8 +3,8 @@ --- !u!129 &1 PlayerSettings: m_ObjectHideFlags: 0 - serializedVersion: 18 - productGUID: d9e9dde8e7ed4cf4bac4c6f2dffe7ef4 + serializedVersion: 23 + productGUID: f3f6a917a3bba0046bb55998f8678f8c AndroidProfiler: 0 AndroidFilterTouchesWhenObscured: 0 AndroidEnableSustainedPerformanceMode: 0 @@ -12,8 +12,8 @@ PlayerSettings: targetDevice: 2 useOnDemandResources: 0 accelerometerFrequency: 60 - companyName: DefaultCompany - productName: simpletestproject + companyName: GameCI + productName: TestProject defaultCursor: {fileID: 0} cursorHotspot: {x: 0, y: 0} m_SplashScreenBackgroundColor: {r: 0.13725491, g: 0.12156863, b: 0.1254902, a: 1} @@ -42,17 +42,18 @@ PlayerSettings: m_SplashScreenLogos: [] m_VirtualRealitySplashScreen: {fileID: 0} m_HolographicTrackingLossScreen: {fileID: 0} - defaultScreenWidth: 1024 - defaultScreenHeight: 768 + defaultScreenWidth: 1920 + defaultScreenHeight: 1080 defaultScreenWidthWeb: 960 defaultScreenHeightWeb: 600 m_StereoRenderingPath: 0 m_ActiveColorSpace: 0 m_MTRendering: 1 + mipStripping: 0 + numberOfMipsStripped: 0 m_StackTraceTypes: 010000000100000001000000010000000100000001000000 iosShowActivityIndicatorOnLoading: -1 androidShowActivityIndicatorOnLoading: -1 - displayResolutionDialog: 0 iosUseCustomAppBackgroundBehavior: 0 iosAllowHTTPDownload: 1 allowedAutorotateToPortrait: 1 @@ -65,8 +66,14 @@ PlayerSettings: disableDepthAndStencilBuffers: 0 androidStartInFullscreen: 1 androidRenderOutsideSafeArea: 1 - androidUseSwappy: 0 + androidUseSwappy: 1 androidBlitType: 0 + androidResizableWindow: 0 + androidDefaultWindowWidth: 1920 + androidDefaultWindowHeight: 1080 + androidMinimumWindowWidth: 400 + androidMinimumWindowHeight: 300 + androidFullscreenMode: 1 defaultIsNativeResolution: 1 macRetinaSupport: 1 runInBackground: 1 @@ -84,8 +91,7 @@ PlayerSettings: resizableWindow: 0 useMacAppStoreValidation: 0 macAppStoreCategory: public.app-category.games - gpuSkinning: 0 - graphicsJobs: 0 + gpuSkinning: 1 xboxPIXTextureCapture: 0 xboxEnableAvatar: 0 xboxEnableKinect: 0 @@ -93,7 +99,6 @@ PlayerSettings: xboxEnableFitness: 0 visibleInBackground: 1 allowFullscreenSwitch: 1 - graphicsJobMode: 0 fullscreenMode: 1 xboxSpeechDB: 0 xboxEnableHeadOrientation: 0 @@ -106,6 +111,7 @@ PlayerSettings: xboxOneMonoLoggingLevel: 0 xboxOneLoggingLevel: 1 xboxOneDisableEsram: 0 + xboxOneEnableTypeOptimization: 0 xboxOnePresentImmediateThreshold: 0 switchQueueCommandMemory: 0 switchQueueControlMemory: 16384 @@ -113,7 +119,15 @@ PlayerSettings: switchNVNShaderPoolsGranularity: 33554432 switchNVNDefaultPoolsGranularity: 16777216 switchNVNOtherPoolsGranularity: 16777216 + switchNVNMaxPublicTextureIDCount: 0 + switchNVNMaxPublicSamplerIDCount: 0 + stadiaPresentMode: 0 + stadiaTargetFramerate: 0 + vulkanNumSwapchainBuffers: 3 vulkanEnableSetSRGBWrite: 0 + vulkanEnablePreTransform: 1 + vulkanEnableLateAcquireNextImage: 0 + vulkanEnableCommandBufferRecycling: 1 m_SupportedAspectRatios: 4:3: 1 5:4: 1 @@ -128,48 +142,30 @@ PlayerSettings: xboxOneDisableKinectGpuReservation: 1 xboxOneEnable7thCore: 1 vrSettings: - cardboard: - depthFormat: 0 - enableTransitionView: 0 - daydream: - depthFormat: 0 - useSustainedPerformanceMode: 0 - enableVideoLayer: 0 - useProtectedVideoMemory: 0 - minimumSupportedHeadTracking: 0 - maximumSupportedHeadTracking: 1 - hololens: - depthFormat: 1 - depthBufferSharingEnabled: 1 - lumin: - depthFormat: 0 - frameTiming: 2 - enableGLCache: 0 - glCacheMaxBlobSize: 524288 - glCacheMaxFileSize: 8388608 - oculus: - sharedDepthBuffer: 1 - dashSupport: 1 - lowOverheadMode: 0 - protectedContext: 0 - v2Signing: 0 enable360StereoCapture: 0 isWsaHolographicRemotingEnabled: 0 - protectGraphicsMemory: 0 enableFrameTimingStats: 0 + enableOpenGLProfilerGPURecorders: 1 useHDRDisplay: 0 + D3DHDRBitDepth: 0 m_ColorGamuts: 00000000 targetPixelDensity: 30 resolutionScalingMode: 0 + resetResolutionOnWindowResize: 0 androidSupportedAspectRatio: 1 androidMaxAspectRatio: 2.1 applicationIdentifier: - Standalone: com.Company.ProductName - Android: com.DefaultCompany.simpletestproject - buildNumber: {} + Android: com.GameCI.TestProject + Standalone: com.GameCI.TestProject + iPhone: com.GameCI.TestProject + buildNumber: + Standalone: 0 + iPhone: 0 + tvOS: 0 + overrideDefaultApplicationIdentifier: 0 AndroidBundleVersionCode: 1 - AndroidMinSdkVersion: 16 - AndroidTargetSdkVersion: 0 + AndroidMinSdkVersion: 22 + AndroidTargetSdkVersion: 33 AndroidPreferredInstallLocation: 1 aotOptions: stripEngineCode: 1 @@ -183,32 +179,16 @@ PlayerSettings: StripUnusedMeshComponents: 1 VertexChannelCompressionMask: 4054 iPhoneSdkVersion: 988 - iOSTargetOSVersionString: 9.0 + iOSTargetOSVersionString: 11.0 tvOSSdkVersion: 0 tvOSRequireExtendedGameController: 0 - tvOSTargetOSVersionString: 9.0 + tvOSTargetOSVersionString: 11.0 uIPrerenderedIcon: 0 uIRequiresPersistentWiFi: 0 uIRequiresFullScreen: 1 uIStatusBarHidden: 1 uIExitOnSuspend: 0 uIStatusBarStyle: 0 - iPhoneSplashScreen: {fileID: 0} - iPhoneHighResSplashScreen: {fileID: 0} - iPhoneTallHighResSplashScreen: {fileID: 0} - iPhone47inSplashScreen: {fileID: 0} - iPhone55inPortraitSplashScreen: {fileID: 0} - iPhone55inLandscapeSplashScreen: {fileID: 0} - iPhone58inPortraitSplashScreen: {fileID: 0} - iPhone58inLandscapeSplashScreen: {fileID: 0} - iPadPortraitSplashScreen: {fileID: 0} - iPadHighResPortraitSplashScreen: {fileID: 0} - iPadLandscapeSplashScreen: {fileID: 0} - iPadHighResLandscapeSplashScreen: {fileID: 0} - iPhone65inPortraitSplashScreen: {fileID: 0} - iPhone65inLandscapeSplashScreen: {fileID: 0} - iPhone61inPortraitSplashScreen: {fileID: 0} - iPhone61inLandscapeSplashScreen: {fileID: 0} appleTVSplashScreen: {fileID: 0} appleTVSplashScreen2x: {fileID: 0} tvOSSmallIconLayers: [] @@ -236,15 +216,17 @@ PlayerSettings: iOSLaunchScreeniPadFillPct: 100 iOSLaunchScreeniPadSize: 100 iOSLaunchScreeniPadCustomXibPath: - iOSUseLaunchScreenStoryboard: 0 iOSLaunchScreenCustomStoryboardPath: + iOSLaunchScreeniPadCustomStoryboardPath: iOSDeviceRequirements: [] iOSURLSchemes: [] + macOSURLSchemes: [] iOSBackgroundModes: 0 iOSMetalForceHardShadows: 0 metalEditorSupport: 1 metalAPIValidation: 1 iOSRenderExtraFrameOnPause: 0 + iosCopyPluginsCodeInsteadOfSymlink: 0 appleDeveloperTeamID: iOSManualSigningProvisioningProfileID: tvOSManualSigningProvisioningProfileID: @@ -254,13 +236,22 @@ PlayerSettings: iOSRequireARKit: 0 iOSAutomaticallyDetectAndAddCapabilities: 1 appleEnableProMotion: 0 - clonedFromGUID: 5f34be1353de5cf4398729fda238591b - templatePackageId: com.unity.template.2d@3.2.3 + shaderPrecisionModel: 0 + clonedFromGUID: c0afd0d1d80e3634a9dac47e8a0426ea + templatePackageId: com.unity.template.3d@8.1.0 templateDefaultScene: Assets/Scenes/SampleScene.unity - AndroidTargetArchitectures: 1 + useCustomMainManifest: 0 + useCustomLauncherManifest: 0 + useCustomMainGradleTemplate: 0 + useCustomLauncherGradleManifest: 0 + useCustomBaseGradleTemplate: 0 + useCustomGradlePropertiesTemplate: 0 + useCustomProguardFile: 0 + AndroidTargetArchitectures: 3 + AndroidTargetDevices: 0 AndroidSplashScreenScale: 0 androidSplashScreen: {fileID: 0} - AndroidKeystoreName: '{inproject}: ' + AndroidKeystoreName: AndroidKeyaliasName: AndroidBuildApkPerCpuArchitecture: 0 AndroidTVCompatibility: 0 @@ -274,28 +265,296 @@ PlayerSettings: height: 180 banner: {fileID: 0} androidGamepadSupportLevel: 0 + chromeosInputEmulation: 1 + AndroidMinifyWithR8: 0 + AndroidMinifyRelease: 0 + AndroidMinifyDebug: 0 AndroidValidateAppBundleSize: 1 AndroidAppBundleSizeToValidate: 150 - resolutionDialogBanner: {fileID: 0} m_BuildTargetIcons: [] - m_BuildTargetPlatformIcons: [] - m_BuildTargetBatching: [] + m_BuildTargetPlatformIcons: + - m_BuildTarget: Android + m_Icons: + - m_Textures: [] + m_Width: 432 + m_Height: 432 + m_Kind: 2 + m_SubKind: + - m_Textures: [] + m_Width: 324 + m_Height: 324 + m_Kind: 2 + m_SubKind: + - m_Textures: [] + m_Width: 216 + m_Height: 216 + m_Kind: 2 + m_SubKind: + - m_Textures: [] + m_Width: 162 + m_Height: 162 + m_Kind: 2 + m_SubKind: + - m_Textures: [] + m_Width: 108 + m_Height: 108 + m_Kind: 2 + m_SubKind: + - m_Textures: [] + m_Width: 81 + m_Height: 81 + m_Kind: 2 + m_SubKind: + - m_Textures: [] + m_Width: 192 + m_Height: 192 + m_Kind: 1 + m_SubKind: + - m_Textures: [] + m_Width: 144 + m_Height: 144 + m_Kind: 1 + m_SubKind: + - m_Textures: [] + m_Width: 96 + m_Height: 96 + m_Kind: 1 + m_SubKind: + - m_Textures: [] + m_Width: 72 + m_Height: 72 + m_Kind: 1 + m_SubKind: + - m_Textures: [] + m_Width: 48 + m_Height: 48 + m_Kind: 1 + m_SubKind: + - m_Textures: [] + m_Width: 36 + m_Height: 36 + m_Kind: 1 + m_SubKind: + - m_Textures: [] + m_Width: 192 + m_Height: 192 + m_Kind: 0 + m_SubKind: + - m_Textures: [] + m_Width: 144 + m_Height: 144 + m_Kind: 0 + m_SubKind: + - m_Textures: [] + m_Width: 96 + m_Height: 96 + m_Kind: 0 + m_SubKind: + - m_Textures: [] + m_Width: 72 + m_Height: 72 + m_Kind: 0 + m_SubKind: + - m_Textures: [] + m_Width: 48 + m_Height: 48 + m_Kind: 0 + m_SubKind: + - m_Textures: [] + m_Width: 36 + m_Height: 36 + m_Kind: 0 + m_SubKind: + - m_BuildTarget: iPhone + m_Icons: + - m_Textures: [] + m_Width: 180 + m_Height: 180 + m_Kind: 0 + m_SubKind: iPhone + - m_Textures: [] + m_Width: 120 + m_Height: 120 + m_Kind: 0 + m_SubKind: iPhone + - m_Textures: [] + m_Width: 167 + m_Height: 167 + m_Kind: 0 + m_SubKind: iPad + - m_Textures: [] + m_Width: 152 + m_Height: 152 + m_Kind: 0 + m_SubKind: iPad + - m_Textures: [] + m_Width: 76 + m_Height: 76 + m_Kind: 0 + m_SubKind: iPad + - m_Textures: [] + m_Width: 120 + m_Height: 120 + m_Kind: 3 + m_SubKind: iPhone + - m_Textures: [] + m_Width: 80 + m_Height: 80 + m_Kind: 3 + m_SubKind: iPhone + - m_Textures: [] + m_Width: 80 + m_Height: 80 + m_Kind: 3 + m_SubKind: iPad + - m_Textures: [] + m_Width: 40 + m_Height: 40 + m_Kind: 3 + m_SubKind: iPad + - m_Textures: [] + m_Width: 87 + m_Height: 87 + m_Kind: 1 + m_SubKind: iPhone + - m_Textures: [] + m_Width: 58 + m_Height: 58 + m_Kind: 1 + m_SubKind: iPhone + - m_Textures: [] + m_Width: 29 + m_Height: 29 + m_Kind: 1 + m_SubKind: iPhone + - m_Textures: [] + m_Width: 58 + m_Height: 58 + m_Kind: 1 + m_SubKind: iPad + - m_Textures: [] + m_Width: 29 + m_Height: 29 + m_Kind: 1 + m_SubKind: iPad + - m_Textures: [] + m_Width: 60 + m_Height: 60 + m_Kind: 2 + m_SubKind: iPhone + - m_Textures: [] + m_Width: 40 + m_Height: 40 + m_Kind: 2 + m_SubKind: iPhone + - m_Textures: [] + m_Width: 40 + m_Height: 40 + m_Kind: 2 + m_SubKind: iPad + - m_Textures: [] + m_Width: 20 + m_Height: 20 + m_Kind: 2 + m_SubKind: iPad + - m_Textures: [] + m_Width: 1024 + m_Height: 1024 + m_Kind: 4 + m_SubKind: App Store + m_BuildTargetBatching: + - m_BuildTarget: Standalone + m_StaticBatching: 1 + m_DynamicBatching: 0 + - m_BuildTarget: tvOS + m_StaticBatching: 1 + m_DynamicBatching: 0 + - m_BuildTarget: Android + m_StaticBatching: 1 + m_DynamicBatching: 0 + - m_BuildTarget: iPhone + m_StaticBatching: 1 + m_DynamicBatching: 0 + - m_BuildTarget: WebGL + m_StaticBatching: 0 + m_DynamicBatching: 0 + m_BuildTargetGraphicsJobs: + - m_BuildTarget: MacStandaloneSupport + m_GraphicsJobs: 0 + - m_BuildTarget: Switch + m_GraphicsJobs: 1 + - m_BuildTarget: MetroSupport + m_GraphicsJobs: 1 + - m_BuildTarget: AppleTVSupport + m_GraphicsJobs: 0 + - m_BuildTarget: BJMSupport + m_GraphicsJobs: 1 + - m_BuildTarget: LinuxStandaloneSupport + m_GraphicsJobs: 1 + - m_BuildTarget: PS4Player + m_GraphicsJobs: 1 + - m_BuildTarget: iOSSupport + m_GraphicsJobs: 0 + - m_BuildTarget: WindowsStandaloneSupport + m_GraphicsJobs: 1 + - m_BuildTarget: XboxOnePlayer + m_GraphicsJobs: 1 + - m_BuildTarget: LuminSupport + m_GraphicsJobs: 0 + - m_BuildTarget: AndroidPlayer + m_GraphicsJobs: 0 + - m_BuildTarget: WebGLSupport + m_GraphicsJobs: 0 + m_BuildTargetGraphicsJobMode: + - m_BuildTarget: PS4Player + m_GraphicsJobMode: 0 + - m_BuildTarget: XboxOnePlayer + m_GraphicsJobMode: 0 m_BuildTargetGraphicsAPIs: - m_BuildTarget: AndroidPlayer m_APIs: 150000000b000000 - m_Automatic: 0 - m_BuildTargetVRSettings: [] + m_Automatic: 1 + - m_BuildTarget: iOSSupport + m_APIs: 10000000 + m_Automatic: 1 + - m_BuildTarget: AppleTVSupport + m_APIs: 10000000 + m_Automatic: 1 + - m_BuildTarget: WebGLSupport + m_APIs: 0b000000 + m_Automatic: 1 + m_BuildTargetVRSettings: + - m_BuildTarget: Standalone + m_Enabled: 0 + m_Devices: + - Oculus + - OpenVR openGLRequireES31: 0 openGLRequireES31AEP: 0 openGLRequireES32: 0 - vuforiaEnabled: 0 m_TemplateCustomTags: {} mobileMTRendering: Android: 1 iPhone: 1 tvOS: 1 - m_BuildTargetGroupLightmapEncodingQuality: [] + m_BuildTargetGroupLightmapEncodingQuality: + - m_BuildTarget: Android + m_EncodingQuality: 1 + - m_BuildTarget: iPhone + m_EncodingQuality: 1 + - m_BuildTarget: tvOS + m_EncodingQuality: 1 m_BuildTargetGroupLightmapSettings: [] + m_BuildTargetNormalMapEncoding: + - m_BuildTarget: Android + m_Encoding: 1 + - m_BuildTarget: iPhone + m_Encoding: 1 + - m_BuildTarget: tvOS + m_Encoding: 1 + m_BuildTargetDefaultTextureCompressionFormat: + - m_BuildTarget: Android + m_Format: 3 playModeTestRunnerEnabled: 0 runPlayModeTestAsEditModeTest: 0 actionOnDotNetUnhandledException: 1 @@ -305,12 +564,16 @@ PlayerSettings: cameraUsageDescription: locationUsageDescription: microphoneUsageDescription: + bluetoothUsageDescription: + switchNMETAOverride: switchNetLibKey: switchSocketMemoryPoolSize: 6144 switchSocketAllocatorPoolSize: 128 switchSocketConcurrencyLimit: 14 switchScreenResolutionBehavior: 2 switchUseCPUProfiler: 0 + switchUseGOLDLinker: 0 + switchLTOSetting: 0 switchApplicationID: 0x01004b9000490000 switchNSODependencies: switchTitleNames_0: @@ -328,6 +591,7 @@ PlayerSettings: switchTitleNames_12: switchTitleNames_13: switchTitleNames_14: + switchTitleNames_15: switchPublisherNames_0: switchPublisherNames_1: switchPublisherNames_2: @@ -343,6 +607,7 @@ PlayerSettings: switchPublisherNames_12: switchPublisherNames_13: switchPublisherNames_14: + switchPublisherNames_15: switchIcons_0: {fileID: 0} switchIcons_1: {fileID: 0} switchIcons_2: {fileID: 0} @@ -358,6 +623,7 @@ PlayerSettings: switchIcons_12: {fileID: 0} switchIcons_13: {fileID: 0} switchIcons_14: {fileID: 0} + switchIcons_15: {fileID: 0} switchSmallIcons_0: {fileID: 0} switchSmallIcons_1: {fileID: 0} switchSmallIcons_2: {fileID: 0} @@ -373,6 +639,7 @@ PlayerSettings: switchSmallIcons_12: {fileID: 0} switchSmallIcons_13: {fileID: 0} switchSmallIcons_14: {fileID: 0} + switchSmallIcons_15: {fileID: 0} switchManualHTML: switchAccessibleURLs: switchLegalInformation: @@ -404,6 +671,7 @@ PlayerSettings: switchRatingsInt_9: 0 switchRatingsInt_10: 0 switchRatingsInt_11: 0 + switchRatingsInt_12: 0 switchLocalCommunicationIds_0: switchLocalCommunicationIds_1: switchLocalCommunicationIds_2: @@ -434,6 +702,11 @@ PlayerSettings: switchSocketInitializeEnabled: 1 switchNetworkInterfaceManagerInitializeEnabled: 1 switchPlayerConnectionEnabled: 1 + switchUseNewStyleFilepaths: 0 + switchUseMicroSleepForYield: 1 + switchEnableRamDiskSupport: 0 + switchMicroSleepForYieldTime: 25 + switchRamDiskSpaceSize: 12 ps4NPAgeRating: 12 ps4NPTitleSecret: ps4NPTrophyPackPath: @@ -460,6 +733,7 @@ PlayerSettings: ps4ShareFilePath: ps4ShareOverlayImagePath: ps4PrivacyGuardImagePath: + ps4ExtraSceSysFile: ps4NPtitleDatPath: ps4RemotePlayKeyAssignment: -1 ps4RemotePlayKeyMappingDir: @@ -485,6 +759,7 @@ PlayerSettings: ps4UseResolutionFallback: 0 ps4ReprojectionSupport: 0 ps4UseAudio3dBackend: 0 + ps4UseLowGarlicFragmentationMode: 1 ps4SocialScreenEnabled: 0 ps4ScriptOptimizationLevel: 0 ps4Audio3dVirtualSpeakerCount: 14 @@ -501,8 +776,11 @@ PlayerSettings: ps4disableAutoHideSplash: 0 ps4videoRecordingFeaturesUsed: 0 ps4contentSearchFeaturesUsed: 0 + ps4CompatibilityPS5: 0 + ps4GPU800MHz: 1 ps4attribEyeToEyeDistanceSettingVR: 0 ps4IncludedModules: [] + ps4attribVROutputEnabled: 0 monoEnv: splashScreenBackgroundSourceLandscape: {fileID: 0} splashScreenBackgroundSourcePortrait: {fileID: 0} @@ -519,31 +797,38 @@ PlayerSettings: webGLAnalyzeBuildSize: 0 webGLUseEmbeddedResources: 0 webGLCompressionFormat: 1 + webGLWasmArithmeticExceptions: 0 webGLLinkerTarget: 1 webGLThreadsSupport: 0 - webGLWasmStreaming: 0 + webGLDecompressionFallback: 0 scriptingDefineSymbols: {} + additionalCompilerArguments: {} platformArchitecture: {} - scriptingBackend: {} + scriptingBackend: + Android: 1 il2cppCompilerConfiguration: {} managedStrippingLevel: {} incrementalIl2cppBuild: {} + suppressCommonWarnings: 1 allowUnsafeCode: 0 + useDeterministicCompilation: 1 + enableRoslynAnalyzers: 1 additionalIl2CppArgs: scriptingRuntimeVersion: 1 - gcIncremental: 0 + gcIncremental: 1 + assemblyVersionValidation: 1 gcWBarrierValidation: 0 apiCompatibilityLevelPerPlatform: {} m_RenderingPath: 1 m_MobileRenderingPath: 1 - metroPackageName: Template_2D + metroPackageName: Template_3D metroPackageVersion: metroCertificatePath: metroCertificatePassword: metroCertificateSubject: metroCertificateIssuer: metroCertificateNotAfter: 0000000000000000 - metroApplicationDescription: Template_2D + metroApplicationDescription: Template_3D wsaImages: {} metroTileShortName: metroTileShowName: 0 @@ -555,14 +840,14 @@ PlayerSettings: metroDefaultTileSize: 1 metroTileForegroundText: 2 metroTileBackgroundColor: {r: 0.13333334, g: 0.17254902, b: 0.21568628, a: 0} - metroSplashScreenBackgroundColor: {r: 0.12941177, g: 0.17254902, b: 0.21568628, - a: 1} + metroSplashScreenBackgroundColor: {r: 0.12941177, g: 0.17254902, b: 0.21568628, a: 1} metroSplashScreenUseBackgroundColor: 0 platformCapabilities: {} metroTargetDeviceFamilies: {} metroFTAName: metroFTAFileTypes: [] metroProtocolName: + vcxProjDefaultLanguage: XboxOneProductId: XboxOneUpdateKey: XboxOneSandboxId: @@ -581,18 +866,16 @@ PlayerSettings: XboxOneCapability: [] XboxOneGameRating: {} XboxOneIsContentPackage: 0 + XboxOneEnhancedXboxCompatibilityMode: 0 XboxOneEnableGPUVariability: 1 XboxOneSockets: {} XboxOneSplashScreen: {fileID: 0} XboxOneAllowedProductIds: [] XboxOnePersistentLocalStorageSize: 0 XboxOneXTitleMemory: 8 - xboxOneScriptCompiler: 1 XboxOneOverrideIdentityName: - vrEditorSettings: - daydream: - daydreamIconForeground: {fileID: 0} - daydreamIconBackground: {fileID: 0} + XboxOneOverrideIdentityPublisher: + vrEditorSettings: {} cloudServicesEnabled: UNet: 1 luminIcon: @@ -606,19 +889,15 @@ PlayerSettings: luminVersion: m_VersionCode: 1 m_VersionName: - facebookSdkVersion: 7.9.4 - facebookAppId: - facebookCookies: 1 - facebookLogging: 1 - facebookStatus: 1 - facebookXfbml: 0 - facebookFrictionlessRequests: 1 apiCompatibilityLevel: 6 + activeInputHandler: 0 cloudProjectId: framebufferDepthMemorylessMode: 0 + qualitySettingsNames: [] projectName: organizationId: cloudEnabled: 0 - enableNativePlatformBackendsForNewInputSystem: 0 - disableOldInputManagerSupport: 0 legacyClampBlendShapeWeights: 0 + playerDataPath: + forceSRGBBlit: 1 + virtualTexturingSupportEnabled: 0 diff --git a/test-project/ProjectSettings/ProjectSettingsIl2cpp.asset b/test-project/ProjectSettings/ProjectSettingsIl2cpp.asset index 81fa1255..a5a1b4f9 100644 --- a/test-project/ProjectSettings/ProjectSettingsIl2cpp.asset +++ b/test-project/ProjectSettings/ProjectSettingsIl2cpp.asset @@ -3,8 +3,8 @@ --- !u!129 &1 PlayerSettings: m_ObjectHideFlags: 0 - serializedVersion: 22 - productGUID: d9e9dde8e7ed4cf4bac4c6f2dffe7ef4 + serializedVersion: 23 + productGUID: f3f6a917a3bba0046bb55998f8678f8c AndroidProfiler: 0 AndroidFilterTouchesWhenObscured: 0 AndroidEnableSustainedPerformanceMode: 0 @@ -12,8 +12,8 @@ PlayerSettings: targetDevice: 2 useOnDemandResources: 0 accelerometerFrequency: 60 - companyName: DefaultCompany - productName: simpletestproject + companyName: GameCI + productName: TestProject defaultCursor: {fileID: 0} cursorHotspot: {x: 0, y: 0} m_SplashScreenBackgroundColor: {r: 0.13725491, g: 0.12156863, b: 0.1254902, a: 1} @@ -42,8 +42,8 @@ PlayerSettings: m_SplashScreenLogos: [] m_VirtualRealitySplashScreen: {fileID: 0} m_HolographicTrackingLossScreen: {fileID: 0} - defaultScreenWidth: 1024 - defaultScreenHeight: 768 + defaultScreenWidth: 1920 + defaultScreenHeight: 1080 defaultScreenWidthWeb: 960 defaultScreenHeightWeb: 600 m_StereoRenderingPath: 0 @@ -66,7 +66,7 @@ PlayerSettings: disableDepthAndStencilBuffers: 0 androidStartInFullscreen: 1 androidRenderOutsideSafeArea: 1 - androidUseSwappy: 0 + androidUseSwappy: 1 androidBlitType: 0 androidResizableWindow: 0 androidDefaultWindowWidth: 1920 @@ -91,7 +91,7 @@ PlayerSettings: resizableWindow: 0 useMacAppStoreValidation: 0 macAppStoreCategory: public.app-category.games - gpuSkinning: 0 + gpuSkinning: 1 xboxPIXTextureCapture: 0 xboxEnableAvatar: 0 xboxEnableKinect: 0 @@ -125,7 +125,7 @@ PlayerSettings: stadiaTargetFramerate: 0 vulkanNumSwapchainBuffers: 3 vulkanEnableSetSRGBWrite: 0 - vulkanEnablePreTransform: 0 + vulkanEnablePreTransform: 1 vulkanEnableLateAcquireNextImage: 0 vulkanEnableCommandBufferRecycling: 1 m_SupportedAspectRatios: @@ -145,26 +145,29 @@ PlayerSettings: enable360StereoCapture: 0 isWsaHolographicRemotingEnabled: 0 enableFrameTimingStats: 0 + enableOpenGLProfilerGPURecorders: 1 useHDRDisplay: 0 D3DHDRBitDepth: 0 m_ColorGamuts: 00000000 targetPixelDensity: 30 resolutionScalingMode: 0 + resetResolutionOnWindowResize: 0 androidSupportedAspectRatio: 1 androidMaxAspectRatio: 2.1 applicationIdentifier: - Standalone: com.Company.ProductName - Android: com.DefaultCompany.simpletestproject + Android: com.GameCI.TestProject + Standalone: com.GameCI.TestProject + iPhone: com.GameCI.TestProject buildNumber: Standalone: 0 iPhone: 0 tvOS: 0 overrideDefaultApplicationIdentifier: 0 AndroidBundleVersionCode: 1 - AndroidMinSdkVersion: 19 - AndroidTargetSdkVersion: 0 + AndroidMinSdkVersion: 22 + AndroidTargetSdkVersion: 33 AndroidPreferredInstallLocation: 1 - aotOptions: + aotOptions: stripEngineCode: 1 iPhoneStrippingLevel: 0 iPhoneScriptCallOptimization: 0 @@ -204,7 +207,7 @@ PlayerSettings: rgba: 0 iOSLaunchScreenFillPct: 100 iOSLaunchScreenSize: 100 - iOSLaunchScreenCustomXibPath: + iOSLaunchScreenCustomXibPath: iOSLaunchScreeniPadType: 0 iOSLaunchScreeniPadImage: {fileID: 0} iOSLaunchScreeniPadBackgroundColor: @@ -212,20 +215,21 @@ PlayerSettings: rgba: 0 iOSLaunchScreeniPadFillPct: 100 iOSLaunchScreeniPadSize: 100 - iOSLaunchScreeniPadCustomXibPath: - iOSLaunchScreenCustomStoryboardPath: - iOSLaunchScreeniPadCustomStoryboardPath: + iOSLaunchScreeniPadCustomXibPath: + iOSLaunchScreenCustomStoryboardPath: + iOSLaunchScreeniPadCustomStoryboardPath: iOSDeviceRequirements: [] iOSURLSchemes: [] + macOSURLSchemes: [] iOSBackgroundModes: 0 iOSMetalForceHardShadows: 0 metalEditorSupport: 1 metalAPIValidation: 1 iOSRenderExtraFrameOnPause: 0 iosCopyPluginsCodeInsteadOfSymlink: 0 - appleDeveloperTeamID: - iOSManualSigningProvisioningProfileID: - tvOSManualSigningProvisioningProfileID: + appleDeveloperTeamID: + iOSManualSigningProvisioningProfileID: + tvOSManualSigningProvisioningProfileID: iOSManualSigningProvisioningProfileType: 0 tvOSManualSigningProvisioningProfileType: 0 appleEnableAutomaticSigning: 0 @@ -233,8 +237,8 @@ PlayerSettings: iOSAutomaticallyDetectAndAddCapabilities: 1 appleEnableProMotion: 0 shaderPrecisionModel: 0 - clonedFromGUID: 5f34be1353de5cf4398729fda238591b - templatePackageId: com.unity.template.2d@3.2.3 + clonedFromGUID: c0afd0d1d80e3634a9dac47e8a0426ea + templatePackageId: com.unity.template.3d@8.1.0 templateDefaultScene: Assets/Scenes/SampleScene.unity useCustomMainManifest: 0 useCustomLauncherManifest: 0 @@ -243,12 +247,12 @@ PlayerSettings: useCustomBaseGradleTemplate: 0 useCustomGradlePropertiesTemplate: 0 useCustomProguardFile: 0 - AndroidTargetArchitectures: 1 + AndroidTargetArchitectures: 3 AndroidTargetDevices: 0 AndroidSplashScreenScale: 0 androidSplashScreen: {fileID: 0} - AndroidKeystoreName: '{inproject}: ' - AndroidKeyaliasName: + AndroidKeystoreName: + AndroidKeyaliasName: AndroidBuildApkPerCpuArchitecture: 0 AndroidTVCompatibility: 0 AndroidIsGame: 1 @@ -268,42 +272,238 @@ PlayerSettings: AndroidValidateAppBundleSize: 1 AndroidAppBundleSizeToValidate: 150 m_BuildTargetIcons: [] - m_BuildTargetPlatformIcons: [] - m_BuildTargetBatching: [] + m_BuildTargetPlatformIcons: + - m_BuildTarget: Android + m_Icons: + - m_Textures: [] + m_Width: 432 + m_Height: 432 + m_Kind: 2 + m_SubKind: + - m_Textures: [] + m_Width: 324 + m_Height: 324 + m_Kind: 2 + m_SubKind: + - m_Textures: [] + m_Width: 216 + m_Height: 216 + m_Kind: 2 + m_SubKind: + - m_Textures: [] + m_Width: 162 + m_Height: 162 + m_Kind: 2 + m_SubKind: + - m_Textures: [] + m_Width: 108 + m_Height: 108 + m_Kind: 2 + m_SubKind: + - m_Textures: [] + m_Width: 81 + m_Height: 81 + m_Kind: 2 + m_SubKind: + - m_Textures: [] + m_Width: 192 + m_Height: 192 + m_Kind: 1 + m_SubKind: + - m_Textures: [] + m_Width: 144 + m_Height: 144 + m_Kind: 1 + m_SubKind: + - m_Textures: [] + m_Width: 96 + m_Height: 96 + m_Kind: 1 + m_SubKind: + - m_Textures: [] + m_Width: 72 + m_Height: 72 + m_Kind: 1 + m_SubKind: + - m_Textures: [] + m_Width: 48 + m_Height: 48 + m_Kind: 1 + m_SubKind: + - m_Textures: [] + m_Width: 36 + m_Height: 36 + m_Kind: 1 + m_SubKind: + - m_Textures: [] + m_Width: 192 + m_Height: 192 + m_Kind: 0 + m_SubKind: + - m_Textures: [] + m_Width: 144 + m_Height: 144 + m_Kind: 0 + m_SubKind: + - m_Textures: [] + m_Width: 96 + m_Height: 96 + m_Kind: 0 + m_SubKind: + - m_Textures: [] + m_Width: 72 + m_Height: 72 + m_Kind: 0 + m_SubKind: + - m_Textures: [] + m_Width: 48 + m_Height: 48 + m_Kind: 0 + m_SubKind: + - m_Textures: [] + m_Width: 36 + m_Height: 36 + m_Kind: 0 + m_SubKind: + - m_BuildTarget: iPhone + m_Icons: + - m_Textures: [] + m_Width: 180 + m_Height: 180 + m_Kind: 0 + m_SubKind: iPhone + - m_Textures: [] + m_Width: 120 + m_Height: 120 + m_Kind: 0 + m_SubKind: iPhone + - m_Textures: [] + m_Width: 167 + m_Height: 167 + m_Kind: 0 + m_SubKind: iPad + - m_Textures: [] + m_Width: 152 + m_Height: 152 + m_Kind: 0 + m_SubKind: iPad + - m_Textures: [] + m_Width: 76 + m_Height: 76 + m_Kind: 0 + m_SubKind: iPad + - m_Textures: [] + m_Width: 120 + m_Height: 120 + m_Kind: 3 + m_SubKind: iPhone + - m_Textures: [] + m_Width: 80 + m_Height: 80 + m_Kind: 3 + m_SubKind: iPhone + - m_Textures: [] + m_Width: 80 + m_Height: 80 + m_Kind: 3 + m_SubKind: iPad + - m_Textures: [] + m_Width: 40 + m_Height: 40 + m_Kind: 3 + m_SubKind: iPad + - m_Textures: [] + m_Width: 87 + m_Height: 87 + m_Kind: 1 + m_SubKind: iPhone + - m_Textures: [] + m_Width: 58 + m_Height: 58 + m_Kind: 1 + m_SubKind: iPhone + - m_Textures: [] + m_Width: 29 + m_Height: 29 + m_Kind: 1 + m_SubKind: iPhone + - m_Textures: [] + m_Width: 58 + m_Height: 58 + m_Kind: 1 + m_SubKind: iPad + - m_Textures: [] + m_Width: 29 + m_Height: 29 + m_Kind: 1 + m_SubKind: iPad + - m_Textures: [] + m_Width: 60 + m_Height: 60 + m_Kind: 2 + m_SubKind: iPhone + - m_Textures: [] + m_Width: 40 + m_Height: 40 + m_Kind: 2 + m_SubKind: iPhone + - m_Textures: [] + m_Width: 40 + m_Height: 40 + m_Kind: 2 + m_SubKind: iPad + - m_Textures: [] + m_Width: 20 + m_Height: 20 + m_Kind: 2 + m_SubKind: iPad + - m_Textures: [] + m_Width: 1024 + m_Height: 1024 + m_Kind: 4 + m_SubKind: App Store + m_BuildTargetBatching: + - m_BuildTarget: Standalone + m_StaticBatching: 1 + m_DynamicBatching: 0 + - m_BuildTarget: tvOS + m_StaticBatching: 1 + m_DynamicBatching: 0 + - m_BuildTarget: Android + m_StaticBatching: 1 + m_DynamicBatching: 0 + - m_BuildTarget: iPhone + m_StaticBatching: 1 + m_DynamicBatching: 0 + - m_BuildTarget: WebGL + m_StaticBatching: 0 + m_DynamicBatching: 0 m_BuildTargetGraphicsJobs: - - m_BuildTarget: GameCoreScarlettSupport - m_GraphicsJobs: 0 - - m_BuildTarget: Switch - m_GraphicsJobs: 0 - - m_BuildTarget: iOSSupport - m_GraphicsJobs: 0 - - m_BuildTarget: LuminSupport - m_GraphicsJobs: 0 - m_BuildTarget: MacStandaloneSupport m_GraphicsJobs: 0 - - m_BuildTarget: PS5Player - m_GraphicsJobs: 0 - - m_BuildTarget: WebGLSupport - m_GraphicsJobs: 0 + - m_BuildTarget: Switch + m_GraphicsJobs: 1 + - m_BuildTarget: MetroSupport + m_GraphicsJobs: 1 - m_BuildTarget: AppleTVSupport m_GraphicsJobs: 0 - - m_BuildTarget: GameCoreXboxOneSupport - m_GraphicsJobs: 0 - - m_BuildTarget: CloudRendering + - m_BuildTarget: BJMSupport + m_GraphicsJobs: 1 + - m_BuildTarget: LinuxStandaloneSupport + m_GraphicsJobs: 1 + - m_BuildTarget: PS4Player + m_GraphicsJobs: 1 + - m_BuildTarget: iOSSupport m_GraphicsJobs: 0 - m_BuildTarget: WindowsStandaloneSupport - m_GraphicsJobs: 0 - - m_BuildTarget: PS4Player - m_GraphicsJobs: 0 - - m_BuildTarget: MetroSupport + m_GraphicsJobs: 1 + - m_BuildTarget: XboxOnePlayer + m_GraphicsJobs: 1 + - m_BuildTarget: LuminSupport m_GraphicsJobs: 0 - m_BuildTarget: AndroidPlayer m_GraphicsJobs: 0 - - m_BuildTarget: BJMSupport - m_GraphicsJobs: 0 - - m_BuildTarget: LinuxStandaloneSupport - m_GraphicsJobs: 0 - - m_BuildTarget: XboxOnePlayer + - m_BuildTarget: WebGLSupport m_GraphicsJobs: 0 m_BuildTargetGraphicsJobMode: - m_BuildTarget: PS4Player @@ -313,11 +513,22 @@ PlayerSettings: m_BuildTargetGraphicsAPIs: - m_BuildTarget: AndroidPlayer m_APIs: 150000000b000000 - m_Automatic: 0 + m_Automatic: 1 - m_BuildTarget: iOSSupport m_APIs: 10000000 m_Automatic: 1 - m_BuildTargetVRSettings: [] + - m_BuildTarget: AppleTVSupport + m_APIs: 10000000 + m_Automatic: 1 + - m_BuildTarget: WebGLSupport + m_APIs: 0b000000 + m_Automatic: 1 + m_BuildTargetVRSettings: + - m_BuildTarget: Standalone + m_Enabled: 0 + m_Devices: + - Oculus + - OpenVR openGLRequireES31: 0 openGLRequireES31AEP: 0 openGLRequireES32: 0 @@ -326,61 +537,77 @@ PlayerSettings: Android: 1 iPhone: 1 tvOS: 1 - m_BuildTargetGroupLightmapEncodingQuality: [] + m_BuildTargetGroupLightmapEncodingQuality: + - m_BuildTarget: Android + m_EncodingQuality: 1 + - m_BuildTarget: iPhone + m_EncodingQuality: 1 + - m_BuildTarget: tvOS + m_EncodingQuality: 1 m_BuildTargetGroupLightmapSettings: [] - m_BuildTargetNormalMapEncoding: [] + m_BuildTargetNormalMapEncoding: + - m_BuildTarget: Android + m_Encoding: 1 + - m_BuildTarget: iPhone + m_Encoding: 1 + - m_BuildTarget: tvOS + m_Encoding: 1 + m_BuildTargetDefaultTextureCompressionFormat: + - m_BuildTarget: Android + m_Format: 3 playModeTestRunnerEnabled: 0 runPlayModeTestAsEditModeTest: 0 actionOnDotNetUnhandledException: 1 enableInternalProfiler: 0 logObjCUncaughtExceptions: 1 enableCrashReportAPI: 0 - cameraUsageDescription: - locationUsageDescription: - microphoneUsageDescription: - bluetoothUsageDescription: - switchNMETAOverride: - switchNetLibKey: + cameraUsageDescription: + locationUsageDescription: + microphoneUsageDescription: + bluetoothUsageDescription: + switchNMETAOverride: + switchNetLibKey: switchSocketMemoryPoolSize: 6144 switchSocketAllocatorPoolSize: 128 switchSocketConcurrencyLimit: 14 switchScreenResolutionBehavior: 2 switchUseCPUProfiler: 0 switchUseGOLDLinker: 0 + switchLTOSetting: 0 switchApplicationID: 0x01004b9000490000 - switchNSODependencies: - switchTitleNames_0: - switchTitleNames_1: - switchTitleNames_2: - switchTitleNames_3: - switchTitleNames_4: - switchTitleNames_5: - switchTitleNames_6: - switchTitleNames_7: - switchTitleNames_8: - switchTitleNames_9: - switchTitleNames_10: - switchTitleNames_11: - switchTitleNames_12: - switchTitleNames_13: - switchTitleNames_14: - switchTitleNames_15: - switchPublisherNames_0: - switchPublisherNames_1: - switchPublisherNames_2: - switchPublisherNames_3: - switchPublisherNames_4: - switchPublisherNames_5: - switchPublisherNames_6: - switchPublisherNames_7: - switchPublisherNames_8: - switchPublisherNames_9: - switchPublisherNames_10: - switchPublisherNames_11: - switchPublisherNames_12: - switchPublisherNames_13: - switchPublisherNames_14: - switchPublisherNames_15: + switchNSODependencies: + switchTitleNames_0: + switchTitleNames_1: + switchTitleNames_2: + switchTitleNames_3: + switchTitleNames_4: + switchTitleNames_5: + switchTitleNames_6: + switchTitleNames_7: + switchTitleNames_8: + switchTitleNames_9: + switchTitleNames_10: + switchTitleNames_11: + switchTitleNames_12: + switchTitleNames_13: + switchTitleNames_14: + switchTitleNames_15: + switchPublisherNames_0: + switchPublisherNames_1: + switchPublisherNames_2: + switchPublisherNames_3: + switchPublisherNames_4: + switchPublisherNames_5: + switchPublisherNames_6: + switchPublisherNames_7: + switchPublisherNames_8: + switchPublisherNames_9: + switchPublisherNames_10: + switchPublisherNames_11: + switchPublisherNames_12: + switchPublisherNames_13: + switchPublisherNames_14: + switchPublisherNames_15: switchIcons_0: {fileID: 0} switchIcons_1: {fileID: 0} switchIcons_2: {fileID: 0} @@ -413,11 +640,11 @@ PlayerSettings: switchSmallIcons_13: {fileID: 0} switchSmallIcons_14: {fileID: 0} switchSmallIcons_15: {fileID: 0} - switchManualHTML: - switchAccessibleURLs: - switchLegalInformation: + switchManualHTML: + switchAccessibleURLs: + switchLegalInformation: switchMainThreadStackSize: 1048576 - switchPresenceGroupId: + switchPresenceGroupId: switchLogoHandling: 0 switchReleaseVersion: 0 switchDisplayVersion: 1.0.0 @@ -425,7 +652,7 @@ PlayerSettings: switchTouchScreenUsage: 0 switchSupportedLanguagesMask: 0 switchLogoType: 0 - switchApplicationErrorCodeCategory: + switchApplicationErrorCodeCategory: switchUserAccountSaveDataSize: 0 switchUserAccountSaveDataJournalSize: 0 switchApplicationAttribute: 0 @@ -445,14 +672,14 @@ PlayerSettings: switchRatingsInt_10: 0 switchRatingsInt_11: 0 switchRatingsInt_12: 0 - switchLocalCommunicationIds_0: - switchLocalCommunicationIds_1: - switchLocalCommunicationIds_2: - switchLocalCommunicationIds_3: - switchLocalCommunicationIds_4: - switchLocalCommunicationIds_5: - switchLocalCommunicationIds_6: - switchLocalCommunicationIds_7: + switchLocalCommunicationIds_0: + switchLocalCommunicationIds_1: + switchLocalCommunicationIds_2: + switchLocalCommunicationIds_3: + switchLocalCommunicationIds_4: + switchLocalCommunicationIds_5: + switchLocalCommunicationIds_6: + switchLocalCommunicationIds_7: switchParentalControl: 0 switchAllowsScreenshot: 1 switchAllowsVideoCapturing: 1 @@ -477,37 +704,39 @@ PlayerSettings: switchPlayerConnectionEnabled: 1 switchUseNewStyleFilepaths: 0 switchUseMicroSleepForYield: 1 + switchEnableRamDiskSupport: 0 switchMicroSleepForYieldTime: 25 + switchRamDiskSpaceSize: 12 ps4NPAgeRating: 12 - ps4NPTitleSecret: - ps4NPTrophyPackPath: + ps4NPTitleSecret: + ps4NPTrophyPackPath: ps4ParentalLevel: 11 ps4ContentID: ED1633-NPXX51362_00-0000000000000000 ps4Category: 0 ps4MasterVersion: 01.00 ps4AppVersion: 01.00 ps4AppType: 0 - ps4ParamSfxPath: + ps4ParamSfxPath: ps4VideoOutPixelFormat: 0 ps4VideoOutInitialWidth: 1920 ps4VideoOutBaseModeInitialWidth: 1920 ps4VideoOutReprojectionRate: 60 - ps4PronunciationXMLPath: - ps4PronunciationSIGPath: - ps4BackgroundImagePath: - ps4StartupImagePath: - ps4StartupImagesFolder: - ps4IconImagesFolder: - ps4SaveDataImagePath: - ps4SdkOverride: - ps4BGMPath: - ps4ShareFilePath: - ps4ShareOverlayImagePath: - ps4PrivacyGuardImagePath: - ps4ExtraSceSysFile: - ps4NPtitleDatPath: + ps4PronunciationXMLPath: + ps4PronunciationSIGPath: + ps4BackgroundImagePath: + ps4StartupImagePath: + ps4StartupImagesFolder: + ps4IconImagesFolder: + ps4SaveDataImagePath: + ps4SdkOverride: + ps4BGMPath: + ps4ShareFilePath: + ps4ShareOverlayImagePath: + ps4PrivacyGuardImagePath: + ps4ExtraSceSysFile: + ps4NPtitleDatPath: ps4RemotePlayKeyAssignment: -1 - ps4RemotePlayKeyMappingDir: + ps4RemotePlayKeyMappingDir: ps4PlayTogetherPlayerCount: 0 ps4EnterButtonAssignment: 1 ps4ApplicationParam1: 0 @@ -535,9 +764,9 @@ PlayerSettings: ps4ScriptOptimizationLevel: 0 ps4Audio3dVirtualSpeakerCount: 14 ps4attribCpuUsage: 0 - ps4PatchPkgPath: - ps4PatchLatestPkgPath: - ps4PatchChangeinfoPath: + ps4PatchPkgPath: + ps4PatchLatestPkgPath: + ps4PatchChangeinfoPath: ps4PatchDayOne: 0 ps4attribUserManagement: 0 ps4attribMoveSupport: 0 @@ -548,23 +777,22 @@ PlayerSettings: ps4videoRecordingFeaturesUsed: 0 ps4contentSearchFeaturesUsed: 0 ps4CompatibilityPS5: 0 - ps4AllowPS5Detection: 0 ps4GPU800MHz: 1 ps4attribEyeToEyeDistanceSettingVR: 0 ps4IncludedModules: [] ps4attribVROutputEnabled: 0 - monoEnv: + monoEnv: splashScreenBackgroundSourceLandscape: {fileID: 0} splashScreenBackgroundSourcePortrait: {fileID: 0} blurSplashScreenBackground: 1 - spritePackerPolicy: + spritePackerPolicy: webGLMemorySize: 16 webGLExceptionSupport: 1 webGLNameFilesAsHashes: 0 webGLDataCaching: 1 webGLDebugSymbols: 0 - webGLEmscriptenArgs: - webGLModulesDirectory: + webGLEmscriptenArgs: + webGLModulesDirectory: webGLTemplate: APPLICATION:Default webGLAnalyzeBuildSize: 0 webGLUseEmbeddedResources: 0 @@ -577,6 +805,7 @@ PlayerSettings: additionalCompilerArguments: {} platformArchitecture: {} scriptingBackend: + Android: 1 Standalone: 1 il2cppCompilerConfiguration: {} managedStrippingLevel: {} @@ -584,26 +813,25 @@ PlayerSettings: suppressCommonWarnings: 1 allowUnsafeCode: 0 useDeterministicCompilation: 1 - useReferenceAssemblies: 1 enableRoslynAnalyzers: 1 - additionalIl2CppArgs: + additionalIl2CppArgs: scriptingRuntimeVersion: 1 - gcIncremental: 0 + gcIncremental: 1 assemblyVersionValidation: 1 gcWBarrierValidation: 0 apiCompatibilityLevelPerPlatform: {} m_RenderingPath: 1 m_MobileRenderingPath: 1 - metroPackageName: Template2D - metroPackageVersion: 1.0.0.0 - metroCertificatePath: - metroCertificatePassword: - metroCertificateSubject: - metroCertificateIssuer: + metroPackageName: Template_3D + metroPackageVersion: + metroCertificatePath: + metroCertificatePassword: + metroCertificateSubject: + metroCertificateIssuer: metroCertificateNotAfter: 0000000000000000 - metroApplicationDescription: Template_2D + metroApplicationDescription: Template_3D wsaImages: {} - metroTileShortName: simple-test-project + metroTileShortName: metroTileShowName: 0 metroMediumTileShowName: 0 metroLargeTileShowName: 0 @@ -613,27 +841,27 @@ PlayerSettings: metroDefaultTileSize: 1 metroTileForegroundText: 2 metroTileBackgroundColor: {r: 0.13333334, g: 0.17254902, b: 0.21568628, a: 0} - metroSplashScreenBackgroundColor: {r: 0.12941177, g: 0.17254902, b: 0.21568628, - a: 1} + metroSplashScreenBackgroundColor: {r: 0.12941177, g: 0.17254902, b: 0.21568628, a: 1} metroSplashScreenUseBackgroundColor: 0 platformCapabilities: {} metroTargetDeviceFamilies: {} - metroFTAName: + metroFTAName: metroFTAFileTypes: [] - metroProtocolName: - XboxOneProductId: - XboxOneUpdateKey: - XboxOneSandboxId: - XboxOneContentId: - XboxOneTitleId: - XboxOneSCId: - XboxOneGameOsOverridePath: - XboxOnePackagingOverridePath: - XboxOneAppManifestOverridePath: + metroProtocolName: + vcxProjDefaultLanguage: + XboxOneProductId: + XboxOneUpdateKey: + XboxOneSandboxId: + XboxOneContentId: + XboxOneTitleId: + XboxOneSCId: + XboxOneGameOsOverridePath: + XboxOnePackagingOverridePath: + XboxOneAppManifestOverridePath: XboxOneVersion: 1.0.0.0 XboxOnePackageEncryption: 0 XboxOnePackageUpdateGranularity: 2 - XboxOneDescription: + XboxOneDescription: XboxOneLanguage: - enus XboxOneCapability: [] @@ -646,29 +874,31 @@ PlayerSettings: XboxOneAllowedProductIds: [] XboxOnePersistentLocalStorageSize: 0 XboxOneXTitleMemory: 8 - XboxOneOverrideIdentityName: - XboxOneOverrideIdentityPublisher: + XboxOneOverrideIdentityName: + XboxOneOverrideIdentityPublisher: vrEditorSettings: {} cloudServicesEnabled: UNet: 1 luminIcon: - m_Name: - m_ModelFolderPath: - m_PortalFolderPath: + m_Name: + m_ModelFolderPath: + m_PortalFolderPath: luminCert: - m_CertPath: + m_CertPath: m_SignPackage: 1 luminIsChannelApp: 0 luminVersion: m_VersionCode: 1 - m_VersionName: + m_VersionName: apiCompatibilityLevel: 6 activeInputHandler: 0 - cloudProjectId: + cloudProjectId: framebufferDepthMemorylessMode: 0 qualitySettingsNames: [] - projectName: - organizationId: + projectName: + organizationId: cloudEnabled: 0 legacyClampBlendShapeWeights: 0 + playerDataPath: + forceSRGBBlit: 1 virtualTexturingSupportEnabled: 0 diff --git a/test-project/ProjectSettings/ProjectVersion.txt b/test-project/ProjectSettings/ProjectVersion.txt index 87079c13..501a25e5 100644 --- a/test-project/ProjectSettings/ProjectVersion.txt +++ b/test-project/ProjectSettings/ProjectVersion.txt @@ -1,2 +1,2 @@ -m_EditorVersion: 2019.2.11f1 -m_EditorVersionWithRevision: 2019.2.11f1 (5f859a4cfee5) +m_EditorVersion: 2021.3.4f1 +m_EditorVersionWithRevision: 2021.3.4f1 (cb45f9cae8b7) diff --git a/test-project/ProjectSettings/QualitySettings.asset b/test-project/ProjectSettings/QualitySettings.asset index 4ae8c38e..7b7658d6 100644 --- a/test-project/ProjectSettings/QualitySettings.asset +++ b/test-project/ProjectSettings/QualitySettings.asset @@ -4,7 +4,7 @@ QualitySettings: m_ObjectHideFlags: 0 serializedVersion: 5 - m_CurrentQuality: 3 + m_CurrentQuality: 5 m_QualitySettings: - serializedVersion: 2 name: Very Low @@ -29,9 +29,16 @@ QualitySettings: vSyncCount: 0 lodBias: 0.3 maximumLODLevel: 0 + streamingMipmapsActive: 0 + streamingMipmapsAddAllCameras: 1 + streamingMipmapsMemoryBudget: 512 + streamingMipmapsRenderersPerFrame: 512 + streamingMipmapsMaxLevelReduction: 2 + streamingMipmapsMaxFileIORequests: 1024 particleRaycastBudget: 4 asyncUploadTimeSlice: 2 asyncUploadBufferSize: 16 + asyncUploadPersistentBuffer: 1 resolutionScalingFixedDPIFactor: 1 excludedTargetPlatforms: [] - serializedVersion: 2 @@ -57,15 +64,22 @@ QualitySettings: vSyncCount: 0 lodBias: 0.4 maximumLODLevel: 0 + streamingMipmapsActive: 0 + streamingMipmapsAddAllCameras: 1 + streamingMipmapsMemoryBudget: 512 + streamingMipmapsRenderersPerFrame: 512 + streamingMipmapsMaxLevelReduction: 2 + streamingMipmapsMaxFileIORequests: 1024 particleRaycastBudget: 16 asyncUploadTimeSlice: 2 asyncUploadBufferSize: 16 + asyncUploadPersistentBuffer: 1 resolutionScalingFixedDPIFactor: 1 excludedTargetPlatforms: [] - serializedVersion: 2 name: Medium pixelLightCount: 1 - shadows: 0 + shadows: 1 shadowResolution: 0 shadowProjection: 1 shadowCascades: 1 @@ -76,7 +90,7 @@ QualitySettings: shadowmaskMode: 0 blendWeights: 2 textureQuality: 0 - anisotropicTextures: 0 + anisotropicTextures: 1 antiAliasing: 0 softParticles: 0 softVegetation: 0 @@ -85,15 +99,22 @@ QualitySettings: vSyncCount: 1 lodBias: 0.7 maximumLODLevel: 0 + streamingMipmapsActive: 0 + streamingMipmapsAddAllCameras: 1 + streamingMipmapsMemoryBudget: 512 + streamingMipmapsRenderersPerFrame: 512 + streamingMipmapsMaxLevelReduction: 2 + streamingMipmapsMaxFileIORequests: 1024 particleRaycastBudget: 64 asyncUploadTimeSlice: 2 asyncUploadBufferSize: 16 + asyncUploadPersistentBuffer: 1 resolutionScalingFixedDPIFactor: 1 excludedTargetPlatforms: [] - serializedVersion: 2 name: High pixelLightCount: 2 - shadows: 0 + shadows: 2 shadowResolution: 1 shadowProjection: 1 shadowCascades: 2 @@ -104,24 +125,31 @@ QualitySettings: shadowmaskMode: 1 blendWeights: 2 textureQuality: 0 - anisotropicTextures: 0 + anisotropicTextures: 1 antiAliasing: 0 softParticles: 0 softVegetation: 1 - realtimeReflectionProbes: 0 - billboardsFaceCameraPosition: 0 + realtimeReflectionProbes: 1 + billboardsFaceCameraPosition: 1 vSyncCount: 1 lodBias: 1 maximumLODLevel: 0 + streamingMipmapsActive: 0 + streamingMipmapsAddAllCameras: 1 + streamingMipmapsMemoryBudget: 512 + streamingMipmapsRenderersPerFrame: 512 + streamingMipmapsMaxLevelReduction: 2 + streamingMipmapsMaxFileIORequests: 1024 particleRaycastBudget: 256 asyncUploadTimeSlice: 2 asyncUploadBufferSize: 16 + asyncUploadPersistentBuffer: 1 resolutionScalingFixedDPIFactor: 1 excludedTargetPlatforms: [] - serializedVersion: 2 name: Very High pixelLightCount: 3 - shadows: 0 + shadows: 2 shadowResolution: 2 shadowProjection: 1 shadowCascades: 2 @@ -132,25 +160,32 @@ QualitySettings: shadowmaskMode: 1 blendWeights: 4 textureQuality: 0 - anisotropicTextures: 0 - antiAliasing: 0 - softParticles: 0 + anisotropicTextures: 2 + antiAliasing: 2 + softParticles: 1 softVegetation: 1 - realtimeReflectionProbes: 0 - billboardsFaceCameraPosition: 0 + realtimeReflectionProbes: 1 + billboardsFaceCameraPosition: 1 vSyncCount: 1 lodBias: 1.5 maximumLODLevel: 0 + streamingMipmapsActive: 0 + streamingMipmapsAddAllCameras: 1 + streamingMipmapsMemoryBudget: 512 + streamingMipmapsRenderersPerFrame: 512 + streamingMipmapsMaxLevelReduction: 2 + streamingMipmapsMaxFileIORequests: 1024 particleRaycastBudget: 1024 asyncUploadTimeSlice: 2 asyncUploadBufferSize: 16 + asyncUploadPersistentBuffer: 1 resolutionScalingFixedDPIFactor: 1 excludedTargetPlatforms: [] - serializedVersion: 2 name: Ultra pixelLightCount: 4 - shadows: 0 - shadowResolution: 0 + shadows: 2 + shadowResolution: 2 shadowProjection: 1 shadowCascades: 4 shadowDistance: 150 @@ -160,31 +195,37 @@ QualitySettings: shadowmaskMode: 1 blendWeights: 4 textureQuality: 0 - anisotropicTextures: 0 - antiAliasing: 0 - softParticles: 0 + anisotropicTextures: 2 + antiAliasing: 2 + softParticles: 1 softVegetation: 1 - realtimeReflectionProbes: 0 - billboardsFaceCameraPosition: 0 + realtimeReflectionProbes: 1 + billboardsFaceCameraPosition: 1 vSyncCount: 1 lodBias: 2 maximumLODLevel: 0 + streamingMipmapsActive: 0 + streamingMipmapsAddAllCameras: 1 + streamingMipmapsMemoryBudget: 512 + streamingMipmapsRenderersPerFrame: 512 + streamingMipmapsMaxLevelReduction: 2 + streamingMipmapsMaxFileIORequests: 1024 particleRaycastBudget: 4096 asyncUploadTimeSlice: 2 asyncUploadBufferSize: 16 + asyncUploadPersistentBuffer: 1 resolutionScalingFixedDPIFactor: 1 excludedTargetPlatforms: [] m_PerPlatformDefaultQuality: Android: 2 + Lumin: 5 Nintendo 3DS: 5 Nintendo Switch: 5 PS4: 5 - PSM: 5 PSP2: 2 + Stadia: 5 Standalone: 5 - Tizen: 2 WebGL: 3 - WiiU: 5 Windows Store Apps: 5 XboxOne: 5 iPhone: 2 diff --git a/test-project/ProjectSettings/SceneTemplateSettings.json b/test-project/ProjectSettings/SceneTemplateSettings.json new file mode 100644 index 00000000..0062e5cd --- /dev/null +++ b/test-project/ProjectSettings/SceneTemplateSettings.json @@ -0,0 +1,167 @@ +{ + "templatePinStates": [], + "dependencyTypeInfos": [ + { + "userAdded": false, + "type": "UnityEngine.AnimationClip", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEditor.Animations.AnimatorController", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.AnimatorOverrideController", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEditor.Audio.AudioMixerController", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.ComputeShader", + "ignore": true, + "defaultInstantiationMode": 1, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.Cubemap", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.GameObject", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEditor.LightingDataAsset", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": false + }, + { + "userAdded": false, + "type": "UnityEngine.LightingSettings", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.Material", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEditor.MonoScript", + "ignore": true, + "defaultInstantiationMode": 1, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.PhysicMaterial", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.PhysicsMaterial2D", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.Rendering.PostProcessing.PostProcessProfile", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.Rendering.PostProcessing.PostProcessResources", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.Rendering.VolumeProfile", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEditor.SceneAsset", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": false + }, + { + "userAdded": false, + "type": "UnityEngine.Shader", + "ignore": true, + "defaultInstantiationMode": 1, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.ShaderVariantCollection", + "ignore": true, + "defaultInstantiationMode": 1, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.Texture", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.Texture2D", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + }, + { + "userAdded": false, + "type": "UnityEngine.Timeline.TimelineAsset", + "ignore": false, + "defaultInstantiationMode": 0, + "supportsModification": true + } + ], + "defaultDependencyTypeInfo": { + "userAdded": false, + "type": "", + "ignore": false, + "defaultInstantiationMode": 1, + "supportsModification": true + }, + "newSceneOverride": 0 +} diff --git a/test-project/ProjectSettings/TimeManager.asset b/test-project/ProjectSettings/TimeManager.asset index 06bcc6d2..558a017e 100644 --- a/test-project/ProjectSettings/TimeManager.asset +++ b/test-project/ProjectSettings/TimeManager.asset @@ -4,6 +4,6 @@ TimeManager: m_ObjectHideFlags: 0 Fixed Timestep: 0.02 - Maximum Allowed Timestep: 0.1 + Maximum Allowed Timestep: 0.33333334 m_TimeScale: 1 Maximum Particle Timestep: 0.03 diff --git a/test-project/ProjectSettings/UnityConnectSettings.asset b/test-project/ProjectSettings/UnityConnectSettings.asset index fa0b1465..6125b308 100644 --- a/test-project/ProjectSettings/UnityConnectSettings.asset +++ b/test-project/ProjectSettings/UnityConnectSettings.asset @@ -9,6 +9,7 @@ UnityConnectSettings: m_EventOldUrl: https://api.uca.cloud.unity3d.com/v1/events m_EventUrl: https://cdp.cloud.unity3d.com/v1/events m_ConfigUrl: https://config.uca.cloud.unity3d.com + m_DashboardUrl: https://dashboard.unity3d.com m_TestInitMode: 0 CrashReportingSettings: m_EventUrl: https://perf-events.cloud.unity3d.com diff --git a/test-project/ProjectSettings/VFXManager.asset b/test-project/ProjectSettings/VFXManager.asset index 0ce54343..3a95c98b 100644 --- a/test-project/ProjectSettings/VFXManager.asset +++ b/test-project/ProjectSettings/VFXManager.asset @@ -4,4 +4,9 @@ VFXManager: m_ObjectHideFlags: 0 m_IndirectShader: {fileID: 0} + m_CopyBufferShader: {fileID: 0} + m_SortShader: {fileID: 0} + m_StripUpdateShader: {fileID: 0} m_RenderPipeSettingsPath: + m_FixedTimeStep: 0.016666668 + m_MaxDeltaTime: 0.05 diff --git a/test-project/ProjectSettings/VersionControlSettings.asset b/test-project/ProjectSettings/VersionControlSettings.asset new file mode 100644 index 00000000..dca28814 --- /dev/null +++ b/test-project/ProjectSettings/VersionControlSettings.asset @@ -0,0 +1,8 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!890905787 &1 +VersionControlSettings: + m_ObjectHideFlags: 0 + m_Mode: Visible Meta Files + m_CollabEditorSettings: + inProgressEnabled: 1 diff --git a/test-project/ProjectSettings/boot.config b/test-project/ProjectSettings/boot.config new file mode 100644 index 00000000..e69de29b diff --git a/yarn.lock b/yarn.lock index 988766f0..5817d325 100644 --- a/yarn.lock +++ b/yarn.lock @@ -195,6 +195,14 @@ "@babel/highlight" "^7.22.10" chalk "^2.4.2" +"@babel/code-frame@^7.22.13": + version "7.22.13" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.22.13.tgz#e3c1c099402598483b7a8c46a721d1038803755e" + integrity sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w== + dependencies: + "@babel/highlight" "^7.22.13" + chalk "^2.4.2" + "@babel/compat-data@^7.22.9": version "7.22.9" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.22.9.tgz#71cdb00a1ce3a329ce4cbec3a44f9fef35669730" @@ -240,6 +248,16 @@ "@jridgewell/trace-mapping" "^0.3.17" jsesc "^2.5.1" +"@babel/generator@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.0.tgz#df5c386e2218be505b34837acbcb874d7a983420" + integrity sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g== + dependencies: + "@babel/types" "^7.23.0" + "@jridgewell/gen-mapping" "^0.3.2" + "@jridgewell/trace-mapping" "^0.3.17" + jsesc "^2.5.1" + "@babel/helper-compilation-targets@^7.22.10": version "7.22.10" resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.10.tgz#01d648bbc25dd88f513d862ee0df27b7d4e67024" @@ -251,18 +269,23 @@ lru-cache "^5.1.1" semver "^6.3.1" +"@babel/helper-environment-visitor@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167" + integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== + "@babel/helper-environment-visitor@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz#f06dd41b7c1f44e1f8da6c4055b41ab3a09a7e98" integrity sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q== -"@babel/helper-function-name@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz#ede300828905bb15e582c037162f99d5183af1be" - integrity sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ== +"@babel/helper-function-name@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz#1f9a3cdbd5b2698a670c30d2735f9af95ed52759" + integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw== dependencies: - "@babel/template" "^7.22.5" - "@babel/types" "^7.22.5" + "@babel/template" "^7.22.15" + "@babel/types" "^7.23.0" "@babel/helper-hoist-variables@^7.22.5": version "7.22.5" @@ -313,6 +336,11 @@ resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz#533f36457a25814cf1df6488523ad547d784a99f" integrity sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw== +"@babel/helper-validator-identifier@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0" + integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== + "@babel/helper-validator-identifier@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz#9544ef6a33999343c8740fa51350f30eeaaaf193" @@ -341,11 +369,25 @@ chalk "^2.4.2" js-tokens "^4.0.0" +"@babel/highlight@^7.22.13": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.22.20.tgz#4ca92b71d80554b01427815e06f2df965b9c1f54" + integrity sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg== + dependencies: + "@babel/helper-validator-identifier" "^7.22.20" + chalk "^2.4.2" + js-tokens "^4.0.0" + "@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.22.10", "@babel/parser@^7.22.5": version "7.22.10" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.22.10.tgz#e37634f9a12a1716136c44624ef54283cabd3f55" integrity sha512-lNbdGsQb9ekfsnjFGhEiF4hfFqGgfOP3H3d27re3n+CGhNuTSUEQdfWk556sTLNTloczcdM5TYF2LhzmDQKyvQ== +"@babel/parser@^7.22.15", "@babel/parser@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.0.tgz#da950e622420bf96ca0d0f2909cdddac3acd8719" + integrity sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw== + "@babel/plugin-syntax-async-generators@^7.8.4": version "7.8.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" @@ -444,6 +486,15 @@ dependencies: regenerator-runtime "^0.14.0" +"@babel/template@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.22.15.tgz#09576efc3830f0430f4548ef971dde1350ef2f38" + integrity sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w== + dependencies: + "@babel/code-frame" "^7.22.13" + "@babel/parser" "^7.22.15" + "@babel/types" "^7.22.15" + "@babel/template@^7.22.5", "@babel/template@^7.3.3": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.22.5.tgz#0c8c4d944509875849bd0344ff0050756eefc6ec" @@ -454,18 +505,18 @@ "@babel/types" "^7.22.5" "@babel/traverse@^7.22.10", "@babel/traverse@^7.7.2": - version "7.22.10" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.22.10.tgz#20252acb240e746d27c2e82b4484f199cf8141aa" - integrity sha512-Q/urqV4pRByiNNpb/f5OSv28ZlGJiFiiTh+GAHktbIrkPhPbl90+uW6SmpoLyZqutrg9AEaEf3Q/ZBRHBXgxig== + version "7.23.2" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.2.tgz#329c7a06735e144a506bdb2cad0268b7f46f4ad8" + integrity sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw== dependencies: - "@babel/code-frame" "^7.22.10" - "@babel/generator" "^7.22.10" - "@babel/helper-environment-visitor" "^7.22.5" - "@babel/helper-function-name" "^7.22.5" + "@babel/code-frame" "^7.22.13" + "@babel/generator" "^7.23.0" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" "@babel/helper-hoist-variables" "^7.22.5" "@babel/helper-split-export-declaration" "^7.22.6" - "@babel/parser" "^7.22.10" - "@babel/types" "^7.22.10" + "@babel/parser" "^7.23.0" + "@babel/types" "^7.23.0" debug "^4.1.0" globals "^11.1.0" @@ -478,6 +529,15 @@ "@babel/helper-validator-identifier" "^7.22.5" to-fast-properties "^2.0.0" +"@babel/types@^7.22.15", "@babel/types@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.0.tgz#8c1f020c9df0e737e4e247c0619f58c68458aaeb" + integrity sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg== + dependencies: + "@babel/helper-string-parser" "^7.22.5" + "@babel/helper-validator-identifier" "^7.22.20" + to-fast-properties "^2.0.0" + "@bcoe/v8-coverage@^0.2.3": version "0.2.3" resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" @@ -540,6 +600,11 @@ resolved "https://registry.yarnpkg.com/@evilmartians/lefthook/-/lefthook-1.4.9.tgz#3166b4cd663874a22d650964dfd512b87da812bd" integrity sha512-ZnROKwxDs8dJ+pmpXX2xHwU+Ui5P1Md5DMCIQsZCZHngtRb2jOwbUf7AaGJeYVoaC6J2Hb7IL2wYvwfwA2Oy3w== +"@fastify/busboy@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@fastify/busboy/-/busboy-2.0.0.tgz#f22824caff3ae506b18207bad4126dbc6ccdb6b8" + integrity "sha1-8igkyv865Qaxgge61BJtvGzNtrg= sha512-JUFJad5lv7jxj926GPgymrWQxxjPYuJNiNjNMzqT+HiuP6Vl3dk5xzG+8sTX96np0ZAluvaMzPsjhHZ5rNuNQQ==" + "@github/browserslist-config@^1.0.0": version "1.0.0" resolved "https://registry.yarnpkg.com/@github/browserslist-config/-/browserslist-config-1.0.0.tgz#952fe6da3e6b8ed6a368f3a1a08a9d2ef84e8d04" @@ -1988,13 +2053,6 @@ bundle-name@^3.0.0: dependencies: run-applescript "^5.0.0" -busboy@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/busboy/-/busboy-1.6.0.tgz#966ea36a9502e43cdb9146962523b92f531f6893" - integrity sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA== - dependencies: - streamsearch "^1.1.0" - byline@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/byline/-/byline-5.0.0.tgz#741c5216468eadc457b03410118ad77de8c1ddb1" @@ -5654,11 +5712,6 @@ stream-buffers@^3.0.2: resolved "https://registry.yarnpkg.com/stream-buffers/-/stream-buffers-3.0.2.tgz#5249005a8d5c2d00b3a32e6e0a6ea209dc4f3521" integrity sha512-DQi1h8VEBA/lURbSwFtEHnSTb9s2/pwLEaFuNhXwy1Dx3Sa0lOuYT2yNUr4/j2fs8oCAMANtrZ5OrPZtyVs3MQ== -streamsearch@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-1.1.0.tgz#404dd1e2247ca94af554e841a8ef0eaa238da764" - integrity sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg== - string-length@^4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a" @@ -6112,11 +6165,11 @@ underscore@^1.9.1: integrity sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A== undici@^5.14.0: - version "5.23.0" - resolved "https://registry.yarnpkg.com/undici/-/undici-5.23.0.tgz#e7bdb0ed42cebe7b7aca87ced53e6eaafb8f8ca0" - integrity sha512-1D7w+fvRsqlQ9GscLBwcAJinqcZGHUKjbOmXdlE/v8BvEGXjeWAax+341q44EuTcHXXnfyKNbKRq4Lg7OzhMmg== + version "5.27.2" + resolved "https://registry.yarnpkg.com/undici/-/undici-5.27.2.tgz#a270c563aea5b46cc0df2550523638c95c5d4411" + integrity "sha1-onDFY66ltGzA3yVQUjY4yVxdRBE= sha512-iS857PdOEy/y3wlM3yRp+6SNQQ6xU0mmZcwRSriqk+et/cwWAtwmIGf6WkoDN2EK/AMdCO/dfXzIwi+rFMrjjQ==" dependencies: - busboy "^1.6.0" + "@fastify/busboy" "^2.0.0" unity-changeset@^2.0.0: version "2.1.0"