Are threads correct to use here?

Generally - everything the user can see has to be done on the main thread.

With that said, there are some tricks you can use. If you really have to update so many tiles that it affects your framerate, I’d advise to split the work into several frames. Update the tilemap row by row, for example. You might get a little animation out of it and call it a feature :smiley:

Here I talk about something similar: