Uploaded May 2026 | Updated September 2026, 3 weeks ago
Episode 2 of the RPG Items series dives into the core data structure of our architecture: the ItemContainer.
Instead of jumping straight into a rigid "Inventory" class, we’re building a highly generalized, abstract container. This single foundation will eventually power everything from player inventories and banks to world loot chests and equipment slots.
We also focus on modern C# performance standards, bypassing standard heap allocations in favor of pooled arrays for memory-efficient operations.
What we cover in this episode:
* Item Container interface and abstract class: The foundational building block that the whole system relies on.
* ArrayPool to minimize allocations and garbage collection spikes.
* Ref Keyword Optimization: Writing values directly into arrays using reference variables.
* Smart Stacking Logic: Implementing a two-pass algorithm that fills existing item stacks before empty slots.
* Overriding Max Stacks: Making our system flexible enough to allow dynamic container-specific modifiers.
We're building this step-by-step from a simple foundation, layout out the groundwork before we introduce our transaction-based system in a later episode.
► Next Video: youtu.be/_WvAsL7tbrY
◄ Previous Video: youtu.be/MbL4c8qN5ek
► Series Playlist: youtube.com/playlist?list=PLm7W8dbdflogsSk73wzTDgkHM-vDDjvMT
💬 Discord: discord.gg/uV79UmjZ2Z
Timestamps:
00:00 - IItemContainer interface
05:50 - ItemContainer abstract class
10:20 - TryAdd() method
#unity3d #gamedev #inventorysystem #csharp #rpgitems
Episode 2 of the RPG Items series dives into the core data structure of our architecture: the ItemContainer.
Instead of jumping straight into a rigid "Inventory" class, we’re building a highly generalized, abstract container. This single foundation will eventually power everything from player inventories and banks to world loot chests and equipment slots.
We also focus on modern C# performance standards, bypassing standard heap allocations in favor of pooled arrays for memory-efficient operations.
What we cover in this episode:
* Item Container interface and abstract class: The foundational building block that the whole system relies on.
* ArrayPool to minimize allocations and garbage collection spikes.
* Ref Keyword Optimization: Writing values directly into arrays using reference variables.
* Smart Stacking Logic: Implementing a two-pass algorithm that fills existing item stacks before empty slots.
* Overriding Max Stacks: Making our system flexible enough to allow dynamic container-specific modifiers.
We're building this step-by-step from a simple foundation, layout out the groundwork before we introduce our transaction-based system in a later episode.
► Next Video: youtu.be/_WvAsL7tbrY
◄ Previous Video: youtu.be/MbL4c8qN5ek
► Series Playlist: youtube.com/playlist?list=PLm7W8dbdflogsSk73wzTDgkHM-vDDjvMT
💬 Discord: discord.gg/uV79UmjZ2Z
Timestamps:
00:00 - IItemContainer interface
05:50 - ItemContainer abstract class
10:20 - TryAdd() method
#unity3d #gamedev #inventorysystem #csharp #rpgitems






![The Hidden Graphics Bug in Oblivion (and How to Fix It)
Download Fix: https://www.nexusmods.com/oblivionremastered/mods/3585
Theres currently a bug in Oblivion Remastered that causes Medium Shadows to have the same Volumetric Fog settings as Ultra Shadows. This can lead to a performance loss of up to ~5%.
Yes, in Oblivion Remastered, Shadow Quality also affects Volumetric Fog.
Even though this was recorded a while ago, it is still relevant as of patch v1.512.105
Here’s what happens:
If you set Shadow Quality to Ultra, it cranks up fog detail with settings like GridPixelSize=8 and GridSizeZ=128.
If you set Shadow Quality to High, it lowers down fog settings to GridPixelSize=16 and GridSizeZ=64.
If you set Shadow Quality to Medium or Low, nothing happens to the fog.
This means that if you switch directly from Ultra to Low or Medium, the Ultra fog settings just stay on.
*Even worse* - this also happens when you *close and re-open the game*. If your Shadow Quality is set to Medium, the game defaults to Volumetric Fog values equivalent to Ultra, so theyll just stay that way. Unless you go into the options and manually scroll to High and then back to Medium, youre stuck with Ultra Fog even on Medium Shadows.
In practice, this only affects Medium Shadow Quality, since at Low the game completely turns off Volumetric Fog, even though the values are still wrong at Low.
Luckily, this can be easily fixed by modifying the Scalability.ini file and adding the missing fog settings:
[ShadowQuality@0]
r.VolumetricFog.GridPixelSize=16
r.VolumetricFog.GridSizeZ=64
[ShadowQuality@1]
r.VolumetricFog.GridPixelSize=16
r.VolumetricFog.GridSizeZ=64
💬 Discord: https://discord.gg/uV79UmjZ2Z
Timestamps:
00:00 Intro
00:35 Bug Showcase
01:56 Ultra vs High Fog Comparisons
02:06 TL;DW Fix
03:01 Testing Fog via Console
07:17 How .ini Files Work in Unreal Engine
09:07 What Causes The Bug?
09:43 Engine.ini vs Scalability.ini Fix
10:08 Graphics Settings Changes Cause Instability?
10:49 Outro The Hidden Graphics Bug in Oblivion (and How to Fix It)](https://i.ytimg.com/vi/nzxo3AoGY1M/mqdefault.jpg)



