When cube collides with something - I want to know which color did collide with that object (as well as the color of the object hit). Is there any way to do it in BP other than creating some variables and storing the colors in them? If there is no other way - what would be the best way to do it, and how to account which color is where when the cube is rolling?
You might be able to get vertex color in your hit however I would go with a much simpler solution:
Get the Hit Normal.
Transform the hit normal to local (for the cube) coordinates.
Check the normal vector components:
if it is along the X axis - Front if positive, Back if negative.
if it is along the Y axis - Right if positive, Left if negative.
if it is along the Z axis - Top if positive, Bottom if negative.