August. Seriously.

Part 2 of our “WTF is wrong with my project?” series.

Continuing from last month, I set about trying to get the newer version of Unity and my project to be friends.

step 0: uninstall everything. it all went so well until it didn’t. Visual Studio 2015’s uninstaller was greyed out. Maybe because of how well the installation went.

Oh.

Enter this bad boy right here The Visual Studio Uninstaller/Scorcher.

Step 0 take 2: The resort is last.
1 hour later…
The next day…

It worked, but took literally over 7 hours to complete. Welcome to indie game development.

With that done, it was time to try, try again.
step 1: download the ancient Visual Studio Community 2015 for some reason.

Pray for me.
Don’t forget the C++ common tools. So common, they aren’t included by default.
11GB!
Surprise!! THE INSTALLER IS STILL BROKEN.

Still fails.

Questioning every choice in my life up until now, I decided to search the webs again and this time I found someone linking to this page: Check it out, you can get Visual Studio Enterprise 2015 with Update 3. It says it’s a trial, but “Get Key” says no key is needed. Will that work? I chose the bold path to find out.

Let’s play try this for the umpteenth time game

Buhhhlink

Step 0: uninstall everything. It didn’t take 7 hours this time! It was still time for bed.

Step 1: Try (Trial) Visual Studio 2015 Enterprise Edition

Call Captain Kirk!
Check it out, Enterprise Edition saves you up to 4GB!
uh….
Why is Community Edition still here?

I ran the removal tool, again. Reinstalled, again. Civ V got a lot of attention while my computer filled progress bars.

Best Practices
Massive improvement?

Step 2: Install XDK no problem

Step 3: Install Unity

Parkitect is pretty fun while progress bars fill up.

Annnnnnnd….

Of course it doesn’t run at all this makes sense

Step 4: What

Step 4: Uninstall Unity

Step 4: Really uninstall Unity

Step 4: Literally why does this exist still? C:\ProgramData\Unity

Step 5: Restart

Step 6: Re-re-re-re-re-reinstall Unity, and no, that didn’t work.

Step 6: Back to the Unity forums

Step 6: Apparently I *also* need VS2017. And VS2015. What the living heck.

When you die you just see installers filling up for eternity

Step 5: install VS 2017

Step 6: Reinstall Unity. Oh and Unity Hub.

Step 7: Try a blank project.

Empty Fake Project! Empty Fake Project!

Build & Run works! Empty project running on Xbox!

Step 8: Try SSDT. Doesn’t build & run, has horrible “TLS Allocator” errors that mean nothing to me.

MY STACK IS LEAKING

Step 8: Delete the project’s Library folder for some reason.

I’m gonna say “No” this time to whatever they are asking here.

Is it gonna break more if I say no?
Just hold on…

Step 8: Change the platform back to Xbox (I guess deleting the Library folder is what makes it forget?).

Step 8: Build & Run!

Annnnnd…. It’s still broken

This is my emotions right now.

1 step forwards, 2 steps back

Given how much trouble all this was and knowing I had apparently not installed the random things using the correct arcane voodoo processes, I had a random idea to attempt the Unity 5 build again. I figured, best case even if I could figure out what was going on with the new version of Unity, there was no guarantee it wouldn’t have the same problem, or new problems. It wouldn’t cost anything but time to try and since my skull was turning to paste from smacking it into a brick wall I figured “why the hell not”.

I reinstalled the old version of unity and the correct XDK stuff, double checked everything and in doing so realized there was a way Unity would package the game up for me instead of me using the command line. I finagled the player settings until it created the package without problems and uploaded it, then waited an hour to download from the test store and install it onto my dev kit.

Dear balls it works.

Sweet Odin’s Beard!

Meshues

The football/puck collision issues were back, which made no sense since I had blender installed. I exported the 3D models as FBX files, reassigned the mesh and collision mesh. It seemed fine at first, the balls correctly collide with the ground but for some reason I couldn’t pick them up with my player. Or rather, I could only pick them up while they were falling, once they stopped on the ground it no longer worked. Baffled, I reverted back to the previous files to reexamine the errors on import.

What did I do

It looks like Unity was insisting I install a very specific version of Blender. I uninstalled the recent Blender app and installed the older one. Well, install is a strong word, I found the old blender version here: https://download.blender.org/release/Blender2.58/ then told Windows to open .blend files with the new exe I downloaded. Then I deleted my project’s Library folder forcing Unity to reimport everything. I must have goofed something the first time as I had to repeat this whole process twice before it looked good. However, once again the meshes weren’t working.

Looking more into the issue, several people suggested running Unity as an administrator. This didn’t seem like it would work but I deleted the Library folder again, reran Unity as an administrator and watched my favorite progress bar again. No luck. So I tried an older version of Blender. Except it doesn’t run.

You know, cuz this is what I want to be working on right now

The solution is supposedly to install Microsoft Visual C++ 2008 SP1 Redistributable Package (x64). Would this break yet more things? I’ll never find out because you can’t find this 13 year old package. I installed version 2.48 instead as it actually had an installer.

Great what else?

Delete the Library folder, run Unity as administrator, try this again. No, it fails. Still baffled, I tried recreating the ball from the mesh up, adding components to it and then renaming the old broken ones and tried the new football and puck build from the FBX meshes I made earlier. Weird behavior continued but they weren’t falling through the floor any more.

cert ready. except for the invisible ball.

For whatever reason, these meshes were now scaled wrong, and for some unknown reason the sprite offset changed for the puck and football. A few tweaks later and they seemed to be okay again.

Had I known leaving those meshes in .blend format would cause me so much trouble 7 years down the road, I would have spent the last 7 years building a time machine to go back and look at dinosaurs because that’d be sweet.

BACK IN BIG BOOTY BUSINESS

The game is running. Testing is in high gear. Profiling is a thing.

Time to take out the trash. Wait what?

Weird garbage issues

Having been a longtime fan of Enumerators, I was baffled to see that using this handy, simple type as a Dictionary key was causing garbage to stack up. What in the heck?

Something dumb will see us through

Apparently below the hood C# does something that needs to be overridden with a custom Comparer for each type of Enum I use as a Dictionary key in the entire project.

So efficient. Copy, paste, change one type. Do this dozens of times. The example said “you need to do some thinking here” but I cannot.

Regular garbage issues

Strings were next. I had fixed a lot of these before but there were a few more to fix.

Fixy fixerson
More to fix!

Certification Begins

I don’t know what could be lurking in the code that will fail me from cert, so I’m testing like crazy. I can say we are in the last half inch of this game’s development. With any luck the cert issues will be minor and I’ll have a release date for ya!

Add a Comment