Комментарии:
hey mark - what i do is putting delay after not valid -- so its loop until valid and its less code and with no extra events
ОтветитьI'm definitely guilty of using delay nodes. But polling the PlayerState still feels hacky in my opinion.
ОтветитьHi Mark, would you happen to know how to use the time stretch curve in montages? . What I'm trying to do is speed up and slow down parts of my melee attack montages, and also trying to implement micro-pauses/freezes. So far ive found that the montage is only affected by the curve if the play rate is less than 1.
Ответитьalright do this...alot better performance in mp
ОтветитьOnce again your channel is Gold. Really appreciate you Mark. Anything we can do to support you, let me know. I'd definitely pay for the knowledge you're dropping.
ОтветитьCompletely agree on delays and how you can get yourself into trouble by setting arbitrary timers trying to accommodate everyone's replication speed. Just a note, aren't you forgetting to replicate Health variable you created in the playerstate? I thought just because the class is replicated by default, doesn't mean its variables are.
ОтветитьI had a same issue even with OnRep_PlayerState. It should valid after it's triggered but sometimes its getting null. Later on I've used timers like you did :)
ОтветитьWhat about a retriggerable delay before the actual delay so it can never be spammed because the timer would just reset every time that same action is taken
ОтветитьCan we use delay but loop it from 'is not valid' node, and back to exec node, until it become valid
ОтветитьEey Mark, I checked your videos already a long time and i'm happy that your back with some videos this year i learend alot about it. But i have a general question lilbit offtopic (sorry for that). What is the reason why you don't use a dedicated server / data base to change your values and start to build from there. Maybe for better explanation what i mean is; haveing a tool/ website beside your game build, where you manage your game. You can change your game values / items, levels, names ,character locations etc., etc. Most online game builders use this and this looks very handy in my opinion. I think it is also good to start with. I have low knowledge about and want to know how you think about this. Is it worth for shooters? Will you use this later on or in a other way?
Ответитьmore practical videos like this please 🙏🏼 very useful
ОтветитьHey Mark, really appreciate the video, seriously motivated me to clean up some bad code practices. Question though, if you wanted to run multiple valid checks (I have a good deal of things flying around) would best practice be to use a sequence? or any tip you could offer there?
ОтветитьHey so i have a question, will you be continuing the Unreal Professional Series? In the showcase video you kind of showed an fps sort of game so i also want to ask what is the series going to end up making?
ОтветитьAmazing tip, thank you Mark ! Glad I suscribed a year ago, so I can have this kind of videos in my feed ! :)
ОтветитьSuperb material! Thank you very much for this lesson Mark!
ОтветитьMe and a friend's project we are working on in Unreal 5 was having these same issues. Though when we made a delay node to solve the problem, all we had to do was set the duration to 0 seconds and it fixed the problem of it not being valid in begin play. I am only assuming the delay node itself didn't fully execute until everything in the level was cached.
ОтветитьWauw, man you know you can just put a delay on the 'Is Not Valid' And plug that back in to the execute of the 'Is Valid' Check. Then once the Is valid fires off you're done, and the delay loop ends.
So much less code, and just way way cleaner then this whole timer stuff. (Which is the same solution literally but not unnecessarily complicated).
Just what I was looking for. Thanks!
Another bad use of delay node is that it cannot be canceled.
Using Set Timer by Event enables me to re-fire an event and reset the timer. Yay!
Hi Mark, welle xplained. I just got a Quation as you said Timer are better for "initialization". So I have a Listenservergame here 1 Server 3 Clients max... One Ai... lets say.. if the player shoots the ai once... i have ow a delay which counts to 4 Seconds and if it is not hit again it plays an animation and gets angry... so here, should I use a Timer or keep using the delaynode? It is all with RPCs
ОтветитьHey Mark hope you are having fun in Unreal 5. Just want to say thank you for all the tutorials, you've pretty much taught me how to use Unreal Engine.
ОтветитьIt’s obvious but you still got to say it👍
ОтветитьYou could say it in like 5 min
ОтветитьVery usefull, I'd save so much time of tries if I had seen that video earlier XD
ОтветитьThis was literally, EXACTLY, what I was looking for. Right down to needing to validate and get a state at begin play. Nice job, thank you! But its "CASH", not "CASH-AY" or "CATCH", Cache=CASH for pronunciation.
ОтветитьThere is a node called "Delay Until Next Tick", maybe is new to UE5. I use that instead timers.
ОтветитьThis is a good tutorial but I actually went looking for the factors that influence input (to effect) latency in Unreal 5 products.
ОтветитьVery nice video, unreal community lacks videos like this! Good thing I've already doing like this in my own projects even tho they are only single player.
Ответитьwhat do you mean, delay is great!
I even had a delay not working once so i slapped a delay on the delay and boom! it works now :)
A useful thing to know: delays won't work in things like functions and loops, but they DO work in macros.
ОтветитьThis information was much appreciated! i knew there was a much better way than delays lol
ОтветитьAwesome tutorial! Thanks so much for sharing. I literally did exactly what you said I shouldn't do, so this vid was perfect for me :)
ОтветитьHey Mark. I usually do this with a short delay coming out of not valid and loop it back to the validation. Do you think there are any downsides of this in comparisson to your method?
ОтветитьHey, I'm so sorry this is unrelated to the video, but I've been searching everywhere for a solution and know you have a lot of experience with dedicated servers. When testing my game on my local docker there were no issues, but now that I have my server actually up and running, the movement of my character is jittery, almost like a drop of framerate but just with movement, everything else like turning and inputs are replicating just fine. I assume that this is because the server is replicating movement too slowly so the location isn't being updated fast enough, but I'm not sure where to fix this. I've been playing around with settings but can't seem to find anything that causes any type of change.
Do you have any videos pertaining to this problem, or any suggestions off-hand as to how to fix it?
Instead of this you can create a recursive function. And implement your own delay until next tick with the "Get World Delta Seconds" node connected to a delay node instead employing a timer. Plus, as of 06.05.2023 you can use "Delay Until Next Tick" node in blueprints as well but I would still use the recursion.
ОтветитьEnjoyed all your videos, are you still working on some projects? all the best
ОтветитьAs a UE5 beginner, I found myself using "delay until next tick" modules to solve issues like this. Thanks for this video, now I can go back and get it done right. Edit: What happens if you need reusable code to get your blueprints, that you would put in a macro library? Macros can't use timers, because they can't use custom events. So what the solution? A blueprint component?
But there is another issue that I wish was a feature for. I am using the Actor Sequence module to animate things inside a blueprint. The problem is, there is no "On Finished" part of playing those sequences. One method I used, which is finicky, is to create a event key frame at the end and bind that to a custom event. This works some of the time, but for some reason, when you play your animation, it doesn't always reach the last keyframe. There is a instance where I have to play the animation backwards; so I had to remove this method. What I did in place is take note of the length of the animation, then add a delay after the play moduule before going to the next thing. I wish there was a better way of doing this.
excellent
ОтветитьCatching … fish
ОтветитьHello! Sorry if i bothering you, i would like to ask you. How much will be buy your project (Peace Restored) ?
ОтветитьHe's the type of guy that says you're drinking water wrong
Ответитьhow can I see the others client health in my UI? could u do a tutorial about that HPBars appearing on everyone's HUD widget?
ОтветитьI am not sure to understand everything. I am doing a course in Udemy, but the teacher is using delay to change the health bar of the player character and creating an invincible time of 0.3 seconds. But can't figure out how to do it without the delay, every designer and devs I talked to said to me delay are a big no no. Just want to say hey you catch some damage wait 0.3 seconds before you can get another damage. And I have a boolean that becomes true during that 0.3 seconds and becomes false again after that. But I want to use something else than the delay if it is not a good approach.
ОтветитьDelays are just Timers under the hood. They are not bad if used properly. Delays are not here to "Ruin" your game - people just need to understand that they are not "Retriggerable" meaning they don't work in loops, etc. For that, you can use RetriggerableDelay in UE5.
Your solution with Timers is essentially the same as using Delays - you are just "Delay"ing for 0.1s each time the PlayerState is not Valid
why do they put it in the program if your not ment to use it 😂
ОтветитьBeen stuck a full day on wondering why my online inventory system sometimes update and sometimes doesn't, ended up to the conclusion that delay seems to fix the problem but doesn't seems like a good idea. Needless to say I fucking love you, thank you
ОтветитьBest video on this topic, I had my doubts in the beginning because I didnt think is "valid?" would be applicable in most situations. And I'm no programmer so it all sounded like gibberish but now (2 months) after watching this I have virtually no delay nodes in any of my blueprints unless I want them there.
Ответить