IPv6 has more than enough addresses to give each device its own, so there's no NAT in IPv6.
While IPv6 has more than enough addresses for every device, do ISPs allocate enough addresses for your average consumer? As far as my ISP is concerned, they only allocate me 1 IPv4 address and that you can't get more unless you get a business package or another line. This would greatly increase my monthly bill if every single device needs their own address.
Short answer: Yes.
You should get either one subnet of 18,446,744,073,709,551,616 addresses or 65,536 subnets (each subnet with the previously mentioned number of addresses).
The smallest subnet that should be allocated for IPv6 is a /64 which is 18,446,744,073,709,551,616 addresses
A /48 has 65,536 /64's or 1,208,925,819,614,629,174,706,176 individual addresses
My current line at home is a 'business' connection and they provide a /48 as standard.