NHAMFest ‘26: behind the scenes (a little)
NHAMFest ‘26 was a huge success this year, and was great for bringing together two of my favorite spaces: the VRChat music community and the Fediverse music community.
Here’s some stuff about the specifics that went into producing this show on my end!
I’ve already described my general performance setup, and that should be read as a prerequisite.
Multi-streaming setup
A big part of this particular show is that I had two streams running simultaneously: one in VRChat and one on my Owncast instance. Each of these came from a separate OBS instance; the VRChat one showed my Owncast live chat (so that people in VR could follow the chat), and the Owncast one had my live camera as an inset so that people on the outside could see what was actually happening in my physical space; as much as I love the whole “virtual critter” thing I also want to make it clear that I am actually performing the music live, at least to an extent.
(I would actually put the camera on both streams but unfortunately I’m still using Windows for VRChat and for some reason there’s no way to share a camera across multiple processes in Windows.)
For the VRChat side of the stream I used VRCDN, while the Owncast side used my self-hosted setup, with the Owncast server hosted on my home network and then fronted by my Linode as a caching proxy.
As part of maintaining continuity with the rest of the festival, I streamed the previous and next participant into the VRChat world using a scene that just embedded their respective players and chat. Originally I used the HLS m3u8 but it was much too unreliable, and switched to using the player embed as a browser source.
For the chatbox I used a browser source with some custom CSS:
body { background-color: rgba(0, 0, 0, 0.5); margin: 0px auto; overflow: hidden; } html { font-size: 36px; } #chat-container { background-color: rgba(0,0,0,0.5); font-size: 200%; text-shadow: -2px -2px 1px black, -2px 2px 1px black, 2px -2px 1px black, 2px 2px 1px black; } .ChatActionmessage_chatAction__SaAM1 { background-color: rgba(0,0,0,0.5); font-size: 24px; } .ChatSocialMessage_follower__yYsqi { text-shadow: none; } .ChatModeratorNotification_chatModerationNotification__BNHEb { display: none; }
Gear loadout
Here was my pedal setup for the show:

As usual I was using my lunchbox amp primarily as a power source for my pedal chain. The signal chain is a Boss RC-20XL loop pedal, a Hotone Soul Press II wah pedal, a cheap alphabet-soup-name distortion pedal, and a TC Electronic POLYTUNE 3 tuner. The “loose” pedal in front of the loop pedal is the control switch for my reverb unit.
I also have a couple of other effect pedals in that image that aren’t in the signal chain; the blue one is a cheap shimmer reverb that I’ve been playing with but haven’t found useful for any of my typical live stuff, and the pink one is a cheap reverb+delay+loop pedal which I’ve found adds way too much saturation to the signal.
For this show I used my Epiphone Sheraton II guitar (the blonde one on the left):

For electric sets like this one, I only use the loop pedal as a convenient way to lift my guitar signal to line level. I also have a dynamic mic (on the round-base mic stand) connected to the looper, which is nice for adding hand percussion and glockenspiel to loop pedal performances, but I didn’t use it for this show.
Hand tracking
A bit over a year ago I wrote about my quest for VR hand tracking on my main blog1. At the time the EOZ Immersive Gloves were not yet available, but since then I have gotten into their early adopter beta program and have been part of their group of testers, which has been a hugely helpful opportunity.
The way the EOZ gloves work is that they install an alternate controller profile to a pair of Tundra trackers, which makes them appear as SteamVR hand input when no regular controllers are connected. They also connect to an external circuit that puts a bunch of IMUs on each finger (rather than using more traditional strain sensors).
I have found that the gloves themselves in their current prototype stage are a bit uncomfortable and constraining, and not great for my grip when playing guitar. But, the alternate controller profile happens to work perfectly with my 3D printed wrist mounts, and while I don’t get finger tracking, getting the general position down is all that I really care about.

It would be nice if there were a way to have the hand trackers just work by overriding the position of my controllers and then otherwise use the controllers for the finger sensors and buttons, but this setup works well enough that I can compromise on the slight annoyance of having to turn my controllers on and off when I need the buttons.
Clothing
The fun with the camera gimmick is that I like to have my physical body dressed more or less the same as my avatar. For that I have leggings and a tunic top (which is what I modeled my in-game clothing after in the first place). And of course I’m wearing some plaid socks (which I think I got on clearance at Target).
Body tracking
My feet have Vive 2.0 trackers, and my hip tracker is my third Tundra. They’re attached using EOZ VR straps, specifically their belt and their foot straps.
Backing tracks
I maintain a library of backing tracks for my non-acoustic performances. Some of them are just album versions with the lead vocals and guitar omitted, and some of them are all-new versions that I’ve produced specifically for live shows. Many of these I intend to eventually use for an album where I revisit many of my songs in new styles, although I’ll still want to rework them a bunch since I’m using a lot of Logic’s algorithmic “session musicians” for a lot of it.
When I set up a set list I put the backing tracks onto a timeline and order them for flow and musical progression, add in a couple of strategic drink and banter breaks, and then add little title cards to let me know what song is coming up next and any pertinent banter notes (typically things to call out like “second last song” or “shout out Chorus”). I play the video file in VLC, with the window set to float in my VR playspace.

