This value I used the max input for a 'random integer in range' node which randomly picks a integer between a min and max values. I used this random return value to drive a 'get' node (which gets a single value of an array) from my 'child class' array variable to the class input of the 'Spawn Actor' node (Fig2). This means the logic is random selecting an asset from the index of the array then spawn that into the world.
The problem is that although you could get the world transform of the box collision but it wouldn't properly spawn inside the box to how I need it for the game as it will give the overall location not a pin point value to spawn and it wouldn't be random. In figure 6 shows how I got around this. I used a 'get component bonds' node which literally gets the origin (center of the box) & box extent values of the box. The math logic in figure 6 looks complex but the methodology once broken down is quite simple. The ideal is basically to break the vectors of the component bounds into float values; then working out the min & max values of both the X & Y axis between the origin and the box extent. Then feeding these min & max Axis' values into 'random float in range' nodes that is used to make a location vector from the X,Y and Z axis values. To simply put I used the 'random float in range' to randomly generate a random pin point location between origin & box extent of the collision box. To finish up I used a 'make transform' node; taking values from random generated rotations and scale values (fig 6) along with the location vector to make a Transform value which is used for the transform input of the 'Spawn Actor' node (Fig2.).