Start by lining a 9x9 inch baking pan with parchment paper, leaving some overhang on the sides for easy removal.
In a medium saucepan over low heat, combine the butter and semi-sweet chocolate. Stir continuously until melted and smooth.
Add in the sugar and evaporated milk, stirring until well combined and the mixture starts to thicken.
Stir in the marshmallows until they are completely melted and incorporated into the fudge mixture.
Remove from heat and stir in the vanilla extract and chopped nuts if using.
Pour the fudge mixture into the prepared baking pan, spreading it out evenly. Allow to cool at room temperature for about an hour, then refrigerate for 2-3 hours to set.
Once set, lift the fudge out using the parchment paper overhang, place on a cutting board, and slice into squares.