_benui
_benui
  • Видео 8
  • Просмотров 95 253
#notGDC 2023 | Know, Do, Feel
This is a talk I gave at #notGDC 2023, and for Birmingham City University's Digital Media Technology festival.
I talk about a way of thinking about UI through the lens of:
- Let the player know something
- Let the player do something
- Let the player feel something
Slides are available at benui.ca/ux/know-do-feel-slides
Просмотров: 1 785

Видео

Unreal Engine Data Roundtable Discussion
Просмотров 2,4 тыс.2 года назад
A round-table discussion on the different ways to store gameplay data in Unreal Engine. 00:00 I couldn't hear anyone oops 11:05 Vanilla Blueprints 28:00 Data Assets 57:03 Data Tables 1:09:10 CSV 1:14:50 .ini 1:25:25 Scripting languages 1:32:10 More .ini! Verse when? 1:35:35 Versioning data, UE5 Modular Game Features The discussion was hosted on the ben🌱ui Discord server on May 15th 2022. Thank ...
Creating a UMG/Slate Widget in Unreal Engine #notGDC
Просмотров 12 тыс.2 года назад
For #notGDC 2022 I gave a live chat about how to make a new Slate and UMG widget based on existing code. It was kind of messy but... here you go!
Intro to making UIs in Unreal Engine 5
Просмотров 29 тыс.2 года назад
A rambling live chat-style video where I talk about the basics of creating user interfaces in Unreal Engine 5. I talk about the User Widget interface, Slots, how to set up layout, what some of the core widgets do, how to set-up re-usable parts using public variables and Named Slots. For more information about making UIs in Unreal Engine, take a look at benui.ca or my Twitter @_benui Sections: 0...
Unreal Engine Widget Reflector Tutorial
Просмотров 7 тыс.2 года назад
The Widget Reflector in Unreal Engine is an incredibly useful tool for debugging issues with your user interface. For more tutorials follow me on Twitter @_benui and check out my site benui.ca
UI in Games - UBC Guest Lecture (2021)
Просмотров 1,8 тыс.3 года назад
Helge Rhodin was kind enough to invite me to give a guest lecture for the University of British Columbia's CPSC 427 Video Game Programming course. I talked about user interface design in games, some rules of thumb that I find helpful and a very quick overview of a design process that I follow. Timestamps: 2:30 - 1. UI in games? 4:52 - 1.1 Communicating State 16:41 - 1.2 State Change 21:45 - 1.3...
UE4 Tutorial: Character Health Bar UI Using C++
Просмотров 16 тыс.4 года назад
How to create an in-world health bar above your characters using C and UMG in Unreal Engine 4. If you have any requests, let me know and follow me on Twitter @_benui
Unreal Engine 4 UI: C++ & Blueprints UMG Workflow Tutorial
Просмотров 25 тыс.4 года назад
In this tutorial, learn how to create a UI using C and UMG Blueprints in Unreal Engine 4. We work through a simple example widget showing how buttons and text created in a UMG Blueprint can be accessed from C . For more information there is a similar text-based tutorial here: benui.ca/unreal/ui-bindwidget/ Let me know what you would like me to cover next! Follow me on Twitter @_benui

