Blog update
Laura's (Mostly) Unreal Blog
by
1M ago
Some people have complained that the theme of this website was too bright, and suggested that I should adjust it instead of them adjusting the brightness of their own screens. I completely agree with this very reasonable request, and adjusted every color. Please enjoy the new, technically darker design ..read more
Visit website
Simple GAS tutorial
Laura's (Mostly) Unreal Blog
by
4M ago
Epic Games, unlike most of its competitors in the “freely-available game engine” market, actually makes video games. This gives Unreal Engine some unique advantages that most other competing engines simply don’t have, due to a lack of interest, experience, and/or resourcing from their makers. As an Unreal developer, you get direct access to some of Epic’s in-house tools that ship with the engine and are used directly in such AAA blockbusters as Fortnite (and some canceled titles, like Paragon). One of these is the Gameplay Ability System, which can be considered to be the vastly superior repla ..read more
Visit website
UE5 has dual quaternion skinning
Laura's (Mostly) Unreal Blog
by
7M ago
This is not advertised almost anywhere; people have resorted to using engine forks just for this feature. Get Content Examples, and you’ll find it in action in the AnimationDeformer level. The deformer asset itself is at ExampleContent/AnimationDeformer/AnimBlueprints/DG_DualQuatDeformerDemo ..read more
Visit website
`inline` does not inline
Laura's (Mostly) Unreal Blog
by
8M ago
Over the many years of C++’s life, some keywords such as auto, register, export have gone obsolete and ended up being reused with a new, changed meaning. If you know what these meant originally, congratulations, you’re old! inline went through subtler changes that were not directly caused by the language standard redefining it, yet its current meaning has nothing to do with the original nevertheless. C++17 has formally acknowledged the status quo and built upon it. C++ is really averse to introducing new keywords1, so even though inline now officially has nothing to do with inlining anymore (a ..read more
Visit website
VRAM deep dive
Laura's (Mostly) Unreal Blog
by
1y ago
One of the most popular topics in tech media currently is how 8 GB of VRAM is “not enough” to play modern games, “even in 1080p”. While this is more or less the case from the perspective of someone who plays video games (and newly-released video cards having less VRAM than what would be appropriate for their price class is certainly not helping), there’s plenty of misinformation and widely-repeated half-truths surrounding this topic. My hope is that by providing a detailed look and explanation of exactly how and why VRAM is used, I can help you a little to cut through popular misconceptions an ..read more
Visit website
UE_SMALL_NUMBER is less than FLT_EPSILON
Laura's (Mostly) Unreal Blog
by
1y ago
(That’s the entire post ..read more
Visit website
A better UE_LOG, part 3
Laura's (Mostly) Unreal Blog
by
1y ago
←Part 2 So far, we’ve replaced the fragile, legacy nightmare of FString::Printf with a modern, type-safe formatter suited to your taste that can be used with UE_LOG and/or AddOnScreenDebugMessage as desired. Other than this directly making anything debuggable like AActor* or your own custom types having a readable string representation without having to go through hacks such as Thing ? *Thing->GetName() : "null", it also completely eliminates entire classes of issues, such as wasting time on “debugging” why a number was “always 0.0” when it was an int formatted with %f and correct all along ..read more
Visit website
Weak scope exit
Laura's (Mostly) Unreal Blog
by
1y ago
ON_SCOPE_EXIT is great for pretending that C++ has a finally or defer keyword, and cleaning up things that don’t support RAII (looking at you, UObjects). In the far future, there will be a std::scope_exit, but it’s not even close to standardization right now. Usage In case you’re not familiar, it’s used like so: void ProcessAnything() { Something->Enable(); ON_SCOPE_EXIT { Something->Disable(); }; ProcessEnabledSomething(Something); } // Something gets disabled here Its implementation is nothing more than the usual local variable with a destructor, its ma ..read more
Visit website
Self-contained DirectX Raytracing tutorial
Laura's (Mostly) Unreal Blog
by
1y ago
This article is not about Unreal, unless you really want to manually deal with this below the RHI level (my recommendation: don’t). Most frustratingexisting DXR tutorials out there ask you to clone a Git repository and/or download a premade library, then walk you through how to use the thing you just downloaded instead of teaching you about DXR itself. I got tired of not being able to link to something that explains just DXR without any extra fluff and “helpful” custom abstractions, so here it goes. This article walks you through setting up a self-contained program that does DXR from absolute ..read more
Visit website
Unreal C++ speedrun
Laura's (Mostly) Unreal Blog
by
1y ago
This article assumes significant experience with C++, but not necessarily within the Unreal Engine ecosystem. Some C# is also required. Although most of your knowledge will carry right into Unreal, there’s a lot that I had to find out the hard way. Some things are either not documented at all, or only “documented” in the form of unstructured multi-hour Twitch livestreams archived on YouTube. That said, this series of videos from the official learning site is relatively good, even if the title of this course is somewhat misleading. As of writing, the latest released version is Unreal Engine 5.1 ..read more
Visit website

Follow Laura's (Mostly) Unreal Blog on FeedSpot

Continue with Google
Continue with Apple
OR