I'm Sharing My Visual Studio Workflow Because I'm a Pretentious F*ck



I thought for a moment about getting work done today, but we’re wiped the fook out from the past month of crunch, so I figured, eh, let’s do a light version of the mega tutorial I was thinking about doing on managing data in Unity.

So today let’s embarrass ourselves sharing our workflow that I’m sure an entire legion of smarmier, even more self assured neckbeards would foam at the mouth to tell you how fucking stupid it was.

But enough talking shit, let’s get to out shitty tutorial!

You might find this hard to believe, but I no longer rank understanding abstract concepts and becoming lightning quick with our keystrokes as the most fundamental aspect of code, instead I would argue that it's organization! It's distillation! It's simplification and keeping your workspace clean so that other competencies can unfurl to their fullest extent.

ALRIGHT, YOU GOT ME! I lied, if you found the above hard to believe, you get a gold star, and good on you for trusting your gut. There’s a lot of hot air in this world, and I just wanted you to know that in this instance you were spot on. It’s ok to question things!

I was embelishing trying to make this blog sound more exciting than it actually was, because who the fuck wants to read about organizational practices? That's not exciting! That's not going to make our framerate higher! Not going to write our code for us like some brand spanking new hotness AI hotness. 

I think this is at most the second most important thing, but didn’t it hit harder and sound cooler when I said this was the  most important thing? And it’s absolutely the #1 thing you should cenentrate on if you’re not doing this, because focusing on organization and pipelines will  give you the focus to advance in those other realms.

It’s kinda interesting to contemplate the nature of “lies” and other games we play with one another and we’re not in each other’s heads. Am I saying these things because they’re true, and I have your best interest at heart? Or do I just want this blog to sound important and interesting? Or maybe I just want to come off as clever and charming, and this is all just an attempt to garner readership and pump entertaining sludge out into the ether because it’s easy and self enriching!

Or you know what’s REALLY crazy to think about? Maybe you know some dark element about me that I’m not even aware of, or unwilling to admit to myself, maybe you know the motivations of this blog, even better than it’s loud mouthed author!

Guess you’ll just never know! Just like I have no idea WHY THE FUCK THE REST OF THE WORLD IS DESTROYING EVERYTHING I HOLD DEAR! Is it hubris? Is it stubbornness? Stupidity? Tribalism?

I tend to think it’s a deranged human centipede of the above, everyone building one another up because it allows this modern corporate organism to subside on its own refuse. Money goes in, sludge goes out, and each of it’s thousands of tendrils provides reach arounds to one another as it excretes its mind numbing venom into the bloodlines of humanity.

Whew, that tangent came out of nowhere, well not really if you follow this blog at all.

So anyway, organization is probably the most overlooked aspect of our coding pipelines, because without even realizing it, clutter sucks the creative juice out of our brains both short and long term. You have no idea just how much better you would be at this gamedev stuff once you start tucking things away, making things tidy, and organizing things in such a way that you can find important sections of work areas.

Clean your damned room.

So what do I mean by this? So what I mean, is that what you probably are looking at any time you’re working on a bit of logic for your game, is a block of chaotic logic that looks something like this:

Long stretches of functions and checks and arbitrary clutter of other mechanics you wish you could tuck away but you don’t know how.

We end up surrendering to the madness, we become comfortable living in these giant fragile glass houses of methods and confusing conditionals, and we get fearful of taking our shots, because if we’re off by an inch, the entire fragile empire shatters and comes reigning down on our head.

So let’s end the insanity.

What we’re going to do is start using a combination of regions and a 3rd party bookmark extension to really kick our organization and workflows into overdrive, but first we gotta adjust some settings…

New Hotkeys:

Ensure regions auto collapse when you collapse to definition

Set some handy dandy hotkeys for collapsing, since the default hotkeys are hot fucking ass:

Oh and you’re going to need this extension, it’s actually really important for reasons I’ll get to in just a minute:

And now we’re ready to go from working in a space that looks like…

To a super clean concise workspace that looks like this!

Do you see how little random fits of logic there are to draw our eye away? Do you see how much tighter and explicit the logic is so it doesn’t have room to swim around a confound our monkey brain that is so alien to even the most bathic bits of digital transmutations and arithmetic?

Us humans are REALLY bad at this stuff, so we need to take every advantage we can get in building up these logical structures and maintaining a FLOW. Not just the sort of flow top to bottom, left to right, this certainly helps with that, but just as important, is that we do not get lost, we do not find ourselves looking outside the bouds of our current task, not lost in the weeds as the fight in us bleeds.

So let’s go over what the above hotkeys do.

Collapse to definitions (Alt + V as we have assigned above): this will collapse everything including regions (now that we’ve set it to do so) to its most compact form, essentially giving you a blank canvas at any moment. All that scattered number salad will disappear in an instant!

