Merch Booth Module - Shoppable Region tutorial does not work because of StreamingEnabled

Hello,

The shoppable region is no longer functioning as expected. It had been working smoothly for months without any changes from my end. However, suddenly last month, it stopped working. I have diligently followed all the steps outlined in the merch booth developer module (Merch Booth | Documentation - Roblox Creator Hub) and I even sought assistance from Roblox’s AI assistant. I also posted about the issue on the Devforum (Merchbooth's shoppable region problem)
But unfortunately, no solution has been found. I would greatly appreciate any assistance you can provide. Thank you in advance.

Edit: It appears that the issue arises when I enable the streaming option. However, I do need the streaming enabled. How can I resolve this?
Screenshot_25

2 Likes

Recommend refilling this as a Creator Hub bug; developer product bugs seems to be handled there

1 Like

I see… but how do i change the tags? it automatically chooses ‘engine bugs’ by roblox staff

Try messaging Bug-Support again with a link to this thread and ask them to move it to the right category

1 Like

Hi @minatoxaqi ,
Thanks for bringing this to our attention. You should be able to fix this by modifying the LocalScript that detects the shop regions (the script shown in the Shoppable Regions section of the guide). The following script dynamically listens for when they stream in and out, based on the CollectionService tag “ShopRegion”, instead of assuming the regions will exist when the player enters your experience.

local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local CollectionService = game:GetService("CollectionService")

local MerchBooth = require(ReplicatedStorage:WaitForChild("MerchBooth"))

-- Remove the default catalog button
MerchBooth.toggleCatalogButton(false)

local function setupRegion(region: BasePart)
	region.Touched:Connect(function(otherPart)
		local character = Players.LocalPlayer.Character
		if character and otherPart == character.PrimaryPart then
			MerchBooth.openMerchBooth()
		end
	end)

	region.TouchEnded:Connect(function(otherPart)
		local character = Players.LocalPlayer.Character
		if character and otherPart == character.PrimaryPart then
			MerchBooth.closeMerchBooth()
		end
	end)
end

-- Iterate through existing tagged shop regions
for _, region in CollectionService:GetTagged("ShopRegion") do
	setupRegion(region)
end
-- Detect when non-streamed shop regions stream in
CollectionService:GetInstanceAddedSignal("ShopRegion"):Connect(setupRegion)

I’ll soon update the guide to reflect this update, so others using streaming don’t face the same issue.

Take care,
IgnisRBX

2 Likes

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.