I don’t believe GameMaker offers any access to this - sprites marked for use as tilesets are sliced up and padded during compilation (meaning that the tileset counterpart isn’t a “sprite” and can’t be sprite_replace-d), and there isn’t a function to replace tileset images at runtime. It’s hard to think of an elegant way around this.