Pre-heat the grill/broiler to its highest temperature.
Wrap the extra firm tofu in a few sheets of kitchen roll and carefully squeeze out any excess moisture. Use a mandolin to slice the tofu thinly, ideally around 3mm thick. Arrange the sliced tofu in an even layer on a baking or roasting tray.
In a measuring jug, mix together the remaining tofu steak ingredients. Pour over the sliced tofu and gently stir to make sure all the tofu is coated in the sauce.
Place the tray of tofu under the grill/broiler for 20 minutes, stirring half-way through. When cooked, the tofu should have darkened considerably and should be crispy in places. Set aside.
Place a large frying pan over medium heat and add the vegetable oil. Once hot, add the onion and fry for 2 minutes or until turning soft. Add the garlic and fry for a further minute.
Add the mushrooms and green pepper to the pan and fry, stirring often, for 5 minutes. Add the sugar and fry for a further 2-3 minutes or until all the veggies are softened and the onions are starting to brown. Season with the salt and pepper then reduce the heat to low.
Add the tofu steak to the veggies, stir together then cover with a lid to keep warm while you make the vegan cheese sauce.
Put all the vegan cheese sauce ingredients except for the vegan butter and water in a blender and blend until smooth. Transfer to a small saucepan. Whisking constantly, bring the mixture to a low simmer - it will thicken dramatically so make sure you don't leave unattended.
Once hot, thick and simmering, add the vegan butter and water (and vegan cheese if using) then whisk until smooth and the butter has melted. Reduce heat to very low while you prepare the sandwiches.
Place a large frying pan over medium heat. Slice the hoagie rolls/baguettes down the middle and spread both sides with the vegan butter. Place the rolls butter-side-down in the hot pan and fry until lightly golden.
Add a tablespoon of water to the pan then quickly cover with a lid to allow the buns to steam and soften for around 20-30 seconds. Remove the rolls from the pan.
Divide the tofu steak and veggies mixture between the two rolls then top each sandwich with a good drizzle of the vegan cheese sauce. Serve with french fries, ketchup and pickles.
