Update:
Ive had a lot of help, and im happy with where i am so far.
https://cdn.discordapp.com/attachments/1272092288620822548/1274108434811453470/2024-08-16_13-50-42.mp4?ex=66c10d72&is=66bfbbf2&hm=00a43e9f65fbe07c2078aa9ac018d1100056e0c6e8bcf2e111c48a7871282517&
An overview of the project:
My cell generator actor spawns a grid of cells, with each cell dynamically placed based on where the cell generator is, and where the cell before it was placed. It stores a reference to each cell inside its cell array.
Then, for each cell in that array, it calls on the cell's find adjacent method, that finds and stores each cell next to it as variables and in an array. Now, each cell knows where its neighbors are on its 4 sides.
Each cell has a Visited? boolean variable. Each cell will check if their adjacent cells have been visited, and if they havent that cell will be added to another array of cells to visit.
The cell generator has another method to find the starting cell, and the ending cell. These 2 cell's should be chosen from the list at random, and if the cell has 4 adjacents we know it is in the center of the maze and is not a valid start or end, and it will do it again until it finds a valid cell.
From the starting cell, my break walls method in the cell blueprint should choose a random cell in it's to visit list of cells that has not been visited, break the wall between the 2 cells, and then call the same method on the chosen cell, and remove it from the to visit array. It also sets the current cells Visited? bool to True. In this way, every cell will be visited, and at least one wall will be broken in a randomized manner.
I also want this method to be delayed, and happen in realtime.