It depends on a lot of factors. If it's something from real life, past or present, you should find your answer with research. If it's fictional writing you can make up your own protocol. I go with "my prince" when it's their prince, and "your highness" when it's somebody's else prince. This can change due to familiarity and formality. The prince's servants can call all the royal house and other noblemen "my lord" and leave it at that. (The lowest class doesn't usually know who is who, so "my lord" is a safe way to address all noblemen without giving offense.)
Throwing a questiorino in here: Current assignment, I've been writing Your Highness till kingdom come. Now: How would you capitalize this: your innocent Highness, Your Innocent Highness, or Your innocent Highness? It's a dialogue. I'm going with the first one, just thought that maybe a grammar gremlin got some standard-practice answer for me. Thanks ; D
Their surname is Mountbatten-Windsor, which is used only when it needs to be used i.e. on marriage certificates. I think it's helpful for historical context to point out that British royals were previously known by the country they ruled, their house, then their dynastic name - i.e. Richard III of England, 3rd Duke of the House of York, of the Plantagenet dynasty, or George I (full name George Louis) of Great Britain and Ireland of the House of Hanover, etc. Prince Albert's family name was Saxe-Coburg-Gotha which was used up until the Time of King George V, who decided to change it to House Windsor (and the family surname at the same time) in reaction to anti-German sentiment during the Great War. That's how Windsor castle got its name and the Privy Council decided all male descendents of Queen Victoria's line would bear Windsor in their name. The direct descents of our Queen today and her husband Prince Philip of Greece and Denmark, our own Duke of Edinburgh, use the Prince's maternal grandparents' surname of Mountbatten since he became a naturalised British citizen. He became Philip Mountbatten when he served in the Royal Navy and now their own descendents are Mountbatten-Windsor to distinguish them from the line of George V.
I'd have the characters use 'sire' and 'your grace'. Then they have an argument over which term is correct. One of them apologizes to the prince whom he calls 'your majesty' which the other insists is a term only to be used for monarchs. Even the prince becomes unsure of the correct term as he's heard several and a popular term isn't necessarily the correct one. The courtier who'd know which wording is acceptable is absent and no one knows why. In a fictional story, several wrong answers will be more entertaining than the correct one.
Here is what Debretts says: https://www.debretts.com/expertise/forms-of-address/addressing-royalty/ This should be the definitive word on the subject - for anyone who doesn't know, Debretts is THE authority on etiquette.
Where it gets interesting is when the one addressing the prince is his peer, like a sibling or a prince or princess from a neighboring country. Keeping aside rude or silly nicknames (which can happen), I believe the custom is to call such a one by the name of his principality. As in Prince Charles would be "Wales" to his peers, and Prince William would be "Cambridge." I could be wrong. All my info is out of British novels.