Boxing converts a value type into a reference type but it makes a new copy of the value type instead of directly converting it. This allows a converted value type to store in the managed heap as a reference type.
Unboxing is explictly converting an object into value type.
Boxing a value type into a reference type
int boxing = 93;
object unboxing = boxing;
Unboxing a reference type into a value type
unboxing = 123 ;
boxing = (int)boxing;