After investigating this bug, it looks like the PlayMaker code is trying to use UnityEngine.NetworkPlayer, which is not supported in WebGL. Unity is not doing a very good job of reporting the error, IMO. If I dig into the Editor.log file, just above the TypeLoadException, I see this:
-----CompilerOutput:-stdout–exitcode: 1–compilationhadfailure: True–outfile: Temp/Assembly-CSharp.dll
The class UnityEngine.NetworkPlayer could not be loaded, used in UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
The class HutongGames.PlayMaker.FsmEventData could not be loaded, used in PlayMaker, Version=1.6.0.0, Culture=neutral, PublicKeyToken=null
The class HutongGames.PlayMaker.Fsm could not be loaded, used in PlayMaker, Version=1.6.0.0, Culture=neutral, PublicKeyToken=null
The class HutongGames.PlayMaker.Fsm could not be loaded, used in PlayMaker, Version=1.6.0.0, Culture=neutral, PublicKeyToken=null
The class HutongGames.PlayMaker.FsmState could not be loaded, used in PlayMaker, Version=1.6.0.0, Culture=neutral, PublicKeyToken=null
The class HutongGames.PlayMaker.Fsm could not be loaded, used in PlayMaker, Version=1.6.0.0, Culture=neutral, PublicKeyToken=null
The class BitConverter could not be loaded, used in PlayMaker, Version=1.6.0.0, Culture=neutral, PublicKeyToken=null
The class HutongGames.PlayMaker.FsmStateAction could not be loaded, used in PlayMaker, Version=1.6.0.0, Culture=neutral, PublicKeyToken=null
The class HutongGames.PlayMaker.Fsm could not be loaded, used in PlayMaker, Version=1.6.0.0, Culture=neutral, PublicKeyToken=null
The class PlayMakerFSM could not be loaded, used in PlayMaker, Version=1.6.0.0, Culture=neutral, PublicKeyToken=null
The class PlayMakerFSM could not be loaded, used in PlayMaker, Version=1.6.0.0, Culture=neutral, PublicKeyToken=null
In the PlayMaker code, this access to UnityEngine.NetworkPlayer is usually inside a #if like this:
#if !(UNITY_FLASH || UNITY_NACL || UNITY_METRO || UNITY_WP8)
I think that the code should be changed to this:
#if !(UNITY_FLASH || UNITY_NACL || UNITY_METRO || UNITY_WP8 || UNITY_WBEGL)
simply adding UNITY_WEBGL to the list of exclusions.
So at least initially, I don’t think this is a bug we can correct on the Unity side.