Search Unity

  1. If you have experience with import & exporting custom (.unitypackage) packages, please help complete a survey (open until May 15, 2024).
    Dismiss Notice
  2. Unity 6 Preview is now available. To find out what's new, have a look at our Unity 6 Preview blog post.
    Dismiss Notice

Serialization problem, Flash

Discussion in 'Flash' started by akasurreal, Dec 23, 2011.

  1. akasurreal

    akasurreal

    Joined:
    Jul 17, 2009
    Posts:
    442
    So after a ton of work I finally got one of my existing projects compiling to flash and running. But it's crashing on start because some of my serialized properties are null. i.e. properties I have assigned in the editor to my script like an AudioSource.

    I checked the flashlog.txt and got about 20 of these, here's the first couple:

    Code (csharp):
    1. illegal LocalPathID in persistentmanager
    2. LogCallStackError
    3.     at com.unity::UnityNative$/Ext_Flash_LogCallstack()
    4.     at com.unity::UnityNative$/_Z17DebugStringToFilePKciS0_iiii()
    5.     at com.unity::UnityNative$/_Z43LocalSerializedObjectIdentifierToInstanceIDRK31LocalSerializedObjectIdentifierRl()
    6.     at com.unity::UnityNative$/ReadPPtrAndReturnScriptingWrapper()
    7.     at UnityEngine.Serialization::SerializedStateReader/ReadUnityEngineObject()
    8.     at global::Main/Deserialize()[C:\Users\Michael\Documents\Unity Projects\Mummy's Treasure - 3.5\Temp\StagingArea\Data\ConvertedDotNetCode\global\Main.as:7965]
    9.     at UnityEngine.Serialization::ActionScriptDeserializer$/Deserialize()
    10.     at com.unity::UnityNative$/Ext_DeserializeMonoBehaviour()
    11.     at com.unity::UnityNative$/_ZN13MonoBehaviour23VirtualRedirectTransferER18StreamedBinaryReadILb0EE()
    12.     at com.unity::UnityNative$/_ZN14SerializedFile10ReadObjectEli18ObjectCreationModebPP8TypeTreePbPP6Object()
    13.     at com.unity::UnityNative$/_ZN17PersistentManager18ReadObjectThreadedEi()
    14.     at com.unity::UnityNative$/ReadPPtrAndReturnScriptingWrapper()
    15.     at UnityEngine.Serialization::SerializedStateReader/ReadUnityEngineObject()
    16.     at global::CameraDrag/Deserialize()[C:\Users\Michael\Documents\Unity Projects\Mummy's Treasure - 3.5\Temp\StagingArea\Data\ConvertedDotNetCode\global\CameraDrag.as:129]
    17.     at UnityEngine.Serialization::ActionScriptDeserializer$/Deserialize()
    18.     at com.unity::UnityNative$/Ext_DeserializeMonoBehaviour()
    19.     at com.unity::UnityNative$/_ZN13MonoBehaviour23VirtualRedirectTransferER18StreamedBinaryReadILb0EE()
    20.     at com.unity::UnityNative$/_ZN14SerializedFile10ReadObjectEli18ObjectCreationModebPP8TypeTreePbPP6Object()
    21.     at com.unity::UnityNative$/_ZN17PersistentManager26LoadFileCompletelyThreadedERKSsPlS2_ibP12LoadProgress()
    22.     at com.unity::UnityNative$/_ZN21PreloadLevelOperation7PerformEv()
    23.     at com.unity::UnityNative$/_ZN14PreloadManager26UpdatePreloadingSingleStepEv()
    24.     at com.unity::UnityNative$/NativeExt_LoadFirstLevel()
    25.     at com.unity::UnityContentInternal/loadFirstLevel()
    26.     at com.unity::UnityContent/onFrameInitStep()
    27. illegal LocalPathID in persistentmanager
    28.  
    29. (Filename: C:/BuildAgent/work/b0bcff80449a48aa/Runtime/Serialize/PersistentManager.cpp Line: 380)
    30.  
    31.  
    32. illegal LocalPathID in persistentmanager
    33. LogCallStackError
    34.     at com.unity::UnityNative$/Ext_Flash_LogCallstack()
    35.     at com.unity::UnityNative$/_Z17DebugStringToFilePKciS0_iiii()
    36.     at com.unity::UnityNative$/_Z43LocalSerializedObjectIdentifierToInstanceIDRK31LocalSerializedObjectIdentifierRl()
    37.     at com.unity::UnityNative$/ReadPPtrAndReturnScriptingWrapper()
    38.     at UnityEngine.Serialization::SerializedStateReader/ReadUnityEngineObject()
    39.     at global::Main/Deserialize()[C:\Users\Michael\Documents\Unity Projects\Mummy's Treasure - 3.5\Temp\StagingArea\Data\ConvertedDotNetCode\global\Main.as:7966]
    40.     at UnityEngine.Serialization::ActionScriptDeserializer$/Deserialize()
    41.     at com.unity::UnityNative$/Ext_DeserializeMonoBehaviour()
    42.     at com.unity::UnityNative$/_ZN13MonoBehaviour23VirtualRedirectTransferER18StreamedBinaryReadILb0EE()
    43.     at com.unity::UnityNative$/_ZN14SerializedFile10ReadObjectEli18ObjectCreationModebPP8TypeTreePbPP6Object()
    44.     at com.unity::UnityNative$/_ZN17PersistentManager18ReadObjectThreadedEi()
    45.     at com.unity::UnityNative$/ReadPPtrAndReturnScriptingWrapper()
    46.     at UnityEngine.Serialization::SerializedStateReader/ReadUnityEngineObject()
    47.     at global::CameraDrag/Deserialize()[C:\Users\Michael\Documents\Unity Projects\Mummy's Treasure - 3.5\Temp\StagingArea\Data\ConvertedDotNetCode\global\CameraDrag.as:129]
    48.     at UnityEngine.Serialization::ActionScriptDeserializer$/Deserialize()
    49.     at com.unity::UnityNative$/Ext_DeserializeMonoBehaviour()
    50.     at com.unity::UnityNative$/_ZN13MonoBehaviour23VirtualRedirectTransferER18StreamedBinaryReadILb0EE()
    51.     at com.unity::UnityNative$/_ZN14SerializedFile10ReadObjectEli18ObjectCreationModebPP8TypeTreePbPP6Object()
    52.     at com.unity::UnityNative$/_ZN17PersistentManager26LoadFileCompletelyThreadedERKSsPlS2_ibP12LoadProgress()
    53.     at com.unity::UnityNative$/_ZN21PreloadLevelOperation7PerformEv()
    54.     at com.unity::UnityNative$/_ZN14PreloadManager26UpdatePreloadingSingleStepEv()
    55.     at com.unity::UnityNative$/NativeExt_LoadFirstLevel()
    56.     at com.unity::UnityContentInternal/loadFirstLevel()
    57.     at com.unity::UnityContent/onFrameInitStep()
    58. illegal LocalPathID in persistentmanager
    59.  
    60. (Filename: C:/BuildAgent/work/b0bcff80449a48aa/Runtime/Serialize/PersistentManager.cpp Line: 380)
    61.  
    Edit:
    The line in my main.as that it's referencing is this:
    Code (csharp):
    1. public function Deserialize(reader: SerializedStateReader): void {
    2. ..
    3. ..
    4. 7965: this.Main$audioSource$ = reader.ReadUnityEngineObject() as AudioSource;
    where it's trying to deserialize one of my audiosources, which is one of the first objects to crash when I set the volume on it, flash says its a null object.

    I have no clue where to go at this point, seems out of my control?

    Couple other things:

    1) Apparently long.Parse and uint.Parse and Int64.Parse do not work. int.Parse float.Parse do.

    2) If you do two switch(string) statements, the AS converter appears to try to recreate the same variable and errors due to duplicate definition. I had to change some of my switch statements to big ugly IF ELSE to get around this one.
     
    Last edited: Dec 23, 2011
  2. akasurreal

    akasurreal

    Joined:
    Jul 17, 2009
    Posts:
    442
    Anyone else run into this or have ideas?
     
  3. Lucas Meijer_old

    Lucas Meijer_old

    Joined:
    Apr 5, 2008
    Posts:
    436
    Very interesting failure. If you submit this project as a bugreport and send me the casenumber I"ll investigate and see if in addition to fixing the problem, can provide a workaround for you
     
  4. akasurreal

    akasurreal

    Joined:
    Jul 17, 2009
    Posts:
    442
    Thanks, this is commercial IP already released on multiple platforms, is it going to be kept confidential/secure if I send it?
     
  5. Lucas Meijer_old

    Lucas Meijer_old

    Joined:
    Apr 5, 2008
    Posts:
    436
    All bugreports that we receive through the bugreoprter are handled with confidentiality. (the other ones as well, but obviously if you post a public link on this forum, other people might see it too).
     
  6. akasurreal

    akasurreal

    Joined:
    Jul 17, 2009
    Posts:
    442
    Ok, submitted bug with project and flashlog.txt. Case# 434904 Look forward to hearing more about this.
     
  7. Lucas Meijer_old

    Lucas Meijer_old

    Joined:
    Apr 5, 2008
    Posts:
    436
    I replied privately with several fixes workarounds for your project. I have it running smoothly locally here. Thanks for sending the bugreport!
     
  8. akasurreal

    akasurreal

    Joined:
    Jul 17, 2009
    Posts:
    442
    Thanks Lucas, after the two fixes you mentioned, I was able to get further than before, but now it's hanging at startup (but not crashing) with this error over and over repeatedly in flashlog.txt:

    Code (csharp):
    1. PlayerLoop called recursively!
    2. LogCallStackError
    3.     at com.unity::UnityNative$/Ext_Flash_LogCallstack()
    4.     at com.unity::UnityNative$/_Z17DebugStringToFilePKciS0_iiii()
    5.     at com.unity::UnityNative$/_Z10PlayerLoopbb()
    6.     at com.unity::UnityNative$/NativeExt_PlayerLoop()
    7.     at com.unity::UnityContentInternal/playerLoop()
    8.     at com.unity::UnityContent/onEnterFrame()
    9. PlayerLoop called recursively!
    10.  
    11. (Filename: C:/BuildAgent/work/b0bcff80449a48aa/Runtime/Misc/Player.cpp
    12. Line: 1217)
     
  9. akasurreal

    akasurreal

    Joined:
    Jul 17, 2009
    Posts:
    442
    Ok somehow this was related to the SpriteManager SortDrawingOrder() spriteDrawOrder.Sort(drawOrderComparer); even though the flashlog error gives no mention of any code location. I pieced that together from one of your e-mails. I commented that out and the game runs ok, WOO!, but then many of the sprites are hidden because of incorrect draw order.

    Not really sure how to fix it, but sounds like you did?

    Secondly, all our MP3 music doesn't play, only sound fx, is this a Flash exporter bug or something we can do?

    Edit: fixed MP3 issue by following this post:
    http://forum.unity3d.com/threads/116587-Audio-Problems?p=782009&viewfull=1#post782009
    But looks like calling .Pause() then .Play() restarts the song instead of resuming, assume this is a bug. Posted case# 435300
     
    Last edited: Dec 28, 2011
  10. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,775
    Do the work arounds by any chance work for the Mesh Deserializer my project errors with out of memory on this line in the Deserializer method of the generated actionscript version of one on my scripts.
    Code (csharp):
    1. this.MegaModifiers$mesh$ = reader.ReadUnityEngineObject() as Mesh;
     
  11. akasurreal

    akasurreal

    Joined:
    Jul 17, 2009
    Posts:
    442
    In our case, it was because we had a:

    public bool[] isTutorialDone;

    And Lucas said, "In the current public build, serialized arrays of bools are broken. You can work around this by either not serializing them (make them private or add [NonSerialized]), or by changing it to a int[] instead, and just use 1's or 0's."

    We just changed those to be non serialized because they don't need to be in our game:

    [System.NonSerialized] public bool[] isTutorialDone;

    What's confusing is that in the flashlog it was erroring on other objects serializing and not those bools, but that fixed it. So you may want to see if you are serializing any array types that may not be supported/broken in current flash exporter.
     
    Last edited: Dec 28, 2011
  12. ThinkTank

    ThinkTank

    Joined:
    Aug 5, 2010
    Posts:
    25
    I'm having similar issues with serialization in my project and trying to make a flash build.

    These are the types of errors that I'm getting:

    Error: Interface ISerializable was not found.
    Error: The definition of base class SerializationBinder was not found.
    VersionDeserializationBinder.as(10): col: 28 Error: Method marked override must override another method.
    Error: Call to a possibly undefined method Parse_String through a reference with static type Class.
     
  13. Lucas Meijer_old

    Lucas Meijer_old

    Joined:
    Apr 5, 2008
    Posts:
    436
    ThinkTank, your problems are of a different kind. You're using the .net ISerializable interface which unfortunattely is not yet supported in the flash export.
     
  14. akasurreal

    akasurreal

    Joined:
    Jul 17, 2009
    Posts:
    442
    Hey Lucas, you see my messages to you in this thread and on the bug case? Still not sure how to address the ArrayList.Sort issue, but sounded like you might have had a solution? I can't even see how to debug it since all I get is the endless loop posted above that does not point to any of my code.
     
  15. akasurreal

    akasurreal

    Joined:
    Jul 17, 2009
    Posts:
    442
    Update: This last issue was fixed by changing the ArrayList to a List<T>, but will also be fixed when 3.5 is out of beta.
     
  16. stknk

    stknk

    Joined:
    Feb 5, 2014
    Posts:
    3
    First of all: sorry for my bad english....

    I just ran into the same problem.

    I have this in my *.as

    Code (csharp):
    1. override public function Deserialize(reader: SerializedStateReader): void {
    2.             super.Deserialize(reader);
    3.             this.mobilecomm$playersStream$ = reader.ReadString();
    4.             this.mobilecomm$StartGame$ = reader.ReadString();
    5.             this.mobilecomm$SetOpponentPoint$ = reader.ReadString();
    6.             this.mobilecomm$StopGamePlay$ = reader.ReadString();
    7.             this.mobilecomm$MusicOff$ = reader.ReadString();
    8.             this.mobilecomm$MusicOn$ = reader.ReadString();
    9.             this.mobilecomm$SoundOff$ = reader.ReadString();
    10.             this.mobilecomm$SoundOn$ = reader.ReadString();
    11.             this.mobilecomm$StartSinglePlayerGame$ = reader.ReadString();
    12.             this.mobilecomm$SetSeed$ = reader.ReadString();
    13.             this.mobilecomm$GameMessage$ = reader.ReadString();
    14.             this.mobilecomm$SitOut$ = reader.ReadString();
    15.             this.mobilecomm$textstyle$ = reader.ReadGUIStyle();
    16.             this.mobilecomm$Message$ = reader.ReadString();
    17.             this.mobilecomm$fontForResult$ = Font(reader.ReadUnityEngineObject());
    18.             this.mobilecomm$MenuBackgroud$ = MenuElement(reader.ReadIDeserializable(new MenuElement().MenuElement_Constructor()));
    19.             this.mobilecomm$MenuPaper$ = MenuElement(reader.ReadIDeserializable(new MenuElement().MenuElement_Constructor()));
    20.             this.mobilecomm$MenuLogo$ = MenuElement(reader.ReadIDeserializable(new MenuElement().MenuElement_Constructor()));
    21.             this.mobilecomm$MenuTake5$ = MenuElement(reader.ReadIDeserializable(new MenuElement().MenuElement_Constructor()));
    22.             this.mobilecomm$MenuPlay$ = MenuElement(reader.ReadIDeserializable(new MenuElement().MenuElement_Constructor()));
    23.             this.mobilecomm$MenuHowToPlay$ = MenuElement(reader.ReadIDeserializable(new MenuElement().MenuElement_Constructor()));
    24.             this.mobilecomm$MenuHowToPlayDescription1$ = MenuElement(reader.ReadIDeserializable(new MenuElement().MenuElement_Constructor()));
    25.             this.mobilecomm$MenuHowToPlayNext$ = MenuElement(reader.ReadIDeserializable(new MenuElement().MenuElement_Constructor()));
    26.             this.mobilecomm$MenuHowToPlayBack$ = MenuElement(reader.ReadIDeserializable(new MenuElement().MenuElement_Constructor()));
    27.             this.mobilecomm$MenuOptions$ = MenuElement(reader.ReadIDeserializable(new MenuElement().MenuElement_Constructor()));
    28.             this.mobilecomm$MenuMusic$ = MenuElement(reader.ReadIDeserializable(new MenuElement().MenuElement_Constructor()));
    29.             this.mobilecomm$MenuSound$ = MenuElement(reader.ReadIDeserializable(new MenuElement().MenuElement_Constructor()));
    30.             this.mobilecomm$MenuBack$ = MenuElement(reader.ReadIDeserializable(new MenuElement().MenuElement_Constructor()));
    31.             this.mobilecomm$MenuBackHTP$ = MenuElement(reader.ReadIDeserializable(new MenuElement().MenuElement_Constructor()));
    32.             this.mobilecomm$MenuWon$ = MenuElement(reader.ReadIDeserializable(new MenuElement().MenuElement_Constructor()));
    33.             this.mobilecomm$MenuLost$ = MenuElement(reader.ReadIDeserializable(new MenuElement().MenuElement_Constructor()));
    34.             this.mobilecomm$MenuDrawn$ = MenuElement(reader.ReadIDeserializable(new MenuElement().MenuElement_Constructor()));
    35.             this.mobilecomm$MenuTimeIsUp$ = MenuElement(reader.ReadIDeserializable(new MenuElement().MenuElement_Constructor()));
    36.             this.mobilecomm$MenuWaitingForOpponent$ = MenuElement(reader.ReadIDeserializable(new MenuElement().MenuElement_Constructor()));
    37.             this.mobilecomm$MenuGameOver$ = MenuElement(reader.ReadIDeserializable(new MenuElement().MenuElement_Constructor()));
    38.             this.mobilecomm$MenuReady$ = MenuElement(reader.ReadIDeserializable(new MenuElement().MenuElement_Constructor()));
    39.             this.mobilecomm$MenuRematch$ = MenuElement(reader.ReadIDeserializable(new MenuElement().MenuElement_Constructor()));
    40.             this.mobilecomm$MenuResults$ = MenuElement(reader.ReadIDeserializable(new MenuElement().MenuElement_Constructor()));
    41.             this.mobilecomm$MenuResultsBorder$ = MenuElement(reader.ReadIDeserializable(new MenuElement().MenuElement_Constructor()));
    42.             this.mobilecomm$MenuResultDone$ = MenuElement(reader.ReadIDeserializable(new MenuElement().MenuElement_Constructor()));
    43.             this.mobilecomm$MenuApplyText$ = MenuElement(reader.ReadIDeserializable(new MenuElement().MenuElement_Constructor()));
    44.             this.mobilecomm$MenuApplyExit$ = MenuElement(reader.ReadIDeserializable(new MenuElement().MenuElement_Constructor()));
    45.             this.mobilecomm$MenuApplyNotExit$ = MenuElement(reader.ReadIDeserializable(new MenuElement().MenuElement_Constructor()));
    46.             this.mobilecomm$nextPage$ = Texture(reader.ReadUnityEngineObject());
    47.             this.mobilecomm$prewPage$ = Texture(reader.ReadUnityEngineObject());
    48.             this.mobilecomm$actPage$ = reader.ReadInt();
    49.             this.mobilecomm$HTP_HorizontalSize$ = reader.ReadDouble();
    50.             this.mobilecomm$HTP_VerticalSize$ = reader.ReadDouble();
    51.             this.mobilecomm$arrowSizeW$ = reader.ReadDouble();
    52.             this.mobilecomm$arrowSizeH$ = reader.ReadDouble();
    53.             this.mobilecomm$timerValue$ = reader.ReadInt();
    54.             this.mobilecomm$isMenuOpen$ = reader.ReadBool();
    55.             reader.Align();
    56.             this.mobilecomm$isStarted$ = reader.ReadBool();
    57.             reader.Align();
    58.             this.mobilecomm$music_on$ = reader.ReadBool();
    59.             reader.Align();
    60.             this.mobilecomm$sound_on$ = reader.ReadBool();
    61.             reader.Align();
    62.         }
    and this:

    Code (csharp):
    1. override public function Serialize(writer: SerializedStateWriter): void {
    2.             super.Serialize(writer);
    3.             writer.WriteString(this.mobilecomm$playersStream$);
    4.             writer.WriteString(this.mobilecomm$StartGame$);
    5.             writer.WriteString(this.mobilecomm$SetOpponentPoint$);
    6.             writer.WriteString(this.mobilecomm$StopGamePlay$);
    7.             writer.WriteString(this.mobilecomm$MusicOff$);
    8.             writer.WriteString(this.mobilecomm$MusicOn$);
    9.             writer.WriteString(this.mobilecomm$SoundOff$);
    10.             writer.WriteString(this.mobilecomm$SoundOn$);
    11.             writer.WriteString(this.mobilecomm$StartSinglePlayerGame$);
    12.             writer.WriteString(this.mobilecomm$SetSeed$);
    13.             writer.WriteString(this.mobilecomm$GameMessage$);
    14.             writer.WriteString(this.mobilecomm$SitOut$);
    15.             writer.WriteGUIStyle(this.mobilecomm$textstyle$);
    16.             writer.WriteString(this.mobilecomm$Message$);
    17.             writer.WriteUnityEngineObject(this.mobilecomm$fontForResult$);
    18.             writer.WriteIDeserializable(this.mobilecomm$MenuBackgroud$, MenuElement.$Type);
    19.             writer.WriteIDeserializable(this.mobilecomm$MenuPaper$, MenuElement.$Type);
    20.             writer.WriteIDeserializable(this.mobilecomm$MenuLogo$, MenuElement.$Type);
    21.             writer.WriteIDeserializable(this.mobilecomm$MenuTake5$, MenuElement.$Type);
    22.             writer.WriteIDeserializable(this.mobilecomm$MenuPlay$, MenuElement.$Type);
    23.             writer.WriteIDeserializable(this.mobilecomm$MenuHowToPlay$, MenuElement.$Type);
    24.             writer.WriteIDeserializable(this.mobilecomm$MenuHowToPlayDescription1$, MenuElement.$Type);
    25.             writer.WriteIDeserializable(this.mobilecomm$MenuHowToPlayNext$, MenuElement.$Type);
    26.             writer.WriteIDeserializable(this.mobilecomm$MenuHowToPlayBack$, MenuElement.$Type);
    27.             writer.WriteIDeserializable(this.mobilecomm$MenuOptions$, MenuElement.$Type);
    28.             writer.WriteIDeserializable(this.mobilecomm$MenuMusic$, MenuElement.$Type);
    29.             writer.WriteIDeserializable(this.mobilecomm$MenuSound$, MenuElement.$Type);
    30.             writer.WriteIDeserializable(this.mobilecomm$MenuBack$, MenuElement.$Type);
    31.             writer.WriteIDeserializable(this.mobilecomm$MenuBackHTP$, MenuElement.$Type);
    32.             writer.WriteIDeserializable(this.mobilecomm$MenuWon$, MenuElement.$Type);
    33.             writer.WriteIDeserializable(this.mobilecomm$MenuLost$, MenuElement.$Type);
    34.             writer.WriteIDeserializable(this.mobilecomm$MenuDrawn$, MenuElement.$Type);
    35.             writer.WriteIDeserializable(this.mobilecomm$MenuTimeIsUp$, MenuElement.$Type);
    36.             writer.WriteIDeserializable(this.mobilecomm$MenuWaitingForOpponent$, MenuElement.$Type);
    37.             writer.WriteIDeserializable(this.mobilecomm$MenuGameOver$, MenuElement.$Type);
    38.             writer.WriteIDeserializable(this.mobilecomm$MenuReady$, MenuElement.$Type);
    39.             writer.WriteIDeserializable(this.mobilecomm$MenuRematch$, MenuElement.$Type);
    40.             writer.WriteIDeserializable(this.mobilecomm$MenuResults$, MenuElement.$Type);
    41.             writer.WriteIDeserializable(this.mobilecomm$MenuResultsBorder$, MenuElement.$Type);
    42.             writer.WriteIDeserializable(this.mobilecomm$MenuResultDone$, MenuElement.$Type);
    43.             writer.WriteIDeserializable(this.mobilecomm$MenuApplyText$, MenuElement.$Type);
    44.             writer.WriteIDeserializable(this.mobilecomm$MenuApplyExit$, MenuElement.$Type);
    45.             writer.WriteIDeserializable(this.mobilecomm$MenuApplyNotExit$, MenuElement.$Type);
    46.             writer.WriteUnityEngineObject(this.mobilecomm$nextPage$);
    47.             writer.WriteUnityEngineObject(this.mobilecomm$prewPage$);
    48.             writer.WriteInt(this.mobilecomm$actPage$);
    49.             writer.WriteDouble(this.mobilecomm$HTP_HorizontalSize$);
    50.             writer.WriteDouble(this.mobilecomm$HTP_VerticalSize$);
    51.             writer.WriteDouble(this.mobilecomm$arrowSizeW$);
    52.             writer.WriteDouble(this.mobilecomm$arrowSizeH$);
    53.             writer.WriteInt(this.mobilecomm$timerValue$);
    54.             writer.WriteBool(this.mobilecomm$isMenuOpen$);
    55.             writer.Align();
    56.             writer.WriteBool(this.mobilecomm$isStarted$);
    57.             writer.Align();
    58.             writer.WriteBool(this.mobilecomm$music_on$);
    59.             writer.Align();
    60.             writer.WriteBool(this.mobilecomm$sound_on$);
    61.             writer.Align();
    62.         }
    and finally:

    Code (csharp):
    1. override public function RemapPPtrs(remapper: PPtrRemapper): void {
    2.             super.RemapPPtrs(remapper);
    3.             this.mobilecomm$fontForResult$ = Font(remapper.GetNewInstanceToReplaceOldInstance(Font(this.mobilecomm$fontForResult$)));
    4.             if (this.mobilecomm$MenuBackgroud$ != null) {
    5.                 this.mobilecomm$MenuBackgroud$.RemapPPtrs(remapper);
    6.             }
    7.             if (this.mobilecomm$MenuPaper$ != null) {
    8.                 this.mobilecomm$MenuPaper$.RemapPPtrs(remapper);
    9.             }
    10.             if (this.mobilecomm$MenuLogo$ != null) {
    11.                 this.mobilecomm$MenuLogo$.RemapPPtrs(remapper);
    12.             }
    13.             if (this.mobilecomm$MenuTake5$ != null) {
    14.                 this.mobilecomm$MenuTake5$.RemapPPtrs(remapper);
    15.             }
    16.             if (this.mobilecomm$MenuPlay$ != null) {
    17.                 this.mobilecomm$MenuPlay$.RemapPPtrs(remapper);
    18.             }
    19.             if (this.mobilecomm$MenuHowToPlay$ != null) {
    20.                 this.mobilecomm$MenuHowToPlay$.RemapPPtrs(remapper);
    21.             }
    22.             if (this.mobilecomm$MenuHowToPlayDescription1$ != null) {
    23.                 this.mobilecomm$MenuHowToPlayDescription1$.RemapPPtrs(remapper);
    24.             }
    25.             if (this.mobilecomm$MenuHowToPlayNext$ != null) {
    26.                 this.mobilecomm$MenuHowToPlayNext$.RemapPPtrs(remapper);
    27.             }
    28.             if (this.mobilecomm$MenuHowToPlayBack$ != null) {
    29.                 this.mobilecomm$MenuHowToPlayBack$.RemapPPtrs(remapper);
    30.             }
    31.             if (this.mobilecomm$MenuOptions$ != null) {
    32.                 this.mobilecomm$MenuOptions$.RemapPPtrs(remapper);
    33.             }
    34.             if (this.mobilecomm$MenuMusic$ != null) {
    35.                 this.mobilecomm$MenuMusic$.RemapPPtrs(remapper);
    36.             }
    37.             if (this.mobilecomm$MenuSound$ != null) {
    38.                 this.mobilecomm$MenuSound$.RemapPPtrs(remapper);
    39.             }
    40.             if (this.mobilecomm$MenuBack$ != null) {
    41.                 this.mobilecomm$MenuBack$.RemapPPtrs(remapper);
    42.             }
    43.             if (this.mobilecomm$MenuBackHTP$ != null) {
    44.                 this.mobilecomm$MenuBackHTP$.RemapPPtrs(remapper);
    45.             }
    46.             if (this.mobilecomm$MenuWon$ != null) {
    47.                 this.mobilecomm$MenuWon$.RemapPPtrs(remapper);
    48.             }
    49.             if (this.mobilecomm$MenuLost$ != null) {
    50.                 this.mobilecomm$MenuLost$.RemapPPtrs(remapper);
    51.             }
    52.             if (this.mobilecomm$MenuDrawn$ != null) {
    53.                 this.mobilecomm$MenuDrawn$.RemapPPtrs(remapper);
    54.             }
    55.             if (this.mobilecomm$MenuTimeIsUp$ != null) {
    56.                 this.mobilecomm$MenuTimeIsUp$.RemapPPtrs(remapper);
    57.             }
    58.             if (this.mobilecomm$MenuWaitingForOpponent$ != null) {
    59.                 this.mobilecomm$MenuWaitingForOpponent$.RemapPPtrs(remapper);
    60.             }
    61.             if (this.mobilecomm$MenuGameOver$ != null) {
    62.                 this.mobilecomm$MenuGameOver$.RemapPPtrs(remapper);
    63.             }
    64.             if (this.mobilecomm$MenuReady$ != null) {
    65.                 this.mobilecomm$MenuReady$.RemapPPtrs(remapper);
    66.             }
    67.             if (this.mobilecomm$MenuRematch$ != null) {
    68.                 this.mobilecomm$MenuRematch$.RemapPPtrs(remapper);
    69.             }
    70.             if (this.mobilecomm$MenuResults$ != null) {
    71.                 this.mobilecomm$MenuResults$.RemapPPtrs(remapper);
    72.             }
    73.             if (this.mobilecomm$MenuResultsBorder$ != null) {
    74.                 this.mobilecomm$MenuResultsBorder$.RemapPPtrs(remapper);
    75.             }
    76.             if (this.mobilecomm$MenuResultDone$ != null) {
    77.                 this.mobilecomm$MenuResultDone$.RemapPPtrs(remapper);
    78.             }
    79.             if (this.mobilecomm$MenuApplyText$ != null) {
    80.                 this.mobilecomm$MenuApplyText$.RemapPPtrs(remapper);
    81.             }
    82.             if (this.mobilecomm$MenuApplyExit$ != null) {
    83.                 this.mobilecomm$MenuApplyExit$.RemapPPtrs(remapper);
    84.             }
    85.             if (this.mobilecomm$MenuApplyNotExit$ != null) {
    86.                 this.mobilecomm$MenuApplyNotExit$.RemapPPtrs(remapper);
    87.             }
    88.             this.mobilecomm$nextPage$ = Texture(remapper.GetNewInstanceToReplaceOldInstance(Texture(this.mobilecomm$nextPage$)));
    89.             this.mobilecomm$prewPage$ = Texture(remapper.GetNewInstanceToReplaceOldInstance(Texture(this.mobilecomm$prewPage$)));
    90.         }
    this three mentioned in the errors as Method marked override must override another method.

    It perfectly works in Android and UnityWebplayer, only the flash version has this problem!

    If anyone know what causes the problem it would be great if he/she sends me a workaround or a solution!

    Manymanymany Thanks!!!