Both are valid, but () is idiomatic:
scala> val a = ()
a: Unit = ()
scala> val b = {}
b: Unit = ()
In general, you can use curly braces in many places you can use parens in Scala. I'm not sure at this point of the exact rules. I didn't know until this post that you could use them for the unit value. I do know you can use them for enclosing argument lists.
scala> println("hi")
hi
scala> println{"hi"}
hi
One thing this enables is methods that look like control constructs. In ScalaTest, you can do this:
expect(List(1, 2, 3)) {
1 :: List(2, 3)
}
That stuff between the curly braces is a second set of args. You could also write it:
expect(List(1, 2, 3))(1 :: List(2, 3))
But the curly brace form makes it look more like a control construct.