- 261
- 131 706
Spacemarine658
United States
Приєднався 14 тра 2012
Making games and tutorials in unreal engine 5!
Check out my game demo Starlight brigade now! spacemarine658.itch.io/starlight-brigade
For all professional contacts reach me at my email below
Check out my game demo Starlight brigade now! spacemarine658.itch.io/starlight-brigade
For all professional contacts reach me at my email below
Unreal engine 5.5 Quest system Tutorial: Setup
We are staring a longer form series covering all the important pieces in making a useful and performant quest system. We'll have
Creating a Quest struct (with gameplay tags)
-Chaining quests
-Required quests
Quest metadata/media
-Loading it async
-Accessing it with soft pointers
Storing Quests (Active/Completed)
Tracking progress (Objectives) (event-driven)
-Objective UI
UI to show quests
-Filtering quests
-Searchable quests
Triggerable UI notifications
Saving the current state
Good luck and Good hunting
---------------------------------------------------------------------------------------------------------------------------
If you enjoyed watching please like and (if you aren't already) consider subscribing!
Discord: discord.gg/RDZKpPxUK9
Patreon: www.patreon.com/Spacemarine658
Bluesky: bsky.app/profile/spacemarine658.bsky.social
Electronic Nodes: fab.com/s/a1e5d2677acb
---------------------------------------------------------------------------------------------------------------------------
00:00 Intro
00:30 What I plan to cover
01:00 Best practices
02:00 Some requirements
03:00 Gameplay tags
05:10 Future
Creating a Quest struct (with gameplay tags)
-Chaining quests
-Required quests
Quest metadata/media
-Loading it async
-Accessing it with soft pointers
Storing Quests (Active/Completed)
Tracking progress (Objectives) (event-driven)
-Objective UI
UI to show quests
-Filtering quests
-Searchable quests
Triggerable UI notifications
Saving the current state
Good luck and Good hunting
---------------------------------------------------------------------------------------------------------------------------
If you enjoyed watching please like and (if you aren't already) consider subscribing!
Discord: discord.gg/RDZKpPxUK9
Patreon: www.patreon.com/Spacemarine658
Bluesky: bsky.app/profile/spacemarine658.bsky.social
Electronic Nodes: fab.com/s/a1e5d2677acb
---------------------------------------------------------------------------------------------------------------------------
00:00 Intro
00:30 What I plan to cover
01:00 Best practices
02:00 Some requirements
03:00 Gameplay tags
05:10 Future
Переглядів: 83
Відео
UE5 Simple way to switch pawns with enhanced input system
Переглядів 15728 днів тому
If you enjoyed watching please like and (if you aren't already) consider subscribing! Demo: spacemarine658.itch.io/starlight-brigade Discord: discord.gg/RDZKpPxUK9 Patreon: www.patreon.com/Spacemarine658 #unreal #tutorial #input
Fix the Unknown Structure Error in Unreal Engine FAST
Переглядів 275Місяць тому
In this video, we'll show you how to fix "Unknown Structure" in Unreal Engine 5.4. This is a common problem that can be resolved by following the steps outlined in the video. If you're experiencing issues with Unreal Engine 5.4, be sure to watch this video and follow the instructions outlined in it. By doing so, you'll be able to fix "Unknown Structure" and get your game up and running again! B...
Unreal Engine 5 Tutorial: 4 ways to optimize Event Tick
Переглядів 885Місяць тому
Welcome to a tutorial on Optimizing your tick in Unreal Engine 5! In this video, I will guide you through the essential techniques to optimize tick using 4 different methods. Whether you're a complete novice or looking to refine your skills, this will help guide you on your journey. In this video, you will learn: - How optimize tick - Testing and refining our tick performance - The pitfalls and...
Optimize UMG Animations in UE5
Переглядів 408Місяць тому
Welcome to a tutorial on Optimizing UMG animations in Unreal Engine 5 with UI Materials! In this video, I will guide you through the essential techniques to optimize your UI animations using the powerful material system in Unreal Engine 5. Whether you're a complete novice or looking to refine your skills, this step-by-step tutorial will demonstrate how to create visually appealing and efficient...
Optimizing UI in Unreal Engine 5 with UI Materials
Переглядів 1 тис.2 місяці тому
Welcome to a tutorial on Optimizing UI in Unreal Engine 5 with UI Materials! In this video, I will guide you through the essential techniques to optimize your UI using the powerful material system in Unreal Engine 5. Whether you're a complete novice or looking to refine your skills, this step-by-step tutorial will demonstrate how to create visually appealing and efficient UI elements. In this v...
Unreal engine 5 tutorial: Making a 2D slider part 2
Переглядів 1622 місяці тому
Today we are going to work on implementing 2d sliders into our UI. We are going to start with a generic 2d slider widget but it can be tweaked to work for almost anything in unreal engine 5. A great tutorial for beginners who want to learn how to handle data. If you enjoyed watching, please like and (if you aren't already) consider subscribing! 00:00 Intro 00:20 Setup 01:00 Creating the widget ...
Unreal Engine 5 tutorial: Making a 2d slider part 1
Переглядів 1642 місяці тому
If you enjoyed watching, please like and (if you aren't already) consider subscribing! Demo: spacemarine658.itch.io/starlight-brigade Discord: discord.gg/RDZKpPxUK9 Patreon: www.patreon.com/Spacemarine658 #ue5 #sliders #ue5 tutorial
UE 5.4: Making Common Action Buttons
Переглядів 3653 місяці тому
If you enjoyed watching, please like and (if you aren't already) consider subscribing! Demo: spacemarine658.itch.io/starlight-brigade Discord: discord.gg/RDZKpPxUK9 Patreon: www.patreon.com/Spacemarine658 #ue5 #commonui #ue5 tutorial
5 Common Mistakes Unreal Engine Devs Make (Beginner to Advanced)
Переглядів 4213 місяці тому
We all make small mistakes here are some common ones I've recently noticed. If you enjoyed watching, please like and (if you aren't already) consider subscribing! Not Creating Widget Classes 00:00 Not Packaging Frequently 01:50 Casting To Everything/Not Casting Enough 03:20 No Version Control 06:30 Not Tooling 07:50 Demo: spacemarine658.itch.io/starlight-brigade Discord: discord.gg/RDZKpPxUK9 P...
Common Activatable Widgets vs Common User Widgets (UE 5.4 Common UI)
Переглядів 6763 місяці тому
Thank you all for the feedback on my last episode I spent some time with a helpful friend and while I still have some room to grow audio wise I hope I have improved it quite a bit. Please let me know if you have any other suggestions! On to the topic CommonUI currently has two main types of base UI elements which is best for what? When do you care about activation? If you enjoyed watching, plea...
Should you use Canvas Panels or Overlays? Unreal 5.4 UI Optimization
Переглядів 1,4 тис.3 місяці тому
Should you use Canvas Panels or Overlays? Unreal 5.4 UI Optimization
CommonUI EP 2: Creating Keybindings for Enhanced Input System
Переглядів 1,2 тис.4 місяці тому
CommonUI EP 2: Creating Keybindings for Enhanced Input System
CommonUI EP 1: Getting started with CommonUI
Переглядів 1,2 тис.5 місяців тому
CommonUI EP 1: Getting started with CommonUI
Understanding Insights: UE5 Optimization with WaitForTask
Переглядів 1,5 тис.5 місяців тому
Understanding Insights: UE5 Optimization with WaitForTask
Unreal Engine 5 Best Practices Tutorial: UI using Attributes and Delegates
Переглядів 7675 місяців тому
Unreal Engine 5 Best Practices Tutorial: UI using Attributes and Delegates
Unreal Engine 5 EIS Tutorial: Chorded, Double Tap and Combo Actions
Переглядів 6826 місяців тому
Unreal Engine 5 EIS Tutorial: Chorded, Double Tap and Combo Actions
Unreal engine 5.4 Tutorial: Creating Key Icons (Enhanced Input)
Переглядів 8926 місяців тому
Unreal engine 5.4 Tutorial: Creating Key Icons (Enhanced Input)
How to add Discord Rich Presence to your Unreal Engine game (UE5)
Переглядів 1,5 тис.7 місяців тому
How to add Discord Rich Presence to your Unreal Engine game (UE5)
I spent a month REBUILDING My Indie Space Game | Starlight Devlog
Переглядів 2047 місяців тому
I spent a month REBUILDING My Indie Space Game | Starlight Devlog
Unreal Engine 5 Optimization: Class refs & Event UI (UE5 Quick Tips)
Переглядів 6767 місяців тому
Unreal Engine 5 Optimization: Class refs & Event UI (UE5 Quick Tips)
How To Use UE5 Size Maps (UE5 Optimization)
Переглядів 6838 місяців тому
How To Use UE5 Size Maps (UE5 Optimization)
What can indie devs learn from Helldivers 2?
Переглядів 1,3 тис.8 місяців тому
What can indie devs learn from Helldivers 2?
UE5 Optimization Episode 2: Unreal Insights Beginners Guide
Переглядів 4,9 тис.9 місяців тому
UE5 Optimization Episode 2: Unreal Insights Beginners Guide
UE5 Optimization Episode 1: SceneCapture2D and Rendertargets
Переглядів 2,8 тис.9 місяців тому
UE5 Optimization Episode 1: SceneCapture2D and Rendertargets
How to make Gamemodes in Unreal Engine 5 and why they matter
Переглядів 67410 місяців тому
How to make Gamemodes in Unreal Engine 5 and why they matter
I spent 30 days working on my games AI and UI! | Devlog
Переглядів 11510 місяців тому
I spent 30 days working on my games AI and UI! | Devlog
Unreal Engine 5 Navball Tutorial: Master this Game-Changing Feature
Переглядів 35511 місяців тому
Unreal Engine 5 Navball Tutorial: Master this Game-Changing Feature
Unreal Engine 5.3 How to make 3D Formations with AI units
Переглядів 59811 місяців тому
Unreal Engine 5.3 How to make 3D Formations with AI units
In Germany we say Ich küsse dein herz Bruder
@@miralovesyou192 kein problem, inch bin gerne für sie da
Awesome, thank you for this!
@@bobo21D no problem glad it was useful 🤘
This is exactly what I was looking for. Thanks a lot man! Excellent tutorial.
Hey, thanks for the video! It's helping me a lot. I'm learning, still new to Unreal, can you tell me why you set up the mapping context in the pawn BP instead of the controller BP itself?
@@BonnieJoStufflebeam yeah so essentially as long as the controller is possessing the pawn you just need to register the context and that's most of the work I did a recent video on switching pawns that also shows how the player pawn is setup
@@Spacemarine658 Well that went over my head, but I'll watch the other video and see if I get it! lol
Have you experimented with Global Invalidation for UI? I heard it was stable in 4.27 but people have been running into some problems with it in UE5. Also, keep up the great work!
@@NorthRockStudios thanks and I have not but I'll take a look 🤘
Omg Stat Named Events tick helped me soo much, TYSM. I was looking for hours to understand the problem.
@@GenarAltinisik it's super handy for sure glad it helped 🤘
Another huge memory optimization you can apply, works especially great on Mobile Devices - change the Capture Source: in the SceneCapture2D / Scene Capture component - Capture Source - Final Color (LDR) in RGB In the Render Target - RenderTarget Format - RTF RGBA8 instead of some 16 bit option
Thanks for the great video. If so, I have a few more questions. When I enable bExplicitCanvasChildZOrder and use Canvas Panel, the num batching that can be confirmed in slate stat increases by only 1 even if I nest Canvas Panel and put an image as a child. Then, can using canvasPanel instead of overlay be an alternative? Because the visible num batching increases only by the z-order of canvasPanel, not the number. I need to optimize, but I can't figure out which one to use to create the UI nesting structure because of the result value when bExplicitCanvasChildZOrder is enabled.
@@양혁-u3j so explicit canvas z order is more efficient than not using it as it batches the zorder of the children per level but it doesn't remove all of the cost especially as the z order grows it will help with nest canvas panels somewhat but the actual use case of layers will still have a cost overhead as does the batching. So it can be an option you just have to be aware of it's issues
bro i started ue 3 days ago, the blueprint part went over my head
Saved my a$$!! I was stuck on this for an hour, got so frustrated! Even chatGPT couldn't figure it out. Thank you very much!!
@@BenskiGameWorks no problem glad I could help!
Thanks so much for the video, saved me hours of time! :)
@@skidzR glad it could help 🤘
I followed your Keybinds for 5.2 and now trying to update to 5.3 I am having a lot of problems. In 5.2 you had a lot of things going to the instance as well and I am getting errors and have no idea how to fix them. What should I do to get key bindings working again in 5.3?
@@krisburke3671 so the 5.2 system was broken in 5.3 but this video should be very similar so if you follow this you can keep your system almost the same but with some minor tweaks
i have most of it done but the load keybinds on my player character doesnt work anymore, basically the load and save system are broken, i know where but dont know how to fix it.
@@krisburke3671 hmmm 🤔 does it give any errors or just doesn't work?
@@Spacemarine658 i get errors in the game instance, i am in your discord and can show you via pictures
@@krisburke3671 sounds good 👍
i have an issue i have a ui with inputselectors generated out of my mappings which are controller but if i select an inputselector and press facebutton bottom to change the value and press it again so i can override it it shows "left mouse button" instead of face button bottom with every other key on my controller it works
@@Athurito hmmm that is very strange 🤔
@@Spacemarine658 some people say its a common UI bug do you have a similar setup? with generic inputdata for accept and back and so one?
@@Athurito hmmm I do and it doesn't happen to me although tbf I haven't looked at my setup in a bit I've been in other places of my code I'll take a look and see
Wow what a game and thanks for the tut🙏
Great video, I will share that with my community :)
@@mic007129 glad to hear it!
Any chance to go over dualsense/ps4 controller integration and how to detect xbox vs playstation input method at runtime and switch ui icons in widgets accordingly? Lyra has the setup for some of it, however they don't have the playstation controller detection/integration. I know some developers say that you need to be a playstation partner to get access to their plugins and sdks for it, but surely there has to be another way to do this?
@@albertkam191 I'll look into it there's probably some things you can do but I'm not 100% how deep it goes
Thanks for the Video man! But please for the future, turn that music down! It's very hard to follow you over the music, bc at times its louder than you talking..
@@Dead5kip yeah I cut out the music in my current videos 👍
I think Move Component to function relieves tick too, smoothly
My general advice would be: If you have no experience with programming, avoid using Tick unless you absolutely have to.
@@TheJackFrench eh I get why you say that but learning even if only a bit is more useful than outright avoiding
@@Spacemarine658 Absolutely! But learning is key when using Tick as it has such a profound effect on everything else in your game. It's kinda like, imagine there's an ingredient in your kitchen which, if used the wrong way, turns your dish sour and catches fire. You avoid using such an ingredient unless you know what you're doing. ;-)
@@TheJackFrench xD fair enough I'm the kinda person who would try it catch it on fire and then try again to see if I can find ways to not catch it on fire 🔥
Very informative short video, thank you.
@@talos5750 glad it helped
I heard many things about c++ is faster than blueprint when it comes to tick but is it THAT faster ?
@@biaxthepanda not with every use case but yeah especially with things like for loops it's insanely faster
@@Spacemarine658 Do you know if its faster at spawning ai than blueprint? Im making an enemy pooling system for my game and Im spawning many enemies at the beginning and disable them when they die. So I was wondering if I should move my spawning logic at the beginning to c++.
@@biaxthepanda yes and no it is faster but only by so much as construction of actors still eat up a lot of performance a better fix would be some kind of delay between spawns so it's not a sudden jump imo
@@Spacemarine658 Thank you a lot! Theres gonna be a loading screen so I thing it will be better to get over all of em in one go. Just wanted to decrease that time but looks like construction will be a pain in the ass anyway
@@biaxthepanda yeah unfortunately
The rest of you are cowards ! :P Ari was amazing !
Great information thank you for the video
@@brahmcross glad ya liked it!
Thank you for helping us all out, in France and Belgium we have Azerty keyboards instead of Querty, this helped me to bind the keys for UE 5.4 to use it in the play editor. Thx to you one more frustration gone. :D
@@MrGeerp no problem glad this could help!
How can I override the arrow keys to be wasd or something else for this keyboard navigation?
:*
Will Named Events tell me specific Blueprint calls that cause lag?
@@IchBinJager it depends it's not a magic bullet on it's own but it'll definitely point out the problem functions in your blueprints and help narrow down the problem
@@Spacemarine658 Alright. Thanks. Just hoping it can be more specific than without it.
@@IchBinJager yeah with named events it definitely is a bit more specific
this video is gold. thank you so much. i was having such a nightmare by not being able to move to the proper widgets when creating sliders
@@FF-FAN9999 glad it was helpful
@@Spacemarine658 super helpful. Been stressing about this for months
if i press pause in my game it pushes a pausemenu to the "menustack" and if i wanna press the quitdesktop button it will push a confirmationwidget to the popupstack but the pausemenu works fine i cant move ... but if the confirmationwidget is open i can move in the background do you have any idea? i even tried it to push it to the menustack but same result
@@Athurito hmmm it should only allow you to move if your input mode is game or game and ui
Thank you so much for making this tutorial! I was stuck on this for a couple hours
Something I don't understand: how does the overlay know where to anchor on parent canvas? And canvas also doesn't have Z sorting for the various elements it hosts, so I was having my image material just render on top of all other things 🤔 EDIT: oh oops I have to render my image at the top of the list so it's first and then the text after that so it ends up on top
@@werti4894 the anchor point is controlled by the canvas and the canvas panel has z levels that you can set on its elements to order them but it doesn't order them by default as you may want multiple on the same level
Super useful, thank you!
Glad it helped!
Great video! Do you know of a way to enable mapping of e.g. a gamepad button to a key mapping that is originally set as a keyboard key in the mapping context? Neither the UEnhancedPlayerInput or the UPlayerInput code is enforcing this. I think it might be down to the query functions in the UEnhancedPlayerMappableKeyProfile with UEnhancedPlayerMappableKeyProfile::QueryPlayerMappedKeys. It's the only check involving key type i can find. I'll be testing this later and post my findings but maybe there is a simpler solution you might have come across?
Great news! I was right, I can now mix and and match as i please.
@@HappyUnrealCoder nice 👍
at 35:22 top right, how do you get the Default - In Text to show? I don't see the Default section at all. I figured BaseButton's text variable needed to be public but I can't get the eye to tick on.
@@vannysanten so in the base button if you drag the text widget onto the graph then from that drag off set text (should be the bottom most one you should get a place to plug in a Text variable you then drag off a pin and select promote to variable and that variable should be able to make a public variable with the eye
Nice intro. thanks for the video.
glad to help!
Great break down. The UI material lab has some great UI material examples. Saved me a ton of time remaking a performant better UI
@@paulkelsey2632 absolutely it kicks butt 🤘
Love the new mic and sound, thanks!
@@michiganderryan5293 thanks!
Question, Do I need to worry about having a deep hierarchy if there's only 1 instance of the widget created when the game first loads ? For example in the pause menu thats never destroyed only collapsed and shown ? I'm wondering this because the way I have things now my pause menu is pulling in my settings menu which has dozens of nested widgets and a very deep hierarchy ... But if my understanding is correct this is only a concern when creating the widget to prevent stutters ? Thanks for the help. EDIT : The settings menu also pauses the game so in theory that would free up alot of performance when it is displayed I would think or am I wrong there ?
@@ryanjdevlin87 there are trade offs there are still on going costs per frame but by pausing it that helps to keep the fps up a bit I'd say do a bit of performance testing and depending on your project needs you'll then need to decide
@@Spacemarine658 Ok thanks man so doing abit more research on draw calls and looking at logs I guess everytime the widget is made visible it redraws everything. I just dont know how to go about lowering the size of the hierarchy in such a complex widget like the settings menu. It has dozens of widgets in it using a widget switcher tab format for controller support. As well as nested overlays, vertical and horizontal boxes to format the layout ... I gotta test a bunch now because I'm wondering if 1 canvas panel would be better in this case. Sheesh my brain is exploding :P
@@ryanjdevlin87 yeah it's definitely a complicated thing xD it's both an art and a science
Did this with very complex widget (with hundreds instances) over a year ago and performance boost was big. Also, object count should be lower if using a single image inside a User Widget. Also, performance widgets like invalidation boxes (including Cache Relative Transforms) can make a massive saving by controlling render rates.
@@IWillYeah yep and it's cheaper to animate a material widget than it is to animate widgets for all those reasons too!
Got a tutorial on how you made that thruster?
@@joshhouston5405 not currently no but it might be something I cover in the future
@@Spacemarine658 would love to see it. Or even just a quick overview cause particles and materials are not my Strongsuit at all lol
@@joshhouston5405 lol fair enough I'm in the same boat mine only look passable due to many attempts and clean up lol
So it's all about the drawcall count, caused by a simpler hierarchy? Or am I wrong
@@pecka6612 it's a mixture of reduced drawcalls but also moving the load away from the CPU and onto the GPU by using materials you essentially parallelize some of the cost too making the overall workload less making your UI snappier
@@Spacemarine658 thank you!
@@pecka6612 no problem glad to help 🤘
your a life saver
The video is lagging with no reason
@@pamparam3495 maybe refresh? It's not lagging for me
Was diving into this today to create user mappings for inputs in my game, and was getting tripped up with how to handle mappings with multiple keys. This helped a ton, thank you!
glad I could help!
@@Spacemarine658 Hey you have any tips on saving modifiers? Seems like they don't save (I'm using them for camera invert & sensitivity settings) the same way. Will probably manually save them out with my GameUserSettings class but curious if you had any insights.
@@sloth_boss I manually save and load them as I ran into the same thing lol 👍
maybe you can help me i have a CUI_MainMenuStack in it a activatableWidgetStack i push CUI_MainMenu and if i start the game i cant get the focus i always need to move my mouse so my gamepad has focus on the buttons but it should work without mouse And a other issue is i have a tabView and i wanna set focus on elements inside of the switcher
@@Athurito there's a function you can override I believe called something like get focus widget and you can tell it what you want to focus and then on activation or on construction you can call that function like a pure function and set focus
@@Spacemarine658 yea i tried it but still it wont work till i move my mouse
@@Athurito are you capturing the mouse on game start? And is it happening in pie or in packages too?
@@Spacemarine658 what do you mean with capturing the mouse? you mean INputMode to UI only? yea its happening in viewport standalone and package
@@Athurito there's a setting to capture the mouse I forget where I'll find it when I get on next but there's a setting to capture the mouse in the viewport usually that fixes issues like this
Hello, may I ask what causes GameThread Wait For Task to be too long? When analyzing with Unreal Insights, GameThread Wait For Task often takes up most of my GameThread time
@@鑫张-p1v I have a video specifically about waitfortask but essentially it means that something else is chewing up your resources think of it like it's saying "waiting for a different thread to finish it's work" if you go up or down on that frame you'll find somewhere that's using up that frame time
I was using a CanvasPanel for each item slot of my grid inventory (sometimes more than 100 slots on screen at the same time) and it was absolutely destroying my framerate. switching to overlays solved the issue. so yeah good advice, beware of canvas panels, they're meant to be used for 'global' layout, one or two is perfectly fine, but more than that is death sentence for your fps