Playmaker Forum

Bug Reporting => PlayMaker Bug Reporting => Topic started by: allender on May 22, 2019, 03:28:24 PM

Title: Playmaker editor settings continually checked out
Post by: allender on May 22, 2019, 03:28:24 PM
We have updated to playmaker 1.9.0p15.  Unity 18.3.6f.  The playmaker EditorSettings assets is now checked out (via perforce) by every person on our team (around 15) and it looks like this will always be a problem given the current code.

the issue is here:
Code: [Select]
        // Get a unique signature for this project to avoid repeatedly auto updating the same project
        // NOTE: might be a better way to do this. Currently doesn't catch project changes like imports...
        private static string GetProjectSignature()
        {
            return Application.unityVersion + "__" + Application.dataPath + "__" + GetInformationalVersion(Assembly.GetExecutingAssembly()); ;
       

Application.dataPath might be different for any one of our developers.  This issue is really an annoyance, but given the size of our project, I'm trying to keep files that are checked out by people to only files that need to be checked out, because it confuses people.  For now, I am going to hack the PlayMaker code to spit out the same project signature and make sure that doesn't have any side effects.  But as per the comments on the function, if you all can find a different way to do what you are trying to do, that would be helpful for teams > 1 person.  Thanks.

[edit] - Even after hacking out the dataPath issue, the editor settings still get checked out every time because of this line in PlaymakerEditorStartup.cs

Code: [Select]
            // record the welcome screen version
            EditorStartupPrefs.WelcomeScreenVersion = PlayMakerWelcomeWindow.Version
       

even though the versions are the same, the editor file is saved every time this is run, which is every editor startup
Title: Re: Playmaker editor settings continually checked out
Post by: Alex Chouls on May 23, 2019, 08:47:05 AM
Thanks for reporting this, I'll look into how we can do this differently.

In your hacked file you could do this:

Code: [Select]
// record the welcome screen version
if (EditorStartupPrefs.WelcomeScreenVersion != PlayMakerWelcomeWindow.Version)
{
    EditorStartupPrefs.WelcomeScreenVersion = PlayMakerWelcomeWindow.Version
     

You could also exclude the file from perforce.