skip to main content
So Long MAX_PATH… And Thanks For All The Fish!

So Long MAX_PATH… And Thanks For All The Fish!

Almost every developer that we've spoken to seems to have, at some point, encountered the MAX_PATH limit problem... this post talks about how to PROPERLY fix it
More
Is It A Drive? Is It A Directory? No, It’s…

Is It A Drive? Is It A Directory? No, It’s…

In this post, we look into why IPlatformFileCreateDirectory() was responsible for nearly 1 million allocations during a full cook of KiteDemo and why FPaths::IsDrive(), a huge 100-line function, is being used just to determine whether a filepath begins with a drive mapping... all for the purpose of further speeding up Unreal's cook process just a little bit more
More
Cache-ing Up, Cache-ing In

Cache-ing Up, Cache-ing In

As part of modifying the file profiler we looked at the file IO activity on starting the UE4 editor with one of the lightweight sample projects, noticing that certain files were being read multiple times. Each was being read in their entirety up to 200 times simply opening the editor. In this post we show you why this was happening and how it can be fixed
More
The Case of the Locked File

The Case of the Locked File

We were seeing frequent file IO errors in relation to temporary files created during cooking (particularly when compiling shaders). Our findings for why this were happening were surprising. Here we present a clean way to fix the issues
More
The Long and Winding Path of the Cook

The Long and Winding Path of the Cook

Long file path problems are commonplace when cooking with UE4. We took a look at it - and found that the engine was being too aggressive with its checks for whether or not a path really was too long
More
Speeding Up The Time Limit Controls

Speeding Up The Time Limit Controls

When a process takes a long time to complete, it makes absolute sense to put some time limit checks in so that you're not starving other work. What you don't want to do, of course, is to have those checks slow your original task down further by any considerable amount - here, we found that exactly this was happening .. so we present a solution
More
The Battle of the Lean and the Inlined Bone Functions

The Battle of the Lean and the Inlined Bone Functions

We took a look at the inlining of a certain part of the codebase and were shocked with what we found... we then went about improving it
More
Package Versioning… How It Works… And An Optimization

Package Versioning… How It Works… And An Optimization

UE4's Package Versioning is a bit of a dark art for most.. here we try to remove some of the confusion around it - while, again, offering some improvements through optimization
More
The Cook, The Resave, His Garbage And Her Optimization

The Cook, The Resave, His Garbage And Her Optimization

We present here a way to improve cook times by reducing the frequency of garbage collection
More
Go to Top