I believe the problem comes from not being able to tell the difference between a default instance and one that’s been inserted from elsewhere.
How can I tell the difference between the default ParticleEmitter and one from free models?
It’s not an option to instance the object myself and compare the properties, compare Instance.new("SpawnLocation", workspace) against one inserted through advanced objects. I could keep a list of all defaults, but as soon as Roblox changes one my plugin breaks.
Yeah, looks like there will be a bunch of hoops to jump through – but I still have no doubt it can be done! You may eventually want a “recalibrate” button so if roblox changes the defaults, your users can fix it without having to ask you to upload the tool again.
Defaults for Advanced Objects and Instance.new are probably hardcoded into the executable. If anyone figures out how to parse that data out, I’ll make a bot that uploads that information to Roblox whenever there’s an update.