When I am going to insert an Attachment into a part, the ‘Insert Basic Objects’ tab fails to recognize a newly-inserted, basic basepart is a valid parent, and fails to show the attachment in the list.
It also fails to show up for other basepart-like objects, such as meshparts.
Expected behavior
It’s expected that, since baseparts are the very basis of what Attachments go into, that I see the attachment in the list when selecting a single basepart, like this example screenshot in which I had workplace selected only;
Followup - If you right-click the part in the explorer, and insert an object using that method, the “Attachment” entry is greyed out - again implying somehow the Basepart has been misflagged in studio as being incompatible with Attachments. Which is of course, not good for developing!
Disable “Show only Recommended Objects” in the … menu for the Insert Object pane.
The code backing the engine’s idea of allowable parentage has completely broken down over time. In the early days of Roblox the engine actually prevented you from parenting things in a way that we thought was “wrong”. Over time we realized this is counterproductive and now mostly just let devs parent Instances however they feel is appropriate.
The recommended insertions still uses that allowable parentage mechanism behind the scenes, but since it’s not used by anything else anymore it has broken down over time due to unimportance, to the point where the recommendations are very bad as you can see.
I’ll see if I can get some motion on ripping out that old system and replacing it with some better simpler recommendation system, but that will likely be low priority given the complexity is high and the payoff is low.
Alright, thank you for the response! If you can’t get it prioritized, maybe a Bandaid solution is to set the recommended insertions system to default Off until it can be prioritized.
That being said, as a developer of nearly 10 years, I do appreciate the “useful” items appearing at the top of the list, so a replacement/update to this system would definitely be appreciated more than simply disabling!
One thing I would also note is that the Object Insertion pane doesn’t rely on any privileged APIs: If you don’t like what it’s offering right now, you actually have all of the pieces to write a community plugin that works very similarly to it but offers you exactly the inserts you want.
ReflectionService lets you find out what types exist, and CreatePluginGuiAsync lets you create a docking panel to display the results in.