[Alpha] Next Gen Studio Update: Custom Tabs

Yeah I just realized from another post this action hasn’t been moved over to the new system. I will check with the team on if we can get it migrated!

3 Likes

Great to hear, hoping all goes well for that.

On another note, I’ve been getting this very annoying bug with the ribbon tooltips. They appear normally, but half the time they just start jiggling oddly left and right (happens near end of clip).
It also fails to disappear when not hovering over it at times, which causes huge lag spikes in studio.

I think I’ve seen someone talk about this before but it’s been a long while since then and I was wondering if any fixes are planned?

also appears through window
image

4 Likes

Yes. The layout system will get some much needed love next year.

2 Likes

Right now if you double click the tabs they will collapse/expand. We have a nicer “floating” version in the works.

3 Likes

Talking about this, I think the plugins tab needs some work and they are the only reason I can’t use this :(( Another thing, what can I really add in custom tabs?

Another thing that annoys me is that the Material icon opens the Material Manager window instead of that tiny drop down window.

the json i used was inside of the customtabs directory

Hmm. Alright, thank you I suppose. I wish it was a schema so I could validate it better but I suppose writing one is a low priority, haha.

1 Like

Oh sorry I misunderstood. I took your JSON and it works for me. We did rollback Windows Studio from v650 to v649 over the weekend (for an unrelated issue). I wonder if that’s the problem?

also another question of mine is there any document or something with the list of the built in gui stuff? aka the studioURI or whatever it is inside the luau document you sent :smiley: thanks

EDIT: Nevermind! i managed to find out for myself in the files! heres a devfourm post of my findings

1 Like

This is great news to me, however, I have a few more stuff I want to hide such as “Collaborate” and the Assistant Button, will that be possible with the “Manage Tabs” UI?

If this releases, please keep the original ui as an option for those who like it still.

Hey uh how would we add the plugins into the tabs sinec i cant find out how to add my own plugin buttons into the tab or if anybody else knows how please let me know since we need likke a document going over it

EDIT: nvm i forgot to update the plugin in my plugins

1 Like

This explains it well:

Technically, it’s possible with the new UI system! But I don’t think Manage Tabs would be the right entry point for it. We’ll think on this a bit.

2 Likes

So tabs are still getting worked on, will the plugin tab ever get some love, is it quite broken still, make moving over hard to do, i wanna like the new ui but cant yet.

Good stuff!! Goood stuff!! Love the things y’all are doing with this new studio UI!

I made this tab

{
    "Name": "Test Tab",
    "Controls": [
        {
            "Id": "SelectButton",
            "Type": "IconButton",
            "Action": {
                "PluginId": "BuilderTools",
                "DataModel": "Standalone",
                "ItemId": "Select",
                "Category": "Actions"
            }
        },
        {
            "Id": "MoveButton",
            "Type": "IconButton",
            "Action": {
                "PluginId": "BuilderTools",
                "DataModel": "Standalone",
                "ItemId": "Move",
                "Category": "Actions"
            }
        },
        {
            "Id": "ScaleButton",
            "Type": "IconButton",
            "Action": {
                "PluginId": "BuilderTools",
                "DataModel": "Standalone",
                "ItemId": "Scale",
                "Category": "Actions"
            }
        },
        {
            "Id": "RotateButton",
            "Type": "IconButton",
            "Action": {
                "PluginId": "BuilderTools",
                "DataModel": "Standalone",
                "ItemId": "Rotate",
                "Category": "Actions"
            }
        },
        {
            "Id": "TransformButton",
            "Type": "IconButton",
            "Action": {
                "PluginId": "BuilderTools",
                "DataModel": "Standalone",
                "ItemId": "Transform",
                "Category": "Actions"
            }
        },
        {
            "Id": "PartButton",
            "Type": "IconButton",
            "Action": {
                "PluginId": "BuilderTools",
                "DataModel": "Standalone",
                "ItemId": "Part",
                "Category": "Actions"
            }
        },
        {
            "Id": "MaterialButton",
            "Type": "IconButton",
            "Action": {
                "PluginId": "BuilderTools",
                "DataModel": "Standalone",
                "ItemId": "Material",
                "Category": "Actions"
            }
        },
        {
            "Id": "GroupButton",
            "Type": "IconButton",
            "Action": {
                "PluginId": "BuilderTools",
                "DataModel": "Standalone",
                "ItemId": "Group",
                "Category": "Actions"
            }
        },
        {
            "Id": "UnionButton",
            "Type": "IconButton",
            "Action": {
                "PluginId": "BuilderTools",
                "DataModel": "Standalone",
                "ItemId": "Union",
                "Category": "Actions"
            }
        },
        {
            "Id": "IntersectButton",
            "Type": "IconButton",
            "Action": {
                "PluginId": "BuilderTools",
                "DataModel": "Standalone",
                "ItemId": "Intersect",
                "Category": "Actions"
            }
        },
        {
            "Id": "SeparateButton",
            "Type": "IconButton",
            "Action": {
                "PluginId": "BuilderTools",
                "DataModel": "Standalone",
                "ItemId": "Separate",
                "Category": "Actions"
            }
        },
        {
            "Id": "NegateButton",
            "Type": "IconButton",
            "Action": {
                "PluginId": "BuilderTools",
                "DataModel": "Standalone",
                "ItemId": "Negate",
                "Category": "Tools"
            }
        }
    ]
}

But the thing is only some of the buttons appear.


I also get this warn in console

  04:42:02.725   ▶ Cannot bind to action DataModel:Standalone, PluginId:BuilderTools, Category:Actions, ItemId:Part that does not exist (x3)  -  Standalone

Yes we’ve made minor improvements here with nicer grouping and reliable sorting. But I’d like to hear more specifically what you’re looking for.

You’ve got several weird controls in there. I don’t see "ItemId" : "Part" in my actions or the default ribbon tabs. I would use:

{
    "Type": "SplitButton",
    "Id": "Part",
    "ShowSettingOptions": true,
    "Setting": {
        "PluginId": "BuilderTools",
        "DataModel": "Standalone",
        "ItemId": "PartShape",
        "Category": "Settings"
    },
    "DefaultAction": {
        "PluginId": "BuilderTools",
        "DataModel": "Standalone",
        "ItemId": "Insert/Block",
        "Category": "Actions"
    }
},

OK there’s a whole bunch of weird ones so I just fixed them all. Double check the OP on how to dump your available actions to a text file and copy the “Uri” over to “Actions” (If the write-up is wrong or confusing, let me know!)

{
    "Name": "Test Tab",
    "Controls": [
        {
            "Id": "SelectButton",
            "Type": "IconButton",
            "Action": {
                "PluginId": "BuilderTools",
                "DataModel": "Standalone",
                "ItemId": "Select",
                "Category": "Actions"
            }
        },
        {
            "Id": "MoveButton",
            "Type": "IconButton",
            "Action": {
                "PluginId": "BuilderTools",
                "DataModel": "Standalone",
                "ItemId": "Move",
                "Category": "Actions"
            }
        },
        {
            "Id": "ScaleButton",
            "Type": "IconButton",
            "Action": {
                "PluginId": "BuilderTools",
                "DataModel": "Standalone",
                "ItemId": "Scale",
                "Category": "Actions"
            }
        },
        {
            "Id": "RotateButton",
            "Type": "IconButton",
            "Action": {
                "PluginId": "BuilderTools",
                "DataModel": "Standalone",
                "ItemId": "Rotate",
                "Category": "Actions"
            }
        },
        {
            "Id": "TransformButton",
            "Type": "IconButton",
            "Action": {
                "PluginId": "BuilderTools",
                "DataModel": "Standalone",
                "ItemId": "Transform",
                "Category": "Actions"
            }
        },
        {
            "Type": "SplitButton",
            "Id": "Part",
            "ShowSettingOptions": true,
            "Setting": {
                "PluginId": "BuilderTools",
                "DataModel": "Standalone",
                "ItemId": "PartShape",
                "Category": "Settings"
            },
            "DefaultAction": {
                "PluginId": "BuilderTools",
                "DataModel": "Standalone",
                "ItemId": "Insert/Block",
                "Category": "Actions"
            }
        },
		{
            "Id": "MaterialButton",
            "Type": "IconButton",
            "Action": {
              "PluginId": "MaterialManager",
				"DataModel": "Standalone",
				"Category": "Actions",
				"ItemId": "Toggle"
            }
        },
        {
            "Type": "SplitButton",
            "Id": "Group",
            "ShowSettingOptions": true,
            "DefaultAction": {
                "PluginId": "BuilderTools",
                "DataModel": "Standalone",
                "ItemId": "GroupAsModel",
                "Category": "Actions"
            },
            "Setting": {
                "PluginId": "BuilderTools",
                "DataModel": "Standalone",
                "ItemId": "Group",
                "Category": "Settings"
            }
        },
        {
            "Id": "UnionButton",
            "Type": "IconButton",
			"Action": {
				"PluginId": "BuilderTools",
				"DataModel": "Standalone",
				"Category": "Actions",
				"ItemId": "UnionSelection"
			},
        },
        {
            "Id": "IntersectButton",
            "Type": "IconButton",
            "Action": {
				"PluginId": "BuilderTools",
				"DataModel": "Standalone",
				"Category": "Actions",
				"ItemId": "IntersectSelection"
            }
        },
        {
            "Id": "SeparateButton",
            "Type": "IconButton",
            "Action": {
                "PluginId": "BuilderTools",
				"DataModel": "Standalone",
				"Category": "Actions",
				"ItemId": "SeparateSelection"
            }
        },
        {
            "Id": "NegateButton",
            "Type": "IconButton",
            "Action": {
                "PluginId": "BuilderTools",
				"DataModel": "Standalone",
				"Category": "Actions",
				"ItemId": "NegateSelection"
            }
        }
    ]
}