Pixel Era: Ultra-Efficient Texture Sampling for World Interaction & Mini-map Systems
Pixel Era is a precision GPU-driven pixel sampling toolkit that transforms how your game world reacts to itself. Say goodbye to collision overlap spaghetti—now you can just paint your world logic directly into a texture and let Pixel Era read it with perfect accuracy and maximum efficiency.
Whether you're building stealth mechanics, fog of war, temperature zones, terrain-based triggers, or interactive overlays, Pixel Era reads both Texture2D and RenderTarget2D assets directly from materials. No collisions. No traces. No overhead. Just raw, optimized data streamed from the GPU straight into gameplay logic.
How to get started? Simple.
Drag in a PixelEra_PlayArea (XY) or PixelEra_PlayArea_YZ (vertical).
Populate Camera Actor var and Bounds Ref var.
Pilot the camera actor, take a screenshot reference, open in your favorite image editing software.
PAINT your events (heat zones, invisible walls, stealth zones, heal zones etc.)
Add PixelEra_WorldMapper component to your player character or any actor.
Supply a data table and your textures/render targets.
BOOM — trace-FREE per-frame pixel feedback.
Delete all your component overlap events and enjoy a massive optimization boost.
I am working on a game with several heat maps. The characters in the game are querying these heatmaps regularly to read their data (every heat map is a render target).
In my previous version, I worked with Unreal’s Read Render Target Raw Pixel Area node and everything worked there, but the performance was not acceptable.
Therefore, I replaced it with Pixel Era today. I kept as much of the code the same as it was before as possible, and I am pretty sure that the code is correct.
However, Pixel Era seems to return wrong values. Not sure if it is because of an internal mix up of render targets or if there are some kinds of artifacts in the data Pixel Era is using. However, a texture that should be completely black sometimes (or at some locations) returns a random value instead of 0 in the red channel (and presumably other channels as well).
Is there any setting to make the data more precise?