I have worked extensively with several of my customers with Ethercat devices using the NI solution. I'm glad you figured it out. It seems like you're on your way. Finding the ESI file is the trick and making sure it's "installed" on the cRIO and the PC side. To echo what Rolf mentioned. You will get very little support from NI if things go wrong, or if you want to do something that is outside of the typical use-cases.
Note: you have zero control over the topology of the Ethercat network. NI hides this network discovery algorithm, and you cannot influence it. This comes up when you have more than one device on the network and/or you have Ethercat switches in the mix. For example, if you daisy chain another device it will be named device 1 (in your image, your first one is named "device"). If you swap the devices in the chain, they will also swap position and hence, names and you cannot control this behavior. In other words, the physical network cabling dictates the device list order and naming you see in your project. This might not affect you, in your case, but something to be aware of. Especially since your shared variables will be invalidated.
Personally, I don't use statically defined shared variables because I typically work with highly dynamic systems. But using your approach will work just fine and is the easiest way to get started. There is a way, to dynamically discover devices on the Ethercat bus. Here is an NI article describing this: Programmatically Discover and Access EtherCAT I/O Items - NI This might be useful and good to know in case you need this approach.