My company recently switched to Plastic for our Unity projects.
If we enable the version control plugin of Plastic in Unity, we often face this problem:
A third-party plugin tries to write to the project settings of Unity, or wants to write to its own project setting asset and fails, because the corresponding assets is not checked out.
Is there a way to make the version control plugin automatically checkout these assets?
Or is there another way to deal with this issue?
Here's an example of an exception we get regularly:
Unable to checkout 'ProjectSettings\GvhProjectSettings.xml'. Project settings were not saved!
UnityEngine.Debug:LogError(Object)
Google.Logger:Log(String, LogLevel) (at Z:/tmp/tmp.cfOHeQ7pJN/third_party/unity/unity_jar_resolver/source/VersionHandlerImpl/src/Logger.cs:103)
Google.ProjectSettings:Save() (at Z:/tmp/tmp.cfOHeQ7pJN/third_party/unity/unity_jar_resolver/source/VersionHandlerImpl/src/ProjectSettings.cs:410)
Google.ProjectSettings:Set(String, Boolean) (at Z:/tmp/tmp.cfOHeQ7pJN/third_party/unity/unity_jar_resolver/source/VersionHandlerImpl/src/ProjectSettings.cs:119)
Google.<SetBool>c__AnonStorey1:<>m__0() (at Z:/tmp/tmp.cfOHeQ7pJN/third_party/unity/unity_jar_resolver/source/VersionHandlerImpl/src/ProjectSettings.cs:154)
Google.ProjectSettings:SavePreferences(SettingsSave, Action, Action) (at Z:/tmp/tmp.cfOHeQ7pJN/third_party/unity/unity_jar_resolver/source/VersionHandlerImpl/src/ProjectSettings.cs:135)
Google.ProjectSettings:SetBool(String, Boolean) (at Z:/tmp/tmp.cfOHeQ7pJN/third_party/unity/unity_jar_resolver/source/VersionHandlerImpl/src/ProjectSettings.cs:153)
GooglePlayServices.SettingsDialog:set_UseJetifier(Boolean) (at Z:/tmp/tmp.CbcF1w0aJu/third_party/unity/unity_jar_resolver/source/PlayServicesResolver/src/SettingsDialog.cs:225)
GooglePlayServices.PlayServicesResolver:CanEnableJetifierOrPromptUser(String) (at Z:/tmp/tmp.CbcF1w0aJu/third_party/unity/unity_jar_resolver/source/PlayServicesResolver/src/PlayServicesResolver.cs:2281)
GooglePlayServices.PlayServicesResolver:ResolveUnsafe(Action`1, Boolean, Boolean, Boolean) (at Z:/tmp/tmp.CbcF1w0aJu/third_party/unity/unity_jar_resolver/source/PlayServicesResolver/src/PlayServicesResolver.cs:1621)
GooglePlayServices.<ScheduleResolve>c__AnonStorey5:<>m__0() (at Z:/tmp/tmp.CbcF1w0aJu/third_party/unity/unity_jar_resolver/source/PlayServicesResolver/src/PlayServicesResolver.cs:1590)
GooglePlayServices.PlayServicesResolver:ExecuteNextResolveJob() (at Z:/tmp/tmp.CbcF1w0aJu/third_party/unity/unity_jar_resolver/source/PlayServicesResolver/src/PlayServicesResolver.cs:1449)
GooglePlayServices.PlayServicesResolver:ScheduleResolve(Boolean, Boolean, Action`1, Boolean) (at Z:/tmp/tmp.CbcF1w0aJu/third_party/unity/unity_jar_resolver/source/PlayServicesResolver/src/PlayServicesResolver.cs:1603)
GooglePlayServices.PlayServicesResolver:ExecuteMenuResolve(Boolean) (at Z:/tmp/tmp.CbcF1w0aJu/third_party/unity/unity_jar_resolver/source/PlayServicesResolver/src/PlayServicesResolver.cs:1810)
GooglePlayServices.PlayServicesResolver:MenuResolve() (at Z:/tmp/tmp.CbcF1w0aJu/third_party/unity/unity_jar_resolver/source/PlayServicesResolver/src/PlayServicesResolver.cs:1825)