Yep!
So 2 things are going to be important here.
One of the things with endless runners before you get too deep, is they usually don’t move the player, they actually usually move the tiles or they reset the origin to avoid an issue called floating point precision going nuts, especially for mobile platforms. The further from the center of the world you get the worse the game breaks. 0,0,0 is the most stable location to work from. “Reality” starts breaking and numbers stop being exact past a certain distance. Unreal has multiple ways around it, and I’ll show you how to move the origin as it’ll be fine in this instance and you won’t have to mess with. I’d set the world location every 3 -5 kilometers from the last origin. Set World Origin Location | Unreal Engine Documentation
Then, for your tiling issue. The way I see it in your script as is, you’re spawning them directly on the location of the Mastertile derived class that you spawned already, one solution is to make sure all the tiles are uniform in size (which I’m sure they are) and add an offset so that they spawn in front of the location of the last spawned one, not directly on top of it so you don’t get that overlap. So after that Get World Location node, you can add a specific distance that is the distance between your tiles connection points through an add node before your setting of the next spawn location.
That and as of now you’re only running the for loop 9 times, which I assumed you did to test things quickly then stop.