Posts
2025
Starting a project with a friend can feel like the dream, shared vision, late-night brainstorming, the excitement of building something together. But money has a strange way of distorting relationships. When financial stakes enter the picture, priorities shift, values get tested, and even the strongest friendships can fracture.
We’ve all been there:
A Virtual Table (or V-Table) is an essential concept in C++ for implementing polymorphism. It’s a data structure used to support dynamic dispatch for virtual functions. When you define a class with virtual functions, the compiler generates a V-Table for that class to keep track of the addresses of those virtual functions. At runtime, the V-Table is used to decide which function to call based on the type of the object, allowing polymorphism to work correctly.
2024
Hello! Today, I want to talk about a commonly misunderstood concept in programming: Move Semantics.
Hello! Today I wanted to talk a little bit about casting, primarily Blueprint casting. The main reason I wanted to bring this up is because it’s one of the most misunderstood and blown-out-of-proportion concepts in Unreal Engine. There’s no shortage of YouTube videos with clickbait titles like “Casting is so bad, NEVER use it in your games!” (or some variation of that). This highlights a larger problem: people creating tutorials when they have no business doing so. But I digress.
Soft references are a way to reference an object in Unreal Engine without forcing it to stay in memory. This can be incredibly useful in scenarios where you need to reference assets like textures, sounds, or even entire levels, but don’t want to load them into memory until absolutely necessary.
Unreal Engine provides various templated object pointer types that help manage memory and references to UObject instances in a safe and efficient manner. These templated types are vital for ensuring the stability and performance of your Unreal Engine projects. In this post, we’ll explore the most common templated object pointer types, explain what they do, and discuss when to use them.