I currently have a i5 6400 and was thinking if i should upgrade to a ryzen cpu. But if i upgrade to ryzen 5 2600 it would cost me 380$ for cpu, mobo, ram and case. But if i spend upgrade my current build with a new mobo, ram and case which cost 200$ (which i would like because its cheaper). Would the i5 6400 give me enough power with day to day tasks and play games like apex legends smoothly and future proof me with upcoming games?
The i5 6400 wasn't a bad CPU in it's day, and is sill relevant. However, it is limited in new AAA games. It's a 4c/4t CPU and will max out in anything demanding like BF1/V Destiny 2, COD etc. I'd be going the Ryzen route, or a 6-8 core Intel I5/I7.
You already have the i5, which means you can simply keep doing whatever it is you want to do and worry about upgrading only after you run into something that clearly calls for an upgrade. Stretching something you have a while longer doesn't cost you anything and you always have the option of upgrading later when it becomes absolutely necessary instead of something you are merely considering for what appears to be no immediate reason.
I'm still using an i5-3470 and of the few games I have played over the past year, FFXV is the only one where the CPU is barely maintaining 45fps. A clear sign that my CPU is approaching the end of its rope but still fine by me. I have no plan to upgrade until I see what Ryzen 3600 delivers, how much it ends up retailing at and B5xx series motherboards become available.
SSDs are pretty small, your motherboard may even have onboard M.2 or mSATA slots for an SSD.
You may want to list your full system specs. Spending money on a new motherboard and RAM without changing the CPU is not a very good thing to do, it's like putting 20" tires on a car instead of replacing the car with something better.
The difference between NVME and SATA SSD is very little in real world terms. I upgraded my system to an NVME and can't tell the difference, except when copying very large files. As far as programs and games, there's zero noticeable difference.
Your current motherboard can handle another SATA drive I'm sure and SSD's are very cheap these days. Just buy a 256gb drive for $40, load windows onto it and a few of your most played games, then upgrade your system at a later date.