1- Explain everything. Whether it involves magic, or a mysterious old knight who was banished from his village for bringing dishonor to it by commanding a band of warriors and challenging the throne. Give lots of back information but make sure that it is not an info dump. Explain the complexiity through simple means. Be it a foreigner who doesn’t know the traditions of a country (to which is explained to) or through flashbacks.
2- Either start with everyone knowing, or everyone is shocked to know. If your world contains magic, you might want to start in a way that it is something that has been absorbed by the community all along and everyone is aware of it. You can then explain the limitations (I’ll to it in a minute) through either combat or carefuly crafted dialog.
3- Limitations. Always have golden rules that cannot be broken, and put imitations to hinder the characters from being overpowered. For example, a wizard’s strengh may be determined by his energy, willpower or some sort of mana mechanism.
4- Craft good shocks, not unbelievable ones. Having your protagonist suddenly discover that they have that ONE legendary spell that can take every opponent down just when they are in a pinch is somewhat annoying and shocks the readers out of the world. “But couldn’t he have used it before?” these sort of questions if they leak into your readers, you lose them.
5- Everyone loves exploring. I found that one of the bst ways to make the readers fall for your world, is to have your protagonist at one point explore the world! Discover different cultures and have complex societies with their own certain rules. You can be wild. Have a city where slaves are the masters even though they are slaves. Did I make sense? No. Does it matter? Nope.