Error when re-opening a project that has a Pixyz Ruleset

I am having a problem across multiple projects with Unity 6000.0.25f1 and PiXYZ 3.0.5. Whenever I create a Ruleset that references a local asset (for example a material) I get this issue when I restart the project and I can no longer open the Ruleset:

UnityException: GUIDToAssetPath_Internal is not allowed to be called during serialization, call it from OnEnable instead. Called from ScriptableObject ‘RuleSet’.
See “Script Serialization” page in the Unity Manual for further details.
UnityEditor.AssetDatabase.GUIDToAssetPath_Internal (UnityEditor.GUID guid) (at <9e3a60dbcacc4e77a9c6e1c14064183a>:0)
UnityEditor.AssetDatabase.GUIDToAssetPath (System.String guid) (at <9e3a60dbcacc4e77a9c6e1c14064183a>:0)
UnityEditor.PixyzPlugin4Unity.Actions.FieldInstanceSerializer.UnserializeAsset (System.String serializedValue, System.Type type) (at ./Library/PackageCache/com.unity.industry.toolkit/Editor/Actions/FieldInstanceSerializer.cs:46)
UnityEditor.PixyzPlugin4Unity.Actions.FieldInstanceSerializer.Unserialize (UnityEditor.PixyzPlugin4Unity.Actions.FieldInstance fieldInstance, System.Collections.Generic.Dictionary2[System.String,System.String]& properties, System.String path, System.Type type) (at ./Library/PackageCache/com.unity.industry.toolkit/Editor/Actions/FieldInstanceSerializer.cs:182) UnityEditor.PixyzPlugin4Unity.Actions.FieldInstance.DeserializeData (System.Collections.Generic.Dictionary2[TKey,TValue] pairs) (at ./Library/PackageCache/com.unity.industry.toolkit/Editor/Actions/FieldInstance.cs:160)
UnityEditor.PixyzPlugin4Unity.RuleEngine.RuleBlock.DeserializeParameters () (at ./Library/PackageCache/com.unity.industry.toolkit/Editor/RuleEngine/RuleBlock.cs:88)
UnityEditor.PixyzPlugin4Unity.RuleEngine.RuleBlock.get_Action () (at ./Library/PackageCache/com.unity.industry.toolkit/Editor/RuleEngine/RuleBlock.cs:30)
UnityEditor.PixyzPlugin4Unity.RuleEngine.Rule.AddOnFieldInstanceChangedCallback (UnityEditor.PixyzPlugin4Unity.RuleEngine.RuleBlock block) (at ./Library/PackageCache/com.unity.industry.toolkit/Editor/RuleEngine/Rule.cs:132)
UnityEditor.PixyzPlugin4Unity.RuleEngine.Rule.OnAfterDeserialize () (at ./Library/PackageCache/com.unity.industry.toolkit/Editor/RuleEngine/Rule.cs:126)

Hi @unity_6A7F2D1AB987E421991F,

Thanks for reaching us. This issue has been identified on our side too, and it has been fixed. The patch will be available with the release of the next version of the plugin (v3.1.0) early next year.

Sorry for the inconvenience, and thank you for taking the time to report your issue.
–Selim

Thanks very much! That is good news.

Do you have any more accurate ETA for the release though please? It makes the Ruleset feature unusable currently and we need it for several customer projects.

Thnaks again!

We are looking for a solution to make this patch available sooner than the 3.1 release. We keep you updated.

Hi @unity_6A7F2D1AB987E421991F,
We managed to create a new version 3.0.6 embedding the fix for this issue only, so you are not blocked anymore until the release of the 3.1.0
Early January, you should see the version 3.0.6 available in your asset manager.
I’ll keep you updated in this thread :+1:

Have a great end of week.
–Selim

Amazing! Thank you so much!

Good news it is already available in the package manager. Merry Christmas in advance :christmas_tree:

Sweet! Santa is gonna make some fancy PiXYZ Rulesets now! Thanks again!

2 Likes