I highly recommend using Super Firm Tofu which is vacuum packed and doesn't need pressing. If you can only find Extra Firm you can try pressing for at least 30 minutes, but your results may vary!
Pat the tofu dry, then cut it into thin strips using a sharp knife, mandolin, or veggie peeler.
Break the tofu slices into smaller bite sized pieces. I recommend using your hands to tear them rather than cutting them with a knife to get rougher edges which will cook up better.
Make the marinade by whisking or blending the ingredients. If using oil instead of Vegan Mayo, blending is better so you can fully emulsify the oil.
In a large non-stick or well seasoned pan, over medium heat with a little oil, cook the diced onions until browned, about 8 - 10 minutes. Remove from the pan and reserve for later.
Add a little oil and then the tofu to the pan and cook over medium heat for about 8 - 10 minutes, or until tofu is starting to get a little golden brown. Don't over cook as it will be too chewy.
Pour over the marinade and stir to combine and coat the tofu. Stir in the onions. Taste and adjust for seasoning, adding anything you like!
Arrange the tofu into a shape that matches your hoagie roll. Then top with 2 - 3 slices of vegan cheese per sandwich (I can make two sandwiches worth of tofu at a time in my 12" skillet). Add a little water to the edges of the pan and cover to steam and melt the cheese.
Split open your hoagie roll and load it up with the cheesy tofu meat. Stuff it as much as you can! Then roll it up in some foil if you can (this will help compress the sandwich and steam the bread a little).
Cut in half, enjoy with whatever toppings you like!