Represent a chessboard as a data structure

You can use a TArray<TArray<>> but, honestly, I’d probably just do it with the TMap<> for purposes of displaying the board and letting the user interact with it.

The thing on the inside of the map could be an AActor* for the space, which could in turn have a property for the AActor* for the piece.

If you’re actually building a chess AI/player, then you’re going to need a totally different set of data structures anyway! There’s a whole science behind that.