Nayo :
I'm planning to get a GPU .GTX 1060 6gb costs lot more than the 3gb version . As i will be gaming on 900p is it okay to get a gtx 1060 3gb . I want to enjoy trouble free gaming for 3-4 years.
I guess this partly depends on what you consider "trouble free gaming". If you expect 60fps at ultra settings, then you might not be getting that with new releases a couple years from now, even at 900p. If you're fine with some framerate dips, or turning down settings a bit, then it will probably be fine for a while.
Note that the 3GB cards are actually a bit slower than the 6GB cards, as they have 10% fewer cores in addition to having less memory. You can see a quick comparison of what kind of performance difference that can make here...
http://gpu.userbenchmark.com/Compare/Nvidia-GTX-1060-6GB-vs-Nvidia-GTX-1060-3GB/3639vs3646
Scroll down for some examples of frame rates in games at 1080p. Your 1600x900 resolution will help your card go further though, since that resolution is about halfway between 720p and 1080p in terms of the number of pixels the card has to render, and that 10% reduction in cores should be more than made up for by the nearly 30% reduction in pixels, provided you don't upgrade to a higher-resolution screen in the interim.
About the only thing that I feel could potentially cause issues might be the 3GB of VRAM. For now, that can get by fine in most games at ultra settings, but it could be more of an issue down the line. It's difficult to say how much though. Overall, I would say that the 1060 3GB will probably work fairly well at that resolution for some time though.
Edit: One thing you didn't point out is the rest of your current hardware. While the graphics card might perform well in games for a few years, another component in your system, like the CPU, could potentially limit your performance.