Heat your oven to 350°F (175°C).
Spread the hazelnuts in a baking tray, and roast for 15 minutes.
Remove the hazelnuts from the oven and let them cool slightly.
Then roll the hazelnuts around using a towel to remove the skins. This will create a creamier hazelnut spread.
Place the skinned hazelnuts into a food processor or high-speed blender and blend them for around 8 minutes until you have a thick and creamy nut butter. You'll probably need to stop and scrape down the sides of the bowl or jar a few times.
While the nuts are processing, break the chocolate into small pieces and melt with the coconut oil in a small saucepan on low heat. If using cocoa powder instead, mix the powder into the melting coconut oil.
Once the nut butter is ready, add the melted chocolate and coconut oil, maple syrup, vegetable milk, vanilla extract, and salt. Blend for another couple of minutes, until everything is completely mixed together and smooth.
Transfer to a sterilized jar, and store at room temperature or in the fridge for a thicker texture. It will remain good for 3-4 weeks.