Bolt 2.0.0a4 - Error import of aot collections

Iskander Karim 3 years ago updated by Lazlo Bonin (Lead Developer) 2 years ago 3

I do not know how deep the rabbit hole is in this case, but import of machines with aot list and aot dictionary is not perceived correctly by the fourth alpha.

Simple reproduction instructions:

1. Create a flow macro in a clean project with bolt 2.0.0a2 (a3 is probably the same)

2. Put in the graph variables aot dictionary or aot list. In my case, list contained int, dictionary: key was int, value was vector 3.

3. Copy, import to the project with alpha 4. Exporting to a custom package also does not save it.

4. Emptiness.

What is strange, even very much - in the transition between projects, my project with alpha 2 loses all the graphs and variables. Without any interaction between it and a4. But a simple reimport completely restores them. However, an error with aot collections is not solved by reimport.

With scene variable, which in my case also contain aot collections, Odin warns in the console that it will not serialize code due to the threat of data loss. They are displayed empty, but an error occurs in the console every time. Also, i had two graphs that contained corrupt macro and they failed with it. At the same time, all obsolete units responsible for handling collections are displayed correctly.

Bolt Version:
Unity Version:
Scripting Backend:
.NET Version (API Compatibility Level):
Bolt 2
Satisfaction mark by Iskander Karim 2 years ago
Pending Review

Hi Iskander Karim, thanks for the report.

It seems that Odin Serializer doesn't support our legacy AotList / AotDictionary collections well. I'll make sure to add custom formatters for them.

Fixed in Alpha

Indeed, Odin wasn't handling those properly.

Fixed for Alpha 5.