If my host is at IP 192.168.0.100, and my VM is running with Shared (NAT) networking with IP 192.168.102.129
How can I reach my VM from my host? I Can't change the Share (NAT) networking to Bridged mode.
Your host knows about the virtual NAT adapter, so you should be able to ping, connect, etc. with no issues at all. If you want to reach the VM from another computer on the network, however, you need to add some port forwarding rules using the Virtual Network Editor.
But I can't though. If I ping 192.168.102.129, it all times out
You need to use port forwarding, with port forwarding, incoming TCP or UDP requests are sent to a specific virtual machine on the virtual network that is served by the NAT device.
By pinging the virtual machine you are using ICMP which is another protocol rather than TCP/UDP. That's why your ping doesn't work.
Does your host or your guest have a firewall enabled? Generally, ping is blocked/dropped by many firewalls nowadays.
It does have firewall, but ping and simple web server / file sharing should already be configured to work.
For example, if I change the VM to bridged mode, and access it as part of my "normal" network, then everything works.
If I switch it to NAT networking mode, then my host can't access the VM anymore
Sorry, I'm a novice. Could you explain that further? What steps should I take to make it work correctly?