Developer Log — AVANT GARDE INVESTIGATE -#0.400 v1.40
>>> This developer log was commissioned, approved and crafted by Pigface Jackpots <<<
Hands. Gosh darn hands.
Apologies for the not so friendly introduction right now but this week has been quite the troublesome one. The culprit — you guessed it, Unreal Engine 4 and VR hands.
This is quite a wild ride this time around so strap yourself in comfortably and prepare your mind as we enter “The Why the hell do I even Bother zone”.
Our story begins when Herbert completes work on the Twitch system, as described in the previous developer log. His work is done and now it is down to me to bring it into the game.
No sweat, it’ll be done in no time. Famous last words of a sane pig-faced homunculus.
So I begin porting the code Herbert had written to allow UE4 to talk directly to Twitch. Nothing fancy here, his code was rock solid and it was a simple pseudo copypasta job.
Before you know it, the code is in and ready to test. But I’m getting ahead of myself, here.
So Herbert had written this agnostic chunk of code that in theory can be used anywhere. And it can. So I thought, “Hey, that original plan of having Twitch show up on a detective’s notepad is dumb, there are times where it wouldn’t be right to have a notepad just lying about”.
So I hatched an ingenious plan to make an in-game tablet that’s attached to the players off-hand. The idea being they can look at the tablet if they want to read chat, check subtitles (good for accessibility kids, always look for ways to make sure everyone can play your games) and change options, review case notes, all that good stuff.
So there I am, putting together this tablet and it looks nice and what not when suddenly BAM — My Oculus touch VR hands stop working in Unreal Engine.
Why did it happen? No idea. Insert other questions here? No clue. Did it cause an extended period of searching far and wide to come up with a solution? Most definitely.
What do you do when your virtual hands just stop working? Well, you try to debug. I bring in some new hands, no luck. I try the default UE4 template hands, no Bueno.
This is strange. Very strange. One day they’re working and the next, just frozen in space, unable to clench a virtual fist or poke things that shouldn’t be poked.
“It must be an input issue” I cry out loud, tears of promise streaming down my oily, dirty snout. I check every file, piece of code and setting in the engine. Nope, none of that worked.
“Maybe it’s something to do with where the inputs are!” I howl in desperation, wishing for this nightmare to end. So I take every single input in the project and move them to multiple places. No dice.
It is at this point, I think to check a blank project. Maybe there is something wrong with the project. I create a new UE4 project, load in the default VR content and… nope. Still, doesn’t work.
Isolated, confused, betrayed. All these emotions. How could all of my experience making video games end like this? It just makes no sense.
I hit up all your favorite search engines looking for an answer. A new direction. Nothing. Not even a hint. I then get the smart idea of copying over settings from projects I know that work but all I was met with was crushing disappointment.
This was it. This is going to be the end of little old me. Then, things get even better.
That’s right my disaster loving amigos, things got even better. The Oculus turns off and starts blinking yellow. This ain’t right. First the hands and now this?
I slap the issue into the search engines once more. All that returns are answers to different questions. In another life, nay another time — these might have been the salvation I needed. But, in this reality, in this nightmare, they just sent me further down the rabbit hole of despair.
So I’m sitting in my chair with no solutions, a broken project, a severe lack of virtual hands and the HMD has apparently taken a look at the situation and committed seppuku.
I was getting desperate. So much so in fact, I temporarily joined Unreal Slackers. Yes, the situation was that dire.
For those who don’t know it, Unreal Slackers is akin to the cesspit slums you see in cyberpunk films. I am convinced most of the people there are actually there to cure loneliness, not for the actual purpose of Unreal Engine developers networking, helping each other out and all those other noble intentions.
I’m sure once upon a time it was a nice place. Well, who am I kidding. I was there from the very inception and it didn’t take long to become the ugly pulsating boil on the side of the face of the Unreal Engine community.
To admit defeat and ask for help there is sending out a warning to all that I’m one step away from joining the Oculus in seppuku heaven. But I had no other choice.
I log in and post my issue, begging for help from anyone passing by with the knowledge of similar issues. For a while, nobody paid attention — perhaps they were either too busy or had never come across a situation like this.
Suddenly — a stranger emerges from the mist. He’s willing to help out. My savior! I’m saved! Or was I?
Sadly, this stranger was one of the many people on the Unreal Slackers who have good intentions but they don’t really have experience in what they’re talking about.
I noticed this quickly when I informed him of my issues and he just kept regurgitating the same information I was feeding him, possibly in an attempt to sound intelligent.
After a while, the conversation was getting nowhere and I had to try a fresh approach. With no virtual hands and an Oculus that had started its voyage to Valhalla, I needed to try something drastic.
I needed to format my machine. Back to square one, begin the fight anew. I had to cleanse my PC of whatever hand stealing demon had infested within.
Without delay, I began the formatting process, trying to talk myself out of it every step of the way. “I didn’t try this”, “I could try X method again” I tried to deliberate with myself. Deep inside I knew though, this was the only way.
A couple hours later the formatting process had completed and all the important applications had been reinstalled. Back and ready to fight again.
I load up the project. The freaking hands are still freaking broken. I let out a scream that would even make a banshee turn their head impressed. Why is this happening to me?
As I sit there, slumped in the chair, defeated and void of all hope, one last final option creeps into the corner of my mind.
What about standalone? What if I built the game off and ran it like it was finished? I was hesitant for just a moment, before realizing there was probably not another option.
I pressed the “Build” button in Unreal Engine 4 and waited for progress. Build failed. Just kidding, the build went fine.
Once the project built off, I opened up the newly baked executable, ready to test the hands and…
It worked. For no reason or rhyme, the hands worked in standalone but didn’t work in the editor itself. Even now, as I sit here, typing this to you beautiful lot, I can’t figure out why this is the case but it is still an ongoing issue.
But I shouldn’t complain too much, at least a method of using the hands now presented itself after the struggle of multiple lifetimes.
From this point, it was the simple but tedious case of continuing working on the Twitch system whilst constantly cooking off builds to ensure the hands were still working.
After a while, the process was complete and it came time to test the tablet. Another build and I’m ready to give it a shot.
The game loads up, the sound kicks in. This is a good sign. A good omen if you will, that everything will work _just_ as intended. The tablet appears. The hands still work. I log in to Twitch and await the chat messages.
Nothing shows up. Yes, after all the heartache, blood, sweat, tears and lost sanity, the darn thing didn’t work.
Where did I go wrong? Was it Herbert or was it me? Fun fact, every single time, if that is a question you face, it’s not Herbert.
So I went on another goose chase, Yadda Yadda Yadda losing the last droplets of sanity and all that… until it clicks. Twitch usernames are always lowercase. At least in the backend. I hit my head on the desk so hard I tore a hole into an alternate dimension.
I make the fix and fire up the next build.
It works. It finally works. I may have lost my soul and my will to live but the messages finally started appearing on the darn tablet. Hallelujah.
I save my changes, push them to Perforce and celebrate by cradling myself to sleep in a cold pool of tears and disappointment.
This was truly a battle of the ages. What makes it even more depressing is that only you — yes you, reading this right now, will know of the trials and tribulations the damn hands caused me.
Don’t worry, it can be our little secret.
But yes, it all works and I never ever ever want to see virtual hands ever again. Until the next time, I do, of course.
I want to thank you for reading this, it was very touch and go in parts. I hope the story was entertaining as even though you might be laughing internally right now, my inner voice is screaming and clawing its eyes out with its new found working hands.
Have a good week and I’ll see you in the next one for another spicy meme. Until then, don’t die and sweet dreams.