#blueprint
1 messages · Page 192 of 1
In UE4 I used to run into weird issues with them all the time, so I was assuming it was just being dumb.
Do these things even have fill/auto option?
How do you know it is not respecting the size box it's wrapped in? what is different than how it should be? If it's simply it being tinier that could be due to screen size cuz it gets scaled appropiately.
It's just a veritical box in a size box with multiple widgets added to the vert box. The subwidgets are also in a size box, but only clamping verically.
The icons and text are miles apart.
It should look like the second screenshot. I can increase/decrease the size box clamps to visually see it move further/closer together.
oh lol sorry I didn't see that; I thought the icons were environment props
So I'm pretty confident the size box is doing its job.
Yeah, it was a bad screenshot. Still in prototype mode. lol
So, maybe a silly question but again, do you have a fill/auto option ?
it seems to be stretching to fill the screen space
Yeah. The sub widgets are being filled because I was intentionally clamping them with the parent widget they were nested in. But even when I turn that off, it still isn't working.
It's not filling the screen.
Hacky suggestion but have you tried padding the f out of the right side or adding a spacer ?
That gif is so much bigger than I thought it was.
soo.. have you tried using the widget reflector?
I haven't. I've only used it a few times and usually for debugging logic issues. I'll try it.
I really need to start using that tbh
yeah run it in the viewport, open the reflector, and just start mousing over stuff to see how the hierarchy is laid out when running
Might work better than my usual trial and error approach😅
chances are people are right tho, it looks like its filling out the parents space
since it looks like its animated, is the animation setting it to bad values
It's insane how many more actual layers there are going on in a widget behind the scenes...
yeah the widget reflector can be reaaaaaaaaaaaaaally annoying to work with
Yeah. I thought it gave me a hint, but I don't think it's what I thought it was. I can set all of my size boxes to 0 and it's still showing up the same way.
I'll keep toying with it. :/
If you want it to have a fixed size you're probs better off wrapping it in a canvas panel and just setting its size and anchors appropriately and moving on for the moment.
Not the animation either. :/ ^ I'll try that now.
I realized at least in my short time using ue5 that ui is harder to keep contained without a canvas panel.
So that’s a fair bet @storm shale
I had a similar issue with a server browser. I was looking at.
I got it. Honestly I don't know how. I just cleaned up the child widgets a bit and did a single horizontal box and a size box and it's all good now.
well the issue is canvas panels are pretty much the only panel that has an exact coordinate system
I usually use a canvas panel when it's a window/menu. But when it's like a pop out UI element like this a canvas panel usually doesn't do me any good.
Much better. The child widgets were simply not repsecting the size box of the parent becuase their horizontal boxes were filling horizontally. Honestly not sure that's working as intended, but I've got it working now and I'm moving on. lol
How can i do the math in my IsCorner? function to determine if a tile in the produced grid is in a corner so i can proceed to place actors at those corners within the same 2D grid execution macro using the output parameters the macro gives?
So I was right? 🥳
Also canvas panels are fairly expensive, use overlays instead whenever able
Anyone know how i can make this camera tilting smooth instead of snappy which is how it is right now?
use smaller values, or look into lerping from one value to another
uh do you know how i would be able to add an interpolation/lerp into that? im not rlly sure how to go about it
give me 2 seconds and I will write it up in my blueprints, I believe it's easy
tysm
absolutely
If you are using spring arm you can set the camera lag
Otherwise implement your own by interp
@frail onyx this is hopefully what you're aiming for. I wasn't able to get it to work without the event tick node, I think it requires to be checked constantly. You could probably add a boolean to check that the player is moving prior running the event tick part of the code.
also I've been learning UE5 for like 3 days, so if this is wrong feel free to tell me a better way 🙂
tysm, ill try adding that
sure 🙂
i got it but for some reason it only works for the right tilt
when i press a to move left it also tilts right
yea you'd need to invert it, give me a second let me add that.
ooo ok
wait i think i got it figured out
its kinda messy lol, but would this be a viable way? it seems to work so far
if it works absolutely!
alr nice, tysm for the help again! Ur pretty good for only like 3 days lol, i've been doing it on and off for a while and still haven't got a great grip lol
google is a big help, their fourms have a lot of information and help on it too. I promise if you have a question, someone else has had the issue to. 🙂
if you'd like you're free to add me, I won't mind helping out. I'm having fun learning it, just need an idea on what to make haha
ooo nice
sure i'd be down to
cool
Hey friends, I've been stuck on making the save system for my game. I'm just trying to save which abilities form a data table have been unlocked in the main menu before loading into the game. Here's some screenshots lemme know if you need more context! (also the last two screen shots are my latest attempt which I'm aware is wrong I just don't know why.)
aren't data tables read-only? I haven't messed with save game, but I remember reading that datatables are read-only.
They are read only.
In your SaveGame, you should save an array of Name or DataTableRowHandle properties. These can point to the RowName, or the DataTable and RowName for your datatable.
how can i build my game as is to see how it would run?
Hello guys, in this quick and simple tutorial we are going to learn how to Build/ Export/ Package your game in Unreal Engine 5.
↪️Check out awesome Unreal Engine courses: https://bit.ly/GorkaGamesWingfoxCombat
Follow me on Twitter: https://twitter.com/GorkaGames
Subscribe to the channel: https://www.youtube.com/channel/UCv_n9oioNF6OpzR2dt6E4xg?...
I just run it as a standalone, but I'm not sure that's helpful so here's a video.
Package it
when you run it in standalone how come it runs on 2 screens?
like it runs 2 instances?
no it stretches onto 2 screens?
I use a laptop, so I can't help there I don't have 2 screens.
awesome thank you
if i built the game, would it mess up anything in editor?
is there any switch on object BP Node ? like SwitchOnName !
Problem: Open Level -> Enhanced Input Fails
Anyone had this issue? I have a simple start level that creates a UIStack and pushes a Start Menu Widget, User clicks "New Game", it just does Open Level by Object Reference...
The level loads no problem, everything looks good, game mode, pawn, player controller, game state all are set but the input just doesn't work. I'm going mad here.
No. You're cooking the game files into a new directory. Entirely separate of the editor.
thank u
- Are you in Menu or Game input mode?
- Did you apply InputContextMappings?
Hrm, I'm not in a mode that I know of. And yes, it applies the InputContextMapping...
When I load the level manually it works fine too.
You have to be in an input mode. There's three. Menu, Game and All. AKA UIOnly, Game, and GameAndUI.
You're using CommonUI stuff, right?
Yep
And after loading into the new map, something pushes an Activated widget to screen?
That's right
That activated widget should be setting the input config to All or Game if you want Enhanced Input controls.
Gotchya, let me see....
Make sure that it is the right widget activated too.. Uh...
I think this is the command?
CommonUI.DumpActivatableWidgetTree 0 1 0 0
It should put a list of activated widgets in the output log.
Oooooh, thanks!
what is build all levels used for under the build tab?
I don't think that console command works, but I think you're onto something about the widget being focused.
I'm seeing "LogUIActionRouter: Display: [User 0] No focus target for leaf-most node [PlayingModal_C_0], and the widget isn't focusable - focusing the game viewport."
I believe it builds all the lighting, navigation, geometry etc in all sublevels.
Ah yeah, @maiden wadi -- Something around this focus -- Thank you for direction here!
Focus shouldn't matter here.
i havent been able to find a tutorial on it, do you know what that means exactly lol? im trying to figure out if its something i need to be doing as im creating the game
Focus is for inputs in the widget itself. Won't affect gameplay inputs. Only the two things I mentioned above will. If you have applied a context mapping, I'd wager you're in Menu input mode.
Except I went into the level and manually did "Set Focus to Game Viewport" at the end of my input setup and got the exact same behavior.
I'll try to change the mode though
Hrm, when I set the mode to any of the three it fails as well... Wild.
Can't help much without more info on what is happening. Where are you setting the input mode?
I'm not setting it at all, and when I try to set it to anything it kills enhanced input.
Again, if I set it to any of UI, Game, or UI + Game - It makes enhanced input not work.
Game + UI should allow both to work
I appreciate that, but it's failing me here.
Try clicking in the viewport first and see if that does it
Yep, doing that.
So does the input work after the first click?
Can you show where you’re adding the IMC and everything
If you're using static lighting and not dynamic then you'll need to build lighting. If you're using AI with a navmesh you'll need to build navigation when you want it to update around new or moved geometry. Other than that you're all good. Just keep on working. 🙂 It's a good practice to build everything before you package your game for distribution.
got it, thank you!
Input mode default to game at the start of the game. If you set it to UI you don't need to put a widget in to focus. If you need input from your character while your UI is open then use set input mode game and UI.
There's a good chance I missed a lot of context and that didn't help you at all but I thought I'd take that chance. Lol
Haha, thanks. But CommonUI seems to flip the script on a lot of this.
Often people miss adding the actual IMC or setting the mouse capture mode
Oh? I'm using common UI and haven't had any issues.
Same
Setting the input mode to anything is not working for me.
What exactly is the issue?
I scrolled up
On begin play you're setting input mode to UI again on the new level and adding a widget to the screen I assume?
This works, but only when I start on the level, if I Open Level into it, the enhanced input events do not fire.
Interesting macro
Priority should be 0 btw unless you’re trying to override another IMC
Also if I add to the end of this, Set Input Mode X (Game, UI, Game And UI) -- It will fail.
Ah yeah, I was trying to see if that worked.
And yes it's all firing.
Wait a blooming second...
It was totally the priority.
OMG
I changed it to try and see if that was the issue, but never changed it back.
Wow wow wow
As they say show code show error
I did try turning it on and off again
Lol
this discord is super cool, I'm glad I found it.
you all seem super kind too :3
I've been trying to come up with a concept because learning the engine, while fun, is boring without a goal (imo).
I think I finally have an idea I'm working on a GDD for it and getting my ideas on paper which is something I'm not use to doing so putting thoughts into words is hard lol
You’ll prly learn better by working towards a specific goal, just try picking something you think a baby could do if it’s your first project
You’ll likely find out it’s a lot harder as you go along and it won’t seem impossible when you realize its true complexity
I would be lying if I said my idea wasn't a little ambitious. But I taught myself COD modding with C++ and engine work. so how hard can this really be (wish me luck pls lol)
but I'm tackling 2D which i feel like may be a little easier since I won't have to worry about my blender skills or anything.
but I guess we'll see.
Bear in mind, allegedly, the recommended approach is make GDD -> pick the engine for your game based on requirements. Though 2D is doable in UE, it is more geared towards 3D, so you may experience some additional roadblocks
Yea I have worked with Godot a little bit, but I like UE5 and would like to use it if I can. I will definitely look into it more once I flush out some of the GDD. 🙂
So if I step away from UE5 I will probably go with Godot ^
Duroxxigar would approve
idk who that is but yurrr
Okay, so as I was going to sleep, I realized that no the Priority thing wasn't the issue, and I wracked my head around for a while longer.
And then I had this feeling... There was some plugin that was messing me up I bet...
Uninstalled the Web Browser Widget plugin and now everything works totally fine.
I didn't even have it in use anywhere, but merely being there was messing everyhing up. Wild stuff.
The reason why is because there's two channels for handling inputs, Game and then UI. Enhanced inputs only fire on the game input mode. (or game & UI)
If Game & UI inputs are enabled, the UI will always get a chance to handle the input first. If it's on handled it then gets passed to the game.
Another thing to note is that enhanced inputs don't honor the focus system meaning if you're input mode is set to game & UI and have multiple widgets with the same input action, they will all fire.
From my understanding, enhanced input support via common ui is less about allowing you to use enhanced inputs outright within your widgets but specify input actions to trigger specific behavior such as cool down effects or hold timers within your widgets using the common ui widgets. (such as the common action widget)
TLDR: Enhanced inputs don't work when in UI only input mode.
Yeah, the problem was I was selecting all the modes and it was still failing. Turned out the Web Browser Widget plugin was somehow messing it all up. 🤷
Yea, it might have changed how some of the inputs were being routed.
sleep well !
Personally, beyond jotting down some notes (rough ideas), i think a GDD is a waste of time unless you're working on a sequel. Things change to much at the beginning so you'd be wasting you're time documenting stuff that might not even be kept.
If you're wanting a project to start while you're learning the engine, I would just start with a retro clone with a small twist and go from there. A 3d pacman isn't a bad one as you have controlling the player, spawning pills, pickups and some basic AI.
definitely, I'm personally making a GDD because I have very poor short term memory. I'll talk about something and forget it 5 minutes later. This just gets my ideas on paper where I can back them up.
Also I forgot the answer the second part, that's essentially what I am doing! I'm taking among us and adding a twist essentially. Same core mechanics, but overall it will feel different. Or at least that's the hope !
Not exactly retro, but definitely not too hard of a feat.
I usually recommend starting with a single mechanic that sounds like a fun challenge. Like pulling a lever to open a door. Or an elevator. Once you've got that working, think of another one, or add a new feature. Do that until You've got yourself a small game. Then you'll probably be ready to start a new project with a pre established idea. Hopefully an idea that you can complete within the bounds of the skills you just learned and not much beyond them. You'll still learn a ton along the way, but overscoping can lead to hours of frustration and burnout and eventually quitting.
It's more complex than it looks. 😉 I would go simpler.
So multiplayer? Wince
I have been messing with the engine a lot actually ! and I have some core stuff under my belt as well as C++ knowledge. I'm also not going in dark I've helped my boyfriend with his game design school work so I'm not super well versed in the engine, but I know my way around it a little
I wasn't even concidering the multiplayer aspect.
yup. I got multiplayer working on a 3D game but haven't tackled replication yet.
I know that's the hard part though
Lol that's THE part.
oh absolutely! I'm just stubborn and know I'll get something down, even if I have to make a few rough drafts
I mean go for it. My test project was a conveyor belt that spawned boxes you could pick up and sort into bins.
Then I started an open world RPG. That was 6 years ago. Guess what I'm still working on.
yea, luckily it's well documented so I will be able to figure it out. Just depends how many sleepless nights it will take 
yea I don't expect to have anything playable in my first few months, probably longer. This shit takes time. That's why I'm trying to get myself into communities of people who do this stuff cause help is something I've never been afraid to ask for.
I've been working with multiplayer for a few years now. I started a new project Monday with multiplayer and I've only had to refactor about 4 times so far. I'm doing great! Lol
It happens though ! All part of the fun !
If you really want to learn the engine, doing some procedural terrain gen in BP can be good. I wouldn't recommend it for an actual release. (should be done is C++) but the stuff you'll learn just so you don't stall the game thread is wild lol.
Yeah I'm using BP as a way to learn the engine then I wanna get into the C++ side. I prefer C++ tbh
That's like learning to wash windows by climbing the side of a skyscraper. Lol
Is it? I thought they were pretty Similar, perhaps we just into the C++ earlier than I thought.
No I'm referring to the procgen comment. Lol
Like I know at the core they're different, but I thought that the core mechanics were similar and naming.
OH
my badd
Definitely, just make sure you wear a parachute. 😛 I learnt so much when I tried to do it. Class hierachy and structure, generating and storing large amounts of data and how to profile. All so useful.
I love blueprint and only barely touch C++. But even if you're experienced with C++ I still suggest learning blueprints first since they're so core to the engine.
Ok cool that was the plan
plus with blueprints my boyfriend can help out when he feels up to it since he's a little more experienced with them
Yep. Blueprints are amazing for teams and designers. You can build your core functionality on c++ then expose it all to blueprint or create child classes with exposed variables for designers to use.
That's actually really cool. That's why I really wanna make a game with UE5, it just feels more rewarding, if that makes sense.
I used Godot and stuff for small learning exercises and it wasn't that hard to get some basic stuff down. I know once you get further into development it gets harder, but I actually feel like I have to learn with UE
I came from an engine called Stencyl which is a tiny 2d, visual scripting engine. I was blown away by the freedom I had after jumping into Unreal. Then immediately humbled by my completely lack of understanding of performance and optimization. Lol
I hadn't even thought about performance and optimization yet. haha
But yeah. It was a huge learning curve. But I'm smitten with it. I'm definitely an unreal fanboy. The only other engine I really want to learn is game maker. I just love the interface and the idea of knocking out simple 2d games.
Unreal feels like sweeping dust with a bulldozer when it comes to 2d games most the time.
Unless I wanted to do like a complex top down RPG or something I probably wouldn't do 2d in unreal.
On the bright side you usually don't have to think about it. Until you do. Lol
Unreal is really simple if you don't fight it. I find a lot of people try to learn Unreal by forcing it in their own box. Whether from designer standpoint, or hardcore coders who won't touch BP, they exist all across the spectrum there.
It's no different to any other large scale software. C++ as the low level language exists to define data structures and write functionality in. BP exists as the scripting language to block out the designs.
You can't make large scale functionality in BP, it's too slow. You shouldn't write basic game scripting in C++, you'll be too slow.
That's what I was looking into, whether it not it's even something worth fighting. I was watching some videos by people who make 2d games in Unreal. Cause if I went for another engine it would be Godot, I just like the simplicity of the 2D stuff and C#.
yea absolutely, even games I'm more familiar with like cod had scripting languages to handle the small things.
I haven't touched much on the C++ side (haven't really needed to yet), but I've pretty much realized both are useful from fourms and videos I've seen from people who make games.
Ah yes. I've had my fair share of those.
At work, our general standpoint is to write all data structures in C++. We make generic async actions, functions and whatnot in C++. And some classes require C++ bases for networking or performance. But all of the glue and gameplay design functionality exists in BP where gameplay designers can affect it easily to balance or change stuff.
I want to make component with system that takes Camera location, saves it and then I can access these locations.
I cannot break the code how do I easily access Camera Pawn from component? Is it possible to make the component not reliable on the owner sending reference of itself to the component? If I did all this code in Player Controller it would be easy because I can get Controlled Pawn cast to CameraPawn and access everything, but in case when it's in the component (Player Controller would be owner) I cannot easily do it? I would probably need to initialize this component from Player Controller itself? What I'm missing? Also I thought for clearity I can put all input action events in the component so the Player Controller is not so crowded with shit. I'm going into good direction or should these events still be in Player Controller? The functionality of this is very simple and short. Save locations Ctrl +F1 - F12 and then access them with F1-12.
What actor does the component live on?
it would live on Player Controller
At least it was my first plan, maybe it should live on Camera Pawn? but then there are all Input Actions events which suit more for player controller than camera pawn?
Can I ask why though? This looks very much like something that should go on the pawn.
Hmm, well I'm not saying no to this idea. First thought it was more like Player Controller job
Whats the purpose of saving the cam locations?
Hotkeys for RTS
So you can click and go to that location you saved.
Remember that controller is generic. It can possess many different pawn types. If you have functionality for a camera pawn, don't put it on the controller.
If you want it to work regardless of the pawn, then keep it in the controller. You can always use the 'GetComponentByClass' to get the camera component from the controlled pawn. (if it has one)
Well, that kind of solves the problem if I put this component on Camera Pawn.
but other than that is it ok to put IA Events on the Component?
how do I properly offset the spline mesh along the spline without messing up the deformation when the spline has extremly bent paths?
one sec for unreal to open up
I have a particular setup that works decently, but sometimes the distance of the mesh from the spline would change and becomes tighter
Pawns are a great example of this too. And this will be far beyond an RTS example but it's a good point. My usual goto case is a normal shooter game where you could have a character, a car, a plane, and boat. You have four separate sets of controls here that might need to wildly be different, have different names, be remapped differently. Maybe someone wants to remap boats to Q/A back forward instead of W/S. But they still want the character back forward to be W/S.
For this reason, you get a lot of inputs that are specific to each pawn. So it's best to put those inputs in that pawn itself. As why would a car need to know about a boats inputs? And why should the controller care if they're possessing a car or boat?
And for this, yes this is perfectly fine. Code will pick them up and register them under the owning actor's InputComponent.
And 1 more thing, how do you usually handle the case, that for example I already use IA_LeftCtrl in Player Controller for even simple thing like setting bollean ''Left Ctrl Pressed". I need this functionality in this component, do I just take this IA_LeftCtrl again and use it?
I know these questions are simple but I don't have confidence yet to say yeah this is the way.
I setup Input Actions specific for the thing they are for. You can then have different Input Context Mappings that assign the relevant keys to the actions. These keys can be the same. You can set them to consume if needed as well as setting the priority if multiple actions use the same key.
So for example, an IA_CtrlModifier and IA_StoreCamLoc. These can then be setup in different ICMs that you can add and remove as needed.
this is how it looks when I bend the spline more
Okay, makes sense, but in this case when the game is playing I probably won't be switching ICMS because I would need another key to switch ''modes''. Like it's hard to predict that if player clicked ctrl right now it will want to save camera location or add unit to grouping. So I guess you are talking about some other situations like going to Menu and havin there other ICMs (where F1-F12 would click some buttons), and going back from menu to game would switch ICM back, right?
Potentially. If the player has started a selection action, you can remove the camera input ICM so they don't interfere and then re-add the ICM when the selection action has finished.
While they use the same key, one could be handled when it's pressed and the other when it's released. This can give you some space to see what the player is doing.
I do that with one IMC that has non remappable keys. EG Shift, ctrl, alt. Other IMCs do chorded actions with those.
Thank you guys.
I have this setup to load all staticMesh into the scene but i'm only getting one (the first one in directory). I added a print node to check, and it seems like the loop is working fine, indicating 4 meshes
A static mesh component will only display one mesh. When you call 'Set Static Mesh' you use the same component meaning you override the previous meshes sets with the last one.
how do I fix this then?
and also is there a documentation page that explains this
What are you actually trying to do? As in whats the end goal?
I have n number of meshes. I want to spawn them all in at runtime
kinda like a test.
I have 4 models now, but I want to scale it up to maybe 100
1 shows up at runtime... I'm not sure I understand the difference
Do I have to do seperate spawning logic too?
Sure cuz u have one static mesh component and you are just changing that static mesh
Again you don't spawn shit
At least from what you showed us
Do you want to spawn on editor or run time?
It's my first time using blueprints, or unreal for the matter
runtime
Sure but I'm just saying you didn't spawn anything
You can use add static mesh component
Or spawn actor from class, static mesh -> set static mesh
Like just spawn them all in a row?
I have a transform logic, based on array index. That's something I'm not too worried about
I'm gonna try this, one sec
I've tried what you suggested, but I can't seem to make it work. when I tried connecting add static mesh component, it just said no
You are creating a new component here with the add node
You don't hook your pre existing component
From the return value, drag and type set static mesh
what should the target be then?
Self. In other word, don't need to do anything. Self is refering to the blueprint you are in and it's calling the add static mesh comp
HOLY SHIT IT WORKED
Thank you so much
my collegue said he could kiss you rn (no homo)
Hey I have a quick question. I'm making a projectile right now that I want to move slowly at first, then accelerate forwards. I have made a FloatCurve for it, but I don't know how to make the projectile follow that curve. My thought was to update the velocity every tick but that seems like a bruteforce and inefficient way
Hello. Any idea how to make this more performant? I want to take some point between 30k and 20k distance so I can spawn waves?
Do you want to spawn them without limits? I think you could use Timer By Event and every 1/2sec spawn something in the radius. This loop will be firing without stops and very often I think.
I want to get random spawn point in radius 20000cm -> 30000cm.
And using while loop in dedicated mmo server could be risky if I have understood right
You want to get 1 point only?
using blueprint in an mmo is risky
you won't be making an mmo's server code in bp
you won't even be using unreal's network code, it doesn't hold up to mmo levels
you'll be making your own, with your team and funding
Can anyone help? Nothing I'm trying is working. Should I not be using ProjectileMovement?
Yup
For simple operations with carefully coded I think its okay
hlo
i just want the train straight
what is the best node to do so
it is a pawn
Then you don't need while loop, just find one point one time and save it in a variable so you can then use it.
I want this zone to kill a player in 60 seconds if player dont leave the zone, but this only trigger for first player if multiple players go in zone, how can I make this work seperately for everyplayer?
Should I make it do once and make it create another copy of itself when triggered?
Hello! I was wondering what would be the better option performance wise to get the closest actor of a certain class within a specified range. So for example I need to get the closest of 3 actors within 700 range. For these three:
A, distance is 300
B, distance is 150
C, distance is 800
That would be B and C wouldn't even be considered
Is it better to get all actors of that class and check their distance or should I do a sphere trace with a range of 700 that hits a certain object type?
using collision to check overlapping actors would be better than getting all actors of that class
depends on count of actors too
Yea fair, let's say the amount of actors to track whether they are in range of an actor is somewhere between 10 and 80, the amount of actors that need to track their distance towards those 10-80 actors are somewhere between 5 and 30
So lets take those numbers:
Min: 5 actors need to track the distance of them to 10 other actors
Max: 30 actors need to track the distance them to 80 other actors
What do you think is the best for min and for max?
For both scenarios when an actor found a target that's valid it doesn't need to find a new one, only check if the targeted enemy is still in range (or destroyed)
Don't know if that matters for whats better?
Really? Fortnite is as big as most mmo and it does work really good in unreal
Not even slightly. Fortnite isn't anywhere close to an MMO
It's also a much, much simpler game.
MMO is not like 100 player
Massive Multiplayer 500+
😅
Fortnite is a simple game to reproduce?
No. Simpler != simple
It is miles simpler than an MMO, but it's still an extremely difficuly game to make
Think of it like building a rocket is much simpler than trying to swim into space, but building a rocket ain't easy.
Runescape, WoW, Star Citizen
Ok
Is there some documentation that goes into more depth explaining this flow chart? And what each stage is and does?
(question for anybody)
For example, runescape can have 400 players in a server.
Even with 100 though, you're doing some networking code yourself. There is much more world state to replicate to 100 people in an RPG than there is in fortnite.
MMO's aren't feasible unless you've got a large team and millions of funding
Not for what most people think of as an mmo, at least.
You can just replicate manually what you want (i.e
Not everything)
It's really not that simple
Even normal old multiplayer isn't that simple
let alone mass multiplayer
What about 2 player?
no, even two player multiplayer is not simple
Unless you go somewhere that takes the hard bit away, like Core or Roblox.
Core and unreal's networking are pretty close i think
Except for the huge difference that core does it for you, like uefn
Core, UEFN, and Roblox are all game makers, they take the hard bit of development away and give you nice easy things to use to build a game.
They manage sockets under the hood for you?
They manage a lot more than that
@thin panther how can i ease in and ease out interp to movement?
Though in unreal you won't be opening sockets yourself most times
Name all of those please
Why would you ping me for this
No, it would take far too long.
Some
Name few of those pleasr
because you are legend
No, you can go look into the multiplayer functions and online subsystems yourself, it would be a great exercise.
But even with all that Unreal handles it's hard.
The game makers handle much more though, and you don't have much to worry about.
It's why a teenager can spin up a working roblox game in weeks, but it's going to take years of learning and developing to ship even a simple multiplayer title with Unreal.
I am trying to make a marble rolling game similar to monkeyball, but when adding force the ball just gets faster and faster till its too fast. I feel like im missing a simple solition here on how to add a force similar to gravity where it can reach its max speed.
Use a timeline
The above video is easing the movement very clearly
the train abruptly stops wdym
yeah that's the problem
It slows down
so i need to use timeline for that
If you aren't using interptoconstant, it's easing
no it not it just suddenly stops
if it's not enough easing, use a timeline
No, it slows down
It clearly decelerates
the interp to nodes do, that's why the interp to constant nodes exist if you don't want that
as jma said if it's not enough easing, use a timeline, or move on tick and sample a float curve
okay i will use a timeline
make sure you cache your variables before lerping them on a timeline :P
i.e. don't plug current directly into "A"
One more thing is this the best way to stop the train and then start again
just convert these to functions or events
Indeed
If anyone can help that would be awsome, In the does save game exist it passes with true but then when it does load game from slot it spits out null and the cast obvs fails
I'm bit confused on why it would spit out null object ref
If it's null, the cast couldn't fail as it wouldn't execute in that screenshot
sorry before I put in the branch to debug the cast would fail
at minute I'm trying to debug why the load game from slot is returning null
LoadGameFromSlot looks like there's a space on the end
nope
Hey guys, I have an issue. I am tracing spheres from one point to another, and the green ones result to a hit when they touch the tree.
The thing is I have a trace channel called Navigation, but in the tree's collision AND the tree's blueprint, I have ticked 'ignore' for this channel. The sphere trace by channel has "navigation" in it. Do these overlap?
If the slot exists, it'll load it. If its not loading it then its an issue with the name or it doesn't exist. Prompt the slot name to a variable and test again. Also, remove the is valid branch. If you're already checking if the slot exists, it's not needed.
They BOTH need to block / overlap each other for it to work. Maybe you have other components that this sphere sees and they collide with the sphere?
well this is what I couldn't work out, the slot does exist apparently but yet returns null on the load game from slot
This is pretty much my setup when ever I need to load anything and it's never once failed to do what is should.
what you using the tag thing for ?
I use the tag to denote the slot name with a folder structure.
still not working for me
can't see what I'm doing wrong as I did have this all working
does the cast fail?
yep
Then the save game object you save to the slot isn't of the type you're trying to cast to.
thats before the cast does it stuff
well in that there the load game function out pin there is no object being returned
clear all saved data for the slot and try again. The save data probally doesn't match the SGO class any more (for what ever reason) so it's unable to create the SGO from the data.
if I look in saved I see this so something must have got odd somewhere
I've deleted that save game file so see when I restart editor what happens
no need to restart when deleting .sav files.
that seems to have sorted it, just gonna breakpoint to ensure
thank you for the insight as I wouldn't have thought the save file being the issue like with classes not matching
what would be better, I'm making a game thats kind of linear so it's not like in open world or anything, would I be better using level streaming rather then world partition ?
I would go for level streaming if it's pretty linear. It'll give you more control regarding what is loaded and unloaded.
sweet I was thinking of that route being the best but obvs with UE5 they brought another 2 ways of doing stuff
well improved method on world composition and world partition
They both have their pros and cons. World partition does most of the work for you but that's at the cost of fine control. (from my understanding) World partitions to the grid as well which isn't always desired.
so somehow I need to disable world partition so I can use level streaming
thats fairs
like it's disabled yet it's saying I need to disable it to use level streaming
Collision or sphere trace? 🤔 Or is that what you mean with collision? Or do you mean like a cylinder of the range and see if an other actor is inside of it?
I mean I would put a sphere around actor to check overlaps
how do i disable world partition ?
Hm yea that's a good one
Would be way cheaper than have an event tick to do a sphere trace like I":m doing now 😅
Cheers
nevermind done it
just wondering is there a better way of doing this
How do you make a chair that you can enter and exit? Would the chair be a pawn that you possess and the player gets destroyed?
What are you trying to do?
my player can hold either a primary weapon or secondary weapon and they are held on like the back for example, and current weapon tells what they are currently holding
but i need a way of seeing which state they are in
The chair would just be an actor, when you interact with it play a sitting anim and disable movement controls. When you want them to stand up, play a stand up anim and return movement controls when finished.
So current weapon would be either the primary or secondary weapon?
yes if they are holding it in hands, if nothing they can potentially have a primary on their back for example
What about if its a First Person game? and what if I want the chair to move
Use this, you can then use a select node or a switch on int. It'll give you an int between 0 - 7 which will be all the different possible state.
Talk about moving the goal posts. 😛 You can attach the character to the chair after they've sat down. They'll then move with the chair.
As for 1st or 3rd person, the method wouldn't be much different. For 1st person though you might want to have the camera change but other than that you probably still want to play an animation of sorts. (assuming you have arms and legs and not just a floating blob)
Why not just make it be a thing the character sits on
Hey guys somebody knows why mi AI pawnsensing can see the player through the walls or every other objects?
Pawn Sensing was replaced by #gameplay-ai Perception.
it wont let me rotate the spring arm on the Z axis at all Y is working fine and it works fine if i make the capsule or someting else move but the spring arm will only move on the X or Y axis
you sure spring arm isn't using control rotation?
isn't pitch along the Z axis? Not Yaw
I guess I'm wrong actually now that I look at the nodes
its backwards in unreal
Ah that's a bit odd
but everything works except turning the camera left and right
well, yaw would be up and down in this case, so pitch is what we need to look at, can you screenshot that section a little more so I can see it.
I have a blueprint that uses eventbeginplay to show ui, its supposed to do it only once, after playing for 20 seconds ish, there is a blueprint that i cant delete from the explorer with the same name of this blueprint followed by "(Unloaded)" and i cant delete it, this blueprint eventually runs eventbegin play again when it randomly gets loaded in the game and after a while it deletes itself any idea why?
I haven't run into this issue but I found this thread where they discussed possible solutions.
https://forums.unrealengine.com/t/event-begin-play-of-level-blueprint-fires-twice/416965/36
Try to fix up references in the folder and when something pops up click to delete (clean), if nothing is happening try to restart editor and do it again.
Hi, I got a question, I'm doing a random movement event for my AIs, but it's only succeed if the player is near the AI, I was wondering why, is there a range to AI moving or something like that ?
@dusky cobalt thank you!
Depends how you have your movement and your #gameplay-ai perception setup
well, this kind of node always return false when the player is too far i don't understand why
Probably not on the navmesh then
Does anyone know a way to save a texture imported at runtime to a save game file? Either using c++, blueprint or a plugin?
I got a navmesh whitch fills all the map, maybe the node needs it in entry i'm not sure
You can use the Visual Logger to debug.
I'll try it thanks
Question about Common UI and theoretical situation:
When I select unit, his UI with commands and abilities pop up. If I would select 20 units and** use Common Ui to push all the widgets, even if they are the same, would this cause performance issues?** I'm looking for either lazy or proper way how to handle this. If I could push 20 or more widgets there and and then I could control which one (which type to be specific if there are different types of units) is actually shown up (by then clicking in the window with selected unit, and pushing THIS unit widget up) this would fix a lot of my ''problems''.
A little bit more details: What I'm thinking right now (if not pushing widgets) is that instead of creating widget for each unit, I would create only 5 widgets basing on different types of units, then after selecting I would check which types were selected and I would display widget of let's say [0] unit of Selected Units array, with possibility to click other unit (in the selected units panel), check his type, and switch to that panel (with his skills).
The panel would have his abilities displayed, and after clicking it, it would check all units with tag and send event to use these skills for each unit, but that's for later to figure out. Now I'm thinking how to handle these widgets.
Ah ok thx
how would I go about getting my skel mesh from my class ref?
The component or the asset
Is it me or does projectile movement and collision seem very fidgety for shooting bullets? 🤔
It breaks easily at high velocities
Yea and at lower speeds it sometimes misses the target 😅 even when using the homing component making the bullet circle around it like a damn moon around a planet 😂
This is a spawner and I want it to show the preview of the class its going to spawn. ATM I am manually setting it and it accord to me that I can set it in the construction so I don't have to do the extra clicks but I am not sure how to get the skell mesh asset from my class ref.
If anyone has suggestions on how to do damage from towers in a tower defense consistantly then im all ears😬without the obvious applying it instantly like a laser would
Projectiles?
Fire it let it fly then do a traces on tick from its starting proint to where its at now and see if it hits a target
Just boost up velocity of the projectile so it will be better at aiming.
Or make them steer towards the target. Or use prediction to aim in front of them.
and when trace hits a target stop or destroy it and have the trace do damge
You could try to play maybe with mass to slow it down (not sure).
look into the node "predict projectile path". the tracing from start to current position wont work for a projectile very well because youre tracing a straight line
If it's doing circles around the target, the homing force/whatever isn't strong enough.
If you want it to just hit the target every time, make the projectiles literally move towards the target every tick.
Screw straight lines and homing forces.
I use DAs
Thats true you can also do multiple traces that save were it was at and were its now and does the trace like I did for my sword
Whats DAs?
Data Assets
Then I'd have to change my entire set up.. is there no way to get my skell mesh from a clas ref without spawning?
Uh, maybe you can get class defaults idk
In the worst case put actor somewhere in the level outside the map and use Get Actor Of Class and then use what ever you need from there, get class defaults might work too
Wont work because My AI class is a sub class of my primary class so its class defaults are rather small
cant you create new variable inside that class and set it with mesh?
hum
If you are still early in your game development I would move things like units if you have a lot of them to Data Assets, you will never look back to class childs etc.
and differencies you can make up with components for example
I was using data assets for stuff like Inventory items but kept runing into the problem of them having to be spawned for the stats and stuff I needed to actually work properly so I created one master inventroy BP and now just make child's of it and fill in the info for each BP in the BP and it works 10X better for all the data I need
Allso DA's data CAN NOT be changed at run time which just does not work for me.
Why would you change Data Asset on runtime... why not create BP_Item and put logic that consumes Data from Data Asset and then all you do is feed DA_Pickaxe and everything is handled?
because to consumes Data from Data Asset the item HAS to be spawned
so its default data has to be in the BP any way which makes DA's redundant.
If you want to access data from Data Asset you can do it in any blueprint?
unless I want to be spawning thousands of items at the start of ever instance
To address this you can get the parent defaults as well, just got to the details panel and check the boxes, they are disabled by default; then u can also hide everything not connected to make it not much clutter
Normaly I can acces all the data I need by just casting to my master class of which I only have two total. Item and charactor
You just create variable with PDA_Item and then put DA_Pickaxe into that variable and voulia you can access everything?
Ah Thanks I didn't realize that. You are right. However for some reason skell mesh is not showing up in the defults
Idk how you know what is going on with those electronic noodles. lol
Did you add it to your primary data asset?
I didn't bother to separate it, you could keep it cleaner for sure.
sorry to bother I know this is kind of off topic, but how did you get your blueprints to be square I really like it.
Flat Nodes plugin
tyty 🙂
Right, like a set actor location kinda thing? 🤔
Something like that?
Not sure if this helps, but You could try using the gameplay tag system for this
so i'm getting confused with saving stuff
obvs theres load and save game to and from slot
would this be the slot ?
so the slot I put in is the name the file will end up being ?
just cause I'm trying to thing how I want to save if I simply just have a global save file for everything not player related
Yes
And yes for multiple save files too
so let's say I have an options menus would I save that with a different slot name
You want separate save file for your user settings
say to the actor values ?
I have my volume and game settings as a separate save file
Not sure how this relates
What are you confused about
When you want to save your volume or display settings, just dump them into your gamesettings.sav or w.e you name it.
You can also make separate sav file for achievements and the like
So even if you can have different game save slot, they all share the same achievement
I think it's cause the way I'm thinking of it is I have multiple save game derived classes
and also multiple slots, thats prob whats messing me up
@trim matrix you can have as many slots as you have but when you are looking to load the volume settings, you are just going to load and overwrite that one file.
Think about the games you played
well this is what I'm trying to piece together in my head. I obvs don't want to accidently save slot and overwrite values I aren't meant to
which was why I was trying to in my head work out best way of doing it
How would you accidentally overwrite the files?
Like you are in menu option
You have different save game objects to use
so for instance I am using level streaming and want to do persistent across game sessions so player unlocks a door they save and when they come back it's how they left it as it was to a certain extent
or level unloads and loads it's how they left it roughly
Yeah don't see any issue with that
Just store shared stuff into another .sav
Game slot would be a different .sav file
in my head trying to work out would I have a derived save game for this useage of world persistence or use the one game settings uses ?
It can contain individual inventories, name, etc respective to game slot
Don't see why you have to do any sort of inheritance
A sound menu would have volume settings
Where and why would inheritance be of use here
Sounds a bit confusing to me
thats what i'm kind of in my head trying to work out which is best
either one derived Save Game object where literally all values being saved would live
or one for Game settings and one for world persistence and obvs the respective values would live in the respective object
Containing them to relevant data is probably more desirable
Than to just dumping everything into one .sav file
so I'd be best with roughly specific use save game objects
plus it would prob be neater
Save game file use save game object yeah
Create a class for each .sav for the data you want to save
yeah think thats what i'm going to do thank you 🙂
i have a blueprint whos parent class is "Actor" and i don't know what to put for the object, i tried get objects of tag "Actor" and it failed the cast.
I'm trying to cast to the blueprint which has a parent class of "Actor"
Get the object reference of w.e you trying to cast

