You can still change the pointed-to object despite get() being const. Just try it.
const std::unique_ptr<int> ptr{new int(10)};
std::cout << *ptr << std::endl; // outputs 10
*ptr.get() = 20;
std::cout << *ptr << std::endl; // outputs 20
Maybe your confusion is because using unique_ptr changes the type of the object. Instead of dealing with an object of type T, or the address of T, you are now instead dealing with an object of type std::unique_ptr<T>.