Hi all,
I’ve been building a small runtime data structure for UE and just cut the
first release. Sharing it here in case it’s useful to someone.
What it is
A runtime-resizable 2D grid where each cell carries a type tag:
Float, Int32, Bool, Vector2, Vector3, LinearColor, String, Bytes.
Row-major storage, POD cells, no RHI or texture dependency.
Resizing preserves the overlapping region by coordinate. String / Bytes
payloads are stored out-of-line in a sparse map, so grids that only use
numeric types don’t pay for them.
A quick example
UVRCGrid* Grid = UVRCGrid::Create(64, 64, EVRCCellType::Float)
->SetRegionType(FIntRect(0, 0, 32, 32), EVRCCellType::LinearColor)
->SetRegionType(FIntRect(32, 32, 64, 64), EVRCCellType::Vector3);
Grid->SetFloat(10, 10, 3.14f);
Grid->SetColor(5, 5, FLinearColor::Red);
Also works from Blueprint, and includes SerializeToBytes /
DeserializeFromBytes for saving or transport.
What it isn’t
It’s a CPU container, not a texture replacement. No Virtual Texture, no
Texture2DArray, no GPU path. If you need that, build it on top.
Where
GitHub: GitHub - bgzsdzzl/VariableResolutionChart: A runtime-resizable 2D grid for Unreal Engine with per-cell type tagging (pure CPU). · GitHub
Release: Release VariableResolutionChart v1.0.0 · bgzsdzzl/VariableResolutionChart · GitHub
Docs for the API and design trade-offs are in the repo. Feedback and
issues are welcome.
Thanks.