Комментарии

  • @gonzalolinanaldana3949
    @gonzalolinanaldana3949 Месяц назад

    Great video this is just what i needed thanks a lot!!!!

  • @BenMiller-l5u
    @BenMiller-l5u 2 месяца назад

    An excellent tutorial! I love how it gets straight to the important stuff. Thank you!

  • @disasterChildPo
    @disasterChildPo 4 месяца назад

    When I create a child class (a blueprint) of a widget(cpp), there is no design mode. Help me please! udp: I found a solution: I need to create a child blueprint from a child blueprint)))) udp2: It doesn't work. I get 2 errors: A required widget binding "MyProgressBar" of type Progress Bar was not found. A required widget binding "MyProgressBar" of type Progress Bar was not found. udp3: it turns out that you need to create in a certain way. Not rnb and create a child from cp, but rmb by content browser and create BP from cpp class. And so everything worked. Thanks to the author for the video

  • @jorbascrumps
    @jorbascrumps 4 месяца назад

    Thank you! This was exactly what I needed to debug an input issue on my UI.

  • @jordan_irl
    @jordan_irl 5 месяцев назад

    thanks!

  • @marcapouli7805
    @marcapouli7805 6 месяцев назад

    I was looking on how to create widget in c++, unfortunately at the end you do it in blueprint (the "CreateWidget" function in the controller)...I can't believe there is no documentation, gpt4 doesn't know either. Stuck for days with something that literally takes 10 seconds in blueprint...

  • @garrcogames
    @garrcogames 8 месяцев назад

    Thank you!

  • @АндрейАнлавович
    @АндрейАнлавович 9 месяцев назад

    hello, if there is a way to create widget in widgettree in NativePreConstruct? tried this code: if (!createdDefault) { UWidgetBlueprintGeneratedClass* widgetBlueprintGeneratedClass = Cast<UWidgetBlueprintGeneratedClass>(GetClass()); UPackage* package = widgetBlueprintGeneratedClass->GetPackage(); UWidgetBlueprint* mainAsset = Cast<UWidgetBlueprint>(package->FindAssetInPackage()); dropdown = mainAsset->WidgetTree->ConstructWidget<UComboBoxString>(); mainAsset->WidgetTree->RootWidget = dropdown.Get(); mainAsset->Modify(); createdDefault = true; FBlueprintEditorUtils::MarkBlueprintAsStructurallyModified(mainAsset); } but when i create blueprint subclass of c++ class, this code seems like runs endlessly.

  • @bibCorp
    @bibCorp 10 месяцев назад

    is there any reason this could not be edited before uploading it?

    • @ethanwasme4307
      @ethanwasme4307 5 месяцев назад

      smoke some weed and chill out for 40

  • @CHASA
    @CHASA 11 месяцев назад

    Your mic is so low, can't hear anything!!

  • @TorQueMoD
    @TorQueMoD Год назад

    Awesome video! Thanks so much for this. I didn't even know there was a way to debug widgets until now.

  • @JoblessJoshua
    @JoblessJoshua Год назад

    I can't get SetBrushFromTexture, only SetBrushToTexture. This is with a Texture 2d in UE 5.3. Trying to do the part at 35:30 Edit: I'm dumb. I was dragging in the argument Texture2d, instead of the variable of the Icon itself

  • @nfrancisj2122
    @nfrancisj2122 Год назад

    i worked on Spyro, it was not a simple action game. 😆 Great presentation! Thanks!

  • @arrowsdev
    @arrowsdev Год назад

    thanks for the effort man , very useful stuff

    • @ethanwasme4307
      @ethanwasme4307 5 месяцев назад

      i was so scared I would have to do this in the dark

    • @arrowsdev
      @arrowsdev 5 месяцев назад

      @@ethanwasme4307 XDD i wish now you are good

  • @GarethNN
    @GarethNN Год назад

    Really great discussion, super informative! Do the other folks who took part have channels I could follow?

  • @李佳奇-w9z
    @李佳奇-w9z Год назад

    Hi Ben! I want to ask about can I use the slate to build the user interface like sidebar in unreal engine.

  • @李佳奇-w9z
    @李佳奇-w9z Год назад

    Hi Ben! I want to ask about can I use the slate to build the user interface like sidebar in unreal engine.

  • @manasjoshi2939
    @manasjoshi2939 Год назад

    Great tutorial thank you so much🙌

  • @SerjSam
    @SerjSam Год назад

    Please tell me how to make the font size always default? How to save the font size (Applivation Scale) setting? That is, so that each new project opens with the selected font size?

  • @RolyPolyGames
    @RolyPolyGames Год назад

    I cannot believe this exists I am so glad it does. I googled everywhere for "Can I debug a widget UI or a UMG UI in editor?" And was turning up blanks. This thing is a LIFESAVER. Found a bug super quick.

  • @PeterWitham
    @PeterWitham Год назад

    I learned so much about UI in the Unreal Engine, thank you so much for making this and putting it out there.

  • @ЮраНедашковский-г7ш

    Have a problem : I created a cube over which there should be a widget. So, when I add a widget in the actor blueprint based on my UWidgetComponent, the widget's text is not above the mesh. But when I separately added the blueprint widget, it was placed clearly above the mesh. Who knows the reason why the text is not over the cube?

  • @Pixelarkid
    @Pixelarkid Год назад

    The transition of UE4 to UE5 was so easy! Good Video Ben ! :D

  • @kalleskit
    @kalleskit Год назад

    You've earned yourself a subscriber. Tack!

  • @barsam2a
    @barsam2a Год назад

    How can I save the Widget Reflector scale after restarting the Editor?

  • @siete-g4971
    @siete-g4971 Год назад

    excellent, I tried and works perfect, thanks

  • @gamedebix
    @gamedebix Год назад

    Hey ben

  • @UnleashedCode
    @UnleashedCode 2 года назад

    You are literally the only person who explains how to do this logic tying it in to blueprint..... Thank you for the video.

  • @hyjarion6972
    @hyjarion6972 2 года назад

    Thank you very much!

  • @SuperCoolHandle94
    @SuperCoolHandle94 2 года назад

    Ben you handsome lil man, i love you! thanks alot for the tut an your online documentation you do yourself, you're awesome

  • @NicoleSummer8
    @NicoleSummer8 2 года назад

    More C++ tutorials, please!

  • @pierre606
    @pierre606 2 года назад

    Wow! Thank you. I spent the last two days trying to find how to create a C++ Slate Widget and then ran across your tutorial. I'm a C++ programmer who has created many C++ source files that communicate over the network, so I'm very fluent on how to come in and out of blueprints. Slate is a bit of a different animal on how it communicates to widget blueprint classes. I have to say, you have the best tutorial out of the entire youtube group. This was the start I needed. I now know how the blueprints and slates communicate.

  • @tommiemartin1596
    @tommiemartin1596 2 года назад

    Amazing! this saved me lots of time, just learned that size boxes can scale the contents of uniform grid panels overriding desired size.👏

  • @Kimanox
    @Kimanox 2 года назад

    Thank you for the tutorial 👍🏼 one question: how do I access the Button Events in the UI blueprint?

  • @Zer0Flash
    @Zer0Flash 2 года назад

    this is perfect thanks a lot

  • @skeletony7515
    @skeletony7515 2 года назад

    Ты крутой

  • @diliupg
    @diliupg 2 года назад

    When I click on a file in the source section in the window I get a message saying file could not be found in the X:/Build/++UE4/Sync/Engine/Source/Developer/SlateReflector/Private/Widgets/SWidgetReflector.cpp. But when I did a search in the UE4 install folder I found the file in the D:/Engine/Source/Developer/SlateReflector/Private/Widgets/ folder. Why is that? I want to set the Application scale size to less than one. Can I do that here? It's a real pain to change the size everytime I load the project. Thanks for this video. :)

  • @phanuwatchalee8690
    @phanuwatchalee8690 2 года назад

    Is there anyone who knows how to set up Visual Studio and get a similar look as in the video?

  • @workflowinmind
    @workflowinmind 2 года назад

    33:10 is what I was looking for!

    • @workflowinmind
      @workflowinmind 2 года назад

      34:58 I would highly recommend using bindings for that, thanks for the video, I needed a refresher

  • @SoaringSimulator
    @SoaringSimulator 2 года назад

    Awesome; Tutorial about Vertion control for Unreal Engine 5? Plastic for example

  • @DitongoCrescente
    @DitongoCrescente 2 года назад

    Good evening, I'm looking for more information about the carousels configuration in the Common UI Editor, can you point me to some reference?

  • @v1vendi
    @v1vendi 2 года назад

    We had quite an interesting solution in my team. All the balancing data (abilities params, speeds, etc) was stored as JSON on a separate web server, and it was downloaded and parsed every time a game started. We could tune this params in realtime, and didn't need to recompile the deployed game with new params, just restart the match. Also it helped us maintain multiple presets of game params and switch between them during tests easily. There was only a problem with versioning data, because we didn't store it in VCS, but currently I think that the best option is storing a JSON in repository, load it to some external server on startup/deploy and then read the data from the network, still with option to edit it online

    • @v1vendi
      @v1vendi 2 года назад

      Also for editing JSON we made quite a simple tool, that generates HTML form for any JSON on the fly. No validation, but it took around 2-3 days to develop and quite easy to maintain and extend

    • @ThePseudologos
      @ThePseudologos 2 года назад

      @@v1vendi Sounds very useful. Would be very interested to hear how you get the data back into unreal properties. a) How do you identify the target of the data (e.g. abilities are UObjects so how would that work) b) How do you set individual properties or do you invert the process everything knows how to read its properties and on startup parses the JSON?

    • @v1vendi
      @v1vendi 2 года назад

      @@ThePseudologos so basically, there's one huge USTRUCT, and a subsystem, that stores current selected preset id (default is stored in .ini), and requests one large JSON from web server on game server startup. This JSON gets parsed with FJsonObjectConverter::JsonObjectStringToUStruct and stored in subsystem property Every ability, or any other configurable thing (character speed, jump height, weapon fire rate) gets a property directly from subsystem in blueprints or in cpp: MyConfigSybsystem->GetCurrentPreset()->AbilityParams->MyAwesomeAbility->BananasPerSecond On testing clients there's also a trivial UI dropdown where you can switch selected preset (rpc to server), and server calls an event that notifies abilities and other actors about config change. Change can be even done realtime without match restart, but more cleanup and update logic is too much overhead for a testing feature, so we just restart the match

    • @sebastianavena
      @sebastianavena Год назад

      Thanks for sharing this, I'm taking the same approach and it's nice to have an actual experience from people that did the same :)

  • @benjaminnguyen554
    @benjaminnguyen554 2 года назад

    Hi, I am very curious as to what hotkeys you pressed to add #include parts of your code to the top of the file at 8:32 ?

    • @zuppaman
      @zuppaman Год назад

      Was looking for the same. So far I discovered if you press alt + shift + f10 when hovering a unknown class you get the include options Also you could right click on the unknown class and add it with the refactor menu. It's both not the same as in the video but works.

  • @Mayuzawa3
    @Mayuzawa3 2 года назад

    Thanks for the tutorial, it really helped me. I'm subscribing for more new content! :)

  • @adeelyaqoobjanjua7212
    @adeelyaqoobjanjua7212 2 года назад

    Quality tutorials, <3

  • @LordDrw
    @LordDrw 2 года назад

    thank you

  • @ПавелТектов-р1л
    @ПавелТектов-р1л 2 года назад

    Thank you very much, that helped a lot!

  • @digimikeh
    @digimikeh 2 года назад

    thank you.. i did not see how you assign RandomNumberLabel variable, is it somehow internally assigned ?

  • @ilyaachmetov2264
    @ilyaachmetov2264 2 года назад

    Your guides and tutorials are awesome! Thank you!

  • @ayoubsolo.officiall7300
    @ayoubsolo.officiall7300 2 года назад

    Thanks Bro