Skip to content

Conversation

@SRombautsU
Copy link
Contributor

Update Visual Studio project from 2010 to 2019 (as an intermediate step for testing purpose) and then to 2022 (the only one still supported)
Update to Windows 10 SDK so that the plugin can benefit of Windows long path names going above 260 characters

Warning: this can only be merged and backported to Unity 6000.x versions, as Unity 2022.3 was still officially supporting Windows 7, as was discussed in the tickets above

…erver isn't built

Improve logging of overall test progress, as it now ends with
    FAILURE 45 Perforce Integrations Test(s) failed!
instead of 7 (the number of test suites)
Locate and use the latest installed version of Visual Studio's msbuild
This will enable long filename to go above the 260 char path from before Windows 10
…ith 'libeay32.lib' linking object as if no debug info
Windows 10 image with VS2019 (tools v142) Perl (but without Mercurial)

https://images.bokken.prd.ds.unity3d.com/image/desktop/win10-vs2019-cmake

Inheritance
- slough-ops/win10-vanilla
 - slough-ops/win10-base
  - desktop/win10-vs2019-cmake

Note that it does in fact install both
- vs-buildtools/2019
- vs-buildtools/2022
Build with Visual Studio 2022 and Windows 10 SDK for long path names
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR updates the build toolchain from Visual Studio 2010 to Visual Studio 2022 and Windows 10 SDK to enable support for long path names exceeding 260 characters. The changes modernize the build infrastructure while maintaining compatibility with Unity 6000.x versions.

  • Updates Visual Studio project files to use v143 platform toolset (VS 2022)
  • Replaces hardcoded VS 2010 paths with dynamic VS installation detection using vswhere.exe
  • Updates Perforce API libraries compiled with VS 2019/2022 toolchain

Reviewed Changes

Copilot reviewed 27 out of 27 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
msbuilder.cmd Replaces VS 2010 hardcoded paths with dynamic VS detection using vswhere.exe
P4Plugin/P4Plugin.vcxproj Updates to VS 2022 toolset (v143) and Windows 10 SDK
Test/TestServer/TestServer.vcxproj Updates to VS 2022 toolset (v143)
P4Plugin/Source/p4api/lib/win32/* Updated Perforce API libraries compiled with newer toolchain
P4Plugin/Source/P4PluginVersion.h Version bump to 1.4.0
.yamato/windows-build.yml Updates CI image to use VS 2022

Take into account Copilot review comment: RunTests() return the total number of tests in case of error, or "1" if no tests where found to never return 0 on error
@juliomaqueda juliomaqueda merged commit eb6afa0 into master Aug 5, 2025
8 checks passed
@juliomaqueda juliomaqueda deleted the update-vs2022 branch August 5, 2025 12:06
@SRombautsU SRombautsU changed the title Update to Visual Studio 2022 and Windows 10 SDK for long path names Update to Visual Studio 2022 and Windows 10 SDK for long paths Sep 30, 2025
@SRombautsU SRombautsU self-assigned this Oct 1, 2025
@SRombautsU
Copy link
Contributor Author

For the record, this is now part of the latest release https://github.com/Unity-Technologies/NativeVersionControlPlugins/releases/tag/1.4.0 that is going to be merged to unity trunk and published later down the line in Unity 6.4 (and be port back down to other branches)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants