Best way to implement a Fallout Shelter–style build grid in UE5 (C++ focused): actors per cell vs struct-based data grid + visualization?

I’m building a Fallout Shelter–style game (2.5D side view base building), but with a different theme and new mechanics. I’ve hit a wall at the very beginning with the build grid architecture.

I want a grid where each cell is 2×2 meters, and rooms/objects snap to those cells. I understand the basic idea, but I’m unsure what the “right” UE5 approach is.

A quick note about my workflow: I’m not very comfortable with Blueprints, so I work mostly in C++. Because of that, I really need a solution that’s practical to debug and easy to extend in code.

What I’ve considered / tried:

  1. Actor per cell (array of actors) — very easy to debug and visualize (highlighting buildable cells, clicking, hover, etc.), but it feels heavy and “dirty” in terms of performance/memory if the grid gets large.

  2. Data grid using structs (TArray of USTRUCTs) — seems like the correct way to store cell state, but:

    • debugging is mostly through the Details panel, which is not great;

    • it’s harder for me to implement visual cell highlighting (buildable/unbuildable), selection, hover feedback, etc., without spawning an actor per cell.

Questions:
What would you recommend as the best approach in UE5?

  • Should the “source of truth” be a struct-based data grid, with visualization handled separately?

  • If the grid is structs, what’s the typical way to do cell highlighting / debug rendering (without spawning an actor per cell)?

  • Or is it totally acceptable to use actor-per-cell for this type of game if the grid isn’t huge?

Any advice on a clean architecture for grid data + visualization + interaction would be really appreciated.