Before starting, make sure your Instant Pot's sealing ring is free from odors or use a separate sealing ring dedicated to non-smelly foods. Those smells from your sealing ring can and will transfer to your rice pudding (yuck!).
Place the rice, water, and salt in the Instant Pot. Give the pot a gentle shake to make sure that all of the rice is evenly distributed and covered with water.
Place the lid on the Instant Pot and set the steam release knob to SEALING. Set the pot to cook at HIGH PRESSURE for 5 minutes. Note: It will take the Instant Pot about 7 minutes to come up to pressure before the cooking time starts to count down.
After the cooking time is finished, turn off the Instant Pot and allow a natural pressure release for 10 minutes. Note: Don't use the Keep Warm function during natural pressure release for this recipe, as it may overcook the rice or make it burn on the bottom of the pot.
After the 10 minutes, quick-release any remaining pressure.
Set the Instant Pot to SAUTE LOW. Stir in 1 cup of the milk and the sugar and allow the mixture to come to a simmer, stirring occasionally.
Meanwhile, in a small bowl, whisk together the eggs and the remaining ½ cup milk.
Once the rice mixture has come to a simmer, while whisking constantly and vigorously, slowly add the egg mixture until fully incorporated. Note: It is important that you do this slowly while whisking so that the eggs incorporate nicely without scrambling.
Continue simmering, stirring frequently, for 5 minutes or until the pudding reaches your desired consistency. Note: the pudding will thicken even more as it cools down, so keep that in mind.
Turn off the Instant Pot and carefully remove the inner pot (otherwise, it will continue to simmer while the Instant Pot is cooling down, and it can overcook). Stir in the butter, vanilla extract, and heavy cream.
Serve warm or cold.