(FILE LINKED) [Free] Animated Settings UI

SettingsBetter.rbxm (34.6 KB)

I decided to program and edit a little bit of gfxcomet’s settings ui, it’s free for the taking, it comes bundled with sprLib for it’s animations, since it doesn’t use conventional tweening it might be a little annoying to learn, but it’s still a free resource at the end of the day, so if you would like to learn then this is a way to do so. Obviously go sub to gfxcomet if you can, they’re a huge learning source for new ui developers, the video linked above is the tutorial on how the visuals of the interface were made, what im releasing here is more of the functionality stuff.

(The settings button on the left is made by me using Rhos’ icon pack for the settings vector)

UPDATED VIDEO:

26 Likes

Looks amazing! Good job man.

3 0 C H A R

This looks great, but you forgot to put a download in

3 Likes

Yeah, unless he meant to make it done by yourself.
Meaning this is not the right section.

1 Like

Probably

charactercharacterchair

1 Like

no you’re right, i did forget, my bad lol

I edited it a little bit and made it better, should be a pretty good learning resource still even if there’s bugs! but i tested it a bit, there shouldn’t be, sorry guys… forgot to give you the actual file :sweat_smile:

3 Likes

No problem! I’ll try it in a little while.

Oh, I am wondering; is everything scripted or do you need to script it?

The animations are completely scripted, but what you have to do is edit the code within every button, so when then button.Activated event is called, it will perform what you want it to.

Ah, ok.
Thanks for telling me, how will I implement that though? All of the GUI is basically unreadable for a newbie.

I don’t really know what to tell you, you have to have an understanding of how to connect to the activated event, and then fire code based on it, every single button already comes packed with a button activated function, you just need to add your own logic to them:

button.Activated:Connect(function()
	local currentTime = tick()
	if currentTime - lastActivation < debounce then
		return
	end
	lastActivation = currentTime

	if flag == false then
        --// This line determines what occurs when the button is enabled
		flag = true
		spr.target(frame, 0.6, 4, {Position = enabledPosition})
		spr.target(frame, 0.6, 4, {BackgroundColor3 = enabledColor})
	else
        --// This line determines what occurs when it's diabled
		flag = false
		spr.target(frame, 0.6, 4, {Position = disabledPosition})
		spr.target(frame, 0.6, 4, {BackgroundColor3 = disabledColor})
	end
end)
1 Like

Thanks for this. Really love how smooth the animation is, works great.

1 Like

No problem, glad you’re finding it useful!

This is amazing to use I even have this in my own game but Xbox players cant open it. When Xbox players try to press the Settings button it doesn’t open.

Use something along the lines of this:

button.Activated:Connect(function()
    Frame.Visible = true
end)

Which it already should in the settings menu I provided, I don’t know of any other issues, if you could send me the code snippet from the local script inside the button you use to open it, I could try to diagnose the problem.

It uses the code you put in Handler Localscript in the SettingsButton.

1 Like

Hey, I loved this resource a lot and ended up heavily revamping its functionality while keeping the yo intact. Do you mind looking at what I have and seeing if you can give a link to mine as it just adds some useful features and tweaks some things as such

1 Like

That depends, you could always just upload the file of the improved version within the replies down here, people will eventually find it I promise, and I don’t mind if you want to link it down here, so go crazy, I just don’t want to edit the post above with the new file because of trust issues

Yeah, the code should work, I’ve tested the .Activated event for controllers before and it works, I don’t know what the issue would be with yours? Maybe check the “StarterGui” Class to see if virtual cursor is enabled, if you do that it will emulate a mouse cursor on the screen for console players and it could possibly make it so you can interact with the button, I apologize for the problems you’re encountering though.