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

SkookumScript Perforce Workflow

Updated 8/10/2017

This is a quick guide on how to integrate SkookumScript into a P4 workflow for UE4. Based on whether you are a Blueprint engineer, a C++ engineer or both, this guide will show you how to easily work with SkookumScript and keep assets up-to-date for others.

Versions Used

  • SkookumScript 3.0.5279
  • UE4 4.16.2/4.17
Read More

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
Load More…