Visual Studio Extensions: How to get colors from the VS theme

TL;DR:

// Note that I've only tried this in VS 2022.
// Browse the EnvironmentColors class to see all the available colors.
var themeColor = VSColorTheme.GetThemedColor(EnvironmentColors.ToolWindowBackgroundColorKey);
// If you want to use this in a WPF brush, convert it like this.
var wpfCompatibleColor = Color.FromRgb(themeColor.R, themeColor.G, themeColor.B);

Read on for full details.

Read More →

How to be a Great Remote Teammate

turned off laptop computer

Working from home is nothing new, especially for those of us in the technology business. Since the COVID pandemic, however, many companies were forced to jump into the deep end of remote work. Thankfully, it seems to have been a positive experience for most.

Employers realised that their employees’ productivity isn’t reliant on their managers lurking around them and peering over their shoulders to make sure they could see a text editor rather than Facebook on the screen. Employees realised that it’s quite nice to be able to fully control your physical working environment and interruptions. It’s not everyone’s preference, however, and that’s fine too. Some people need more in-person contact with their colleagues in order to do their best work.

The whole arrangement isn’t without its quirks.

Read More →

How to Create a Circle Crosshair in Unreal Engine

This tutorial shows you how to create a circular crosshair using a widget blueprint with a material. As always, there are many methods available but this one has some key advantages:

  • Material parameters let you modify the crosshair in realtime. In this tutorial we will use a material parameter to optionally fill the circle.
  • No texture manipulation needed with external software.
  • The colour of the crosshair can be easily changed, both in the editor and during runtime.

This is what the final crosshair will look like. I’ve wired up the “F” key to fill the crosshair for demonstration purposes, but my game will ultimately fill the inside when the player is aiming at an interactable object.

Read More →

Ethics in Software Engineering

I’d like to start by first talking about software engineering itself, and whether it can legitimately be called engineering. The Oxford English Dictionary defines “engineering” as:

The branch of science and technology concerned with the development and modification of engines (in various senses), machines, structures, or other complicated systems and processes using specialized knowledge or skills, typically for public or commercial use; the profession of an engineer. Freq. with distinguishing word.

By this definition I believe it’s fair to describe the design and creation of software as “software engineering” and I’m going to proceed with the rest of this post on that basis.

Read More →