Essential UI Tips & Tricks | Roblox Studio

Поділитися
Вставка
  • Опубліковано 23 лис 2024

КОМЕНТАРІ •

  • @snuguga
    @snuguga 4 місяці тому +95

    really useful, didn't even know that canvas group thing existed, nice video!

    • @Zeko47
      @Zeko47 4 місяці тому +2

      same!

    • @Blck4004
      @Blck4004 4 місяці тому +1

      fr

    • @BlockyStuff
      @BlockyStuff 3 місяці тому +1

      I did know that canvas group existed, but since I was a scripter and not UI designer, never knew how to do it, this vid really helped out

    • @Br0ken_playz
      @Br0ken_playz 3 місяці тому

      Ikr that is so Underrated I see many Top Notch Quality games like Even Mimic for Example having that Health Bar clipping.

    • @jeremiahalfaro79
      @jeremiahalfaro79 2 місяці тому

      dude same

  • @DarkenZ
    @DarkenZ 4 місяці тому +66

    When i saw the page layout trick, i see tons and tons of possibilities with this without having to script a single thing :D

    • @EzoPlayerS
      @EzoPlayerS 4 місяці тому +8

      You know spmetimes its better to script. But its up to you.

    • @KrisszXD
      @KrisszXD 4 місяці тому +1

      DARKENZ!!!

    • @rylyyxy
      @rylyyxy 4 місяці тому +1

      ​@EzoPlayerS give me one good reason why you would need to script this, it just makes it harded when you can literally just insert a uipagelayout and your done

    • @boblox_studio_dev
      @boblox_studio_dev 4 місяці тому

      @@rylyyxy I made a comment earlier, might as well copy and paste it. It is really long
      Yapping Level: 📈📈📈📈📈
      V
      One disadvantage I have with UIPageLayout is that for some reason by default the index sometimes glitches which makes it go to the item in the list with the index of 1 instead of 0. This meaning that it goes to the second page by default. I have to set up a script to UIPageLayout:JumpToIndex(0) on start just to fix this. Even when I do it in studio, it still doesn't save so I have that script.
      Another disadvantage I have with UIPageLayout is that despite me disabling all of the input methods on it so I can set the pages programmatically, I can still go to the pages through user input. When you press \ (backslash not slash) on your keyboard, it toggles keyboard navigation so you can navigate through the GUI using WASD or ← ↑ → ↓. When I try to get to a page outside the current out using keyboard navigation it automatically goes to that one.
      Lastly, circular is very glitchy and does not wrap around seamlessly.

    • @EzoPlayerS
      @EzoPlayerS 4 місяці тому

      @@rylyyxy no, no you got me wrong. I mean in these cases its better to do like that. But I mean people usually tend to do everything with The Gui of roblox. So make sure you have created a balance between them

  • @benjikad
    @benjikad 4 місяці тому +69

    7:30 just use automatic canvas size.

  • @EpicPico0625
    @EpicPico0625 4 місяці тому +9

    Fun Fact: Scrolling frames have a property called "Automatic canvas size" or something along those lines, that automatically resizes the canvas without needing any scripting. You can choose between: X, XY, Y, or None. (This does NOT add on to the current canvas size, so keep that in mind)
    Pages are cool

  • @fouxe1731
    @fouxe1731 4 місяці тому +2

    Tip for the scrolling frame size:
    You don't need to script anything, just set the scrolling frame canvas size to {0,0}{0,0} and put automatic size to Y

  • @KnightInRed
    @KnightInRed 4 місяці тому +25

    This video is 10x better than the ui tips that the big UA-camrs make. Keep it up!

  • @zegzropat
    @zegzropat 4 місяці тому +17

    Tip for UIaspectRatio:
    Divide the property absolute size X by the property absolute size Y in the calculator will give you the ratio for the AspectRatio

    • @boblox_studio_dev
      @boblox_studio_dev 4 місяці тому

      That's basically what a UIAspectRatio constraint is. It keeps the ratio between the width and height consistent and proportional between all screen sizes. Ratio is division so you dividde the width and the height.

    • @ransu6852
      @ransu6852 4 місяці тому

      Or just literally use a plugin that does it for you

    • @boblox_studio_dev
      @boblox_studio_dev 4 місяці тому

      @@ransu6852 lazy a- (sorry 💀)
      Fun fact you can put expressions inside of properties in Roblox. You don't have to get a calculator just type it in. AbsoluteSizeX/AbsoluteSizeY
      For example just write 450/30 or something and it works

    • @daveashi1338
      @daveashi1338 4 місяці тому

      @@ransu6852 what plugin

    • @ransu6852
      @ransu6852 4 місяці тому

      @@daveashi1338 Name for it is autoscale lite. If you accidentally use offset, then you can fix that quickly by this plugin.

  • @Jasper_K
    @Jasper_K 3 місяці тому +5

    For automatically updating de canvas size is also a property on de scrolling frame

  • @HeyShattered
    @HeyShattered 11 днів тому

    The previous video, and this one, REALLY helped me a lot! Please make more UI tips and tricks videos!

  • @ItsTheSteven
    @ItsTheSteven 3 місяці тому +3

    5:59 - You can set the canvas size automatically by setting AutomaticCanvasSize to Y, you may have to set the canvas size to 0

  • @GNopy
    @GNopy 2 місяці тому +1

    really useful, simple, fast, no bullshit, JUST PERFECT GIVE THIS GUY AN OSCAR! ❤

  • @Martanus
    @Martanus 4 місяці тому +1

    I am glad that people can now know about the canvas group one, which I knew before, because that was a life saver!!

    • @boblox_studio_dev
      @boblox_studio_dev 4 місяці тому

      Me too. Did you learn it yourself like me or did you learn it from someone?

  • @Moij56-Games
    @Moij56-Games 4 місяці тому +1

    That progress bar fix will be so useful!! I knew there was a way to fix it, but I had no idea how to do so, thank you 🥰

  • @jarxdd_
    @jarxdd_ 4 місяці тому +5

    5:47 : Theres an easier trick for both that works for both UIlistlayout or UIgridlayout. Start by selecting the scrolling frame and setting the canvas size to 0 and then set the automatic canvas to Y, XY, or X depending on what direction your scrolling frame scrolls into. This way the scrolling framw wont need any script and is much more percise than this method.

  • @CK_CodingKing
    @CK_CodingKing 3 місяці тому +3

    UIaspectRatioConstraint is so crazy

  • @RobloxStudioTutorials.
    @RobloxStudioTutorials. 4 місяці тому +4

    I ALWAYS use the Converting Plugin while doing GUI. If i do something wrong, i can just change it :D

  • @usernamehere_
    @usernamehere_ 3 місяці тому +1

    Other than the last one this is pretty fire, thank you bro.

  • @OhKeelay
    @OhKeelay 4 місяці тому +1

    For the Fixing Progress Bars With UICorner I always did a tween for offset of a color, which was not fun, but this is so much better in the video thanks dude👍👍

  • @simon_aatc
    @simon_aatc 2 місяці тому +1

    UIPageLayout is literally a livesaver, I'm the owner of a game with 2 different shops, and I'm also the most advanced scripter out of the team, but I still kind of suck. So thank you!

  • @2.0-dr2tc
    @2.0-dr2tc 4 місяці тому +2

    I wanted to do some UI card animations in my game, like rotating the 3D model of the card, but I tried a lot and couldn't!

  • @MK5YT
    @MK5YT 4 місяці тому +1

    Page layout looks perfect for a shop UI 🔥

  • @DavidWinstead
    @DavidWinstead 4 місяці тому +3

    Great tips man. I really love the scrolling frame script, that will be very handy for any game's inventory system! thanks for sharing!!

    • @NewGuyX
      @NewGuyX 4 місяці тому +1

      theres a property called "automatic ???? scaling ????" on the scrolling frame. if you set it to Y then it will do that automatically without a script! (set the scrolling size to 0,0,0,0) for it to work

    • @DavidWinstead
      @DavidWinstead 4 місяці тому

      @@NewGuyX Awesome, great to know, thanks.

    • @NewGuyX
      @NewGuyX 4 місяці тому

      @@DavidWinstead no problem

  • @armaangaminguk
    @armaangaminguk 3 місяці тому +1

    Bro can we have more of these? I really liked this video lol

  • @Duke-d4x
    @Duke-d4x 16 днів тому +1

    thank you very much, from Brazil 😄

  • @Lightning_Fan12345
    @Lightning_Fan12345 Місяць тому +2

    so useful, how do you have frame outline with ui corner?

  • @gabsim2781
    @gabsim2781 4 місяці тому +1

    tip for the scrollingframe thing: there is actually an automaticsizing for the canvassize so just set that to Y and put a uilistlayout or smth and its gonna do the job just fine (make sure to set canvassize Y the smallest u can too cuz automaticsizing only increases but doesnt decrease)

    • @Aadiyan1
      @Aadiyan1 4 місяці тому

      its buggy if you add padding with it

    • @gabsim2781
      @gabsim2781 4 місяці тому

      @@Aadiyan1 ye but you could also be smart (like me) and make ur own padding (invisible frames) ok ye that idea sucks but id rather do that then a localscript tbh

  • @Seven-ko4hx
    @Seven-ko4hx 4 місяці тому +1

    Wow quite a bit of useful tips, I'll definitely being using a few of these!

  • @Blck4004
    @Blck4004 4 місяці тому

    u saved my life by ui aspect raatio i always used plugins that made it look bad on the mobile and tablet thank you

  • @clipnoir
    @clipnoir 3 місяці тому +1

    Really useful information 👏

  • @adot_blox
    @adot_blox 4 місяці тому

    for the scrollingframe you can use the automatic canvas size option, just set it to 'Y', and set the canvas size to 0

  • @Ajt3Baklava
    @Ajt3Baklava 2 місяці тому +2

    I didnt know u need only uiaspectratio for making ur game ui for all devices i tought u need scripts

  • @MnkyDev
    @MnkyDev 4 місяці тому

    Progress bar tip is a lifesaver 🙏

  • @Seiklass.reremsch
    @Seiklass.reremsch 4 місяці тому +2

    Really helpful ,Great Video👍

  • @avivshmueli8315
    @avivshmueli8315 4 місяці тому

    for auto canvas size change the frame's size contrasts to xx if the scrolling canvas based on Y or the opposite to make it work

  • @АртёмДолгоруков-ж3ш
    @АртёмДолгоруков-ж3ш 4 місяці тому +1

    TYSM DUDE FOR UICorner FIX!!!!!

  • @brpz
    @brpz 4 місяці тому

    wanted to point this out, in the script for the scrolling frames instead of getting the playergui by doing game.Players.LocalPlayer.PlayerGui you can just do script.Parent
    example:
    Explorer
    -ScreenGui
    --Frame
    ---LocalScript
    ETC
    Script
    local PlayerGui = script.Parent.Parent.Parent

  • @jeremiahalfaro79
    @jeremiahalfaro79 2 місяці тому

    Great video!

  • @juju_le_belge
    @juju_le_belge 4 місяці тому +2

    i think there is a property in scrollingframes to automatically change the size

  • @couriusDEV
    @couriusDEV 4 місяці тому +1

    Man this was so useful, keep it up!

  • @LD-dt1sk
    @LD-dt1sk 4 місяці тому

    Pretty sure if you switch from scale canvas size to pixel one in scrolling frames there is an option that automatically adjusts the size of the canvas

  • @ufoulroo2035
    @ufoulroo2035 4 місяці тому +8

    Pretty sure scrolling frames have an auto update scroll size

    • @Pignoodlesss
      @Pignoodlesss 4 місяці тому

      They do

    • @stewiepfing539
      @stewiepfing539  4 місяці тому

      AutomaticCanvasSize doesnt work for me 90% of the time

    • @SaleMales
      @SaleMales 4 місяці тому +2

      @@epixerty no, it applies always, he does it wrong then, always worked for me

    • @EpicPico0625
      @EpicPico0625 4 місяці тому +1

      It does work, set it to 0,0,0,0

  • @AdvysorMc
    @AdvysorMc Місяць тому

    Thanks bro you helped me ❤❤❤

  • @gaminforever2624
    @gaminforever2624 4 місяці тому +2

    Nice video really helps!

  • @RoboGameOfficial
    @RoboGameOfficial 3 місяці тому

    for UIAspectRatioConstraint (and scaling of UI), you should use AutoScale or AutoScaleLite

  • @Zakycaua
    @Zakycaua 4 місяці тому +3

    New sub!
    Btw, can you make a tutorial on DataStores? I'm trying to make a simple money and kills datastore but it isn't working.

    • @MoHa-dv4fb
      @MoHa-dv4fb 4 місяці тому

      Yeah we need a tutorial on profile service datastore tbh

  • @zabuxman4631
    @zabuxman4631 4 місяці тому +2

    4:21 I HAD NEVER HEARD OF THIS. WHAT?!

  • @lyalekin
    @lyalekin 4 місяці тому

    bro everything is so useful, thank you!!!❤

  • @Blood_Streams
    @Blood_Streams 4 місяці тому

    for the scrolling frame canva size use automatic canva size and put the canva size to 0.0.0.0

  • @로좋
    @로좋 4 місяці тому +1

    Bruh this is SO helpful ❤👍

  • @Im_IntoDev
    @Im_IntoDev 4 місяці тому +1

    Please fix the corners of the progress bar scaling down when it gets small. It's such a simple fix; all you have to do is offset the bar to the X axis twice the size of the corners. Then in the script, you can then just add this size amount onto the X size result from your calculation.

    • @keyblademaster8263
      @keyblademaster8263 4 місяці тому

      Two ways of solving the same problem that's why I love coding there are 100x ways to solve the same problem. No definitive right answer.

    • @execute214
      @execute214 4 місяці тому

      ​@@keyblademaster8263 yes, everything has multiple solutions, this isn't exclusive to math

  • @xheptc9612
    @xheptc9612 4 місяці тому

    It's better to use UIGradient with Transparency sequence and Offset property to clip the frame, instead of using CanvasGroup

    • @xheptc9612
      @xheptc9612 4 місяці тому

      The frame size would be scaled 1,1. and Offset X would be in a range of scale 0-1 (ex 0.5 offset clips 50% of the frame)

  • @cant_thinkofaname807
    @cant_thinkofaname807 4 місяці тому

    i don’t build in studio so this will be very important for me

  • @unusedaccount-b7t
    @unusedaccount-b7t 4 місяці тому

    whoa that canvas group is interesting

  • @errortyp3
    @errortyp3 4 місяці тому

    Crazy how I’ve been designing UI for 3 years and haven’t come across these…

  • @TheTrashOfDivinity
    @TheTrashOfDivinity 4 місяці тому

    From 142 subs to 3k+ very fast growth

  • @antlam225
    @antlam225 4 місяці тому

    U should use :ChildAdded and :ChildRemoved event for the local script, using renderstepped for everything is terribly inefficient and expensive

  • @itssloplayz
    @itssloplayz 4 місяці тому +1

    any tips how to make good looking shop ui?

  • @avyukth3727
    @avyukth3727 4 місяці тому +1

    How do you make a loading screen like in DriveWorld? Is it a repeat animation until game:IsLoaded()?

  • @Alleehwhouare3900
    @Alleehwhouare3900 4 місяці тому

    before this video exist i use ui gradient for the health bar offset = health - 0.5

  • @akaisstudios
    @akaisstudios 4 місяці тому +1

    u read my comment, tyyyyy

  • @EnderGrad
    @EnderGrad 3 місяці тому

    1:43 whats the explanation for this? Why does it work on a canvasgroup but not in frame

  • @FreakyDevv
    @FreakyDevv 11 днів тому

    i love that the canvas group just doesn't work for me

  • @FluffScripts
    @FluffScripts 4 місяці тому

    AutomaticCanvasSize Property has left the chat...

  • @That_Random_Guy101
    @That_Random_Guy101 4 місяці тому

    6:30 just put the automatic scrolling size to true? (Don't remember if it worked that way, gonna have to check home and correct this but there is a setting for it.)

    • @SaleMales
      @SaleMales 4 місяці тому

      yup, can't see a use to it

  • @7md_0
    @7md_0 4 місяці тому

    i love ur video

  • @SaleMales
    @SaleMales 4 місяці тому

    Scrolling frame tip, is there some use to it? Auto scale exists

  • @carob9121
    @carob9121 Місяць тому

    when i make gui's next to eachother wehn i then puplish then the gui's are like 1 meter from eachother how do i fix that?

  • @JayJJonez
    @JayJJonez 3 місяці тому

    W

  • @TylersAdventures_YT
    @TylersAdventures_YT 4 місяці тому

    can u help me with the scrolling frame thing its broken

  • @Asian_Jonny
    @Asian_Jonny 4 місяці тому

    i didn't understand the canvas group thing and i tried it but it didn't work for me. Is it possible for you to help me?

  • @BlueEnergyRoblox
    @BlueEnergyRoblox 3 місяці тому

    TIP: UI not properly placed in mobile? Use UI Padding!

  • @hikchik2065
    @hikchik2065 4 місяці тому

    bro your channel is very underrated . Do you have discord server?If not , why dont you create one?

  • @ender7966
    @ender7966 4 місяці тому

    when using canvas groups textlabels are for some reason blurry?

  • @keyblademaster8263
    @keyblademaster8263 4 місяці тому

    W video

  • @OrangizeAndDevelopYourIdeas
    @OrangizeAndDevelopYourIdeas 4 місяці тому

    2. Or just enable clip descendants? I don't see why its necessary to use canvas group
    3. I don't really use UIAspectRatioConstraint because I don't really understand it so I may be wrong here but can't you just use scale to achieve the same result?
    5. Just use automatic canvas size?

    • @BadKD
      @BadKD 4 місяці тому

      No, scales don’t achieve the same result. There are many different screen sizes so scales can vary. Using the constraint makes the UI look similar for all screens

    • @boblox_studio_dev
      @boblox_studio_dev 4 місяці тому

      Clip descendants on regular GUIs don't clip the rounded corners.

  • @R-gi7bi
    @R-gi7bi 4 місяці тому

    why cant i see the frame that i put inside the cnavas group

  • @PSYCHO_brxdy
    @PSYCHO_brxdy 3 місяці тому

    What font did you use in the first tip?

  • @Bloxburg_Builderman
    @Bloxburg_Builderman 2 місяці тому

    How do you make a ui that you can move around

  • @fridaypinzerut2699
    @fridaypinzerut2699 11 днів тому

    I dont get it, canvas group doesnt work

  • @compcompcompff
    @compcompcompff 3 місяці тому +19

    12 second intro is the least yapping ive heard 💀

    • @ike5276
      @ike5276 17 днів тому

      Shouldn’t that be a “😊” instead of a “💀”?

    • @compcompcompff
      @compcompcompff 17 днів тому

      @@ike5276 not sure how to explain, but in a way i used the "💀" in a non toxic way.

  • @minicup
    @minicup 4 місяці тому +2

    1:56 what do I insert? A new frame/same frame or a new canvas group? Please don’t cover the explorer next time as this has left me quite confused

    • @stewiepfing539
      @stewiepfing539  4 місяці тому +1

      Sorry, get rid of your original frame and turn it into a canvas group and copy the properties over

    • @boblox_studio_dev
      @boblox_studio_dev 4 місяці тому

      There is also a Reclass plugin which you can use to convert the frame into a canvas group with all of its properties but I'm not sure if it is still free.

    • @minicup
      @minicup 4 місяці тому

      @@stewiepfing539 ah ok

    • @minicup
      @minicup 4 місяці тому

      @@boblox_studio_dev I have reclass, I’m pretty sure it’s free but the dev might of made it paid like his other plugins but thanks for trying to help

  • @firepalmmy5933
    @firepalmmy5933 4 місяці тому

    discord server when??????

  • @ImCalledArio
    @ImCalledArio 4 місяці тому

    0:52 it doesnt work for me, can you help?

  • @akaisstudios
    @akaisstudios 4 місяці тому +1

    now its vfx XD

  • @NotRynch
    @NotRynch 9 годин тому

    that canvas group didnt work

  • @avocadopeanut
    @avocadopeanut 4 місяці тому

    please lose the captions and random images every few seconds

  • @BlazeyCrazey
    @BlazeyCrazey 18 днів тому

    I’m watching this on a iPad 7th gen 2:44 💀

  • @Fanplayz
    @Fanplayz 2 місяці тому

    the second one doesnt work

  • @5ersx
    @5ersx 4 місяці тому

    Isn’t this just python?

    • @TheNuller
      @TheNuller 3 місяці тому

      No U #### B###

  • @Bruh_AI-uo8yf
    @Bruh_AI-uo8yf 8 днів тому

    3:10

  • @Brinefinger
    @Brinefinger 3 місяці тому

    Umm

  • @Stalkernaut
    @Stalkernaut 4 місяці тому

    the ultimate ui tip is to stop making lifeless rounded ui's and spend more time making a creative design!

  • @BoomEmpyreus
    @BoomEmpyreus 4 місяці тому

    This is The Script Pls Ping
    local player = game.Players.LocalPlayer
    local playerGui = player.PlayerGui
    local RunService = game:GetService("RunService")
    local function Update()
    for _, scrollingFrame in playerGui:GetDescendants() do
    if scrollingFrame:IsA("ScrollingFrame") then
    local gridLayout = scrollingFrame:FindFirstChild("UIGridLayout")

    if gridLayout then
    local contentSizeY = gridLayout.AbsoluteContentSize.Y
    scrollingFrame.CanvasSize = UDim2.new(0,0,0, contentSizeY)
    end
    end
    end
    end
    RunService.RenderStepped:Connect(function()
    Update()
    end)