Ideally you should use source control so you can see exactly what's changed, roll back changes etc.
NOTE: Projects saved with PlayMaker 1.8 cannot be opened with older versions of PlayMaker!
There is an Asset Store Bug where it can give you the wrong version of an asset after switching Unity versions. (Case 954335).
If you switch Unity versions and then see errors when importing Playmaker, check this thread for the solution. Basically you have to force the Asset Store to re-download PlayMaker when switching Unity versions.
If the Playmaker Menu is not available after importing Playmaker:
- Click the main menu bar. It doesn't always redraw after importing a package.
- Check the Unity Console for errors. Any errors (not just Playmaker errors) can stop editor extensions from compiling. Most of the time this is the problem. Fix any errors you find in the Unity Console. If you need help post the errors on the forums.
- Sometimes Anti-Virus software can interfere with Unity imports. Try disabling virus checkers while importing.
- Close the Playmaker Editor when importing updates. E.g., Load a default window layout.
- Check that you have disk space. Sometimes importing can fail if you're out of space.
- Restart Unity after importing. Sometimes Unity needs to restart.
- Restart your computer. Sometimes the OS gets in a bad state.
Other things to try: NOTE: Backup your project first!!
- Delete the project/Temp folder if it exists.
- Delete the project/Library/ScriptAssemblies folder and restart.
- Switch to another project, or make a new project, and reset the Layout to a default (e.g., Tall), then load the original project. Unity Tip: Hold Alt (windows) or Option (Mac) while Unity starts to open the Project Browser.
- Google Drive and Dropbox folders can interfere with Unity Projects. Try moving your project out of these "special" folders.
- Try re-downloading the Playmaker unitypackage, maybe it was corrupted on download. Unlikely but it can happen.
NOTE: You only need to remove old files if you have errors after importing an update.
CAUTION: There are some files in the PlayMaker folder that you might want to keep! Follow these steps carefully:
- Backup your project before proceeding!
- Move PlayMaker/Resources/PlayMakerGlobals.asset out of the PlayMaker folder, into another "Resources" Folder. It's important that it remains in a "Resources" folder as it is a special folder within Unity.
- Move PlayMaker/Templates folder outside of the PlayMaker folder if you have saved templates (this is the default folder for saved templates)
- Delete the PlayMaker/ folder
- Delete Plugins/PlayMaker/ folder if it exists
- Import the latest version of PlayMaker
- Restart Unity
- Globals are stored in PlayMaker/Resources/PlayMakerGlobals.asset. You have to manually add this asset to the exported unitypackage. See Import/Export Globals.
- NOTE: When you import PlayMakerGlobals.asset it will overwrite the current globals in the project. If you want to MERGE the globals into the project, use the Playmaker Export/Import Globals tools.
If you notice the Playmaker Editor slowing down with larger projects, try these workarounds:
- Collapse the Unity PlayMakerFSM Inspector foldout and use the FSM tab in the Playmaker editor instead.
- Uncheck "Draw Active State Labels" if you have many state labels slowing down the Scene View.
- Disable Realtime Error Checking in Preferences if error checking is slowing editor performance.
- Playmaker ships with iTween included. If you get errors about multiple iTween definitions, you probably have 2 copies of iTween in your project. Remove one to fix the errors.
Error building Player: SystemException: \'System.Net.Sockets\' are supported only with Unity Android Pro. Referenced from assembly \'Photon3Unity3D\'
Photon is not supported in iOS and Android Basic builds. I you do not have Unity Pro, delete the Photon Unity Networking folder.
If you don't have Unity Pro, you can get Photon Plus, which will allow you to publish without Unity pro.
- If restarting Unity doesn't work, try deleting 'Library\ScriptAssemblies' in the game project folder.
- If Unity hangs when loading the last open project, hold Alt (windows) or Option (Mac) while Unity starts to open the Project Browser.
- See also: http://answers.unity3d.com/questions/10086/unity-crashes-on-startup.html
To remove iTween from Playmaker:
- Delete the PlayMaker/Actions/iTween folder
- Delete PlayMaker/Include/iTweenFsmEvents.cs
- Delete the iTween folder
When running, the FSM has no active state (no State being green).
- Check that you're not looking at a prefab or template. These never have an active state since they do not exist in the scene.
- Click in the Graph View and hit F to frame the currently active state.
- Check if the PlayMakerFSM component on the GameObject is enabled.
- Check if the GameObject is active.
GameObject is not a valid component type, but the action was modified to account for this:
NOTE: Unity 5.3 now overwrites files instead of silently making a duplicate. In most cases this should work a lot better!
Unity 5 changed the way assets are imported from unitypackages. Instead of overwriting files, if internal asset GUIDs don't match, Unity creates a duplicate file, appending " 1" to the name. Older projects might have Playmaker files with different GUIDs (e.g., files copy/pasted in Finder/Explorer or downloaded from the forums), resulting in duplicate files when importing an update. These duplicate files generally cause errors and need to be removed!
If you import PlayMaker and find that you have duplicate files, please see "How to safely replace an old Playmaker installation" above.
You can manually re-assign the missing script in the Unity Inspector or use this guide to fix references across the whole project.
Unity 5 removed properties that allowed you to target common components on a GameObject (e.g., guiTexture, renderer, rigidbody...). If you targeted these properties with Get Property or Set Property actions Playmaker will try to update the paths, but you may need to re-enter the target. In the future, you should target components directly - drag the Component into the Target Object field NOT the GameObject.
Please check this thread for more information.