Fix texture mapping of unions during play time

I’ve been playing around with unions and so far I’ve made a nifty little system that generates parts between four points, then unions them so their textures line up. However, I’ve been running into an unexpected issue. During playtime, the UV map of the union is generating differently than in Studio; making for the ugly mess you see in the example below.

left is the parts before they are unioned
middle is the proper union that was made in Studio
right is the union made in game

It’s worth mentioning that the separate part next to the unions is the base part; which should theoretically transfer its texture map to the union.

Also, here’s the script, but I doubt there’s much to see:

local Parts = workspace.Model:GetChildren() 
local BasePart = workspace.Base

local union = BasePart:UnionAsync(Parts)

local Texture = Instance.new("Texture")
Texture.Face = Enum.NormalId.Left
Texture.Color3 = Color3.fromRGB(235,0,255)
Texture.StudsPerTileU = 5
Texture.StudsPerTileV = 5
Texture.Texture = "rbxassetid://10129599335"
Texture.Parent = union

BasePart:Destroy()
for _, part in workspace.Model:GetChildren() do
	part:Destroy()
end

union.UsePartColor = true
union.Parent = workspace

Any help would be appreciated!

pretty obvious but you’re sure there aren’t any physics running on these parts eh?

Nope. They’re all anchored, can’t collide, can’t touch and can’t query. The studio parts are the same way.