The Blog of a Compulsive Creator, Game Developer and Photographer.

UE4 Blueprint Coding Standard

I was asked to compile a programming standard for a project. I decided to publish this terse version, it is mostly intended for the blueprint-only programmer.

If you are a C++ programmer, follow the UE4 coding standard.

If you are a blueprint programmer, read on. Read More

The Death of Tick: UE4 & The Future of Programming

Last year I was so frustrated with compile times in UE4 that I hacked together a script that changed the color of one of the lights in my office to let me know when a compile had finished. I also stashed away the compile times in a log file so I could analyze them later.

In the ~6 month period from June 26, 2015 - January 16, 2016, I spent 44.98 hours compiling across a total of 4,660 compiles. This averages to 34.75 seconds/compile but it doesn’t account for the time taken to reload UE4 and get back to what I was working on when a hot-reload failed (~25% chance) or when I forgot to check my pointers. This utter frustration with C++ iteration time in UE4 led me to discover a somewhat ridiculously named programming language called SkookumScript.

All I wanted was to reduce my C++ iteration times with a simple scripting language that I could use in UE4. Instead, I underwent a complete programming paradigm shift. And when you find something this profound and amazing, you just have to share it with others. Read More

UE4 C++ Code Sleuthing

This is a short article with a few tips on how I hunt down engine code in UE4. There’s no big secret here, just a series of tools that can be combined by anyone with a little motivation.

Read More

Triggering Overlaps for Level Streaming Actors

In our game we use streaming levels to load the player into various interior buildings. The player enters an airlock, which is just a loading screen that they can move around in while they wait for the level to load around them.

This allows us to keep our interiors in separate maps. One problem that we encountered is that we have some custom volumes that we use to change camera parameters. When the player pawn overlaps a volume, we add it to the list of camera parameter volumes in play and those get sorted and used based on a priority value (similar to how post process volumes work).

The problem is that when we stream a level in, OnBeginOverlap events don’t fire for any intersecting actors. This was a big problem for us since without the overlap, our new camera parameters don’t get registered and that left our camera out in no-mans-land, showing all our seems.

Read More

Vive Motion Controller UE4 Bindings

Getting the Vive motion controller buttons and axis bound in UE4 is one of the first steps to playing around in VR.

I had to dig into the UE4 code a bit to find out what these bindings were. I’m throwing them out in the open here for future reference.

Read More
Load More…