Scald your milk by heating 3/4 cup of milk over medium high heat in a skillet. Once the milk is simmering, turn the heat off. You should have approximately 1/2 cup left. Measure out the 1/2 cup milk and discard the rest.
In a small bowl, dissolve yeast in 1/2 cup warm water as per package directions for the correct temperature to ensure that you keep your yeast alive.
In a large bowl, mix the 1/2 cup milk, sugar, melted butter, salt, and egg. Let it sit if the temperature of this mixture is over 110F otherwise it will kill the yeast. Once at 110F or below, add yeast mixture and mix to combine.
Add in 2 cups of flour and 1/2 cup graham cracker crumbs and mix until smooth. Add additional flour 1/2 cup (or less) at a time until the dough is easy to handle (the amount of flour that you need will vary).
Roll the dough out onto a lightly floured surface and knead for 5 to 10 minutes. Place the dough into a greased bowl (you can use 1-2 tsp of vegetable oil to coat the bowl you mixed everything in). Cover bowl with saran wrap and then a kitchen towel. Let sit until the dough has doubled in size, approximately 60-90 minutes.
When dough has doubled in size, punch it down. Then put it back on a floured surface and using a rolling pin, roll the dough into a rectangle approximately 15x9 inches.
Scoop the marshmallow fluff into a small bowl and microwave for 15 seconds. This will make it softer and easier to spread. If you are using the cinnamon, mix it into the fluff now. Spread the marshmallow fluff across the dough. Sprinkle the chocolate chips and additional graham cracker crumbs across the fluff. Drizzle with chocolate syrup. Let the dough sit like this for about 5-10 minutes for the fluff to cool again which will help prevent it from oozing out of the rolls too much from being warm.
From the long edge, tightly roll the dough all the way to the other long edge and pinch dough together to seal. Using a serrated knife, cut the log in half. Then cut each half into half again so that you have four equal pieces. Lining up two pieces at a time, cut each into three rolls so that you have a total of 12.
Coat the bottom of your 9x13" baking dish with some additional melted butter and sugar to coat. Place the cinnamon roll slices close together in the dish (four rows of three) and let them rise until the dough has doubled again, approximately 45 minutes. (If you are making these the night before, once the rolls have doubled in size, cover them in plastic wrap and place them in the refrigerator. In the morning, pull them out to warm to room temperature before baking).
Preheat the over to 350F. Once the rolls have doubled in size, place them in the oven and bake for about 30 minutes or until they are starting to brown.
While the rolls are baking, prepare the icing. Whisk the cream cheese in a stand mixer until creamy. Add the milk and whisk in until combined. Sift in the powdered sugar and whisk until smooth. You can also add some flavorings such as vanilla if desired.
Pour the glaze over the rolls. Decorate with pieces of graham crackers, mini marshmallows, and chocolate chips if desired. Serve warm.
Notes
The rolls can be made all the way up to the point before they go in the oven and then left overnight in the refrigerator to save time in the morning. Just bring your dish to room temperature as the oven is heating so that it is not ice cold going in the oven. I have had a cold dish explode on me before from the change in temperature :)I like to make these without the cinnamon, but you can mix in 2 Tbsp of cinnamon into the marshmallow fluff for more of a cinnamon roll taste. It pairs very well with chocolate!