"If you don't need NAT, how to the devices talk?
NAT is a hack to allow sharing a single address or, in some cases, for combining networks that happen to have the same address range.
I have IPv6 available with a /56 prefix. That means I have 2^72 addresses available in 256 blocks of 2^64 addresses. The main purpose of NAT was to stretch the IPv4 address space, breaking a few specs in the process. All my IPv6 capable devices have their own global IPv6 address, with no need for NAT to share a single address.
How do my devices talk? Every one, that's IPv6 capable, including all computers, tablet & smart phone have their own IPv6 address that's reachable from outside my network, as I allow with my firewall configuration.
NAT is a hack, which is used to get around the IPv4 address shortage. Even with it, there are simply not enough IPv4 addresses to go around. Those 2^72 IPv6 addresses I have are 2^40 times the entire IPv4 address space. That's about a million, million addresses, so there's no need to use hacks like NAT to extend the life of the IPv4 address space.
As I said, NAT is a hack and it breaks some things. Using it has blinded people to how the 'net is supposed to work.