Thank you for the answer!
instead of rawtile I used
var flags = square._tileMap.GetTileFlags(i, j, l);
var tileId = square._tileMap.GetTile(i, j, l);
(where i is tile x, j is tile y and l is layer, I discard tiles -1)
is it the same thing?
Also I didn't think about loadleveladditive, that sounds really good, also because it seems to have an async version.
My goal is to make a big map like metroid but of course just load the "rooms" (rooms are a collection of tilemaps).
I wanted to be able to have the whole map loaded in the editor at the same time to properly place everything but maybe I can just do the serialization thing for the editor and load the maps the way you said ingame instead.
I'l look into it and I'll post my serialization code for somebody who might stumble into this post later, if I do end up doing the serialization.