How to recover invisible / corrupt unions

What do you mean by two lines? Please be more specific with It

Is It copying this entire thing?

Are these even lines? What lines? There Is no way to know where lines end and begin, what are the lines?

1 Like

In the screenshot you can see I copy the large block of XML text, not including the next cursor string and the straight dividing line of hyphens. These are the top two lines of output for that block of output, you should not copy them.

Refer to the next screenshot of notepad, it shows you what you should be pasting into the file.

2 Likes

Little help here? image
The lines of code I copied

You copied the top two lines of text I wrote not to copy. Do not include the ---- line or the text above it.

3 Likes

Thank you for the super quick reply.

Still get the corrupted prompt. Copied these lines of code.

You have now neglected to copy the first two lines of the XML block.

Look at the pictures in the OP, they show you what you should be copying.

1 Like

I tried copying the 3 lines of assets because Notepad changed the format and still got the prompt. The next attempt showed how I copied it again. I didn’t copy the three lines like you said because you said copy each block of code and I assumed that each line + the asset was a block. Still got the same error message.


I

Sorry for the confusion. By block I mean the entire chunk of output between and including both <roblox> and </roblox> tags. This is an XML format and is similar to HTML, you must copy the whole thing so it is formatted correctly.

1 Like

Including the <roblox version"4"> would count as the first line as the code, which I can’t copy.

You should copy as shown here, all the way to the bottom of the block of output:

image

I have marked the first two lines that you are not supposed to copy to be clear.

1 Like

Ah, yikes. I did that, but I’ve only gotten a few unions back. Should I retry? Is retrying the way to get more unions? The main union I needed was freshly corrupted.

1 Like

If your union was in a file that was saved at least once while the union existed, it should be there. The union you will be recovering will be the union roughly at the last union/negate operation you performed (I think they get uploaded when your place autosaves), so if the last operation you did (not including the one that caused it to get corrupted) was x days ago, you’ll have to look through x days worth of results.

Refer to the instructions for how to get more pages of results.

1 Like

I’m searching through the unions right now. Can some unions be resized when being ? I’m concerned about the absence of the large union I saw before.

They should be the same size they were created at AFAIK. Not sure what happens if you resize the union and then continue working on it. The bounding box will always be wrong until you re-combine it though.

The results should be in chronological order, which should help you narrow down where it should be.

1 Like

Yikes, I unioned that union a looong time ago. I don’t think I’ll find it here because it’s so untouched.

Oh wow haha, I just ununioned and reunioned a corrupted one and it’s BACK! I’m gonna try it on the bulkier union. I’ll keep this recovering tactic in mind though. Thanks for the help.

1 Like

If you have super old unions that were created close to the beginning of your account, you can reverse the sort direction by modifying the sortOrder parameter in the URL the script uses.

Reverse chronological order
{
	let howManyPages = 1;
	let initialCursor = "";

	////////////////////////////////////

	let currentPage = 1;
	function request(cursor) {
		fetch(`https://itemconfiguration.roblox.com/v1/creations/get-assets?assetType=39&sortOrder=Desc&limit=25&cursor=${cursor}`)
		.then(response => response.json())
		.then(responseData => {
			let output = `<roblox version="4">`;
		
			responseData.data.forEach(asset => {
				let union = `<Item class="UnionOperation"><Properties>`
				union += `<Content name="AssetId"><url>https://www.roblox.com//asset/?id=${asset.assetId}</url></Content>`
				union += `</Properties></Item>`
				output += union;
			})
			
			output += `</roblox>`;
			console.log(`Next: ${responseData.nextPageCursor}\n------------------------------------------\n${output}\n`);
			
			if (currentPage < howManyPages) {
				++currentPage;
				request(responseData.nextPageCursor);
			}
		})
	}

	request(initialCursor);
}

Good luck

1 Like

Amazing! This helped loads.

I’ve been suffering from this issue for a while now.

1 Like

Wow, It actually works! Thanks, soo much!