Feel free to add more in the comments.
I know it sounds obvious, but when building your main characters, protagonist and antagonist, it’s important that you build them to be people whom you would like or hate. A good guy, the hero/heroine, must be someone you would like and the bad guy/gal should be someone you wouldn’t like. If you can’t build them to inspire the appropriate emotional responses within yourself, how can a reader feel the right way about them?
This is not a universal rule though. There are some protagonists and antagonists who break the boundaries a little but even with these characters, there should be a thread of something within them that can inspire the love, hate, fear, admiration etc. My main character Jake Elloway in Acts of Life is one of those guys most people find irritating, someone you wouldn’t immediately like, but he has qualities that do inspire the right feelings in the end.
It is important to know a bit about human psychology when building characters. The more you know about the human condition, the more realistic your characters will be. It’s worth buying a few books on psychology or doing a basic course to give you a bit of insight into how to make your characters real. I’m lucky, my mother worked in psychiatry since I was two years old, so I’ve grown up to have some insight into people, and I’ve also spent time studying people and their relationships with each other.
Just as a quick for instance, don’t make your hero/heroine too perfect. Let them have flaws, failings and weaknesses like real people do and your readers will identify with them more easily. Likewise, don’t make your bad guys too evil, for even the baddest badass has some redeeming features. It doesn’t have to be much, just something to help your readers know these people are real, plausible and just like them.