Since I write a story from an antagonist’s point of view, the one excellent step I took was to stop thinking of the character as an antagonist. If you wish to write a truly believable antagonist, simply thinking of them as evil characters ends up making them petty and shallow, even if you try your best to avoid it.
Your antagonist has a goal, create a set of principles (Any principles work! an antagonist can be a nice guy to others! Heck, if they don’t have courtesy and regard for others then it makes 0 sense for them to be alive for long and carry out their evil schemes without getting the whole damn world against themselves!) for them and try helping them achieve that goal. Make it believable and realistic.
It might seem too hasslesome to do, especially if your antagonists are evil fellas that are fated to be slain by the protagonist. But if your antagonists just leave the story as an evil guy without ever dropping a message to the reader or the characters or your lore, then what was even the point of having that antagonist? To give out examples, major antagonists like Thanos from Marvel or Joker from DC left an enormous impact on their respective worlds. From an anime-ish standpoint, Lelouch from Code Geass and Light from Death Note flip the world over for the better before they die.
A good antagonist could never be explained by the words “evil character.” If my antagonist is ever simply an evil character with no one thinking that they were more than simply evil, then I feel I have committed an actual crime when it comes to writing characters.