DirectX vs OpenGL Normal Maps: Unreal Engine and Unity Explained
Why your normal map looks inverted, which format Unreal Engine and Unity expect, and three ways to fix the green channel.
Tools that speak Unity: OpenGL normal maps, URP and HDRP mask maps, sprite atlases, C# easing code and assets on the Unity Asset Store.
The details that trip up most developers, and that every tool on this site handles for you.
Unity expects OpenGL normal maps (green channel points up). Set Texture Type to Normal map, and use "Flip Green Channel" for DirectX maps.
URP Lit reads Metallic from R, Occlusion from G and Smoothness from A. HDRP Mask Maps add a Detail Mask in B. Smoothness = 1 − roughness.
Unity is Y-up and Z-forward, and 1 unit is 1 meter. Euler rotations are applied Z, X, then Y.
Set Max Size per platform in the import settings, and prefer power-of-two sizes for clean compression.
JsonUtility and ScriptableObjects make it easy to load balancing data like XP curves and loot tables.
Unity tools and assets are sold on the Unity Asset Store.
Turn a height map or texture into a normal map. DirectX for Unreal, OpenGL for Unity, seamless tiling.
Open tool →Pack AO, roughness and metallic into one texture: Unreal ORM, Unity URP and HDRP Mask Map presets.
Open tool →Pack hundreds of sprites into atlases with trimming, padding and extrusion. Exports JSON for Paper2D and more.
Open tool →Batch resize textures to power-of-two sizes, convert to PNG, JPG or WebP and shrink file sizes.
Open tool →Create every Steam store, library and event image at the right size from one key art and logo.
Open tool →Estimate copies sold and real take-home revenue from Steam reviews, price, discounts, refunds and taxes.
Open tool →Generate memorable game titles by genre and mood, then check that the name is not already taken.
Open tool →Convert positions, rotations and scale between Unity (meters, Y-up) and Unreal (centimeters, Z-up).
Open tool →Preview every easing curve live and copy ready-to-use code for Unity C# and Unreal C++.
Open tool →Balance prices, margins and daily profit for shop, tycoon and simulator games. Finds the price that earns the most.
Open tool →Design levelling curves with linear, power or exponential formulas. Export to an Unreal DataTable or Unity JSON.
Open tool →See the real odds of a drop after N tries and turn loot table weights into percentages players understand.
Open tool →Why your normal map looks inverted, which format Unreal Engine and Unity expect, and three ways to fix the green channel.
How Unity and Unreal Engine differ in axes, units and rotation order, the exact formulas to convert positions, rotations and scale, and common pitfalls.
What channel packing is, the exact channel layouts for Unreal ORM, Unity URP and Unity HDRP, why Unity uses smoothness, and the import settings that matter.