The plus side to this approach is that it keeps my show timing down pat and lets me make sure that I fit in all the songs I mean to fit in. The minus side is I have no flexibility in case of technical difficulties and I cannot take requests on the fly (although I don’t think I’d really be able to accommodate requests in these shows anyway; that’s a lot easier on my totally-live acoustic sets).
This was the set list and the origin of each backing track:
- Behind a Mask: This is the album version with lead vocals muted, and the lead guitar removed past the intro.
- A Long Plastic Hallway: This is just the album version with lead vocals muted; when performing it live I’ll add in more guitar for texture that wasn’t in the original. This is also the only track where I make use of my reverb unit’s switch. This track also has a lyric cue sheet for reference, as I’ve had a hard time getting “off-book” on this song.
- Run Faster: This is a funk version I created specifically for VR performances.
- tw3rp: This is a funk version I created specifically for VR performances. I really should add visual cues because I always forget my auditory cues for when to come in.
- Sometimes It’s Hard to Keep Yourself Moving: This is the album version but with the drums replaced with something with a more “live” sound. This track was new to this show.
- Baby, Be Quiet: This is a funk version I created specifically for VR performances. It also adds an outro that was not in the original song (but which I have been adding into my live performances for ages). This has a few visual cues for when the different sections start so I don’t lose track of the solo.
- Change Is Coming: This is just the album version with lead vocals muted. I perform additional guitars on top of the synthesized guitar in the album track. I tend to mess them up pretty badly. This one also has visual lyric cues because I have a hard time remembering all of the lyrics.
- Material Change: This is a disco-funk version I made specifically for VR performances.
- Bipolar Bear: This is the upcoming album version sans guitar and vocals. This show was the debut of this track. It has visual lyric cues out of an abundance of caution (since the song is so new) but I don’t seem to actually need them.
- Strangers: This is a piano pop version I made for VR performances, although the piano arpeggio is taken from one of the synths in the original track in places (used as a specific leitmotif of sorts).
- Freak Flag: This is the album version. I play guitar on top which wasn’t part of the original. Someday I’m going to make a version based on the 2020 jazz rendition, because I love its energy for a live performance. I also have visual lyric cues on this because I tend to forget verses, which is ridiculous considering how short this song is.
- The War Machine: This is the released single version. I try to play guitar on top of it but I have a really hard time remembering the chords while actually performing for some reason (it always goes well in practice). It also has visual lyric cues but I don’t really need them anymore.
- Space Cadet: This is just the album version, which I play additional guitar on top of.
- No Brakes: This is a grunge-funk fusion version that I produced specifically for VR performances.
- The Difference: This is the upcoming album version sans guitar and vocals. This track debuted at this show. It also has visual lyric cues which I probably don’t need but I still use them out of an abundance of caution.
- Safety in Numbers: This is a disco-ska fusion version that I made specific for VR performances.
The reason I’ve done so many disco/funk versions of things is because one of the Moonlit Academy shows had a city pop/funk theme, so I decided to adapt a couple of my songs to it, and I found that it brought a great energy to the performance. I ended up liking it so much that I’ve used that as my preferred style for my live adaptations going forward.
Show post mortem
I think that things went pretty well, all things considered. I did mess up a few of my lyrics (which I don’t think anyone else noticed), and I definitely had trouble with the guitar chords on both Change Is Coming and The War Machine. I was also sweaty and fatigued and in a bit more pain than usual. Hour-long sets always take a lot out of me, but I also feel like it’s very worth it in the end, even if I can’t do them as often as I can do 30-minute sets.
I loved reviewing the chat transcript afterward and seeing all of the kind comments, and I’ll similarly enjoy editing the video and listening to the background chatter that I couldn’t hear over my own performing.
I find it very funny that at every show since Furality I’ll have people requesting my Furality jingle, which is not something I’m going to ever do on a backing track set (the Furality song specifically, but also taking requests generally). But it’s something I can accommodate in an acoustic show (time permitting, of course), and I am always happy to do it while busking.
Anyway. NHAMFest was super good and I hope this is a tradition that keeps going! It’s a huge amount of work for everyone involved and I think we’re all going to be taking a very well-deserved nap. Thanks to everyone who attended, both on the Fediverse side and in VRChat, and thanks especially to the folks who ran the show and kept it going so smoothly, as well as to Noxi and Tune Together for knocking it out of the park with hosting and promoting the show on the VRChat side.