Xcode fails to deserialize GirdGraph

Pretty much title.
Astar 4.3.28
Unity 2019.4.8f1
Here is the log:
Caught exception while deserializing data.

System.Exception: Could not find a type with the name 'Pathfinding.RulePerLayerModifications, AstarPathfindingProject, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null’

When trying to deserialize: {“inspectorGridMode”: “Grid”, “inspectorHexagonSizeMode”: “Width”, “aspectRatio”: 1, “isometricAngle”: 0, “uniformEdgeCosts”: false, “rotation”: { “x”: -90, “y”: 270, “z”: 90 }, “center”: { “x”: 0, “y”: 0, “z”: 0 }, “unclampedSize”: { “x”: 8, “y”: 8 }, “nodeSize”: 0.25, “collision”: {“type”: “Sphere”, “diameter”: 0.97, “height”: 2, “collisionOffset”: 0, “rayDirection”: “Both”, “mask”: { “value”: 942080 }, “heightMask”: { “value”: -1 }, “fromHeight”: 100, “thickRaycast”: false, “thickRaycastDiameter”: 1, “unwalkableWhenNoGround”: true, “use2D”: true, “collisionCheck”: true, “heightCheck”: true, “up”: { “x”: 0, “y”: 2.38418636E-07, “z”: -1 }}, “maxStepHeight”: 0.4, “maxStepUsesSlope”: true, “maxSlope”: 90, “erodeIterations”: 0, “erosionUseTags”: false, “erosionFirstTag”: 1, “neighbours”: “Eight”, “cutCorners”: true, “penaltyPositionOffset”: 0, “penaltyPosition”: false, “penaltyPositionFactor”: 1, “penaltyAngle”: false, “penaltyAngleFactor”: 100, “penaltyAnglePower”: 1, “rules”: {“rules”: [{"@type": “Pathfinding.RulePerLayerModifications, AstarPathfindingProject, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null”, “layerRules”: [{“layer”: 13, “action”: “MakeUnwalkable”, “tag”: 0}, {“layer”: 14, “action”: “MakeUnwalkable”, “tag”: 1}, {“layer”: 17, “action”: “SetTag”, “tag”: 2}, {“layer”: 18, “action”: “SetTag”, “tag”: 3}, {“layer”: 19, “action”: “SetTag”, “tag”: 2}], “enabled”: true}]}, “useJumpPointSearch”: false, “showMeshOutline”: true, “showNodeConnections”: true, “showMeshSurface”: true, “textureData”: {“enabled”: false, “source”: null, “factors”: [0, 0, 0], “channels”: [“None”, “None”, “None”]}, “guid”: { “value”: “2d7d6fb75a6b1b66-bc4680fcd6baddf1” }, “initialPenalty”: 0, “open”: true, “name”: “Grid Graph”, “drawGizmos”: true, “infoScreenOpen”: false, “serializedEditorSettings”: “{“locked”: true, “showExtra”: false, “pivot”: “Center”, “collisionPreviewOpen”: true}”}

at Pathfinding.Serialization.TinyJsonDeserializer.Deserialize (System.Type tp, System.Object populate) [0x00000] in <00000000000000000000000000000000>:0

at Pathfinding.Serialization.TinyJsonDeserializer.Deserialize (System.Type tp, System.Object populate) [0x00000] in <00000000000000000000000000000000>:0

at Pathfinding.Serialization.TinyJsonDeserializer.Deserialize (System.Type tp, System.Object populate) [0x00000] in <00000000000000000000000000000000>:0

at Pathfinding.Serialization.TinyJsonDeserializer.Deserialize (System.Type tp, System.Object populate) [0x00000] in <00000000000000000000000000000000>:0

at Pathfinding.Serialization.TinyJsonDeserializer.Deserialize (System.String text, System.Type type, System.Object populate, UnityEngine.GameObject contextRoot) [0x00000] in <00000000000000000000000000000000>:0

at Pathfinding.Serialization.AstarSerializer.DeserializeGraph (System.Int32 zipIndex, System.Int32 graphIndex, System.Type[] availableGraphTypes) [0x00000] in <00000000000000000000000000000000>:0

at Pathfinding.Serialization.AstarSerializer.DeserializeGraphs (System.Type[] availableGraphTypes) [0x00000] in <00000000000000000000000000000000>:0

at Pathfinding.AstarData.DeserializeGraphsPartAdditive (Pathfinding.Serialization.AstarSerializer sr) [0x00000] in <00000000000000000000000000000000>:0

at Pathfinding.AstarData.DeserializeGraphsAdditive (System.Byte[] bytes) [0x00000] in <00000000000000000000000000000000>:0

at Pathfinding.AstarData.DeserializeGraphs (System.Byte[] bytes) [0x00000] in <00000000000000000000000000000000>:0

at Pathfinding.AstarData.DeserializeGraphs () [0x00000] in <00000000000000000000000000000000>:0

at Pathfinding.AstarData.Awake () [0x00000] in <00000000000000000000000000000000>:0

at AstarPath.InitializeAstarData () [0x00000] in <00000000000000000000000000000000>:0

at AstarPath.Awake () [0x00000] in <00000000000000000000000000000000>:0

UnityEngine.DebugLogHandler:Internal_Log(LogType, LogOption, String, Object)

UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[])

UnityEngine.Logger:Log(LogType, Object)

UnityEngine.Debug:LogError(Object)

Pathfinding.AstarData:DeserializeGraphsAdditive(Byte[])

Pathfinding.AstarData:DeserializeGraphs(Byte[])

Pathfinding.AstarData:DeserializeGraphs()

Pathfinding.AstarData:Awake()

AstarPath:InitializeAstarData()

AstarPath:Awake()

Thanks!
A fix for this will be included in the next beta version.

You can work around it by disabling byte code stripping in your game.

1 Like