Line an 8-inch square baking dish with parchment paper, allowing some overhang for easy removal later.
In a medium saucepan over medium heat, combine the granulated sugar, unsweetened condensed milk, and unsalted butter. Stir constantly until the mixture comes to a gentle boil.
Continue stirring and let it boil for about 5 minutes. If using a candy thermometer, you can cook until it reaches 238°F (114°C).
Remove the saucepan from heat and quickly stir in the semi-sweet chocolate chips and vanilla extract until the chocolate is fully melted and the mixture is smooth.
If using, fold in the chopped nuts and mini marshmallows until evenly distributed.
Pour the fudge mixture into the prepared baking dish and spread it evenly.
If desired, sprinkle the crushed candy canes over the top.
Allow the fudge to cool at room temperature for about 2 hours until it sets completely.
Once set, lift the fudge out of the dish using the parchment paper overhang and cut into 16 squares.