Basically right now there are two options for Project visibility. Either users can see all projects or users only see assigned projects. We are continually running into scenarios where we need more fine grain control. Below are just a few situations where we need more granular control over Project access.
In our studio, Producers should be able to see all projects unless that project is an NDA project. There currently isn't a way I can find to allow for this.
We are starting to look at using Shotgun as a global asset library interface. Essentially we'd like all Assets created on projects to be visible in our Global library if a status has been set on the Asset. This works fine except that users can't see Assets for projects they aren't assigned too. We can't just open up the permissions due to the NDA project issue and assigning all users to each project doesn't seem feasible.
One potential solution to this problem is to turn off "hide unassigned projects" and add an additional field to the Project entity that allows the Project to be visible at the global level. In our use case, NDA projects would always be set to "invisible" which would only allow visibility to users who are explicitly assigned to them.
Definitely open to other ideas on how to manage this but effectively we are looking for a way to allow projects to dictate or override their visibility to users.