Posts
2025
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, I wanted to talk about a rather opinionated topic.
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.
Unreal Engine’s TArray is a powerful and flexible container that allows you to manage dynamic arrays in your code. One of its lesser-known yet incredibly useful features is the ability to specify custom allocators. These allocators determine how the memory for the array is allocated and managed, which can have a significant impact on performance, especially in memory-constrained environments.
Lambdas, or anonymous functions, in Unreal Engine can be very useful for writing concise and flexible code. However, they come with certain dangers, particularly when dealing with the lifetime of objects and capturing variables by reference. Here’s why:
Inheritance in object-oriented programming (OOP) is a fundamental concept that is deeply embedded in the design of Unreal Engine, and in many cases, it’s an elegant and powerful tool. However, like any tool, it can be overused, leading developers into a trap that can complicate development and maintenance in the long run.
This blog is a follow-up to this YouTube video: https://www.youtube.com/watch?v=8-VZoXn8f9U