How to fill gap between objects by moving neighboring objects?

if its just placing in the scene then i would do it manually. if you really wanted to do it via blueprint then you could use book one as the anchor/ origin point and have that placed then you could use a for each for all the rest of the books and have a script that uses a line trace to determine the edge of one book and give you the location to place the next book. something like the following. of course thats just one way, theres probably a better method though.