Have you set the actor variable tho?
Unitiliazed pointer will just point at nothing
K
what's the difference between these two samples?
why they behave not the same?
first one is: Not Proning AND Not crouching
second one is : you ARE proning AND ARE crouching, NOT!!
so the second one take only the crouching as ! into account right?
2nd one you have to be crouching and prone at same time to make it False, else it is true
if prone is already false and i changed only crouching to false, it still not working as the first one
AND has to both be True for it to be True
it works only when these first ones are TRUE and TRUE and makes them NOT if they are both TRUE, but if any of them is false, then this is false and makes it true
well i will go with the first one, use to cpp, bp is kinda strange for me 😄
If I have 5 Input Mapping Contexts that use the same hotkeys ASDFGZXCVB, after I switch to one, I have check to remove 4 others every time?, since I cannot promote to variable return of add maping context I cannot save it as Current Maping so I have variable to remove?
here is how i swap IMC
Hmm, I have Main Input Mapping (most of hotkeys) and then 2nd input mapping with 5 variations. I would need to add the Main again after clearing mapings.
yup, that should work
the Clear All Mappings was the only way I saw to remove old IMC
I guess there is no better way. I just wanted to avoid having to copy paste 50 keys x5 if I want to change 1 mapping or after adding new one to not have to add to each mapping new input.
Why does this only work if i cast self to actor even though it derives from actor??? (its class is Character)
if not, the instigator variable just returns none
Casting is just a type check
This case you are doing redundant operation
Read the warning written in your blueprint compiler window
i know that, but it doesnt work without the cast, which is why i'm asking 😅
There is no point to cast an actor type to as actor
The cast doesn't do anything here
You must have done something wrong else where
and again, works fine with the cast, so i'm a bit confused
Yeah I guess that make sense
Since self can be anything
Self refer to the instance of the blueprint class it's in
So whats the best way to pass a "self" reference through interfaces?
Not sure tbh, I thought it is interpreted before
Never come across your error before. Maybe someone else did
i also thought i'd done this before, but maybe it wasnt an interface, and just a normal function call 🤔
its derived from character, which afaik derives from actor
yeah, it seems to work fine now anyway, no clue what was happening! i'm sure this must be used a lot
Hey this is probably really stupid but how do I get this OnComponentBeginOverlap node?
I called it 5 minutes ago and worked with it but then Unreal crashed as it usually does and I lost that progress, and now I just...can't find it?
I can only find the actor overlap node.
Am I doing something different?
select the sphere in the components panel, scroll all the way down in your details panel and add the event
the button you are looking for will be in the events section of the details panel
You're a live saver, thank you.
Though I'm confused how I called before simply by right clicking the even graph and searching...probably didn't even get the right component.
Eh, no matter.
AND(!Proning, !Crouching) is the same as !OR(Proning, Crouching)
turn the AND to an OR on the bottom one and it'll be equivelent
but prone and crouch should be an enum, since they are exclusive
Ok Thanks, but i converted the state machine to cpp, now it works fine
If I make my player hud by nesting user created widgets within a main hud widget, how should I pass variable through to the nested widgets? Is there a best practice for this?
id do it with variables exposed on spawn
so you can set them when creating the widget directly
not sure if thats the best way tho
Make an init function or expose on spawn the variables if not too many. If a lot use the former or wrap the data in struct
Is there a way to decide where I want my widgets beforehand and then construct them during the construction the of main hud?
How would I predefine that?
so the advice I had gotten before was to get a variable reference to the struct of the data table. Would that still work with what you're suggesting?
Hello everyone,
How do I add a randomizer on the left side of my switch node?
This is not really the intended use for an enum. Why not just do a random int in range and run off of that a Do N node? It'll give you the same branches the switch node gives
You can convert int to byte I suppose
Random int in range, then convert to bytes
im learning ue bps. whats the best way to create a vehicle camera system with different inputs changing the camera view? should I use multiple cameras in different areas around the vehicle and transition them depending on the input? Would it make sense to make it within a scene component so its universal across different vehicle systems etc..
Hi there! I have what feels like a dumb question. For some reason, this doesn't work in a packaged build. It does work in editor, both in PIE and Standalone Game modes, as well as when cooking a build via editor and launching a development client from my IDE. it only breaks if I package a build on it's own. in the log of the buidls where this fails, I get errors like this:
[2024.07.02-01.04.29:605][ 72]LogStreaming: Error: Couldn't find file for package /Game/Enemies/Fisher_00/Fisher_base_Data requested by async loading code. NameToLoad: /Game/Enemies/Fisher_00/Fisher_base_Data```
FS_Item is set up as a C++ base class (UFS_EnemyData, which is a UPrimaryDataAsset), and implements GetPrimaryAssetId with this: ```return FPrimaryAssetId("FS_Enemy", GetFName());```, however the class I use for my data assets is a BP child class of that.
is it possible for the end of this to execute before the function is done?
depends what's in the CallSave
or in Save DroppedItems for that matter
if there's any latent or async actions going on, yes
I mean the save dropped item function
so I should not have this in a function but instead have the others exe when complete?
or does the return nod force it to finish before exicuting the rest?
?
I could easily end up having a around 100 items on the ground if the player goes crazy so it might take a few mili secs to finish
yes, the return node is supposed to make it complete the execution first, however functions usually need to finish within one tick
also, for something like this you should use cpp
CPP?
So this will finish before it moves on then?
Is there any way to detect if the mouse is being captured by a widget / button / slider / whatever? I've been banging my head against a wall for like an hour and a half trying to figure out how to detect it.
Alternatively, is there any to use the Get Mouse Position even while the mouse is being captured?
onMouseButtonDown
it's supposed to yeah
Thanks
Hi Unreal fam,
Any tips for finding the location and rotation of a possessed pawn?
I have a character that possesses a drone pawn.
This doesn't work (neither does get focal location), just throws up the numbers for the character, I've tried multiple nodes and cant get any results for the possessed drone pawn 😦
hey guys, I have a code like that and sometimes if I push the button, the action won't trigger, this function won't get called(I have log statement inside at first line of the function). What can be a possible reason for it to happen?
did anyone know is there any ai assistant for ue5 blueprints?
what variable type must I use in order to set the location of existing level instances at runtime?
so you're controlling a pawn through a player character?
have you gotten the enhanced input local player subsystem first?
in that case you need to get the reference of that pawn with "Get Actor Of Class"
I mean. I start the game and it usually works. But sometimes it's not. So there's no pattern. Atleast I don't see it. If the subsystem got initialised ones, it should be all good, right?
you need to get the enhanced input subsystem first in order for the inputs to work yes
whats the best way to put a robe on a metahuman? so that it doesnt look like its ripping down the middle when the legs move
and then from that you Add Mapping Context and select the Mapping Context asset
cloth simulation
you should find tutorials for it
setting up the cloth simulation isn't as tedious as you think
ya but my asset is a skeletal mesh and it bugs out
cause of the physical bodies
apologies, I should have included in my comment that I tried this.
It gets a valid reference to the pawn, but still provides the location data of the character
you need to adjust them, not remove them
when you import a skeletal mesh, you'll be provided with a physical body asset to where the skeletal mesh is located
if you open it, you should see a nightmare of physics bodies misplaced
have you then promoted the return value of Get Actor of Class into a variable?
yep.
Get actor of class (when drone is created) > set as variable
Drone reference > get actor location = wrong data 😦
how are you setting up the nodes?
thanks heaps for the replies, I think I finally got it.
For some reason get actor location (of the pawn) is returning the character.
I just tried getting the world location of a component of the drone and that works perfectly.
Documentation says getactorlocation 'Returns the location of the RootComponent of this Actor'
Im guessing when the character possess something, they're still the rootcomponent.
btw, controlled pawn node only applies to pawns that are controlled by an AIController
I'd like to use "CAST TO" on a blueprint which is a public variable (so I can pick it). How does one go about it?
Hope I'm explaining it right, basically have the BP a pickable variable in the "Cast to"
from the cast to node, you get that variable from the return value
the return value being "As (name of the blueprint)"
but which BP to pick for the initial "Cast to" node
you must create it if you haven't
an empty basically
yes
Actor type would be the best approach (in my opinion)
i know u busy helping, but do you know of any tutorials that explain bringing in a clothing skeletal mesh and adding it to a metahuman? everytime i import the skeletal mesh into the cloth dataflow it shows a metahuman body
ts all about cloth simulation for metahumans in unreal engine
FOR ANY GIGS, HIT US UP ON FIVERR : https://www.fiverr.com/hoodiestudiosfx
dont forget to check our Patreon
PATREON : patreon.com/Hoodiestudios
thank u!
is there a reason why set rotation does not work on Geometry collection on run time?
I'm thinking about building a daynight cycle based on "current game time (HH:MM:SS)" and timelines. would that work? any tips you could offer? I'm struggling a bit with the implementation that makes sense.
A cast is a type check. You take an existing reference to something and ask if its of a more specific type. For example "Is this Actor reference my character"
You can't pick a bp in a drop down in the cast to, as it has no knowledge of the scene and you need to cast to a specific instance in that scene.
This one should do some good 😊
Now about current game time is prob something you can set within this I’d assume (he shows how to set it up, with your irl time I’d think it was)
I have the game time set up, just need to tie it to a sun movement
Hellow! With a very large spline length, I noticed that the spline points twitch when the object moves along the spline. If the object does not move, the spline points do not move. Does anyone have any ideas why this is happening?
The size of the planet here is 30000. The diameter of the spline ring is 26963260. This is a lot. The longer the splice, the stronger these twitches.
I don't know the answer but if you just need a spline circle, why do you have so many points? You only need 4 to get a nice circle. If you just need a point on the circumference of a circle it'll probably better to just use the equation for it based on the radius and angle.
Seems like you might be pushing the limits of the spline and getting some unexpected results. There also might be a better solution than a spline if you just need a mesh to orbit something. Maybe parenting the planet to a center point with an offset and rotating the center point. Though maybe not at that scale. Might not be very smooth.
Yes thank you. The fact is that I want to have a complex orbit (elliptical, incline, off-center, etc.). Therefore, the spline is ideal for me, as it exactly follows the shape of the orbit. I looked for the problem in my blueprint. It seems that it consists in the fact that I assign the planet as the center of the actor (SetActorLocation (target - Planet)) and use the defaultSceneRoot's zero coordinates as the center of rotation. It seems that I will have to rebuild the blueprint logic.
Dang. But at least you figured it out. And yeah. I see how a spline is definitely the best way to go.
I solved the problem! I changed the order of execution of the logic so that in evenTick, first of all, assign the planet as the center of the actor, and then everything else. No more shaking. )
I have a reusable BP_Text for onscreen text (widget is a public variable).
But I'd like this text to only appear if a condition has been met in another BP (BP_A, BP_B etc.). But rather than specifying a "particular BP", I'd like the BP to be a public (pickable) variable.
So when I pick a BP, it's variables become available to be used in the BP_Text.
Is this possible?
Am I correct in thinking that, "Event Dispatchers" also live inside a particular BP, so one has to reference that particular BP always to use them?
Nice! Congrats! Glad you've got it working. On to the next challenge! Lol
Yeah. You'll need a reference and bind to it for it to trigger a dispatcher.
As far as your text with conditions go, you could make a blueprint interface with a function called "checkTextConditions" with a bool output. Then you'd have an exposed actor variable you can eyedrop on the actor with the text and when you're ready to check the text you call that interface function on the condition actor.
On every condition actor you'd add that interface and set up the condition function.
Thanks, yes now I was moving towards BP interfaces, seems to be the best solution for this
Yep! A couple other solutions could be a case actor class called bp_conditionActor that has a function for checking. Then you're condition variable you eyedrop would be of the type bp_conditionActor. Then you can call that function to check the conditions. Then you can make children of that class with new custom functionality like components, etc.
And you can do the same similar thing with a component. Make a condition actor component and snap it into any actor you want to have conditions.
That works best for generic actor uses though. Things you can get through "get owner" like visibility, location, scale, etc. otherwise you have to start casting or using an interface and now you've just created more work for yourself.
Hi all.
Can please ask for your opinions on "Event Tick."
I am still kinda new at visual script. I heard once - during a tutorial - that "Event Tick" should be avoided as much as possible.
If you use, it have a dramatic impact on your game's performance -- any of this true? Please, I would like to ask for your opinion on this.
Thank you.
thanks, time to experiment 🙂
Event tick runs every frame. It is the place to run something that needs to run or updated every frame.
Eg movement, interpolation, time, physics, etc.
It shouldn't be misused but not avoided. There are myths from tutorials that you don't need to pay attention to.
"Casting is bad" and "avoid tick" is one of the most common bullshit from tutorial.
Read pinned material for more info
Not quite. Not if I take that question literally. You can't reference the struct in the datatable in BP. When you get it, it's by copy.
What I meant is to use FDataTableRowHandle. This is another st ruct type that has a Datatable and RowName in it. Can see them if you break it. If you save this struct, it'll allow you to simply get the Datatable's row data again on load.
try /n if you mean line break
in map details section I can change the text so here I wanna add it lines
oki lemme try it asap
I did that didnt work
Ye use shift enter then
I mean I know that but it aint working in this thing
I might have done that on rich text with some formatting.
Where are you entering the text?
Shift enter should work, you are probably changing a string not text
I created binding in widget
My money say notedescription is a string not a text
Oh. You could try copy pasting the text from notepad. I did that to figure out formatting for an in game book system I built
i tried and I even wrote it somewhere else and then put the space in lines but still didnt worked
heres the code
Shift enter should work on a string as well. I believe I've done it in print string nodes.
Huh
My old game is visual novel, I've done it with shift enter
And yea it's a string iirc
I used shift enter at many places
but it aint working here idk why
code is totally diff tho I might use that code if this doesnt work
I can take a look when I'm home
alr ty
got the fix didnt know we need to switch multiline on I dropped the ss in case anyone needs in future
Sure
in details section of widget
Hey I need some help, I'm having the character jump to the side. I do this by getting the actors rotation and then either adding or subtracting 45 to get the character to jump left or right with a custom jump function.
But now when the character lands the velocity when it lands is in the same direction as when it initially jumped. But I need it to be like this: If I look right I want the character to jump right, this is currently how it works. But Now I need the characters velocity to be the same as it was when it first jumped, but its new forward vector with the same speed has to go in the direction that the camera was looking when the jump was initiated. Any ideas?
Where/what do I need to look for to learn about character movement to be able to switch between walking and the default "creative mode" flying around?
I used the FPS template to have simple FPS controls of moving around (arms and guns removed) but I want to be able to hit a button to swap to the default kind of flying mode you get when in the editor.
I can't seem to find a tutorial where it just toggles between these two states.
https://www.youtube.com/watch?v=F8HNzXAdcGc I used this tutorial to learn how to fly. Toggling is just a matter of changing between code. For example, you could use a branch to see if you were in flying or walking mode to decide what code to use.
This is how to set up flying controls for your projects in Unreal Engine 5. Including starting and stopping flying, as well as moving in the air. Plus how to customise all of these settings for you!
Get access to the project files and more on my Patreon: https://www.patreon.com/MattAspland
#UE5 #UnrealEngine5 #UE5Tutorial
_____________________...
Thanks Byron, I'll take a look!
Heya, I am trying to pinpoint a GPU skin cache crash in Unreal thats preventing me from enabling raytracing in my project.
I created a thread already and I think I was able to pin point it...
Would anybody be able to confirm this in a fresh 5.4 project?
https://discord.com/channels/187217643009212416/1234406400957091840
hello everybody i am working on a first person shooter and i am currently trying to figure out the ammo system in the game but it doesnt subtract past the forst two shots. anybody can help me?(btw i am using a variable in a struct to keep track of the ammo
anyone knows why I'm unable to move existing level instances in-game through blueprint?
I have the references, they are valid, it doesn't give errors after ending the simulation, yet the instances remain where they were placed manually
did you set them to movable?
yes
cause unreal warned that they are static
so when you reach 8 bullets, it does not subtract anymore?
yeah
try having the blueprint live while running the simulation
see where it stops firing
it doest subtract from 10 to 8, it just immediately jumps to 8 in the first shot and stays that way
try taking a closer inspection into your blueprint setup
make sure you're not setting the integer anywhere else at the wrong time
yep its not anywhere else
is the default value of the ammo integer set to 8?
for the specific gun its set to 10
everytime i shoot
are you still able to shoot after shooting more than 10 times?
yeah i can rapid fire it if i press the shootbutton enough
there has to be a better way to draw pixel by pixel onto a render target??
there might be an execution order that no longer fires the struct
did you put a branch before decrementing the ammo?
no becuz when i put the branch it suddenly doesnt fire
can you show the whole node setup where the ammo is decremented?
sur
when you have the blueprint window as separate and have it run live while simulating, how does it fire when you try to empty the ammo value?
does the tick stop at some of the nodes? or does it not fire in the custom event?
it does fire the node, i can tell because i set the line trace to draw, everything except for the ammo decrementation works
is it like a thing with structs?
it should fire completely fine
the same thing happend when i tried to add a cooldown between the shots
everything except the cooldown worked
maybe try getting the struct variable instead
Why is this "not in scope" happening?
yeah i linked the struct to the event so i didnt have to manually call it everytime i needed it in the shooting function. its basically the same.(i also did it before, same thing)
in a struct, i can only use set member because the value is IN the struct. I tried using the set ref by var(didnt work). The ammo var is seperate from the first person character and its in the inventory array whenever i pick it
grab the struct variable and have it as Set
then from the struct pin get the "make" node
oh ok
its practically the same thing, epic introduced it to make setting structs less tedious
i tried it
something else is going on then
yeah
from my experience the "Set member in struct" doesnt actually update the struct ref, even though its a ref. you then need to set the struct from the output pin..
So apparently this is a valid reference
i'm trying to see if a level is being streamed in so I can either unload it or load it
elaborate please
for example in my own code:
i had issues with the set members not actually being set. so i had to set it again (in this case add in back into the map by the same key). Maybe its related
output pin meaning?
Because blueprint map's find returns a copy instead of a reference, set member is by reference, but technically you are setting to the copy from the find, and not the original data.
So, in blueprint, editing a map requires you to add it back to override it.
Ah that would be why!
i thought it could be relevant but i'm likely wrong then @solemn folio
oh so should i use get (a ref) rather than get (a copy)
get the "level" variable from the returned one and make sure its not "none" ?
yes you should use (a ref) if you want to modify the original data
most likely yes if you are modifiying it with the "set members in struct" node
with that said, the printing had an extra subtract
since you already modified it with the set member, the print subtrated again before printing it
i never knew it did that
i suppose it depends what you are doing but there are some nodes like "Draw material to render target" for example
if we write that as a code,
int ammo;
ammo -= 1
cout << ammo - 1 << endl
think about it logically, it does the "Set members in struct" first, to the ammo -1. then next it does the print node, which is printing the string of ammo -1. so you are -2
so if i remove the print it should work?
why launch character not work when called outside the character class ?
what we mean is not that it is "working" or not, its that you are printing the incorrect data
Oh
i'm generating pairs of gaussian distributed random numbers and storing them in red and green channels for later use
last time I tried reading pixel data from texture, my computer froze for 4 seconds
I got you
there's probably a proper way to do it 🤷♂️
if you want to print the ACTUAL "ammo" you need to just change it to that
i added a branch in the start of the function which detects if it has ammo or not, if it does it shoots, but if it doesnt, it prints "Hello". The value was set at 10, but it still printed hello in the first shot
well what is your branch exactly?
if ammo > 0 ?
why would you be able to shoot if ammo is = 0, though? 😅
That's a less than my guy
oh mb
oh you thought about it in a different way
why not
if ammo > 0 True: shooting, false: "hello" ?
yes
did you change it to this?
yeah
and its definitely just > and not >= ?
yep
Show your current code
^
The computer is doing exactly what you tell it to do. No more, no less.
which is why again i'm telling you... ^
okay then your ammo is 0 in the struct
thank
nope its 10
and youre letting it shoot still to -1 because your branch is bad
first change your branch
changed to less than 1
what?
if ammo > 0 True: shooting, false: "hello" ?
i'm trying to help but.........
ye sorry bout that
if you want to learn you have to listen
after this is done, you can try and debug if your ammo is actually 10. cus it seems like its 0
yea i did it but it still prints hello
are you setting the ammo to 10, but its just a get (as copy) and not by ref?
then your ammo is 0
its as simple as that
somewhere in your code, you arent setting it to 10
thats not from an array though?
no its from the pickup of the gun
it gets added to the array when i pick it up
the pickup itself doesnt change anything in the struct, all of the editing is done in the player
for quick debugging just do this for now:
and you can check the ammo before shooting
This is why I don't use structures for my inventory. Causes to many headaches for me.
what would you do instead?
uobjects.
but you cant save uobjects?
show the code again. as much in the screenshot as possible
And? You just extract the data like you would with a structure. When you load, recreate the uobject and apply the saved data.
technically you can
well for starters, your true and false are the wrong way
why cant you just change it to what i told you several times? 😭
oh right i changed the greater
I followed this tutorial to get a blueprint to dissolve a mesh: https://www.youtube.com/watch?v=N_pq2RYTG04&
However I've discovered it only works with one copy of the blueprint, is there a way I can make it work with multiple copies?
(Left working correctly, right not)
Project Files: https://www.patreon.com/posts/mesh-dissolve-79848177
Forum Post : https://forums.unrealengine.com/t/rotator-transform3x3matrix-boxmask-3d-rotations-reversed/224097
How to Dissolve a Mesh Using Signed Distance Fields in Unreal Engine 5
In this video, I will show you how to dissolve a mesh using any static mesh or a box mask. T...
share as much of this graph as you can because idk where the left nodes are connected to
the scene or blueprints?
would you then need to cast to the different uobjects r just a general item uobject every time you load/use item/etc ?
the blueprints
introducing, Serialization 🙏
why is this empty btw, also remember to pass by reference
thats why then lol
ugh
Depends how you want to set it up. I tend to use hierarchy so I store the class of the uobject (which is a child of the base item). This allows you to add variables specific to the item type. When it comes to saving, you would only extract the data that would actually change. This can be useful for keep the file sizes down.
somehow that went by me
now it goes 10 and 9
people new to these stuff should probably not use references to start with, unless familiar with it
maybe because you arent passing by ref into the function ?
i am
..
tell me you are clueless without telling me you are clueless
let me fire up the editor
your input into the shooting function is not pass by ref
I feel like you need to do this.
i did, i just disconnected to show
but you need to do this anyway
ok
tick it* obviously
i get this error when i try to save and it only happens with projects i upgraded from 5.2/3 to 5.4
i set it but still it doesnt work
have you turned your pc off and and on again, i once had weird saving bugs after upgrading and i think its because the editor was like secretly running twice or something haha? worth a try
This is normally caused when you have multiple instances of the same project open.
or a game instance running in standalone
is there anything i can do or should i try a new approach?
well each time i keep asking you to share more of the graph because we cant see it all, you just share the same cropped area of the graph
so we dont know exactly where some of your stuff is coming from in the second image here for example
the reason is bcuz when i zoom out too much, you cant make out whats written
show it in a few screenshots?
1 by 1
better than nothing
or edit them together in paint etc
the shooting code
Move your nodes closer together. So much empty space.
use this https://blueprintue.com/
i wanted to format it better for readability
doesn't work
As far as I know, the widget needs to be in the focus path and not be consumed/handled before reaching the widget. (This is assuming input mode is set to UI or Game & UI)
tbh even though i cant read this, idk why the ammo isnt changing in the passed ref..
It's not an issue of the mouse being consumed by something and not registering clicks where I want to, I just need to tell if it's being consumed by something. For some ungodly reason "Convert Mouse Location to World Space" and other similar functions stop getting the mouse position when it's being consumed by another widget, so I'm trying to do a work around. If there's no way to detect when the mouse is being captured though, that's where the trouble is.
i personally still just believe that "Set members in struct" acts as a copy, and by ref. cus i use it here in an event too, and set it again
Doesn't that answer your own question?
you can know if its being consumed if those nodes stop working
so what should i do
I thought of this, I tried to compare the values to see if one was updating while the others didn't, but again, they don't update while being consumed
That's the problem
like that, but Set array element to the modified one?
thats one solution anyway
yea
i tried that but let check task manager
so you just set members in struct and set that value to set array elem
oh well what a blueprint stupid moment
its because for events, passing by reference is not passing by reference
My next suggestion was "try converting it to a function"
Personally, I would move to a uobject based inventory system. Lol.
i wondered that because in the screenshot you posted the node and it doesnt have a diamond shape
functions do have the diamond shape