OK, so there’s the more detailed explanation of our situation:
We have two Untiy projects, one for the main game, and one for level editing/modding tools. We need to share some art assets, and some components, between the two projects and both need to match. This far we’ve been using Perforce, and have used their import+ mapping option to get that folder from the game project and map it into a folder inside the level editing project, writable from both sides, and that has worked great over the past years
However, we would be interested in moving to UVCS, but would need to come up with some kind of workable solution to sharing that folder between the two projects.
We moved the shared folder to be in a repository of it’s own, and set up wXlinks to map that into a folder in each project. So now submitting anything from project A will correctly submit them to that shared repository, and also does update the wXlink in project A to point to latest changeset. (menaing it’s not as fixeThe problem is that the wXlink in project B will not get updated the same way, so submitting any change to either project where any file might be in that wXlinked folder would require people to afterwards open the other workspace, edit the wXlink manually, submit that change, and pull the latest changes. If that’s not done the result is both a pretty cryptic error message (for anyone not familiar with what’s going on behind the scenes here), and also a situation were it’s possible for someone to edit files (including scenes, art assets, etc), which are supposed to be locked, and then ultimately being unable to check in their work in the end and loose it instead.
If we were only concerned with using the CLI client we could set up some scripts to check what the latest changeset number is on the other workspace, and then edit that wXlink automatically. However we need a setup that’s actually usable by non-programmers, like artists and designers, so it needs to be doable from the GUI client, and not require a checklist of extra manual steps in a different workspace for each check in.
We are very much aware that wXlinks pointing to a specific version is what makes sense in the most common use cases for this kind of feature, like linking to a stable version of a library etc, but are hoping there would be some way to make this work for our studio’s needs. It looks like some Plastic dev 11 years ago recognized this type of situations as a valid use case, and 2 out of the 3 changes needed at that time to make it less of an issue have indeed been implemented, but the last one, being able to configure an wXlink to point to head of the branch was never done. If the option of just setting the wXlink to point o head is for some reason strictly not agreeable to you, then just having some solution for automatically updating that wXlink in the other workspace to point to the correct version (like it already does for the workspace where you submit the change) would work fine for us as well.