But where did the work we were just pounding our grey matter again disappear to!? Well, that’s what the hotkey bookmark extension is for! (among other things). Before we collapse, we’re going to press Control + Shift + 1,2,3,4 or 5 to set the hotkey bookmark (it’s the small orange square in the screenshot).

See, when collapsing to definitions, it doesn’t give a damn where your curosr is, it’s simply going to collapse everything, and that likely means you’re going to lose your current spot of work. So by assigning the hotkey position, we can now INSTANTLY go back to where we were working on, and you might think, Ugh, another annoying thing I have to do in this growing ritual of silly friggin’ things just to work on the project…

But this is a good thing! Because how many times have you thought to yourself, darn it! Why didn’t I bookmark where I was doing all my work!? Well now you have this constant incentive to do so! Any time, anywhere you are in your project, simply press ALT + 1,2,3,4 or whatever number to go back to that specific task! I tend to use 1 and 2 for the two primary areas of work i’ve got going on, and then I work back from 5 down to 3 for secondary things that I know i might need to get back to later but it’s not a lot of ping ponging.

Let’s go beyond collapsing, what sort of crazy awesome things can you do now that you have the utility of easily collapsed regions…

Have you ever created a debugger line, but couldn’t decide if you should keep it or nuke it, because on one hand, gosh, this is nice data I might want in the future but on the other hand… arg! This is going to just be sitting here, prominently, distracting my brain from wrangling these complex systems i’m obviously having issues with since I’m needing to debug the logics?

Well just encapsulate it in a region! In fact you should create a quick shortcut for surrounding your code since making regions for tidying things up is so insanely powerful and tidies up your code which ultimately leads to better code in so, so many ways that we don’t even perceive.

So I’ve assigned mine to Control + S, Control + S (actually this is a lie, I JUST changed it from Control + Space, S, because I’ve recently learned that Control + Space is some important key that most coders use for other things and I don’t want to look retarded when I pretend to act like I know WTF I’m doing).

In order to get better at our craft we have to get better at getting better at our crafts, and it’s like process Calculous. So while it might be annoying to set up hotkeys, or learn of the existence of better ways of doing things, and though it might slow us down for a day or two, once it starts to click, once we start to “get it” and the floodgates open, and our code becomes clean, the rate at which we start getting better starts to set inn at a faster rate, which means 3 weeks from now we wont be 3 weeks better by our current speed of mastery, we will be MANY TIMES better than if we didn’t invest into ourselves.

But we have to take that initial pain, we have to accept that the way we are doing things may not be the optimal way, and that we have to make conescessions and go through periods of pain and disadvantage in order to receive the benefits of that sacrifice.

NOTHING WORTH DOING IS EASY!

But here’s the thing, once those gains start to set in, once that muscle memory starts to twitch and you find yourself reaching for hotkeys before yout brain tells you to, a great deal of satisfaction starts to unfold, as if maybe taking a moment to analyse why we do things, and take actions that thoug they are not satisfying in the immediate future, will be leaps and bounds better in the long term!

And this at it’s core is what gamedev is all about. Making mistakes, learning from them, and biting the bullet to undo those mistakes, and year after year after we bloody our knuckles on these infernally laid out keyboards, we start to understand the responsibility that is owed to these cursed 0’s and 1’s. They will not bend to our wills, we must learn how best to alter ourselves, so that our idiot humanity can somehow find a way to insert itself within the cold binary.

I thought about laying out more specific use cases like encapsulating all your conditional logic into regions at the start of functions, or how you can use regions at the tail end to hide away secondary logic that doesn’t really need to be exposed at all times, but I kinda just burned out, and at some point, you just end up droning on and on. Hoping at least a few people see this and maybe even one of them tries this workflow and it sticks with them.

I kinda took this hotkey journey on a whim, and I couldn’t be happier with how much more productive I’ve been in recent weeks. I kinda almost feel like a legic, real coder zipping around and constructing idiot logic, much like what we do on this blog!







































Maybe there is no truth, maybe there are only endless faulty emulations of reality we pick and choose within our minds and our existence as we perceive ourselves is but a fractal of how we are understood by the zeitgeist. You can to the best of your ability be just and truthful about everything, but if others perceive you as selfish, problematic, toxic, does it even matter? We are what we are perceived to be. We are the accusations leveed against us in this spiteful, judgmental world in service to the machine. Or maybe, just maybe, there's truth to those accusations, and none of us are any better than anyone else, no matter how much we sort and sift those problematic memories and facts cluttering our minds. Maybe some people are just better at playing this crazy game of life.

 We're all just another coded light signaling green to red in the machine head.





























































I gotta come clean again. I have no idea WTF "green to red" or any of the lyrics to machine head mean,  but it sure sounded cool didn't it?

Get SeaCrit

Leave a comment

Log in with itch.io to leave a comment.