0
Need More Information

Disappearing macros outside play mode

Alessandro 3 weeks ago updated 6 days ago 5

I have an issue with my current project, after stopping play mode, all macros disappear and are not editable but re-appear in play mode.

Saving and restarting the project seems to fix this, but the issue reappears soon.

Unfortunately I don't have any steps to reproduce but I can share a link to the project if needed.

Video below.

(In the video the units are still visible/editable after play mode, that doesn't happen every time)

https://www.dropbox.com/s/t1m3qmrrmgeftei/Screen%20Recording%202020-01-29%20at%2011.38.20.mov?dl=0

Bolt Version:
1.4.11
Unity Version:
2019.1.5f1
Platform(s):
mac
Scripting Backend:
.NET Version (API Compatibility Level):

Got anything in console? First thing I'd try would be to upgrade Unity, the latest 2019.2 has a lot fixes since your version. 

Hi,
I just tried updating and it still occurs.
There is message in the console:

Failed to serialize behaviour.
System.Runtime.Serialization.SerializationException: Serialization of 'Bolt.Variables' failed. ---> System.ArgumentException: Only single dimensional arrays are supported for the requested action.
at System.Array.GetValue (System.Int32 index) [0x00009] in <567df3e0919241ba98db88bec4c6696f>:0
at System.Array.System.Collections.IList.get_Item (System.Int32 index) [0x00000] in <567df3e0919241ba98db88bec4c6696f>:0
at Ludiq.FullSerializer.fsArrayConverter.TrySerialize (System.Object instance, Ludiq.FullSerializer.fsData& serialized, System.Type storageType) [0x0002e] in <0c215dcd73b64ea081955bf35be307b8>:0
at Ludiq.FullSerializer.fsSerializer.InternalSerialize_4_Converter (System.Type overrideConverterType, System.Object instance, Ludiq.FullSerializer.fsData& data) [0x0000f] in <0c215dcd73b64ea081955bf35be307b8>:0
at Ludiq.FullSerializer.fsSerializer.InternalSerialize_3_ProcessVersioning (System.Type overrideConverterType, System.Object instance, Ludiq.FullSerializer.fsData& data) [0x00057] in <0c215dcd73b64ea081955bf35be307b8>:0
at Ludiq.FullSerializer.fsSerializer.InternalSerialize_2_Inheritance (System.Type storageType, System.Type overrideConverterType, System.Object instance, Ludiq.FullSerializer.fsData& data) [0x00000] in <0c215dcd73b64ea081955bf35be307b8>:0
at Ludiq.FullSerializer.fsSerializer.InternalSerialize_1_ProcessCycles (System.Type storageType, System.Type overrideConverterType, System.Object instance, Ludiq.FullSerializer.fsData& data) [0x00027] in <0c215dcd73b64ea081955bf35be307b8>:0
at Ludiq.FullSerializer.fsSerializer.TrySerialize (System.Type storageType, System.Type overrideConverterType, System.Object instance, Ludiq.FullSerializer.fsData& data) [0x0004f] in <0c215dcd73b64ea081955bf35be307b8>:0
at Ludiq.FullSerializer.fsReflectedConverter.TrySerialize (System.Object instance, Ludiq.FullSerializer.fsData& serialized, System.Type storageType) [0x00059] in <0c215dcd73b64ea081955bf35be307b8>:0
at Ludiq.FullSerializer.fsSerializer.InternalSerialize_4_Converter (System.Type overrideConverterType, System.Object instance, Ludiq.FullSerializer.fsData& data) [0x0000f] in <0c215dcd73b64ea081955bf35be307b8>:0
at Ludiq.FullSerializer.fsSerializer.InternalSerialize_3_ProcessVersioning (System.Type overrideConverterType, System.Object instance, Ludiq.FullSerializer.fsData& data) [0x0001d] in <0c215dcd73b64ea081955bf35be307b8>:0
at Ludiq.FullSerializer.fsSerializer.InternalSerialize_2_Inheritance (System.Type storageType, System.Type overrideConverterType, System.Object instance, Ludiq.FullSerializer.fsData& data) [0x00000] in <0c215dcd73b64ea081955bf35be307b8>:0
at Ludiq.FullSerializer.fsSerializer.InternalSerialize_1_ProcessCycles (System.Type storageType, System.Type overrideConverterType, System.Object instance, Ludiq.FullSerializer.fsData& data) [0x00081] in <0c215dcd73b64ea081955bf35be307b8>:0
at Ludiq.FullSerializer.fsSerializer.TrySerialize (System.Type storageType, System.Type overrideConverterType, System.Object instance, Ludiq.FullSerializer.fsData& data) [0x0004f] in <0c215dcd73b64ea081955bf35be307b8>:0
at Ludiq.FullSerializer.fsSerializer.TrySerialize (System.Type storageType, System.Object instance, Ludiq.FullSerializer.fsData& data) [0x00000] in <0c215dcd73b64ea081955bf35be307b8>:0
at Ludiq.FullSerializer.fsIEnumerableConverter.TrySerialize (System.Object instance_, Ludiq.FullSerializer.fsData& serialized, System.Type storageType) [0x0003c] in <0c215dcd73b64ea081955bf35be307b8>:0
at Ludiq.FullSerializer.fsSerializer.InternalSerialize_4_Converter (System.Type overrideConverterType, System.Object instance, Ludiq.FullSerializer.fsData& data) [0x0000f] in <0c215dcd73b64ea081955bf35be307b8>:0
at Ludiq.FullSerializer.fsSerializer.InternalSerialize_3_ProcessVersioning (System.Type overrideConverterType, System.Object instance, Ludiq.FullSerializer.fsData& data) [0x0001d] in <0c215dcd73b64ea081955bf35be307b8>:0
at Ludiq.FullSerializer.fsSerializer.InternalSerialize_2_Inheritance (System.Type storageType, System.Type overrideConverterType, System.Object instance, Ludiq.FullSerializer.fsData& data) [0x00000] in <0c215dcd73b64ea081955bf35be307b8>:0
at Ludiq.FullSerializer.fsSerializer.InternalSerialize_1_ProcessCycles (System.Type storageType, System.Type overrideConverterType, System.Object instance, Ludiq.FullSerializer.fsData& data) [0x00081] in <0c215dcd73b64ea081955bf35be307b8>:0
at Ludiq.FullSerializer.fsSerializer.TrySerialize (System.Type storageType, System.Type overrideConverterType, System.Object instance, Ludiq.FullSerializer.fsData& data) [0x0004f] in <0c215dcd73b64ea081955bf35be307b8>:0
at Ludiq.FullSerializer.fsReflectedConverter.TrySerialize (System.Object instance, Ludiq.FullSerializer.fsData& serialized, System.Type storageType) [0x00059] in <0c215dcd73b64ea081955bf35be307b8>:0
at Ludiq.FullSerializer.fsSerializer.InternalSerialize_4_Converter (System.Type overrideConverterType, System.Object instance, Ludiq.FullSerializer.fsData& data) [0x0000f] in <0c215dcd73b64ea081955bf35be307b8>:0
at Ludiq.FullSerializer.fsSerializer.InternalSerialize_3_ProcessVersioning (System.Type overrideConverterType, System.Object instance, Ludiq.FullSerializer.fsData& data) [0x0001d] in <0c215dcd73b64ea081955bf35be307b8>:0
at Ludiq.FullSerializer.fsSerializer.InternalSerialize_2_Inheritance (System.Type storageType, System.Type overrideConverterType, System.Object instance, Ludiq.FullSerializer.fsData& data) [0x00000] in <0c215dcd73b64ea081955bf35be307b8>:0
at Ludiq.FullSerializer.fsSerializer.InternalSerialize_1_ProcessCycles (System.Type storageType, System.Type overrideConverterType, System.Object instance, Ludiq.FullSerializer.fsData& data) [0x00081] in <0c215dcd73b64ea081955bf35be307b8>:0
at Ludiq.FullSerializer.fsSerializer.TrySerialize (System.Type storageType, System.Type overrideConverterType, System.Object instance, Ludiq.FullSerializer.fsData& data) [0x0004f] in <0c215dcd73b64ea081955bf35be307b8>:0
at Ludiq.FullSerializer.fsReflectedConverter.TrySerialize (System.Object instance, Ludiq.FullSerializer.fsData& serialized, System.Type storageType) [0x00059] in <0c215dcd73b64ea081955bf35be307b8>:0
at Ludiq.FullSerializer.fsSerializer.InternalSerialize_4_Converter (System.Type overrideConverterType, System.Object instance, Ludiq.FullSerializer.fsData& data) [0x0000f] in <0c215dcd73b64ea081955bf35be307b8>:0
at Ludiq.FullSerializer.fsSerializer.InternalSerialize_3_ProcessVersioning (System.Type overrideConverterType, System.Object instance, Ludiq.FullSerializer.fsData& data) [0x00057] in <0c215dcd73b64ea081955bf35be307b8>:0
at Ludiq.FullSerializer.fsSerializer.InternalSerialize_2_Inheritance (System.Type storageType, System.Type overrideConverterType, System.Object instance, Ludiq.FullSerializer.fsData& data) [0x00000] in <0c215dcd73b64ea081955bf35be307b8>:0
at Ludiq.FullSerializer.fsSerializer.InternalSerialize_1_ProcessCycles (System.Type storageType, System.Type overrideConverterType, System.Object instance, Ludiq.FullSerializer.fsData& data) [0x00081] in <0c215dcd73b64ea081955bf35be307b8>:0
at Ludiq.FullSerializer.fsSerializer.TrySerialize (System.Type storageType, System.Type overrideConverterType, System.Object instance, Ludiq.FullSerializer.fsData& data) [0x0004f] in <0c215dcd73b64ea081955bf35be307b8>:0
at Ludiq.Serialization.SerializeJson (Ludiq.FullSerializer.fsSerializer serializer, System.Object instance, System.Boolean forceReflected) [0x00015] in <0c215dcd73b64ea081955bf35be307b8>:0
at Ludiq.Serialization.Serialize (System.Object value, System.Boolean forceReflected) [0x0000c] in <0c215dcd73b64ea081955bf35be307b8>:0
--- End of inner exception stack trace ---
at Ludiq.Serialization.Serialize (System.Object value, System.Boolean forceReflected) [0x00066] in <0c215dcd73b64ea081955bf35be307b8>:0
at Ludiq.LudiqBehaviour.UnityEngine.ISerializationCallbackReceiver.OnBeforeSerialize () [0x00014] in <0c215dcd73b64ea081955bf35be307b8>:0
UnityEngine.Debug:LogError(Object, Object)
Ludiq.LudiqBehaviour:UnityEngine.ISerializationCallbackReceiver.OnBeforeSerialize()
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr) (at /Users/builduser/buildslave/unity/build/Modules/IMGUI/GUIUtility.cs:179)

Note: this also happens without the console warning above.

Need More Information

Hi Alessandro,

From the error log, it seems like you're trying to save a multidimensional array as a variable. That is not supported. Is that the case somehow? (Bolt shouldn't let you create them in the first place).

Hi Lazlo,

thanks for getting back to me, I managed to find a way around this and sorted it.