#blueprint
402296 messages · Page 933 of 403
It's in there, the properties. GameMode is where you say that pawn, controller, hud, etc to use.
You wouldn't believe what I've seen people do, and of course, what is source control?
The pawn is where I set the correct player class thing?
Yes the default pawn, that's what'll be created for the player
Thanks! Now I just need to figure out how to move that each time the level is reset via the death screen.
oh shi* didn't think about that... but dw ^_^ I appreciate you trying to help everyone here I see you commenting alot just wanted to say good job
That's easy. It's just an actor. Just move it. Although are you restarting the level or restarting the player?
Because if you are restarting the level then you need to store it somewhere else.
This is what the DeathScreen does, so I think it's a level restart?
@balmy apex yeah don't do that, unless that's what you want to do.
But then you would need to store where the player should spawn at in some thing that survives opening a level. That would be your game instance or using save files
For a test, try using restart player instead
There might be some other functions you can mess with too, I haven't done much with restarting games because my project literally doesn't do that ever
All I want to be able to do is open the DeathScreen upon death, click a button, start the level again but with a relocated spawn point.
It doesn't really matter to me how it's done, just that it works
Try use restart player instead. It'll take you 10 seconds to test it.
In the DeathScreen event graph?
You can figure it out
Well, guess it's not in the DeathScreen since searching it didn't show anything
Wait, I already have a Restart Player in the character event graph
Restart player is a function on the game mode, so you need to first get the game mode to do it
It's also in there
So I guess it's working since it's in both places
And the respawn system does work, it just keeps respawning at the same place instead of moving like I want it to
This works, but how do I move the start location?
The Playerstart is an actor. You can set an actors location.
Right, is that also in the GameMode? I can't figure out what nodes I need in the blueprint to get that
Get the Playerstart, then move it.
Get actor of class will get you going
That's probably what I needed
And do all of this where you're handling the rest of the death logic. GameMode would be best, do it all before calling restart player.
This is what I have now, and it's the same as before
This doesn't make it so the PlayerStart moves, I must've done something wrong, I'm just not sure what
This is what my character blueprint looks like too, if that helps
That's because you're setting the actor that this code is in to -50 on X. You need to plug the playerstart into the target of the SetActorLocation node.
How do I make this Movable?
It's all grey
That doesn't have a "Movable" option on it
It's just a basic PlayerStart, and I don't know enough C++ to change anything
In a normal game, yes, but that's part of what I'm doing
I want the player to be spawning closer and closer to an island that I have until they don't die anymore.
how exactly do binds work
do they just run constantly?
ik how to use them, just wondering
I still don't know how to do this. It sounds simple enough, but I'm clueless
This is what I have right now, and it thinks I'm trying to move the PlayerStart
Listing functions and saying to override them isn't helpful since I don't even know what half of those functions even are
I’ve triple checked, when I print out the Hit Actor it it is the correct Character, could it be because I’m setting it to a Local variable first? Could it be that I’m using a function and not an event to do the trace? I am invoking the function from the Server
Can you show the code from the line trace all the way to the point of you applying damage?
you can spawn a player and assign the controller manually too
the API is (almost) fully documented, u can look it up here
Anyone knows the reason why widget button event on clicked works on 2nd click? and not the 1st one?
the blueprint is pretty simple
event clicked -> remove from parent - self(the widget)
Pry didn't set your focus so thats what the first click is doing
@tawdry surge you mean like this? still the same result
Try "set user focus"
Nuh still the same... I am trying doing with custom events and such but nuh chief nothing works. Its so odd
Yeah thats the only reason I'm aware of that it would make you click twice on the first button push
The method works on different widget tho, with the same logic like press button -> widget gone | and it works fine
All I really need is to move the player spawn on the X-axis, but nothing seems to actually do that. Even this just keeps throwing an error at me about not finding something
i dont see anything that would affect the player spawn in this code
That was supposed to be the goal of the Offset
You can't set the actor location of the player start cuz it's not movable. You can spawn a new at the new location and destroy the original
But id Google the functions mentioned above and make a custom system thats a lil more scalable
I don't need tons of scale, I just want to move the player -50 on the X-axis every time they respawn
@tawdry surge fixed it, I am an idiot
maybe u cant modify player in same tick its created
so basically without noticing i called the event that is creating the widget twice without noiticing in the player's BP, sry for stressing ya
I didn't know that's what the blueprints were doing
i cant say for sure but this system tends to do weird stuff like this
i was messing with foreach loops the other day and apparently delays just stop the loop
Then make a transform variable on the gamemode
Bind on destroyed with the player character as the target
Then on begin play also get the player start transform
Then off the delegate you can unpossess the character update the location, spawn a new one and possess it
I got as far as creating a Transform variable, and now I'm lost. I'm fairly new to UE, so I need a lot of direction
Type in " assign on destroyed " in the game mode event graph
That will make the binding and delegate event
Ok, got it
anyone got a good tutorial that covers delegates? i never actually used them in blueprints lol
Feed in the player character as the target for the bind
Then you just need to, from the delegate event, "unpossess"-> add your offset to the transform and use it for the spawn transform of the new one-> "spawn actor from class"->" possess"
You use dispatchers? @limber parcel
This looks good so far?
Basically it assigns an event that will be fired when ever a dispatcher call is made from the target
Umm, Unpossess doesn't show up for either of them
@balmy apex if you can't move PlayerStart just make your own movable actor to use as the player start and move it. Or do it all with logic in the GameMode. You're making this way too complicated.
I couldn't figure out how to do the former, and the logic part confuses me
They're setting it up in the game mode now
Get Player Controller doesn't show up anywhere either
Just make sure you understand what's going on. All a PlayerStart is is an actor that the GameMode looks for when choosing where to spawn a player in at. You can make it look for other actors or just override whatever functions in GameMode you need to to make spawning work however you want.
I tried to make it just the player, but that didn't work
Get player controller isn't showing up as an option in the gamemode event graph?
Not if it needs to be connected to something
No it's a pure node
I can get it just fine by right clicking
So now I have 2 things that reference Player Index 0
It gets a lil more complicated if it's multi-player
But single player it'll work fine
So left part we're gonna run off a custom event
Right part will run off dead
So the right part will do this stuff?
Nah begin play only runs once so after you die 1 time it won't respawn you again
Oh, so how do I get the player to "die" then?
We'll bind on destroyed to the new pawn from the on possess event in the controller. Thats later tho
For now just attach a custom event to the code on the left side of the first picture
Then attach "dead" to the code on the right
Oh no
you might want to update the controller to possess another pawn otherwise wouldn't you just end up stuck?
Custom event->bind on destroyed
Dead->unpossess
We're gonna get there
But you can't possess a new thing without unpossessing the old one first
Ah, I reversed the right side
I meant after, yes
This is better
Oh, like this?
Yep
Now we want to take the spawn point transform variable you set and we want to get it
So pull that out from "my blueprint tab" on the left
We then want to right click the orange output pin and "split struct pin"
This will give you the location, rotation, and scale individually
Then you're going to pull off the location pin and make an add node (vector + vector on ue4)
This is where you add your offset
Then you need to set the spawn transform variable to save this new transform.
Make sure you plug in the original rotation and scale values if you want to keep them
What kind of variable should Transform be? It's a Vector for me
Get -> Add->Set
Huh? Get what?
If you grab the transform variable from the tab on the lower left and drag it onto the event graph it will ask you get or set
You want to use a get first then we will add to it, then you can set it to the new value
So, Get Transform, then do the addition, then set it?
Yep
It won't let me connect Transform to the addition
Ok, got that
You can right click any colored pin on the right half of the set node to recombine the struct btw
Yep
The only part here I'm unsure of is the class I chose
I chose the actual character instead of the playerstart
What class is your default pawn set to in the gamemode
The class I chose
Ok, awesome
Now you can pull off the player controller again and possess
Then use the output from the spawn node as the target
Where does the possess go?
I'm just seeing "Add Possessable" from the SpawnActor thing
Is it like this?
Yep
Now all you gotta do is hop over to the controller BP so you can call your custom event in the upper left and switch the binding target to the new pawn after each death
Controller BP?
Why TF are you guys doing all this stuff, way overdoing it
Hmm, I have a controller for my main menu, but I don't know if I have one for my actual level
I don't know any other way to do it
What is the controller attached to the game mode
You're almost done
Just finish this way
I see Get Player Controller in the game mode, but that's it
No in the class defaults what player controller class are you using?
Anybody here willing to share their advice or experience working with PrimaryDataAsset in blueprint?
Any known quirks or possible pitfalls?
One of our projects got corrupted after changing some PrimaryDataAsset related stuffs.
The whole project wouldn't open anymore at this point, keeps crashing even before the editor is ready.
Got no choice but to rollback to a previous backup.
3rd one down
Yeah, I'm just not sure where that is outside of right there
Its the default so it's a c++ class in engine content.
Were just gonna do it from the player class
On begin play in the player cast to the gamemode class you are using
Nah you want a reference to the object not just the class
Just a cast to MainGameMode
So this one?
To the left of the cast?
Yeah
When casting we need to have an object we are try to change the reference type of
That makes sense
Last step is to call your custom event from the "as main game mode" pin
Uhh, I don't think it's moving anywhere. Should I be using something other than the PlayerStart in the editor?
I changed the Transform value in X and it didn't do anything
Well 50 is a little less then 2 feet
Maybe test it with a much bigger number
And you mean the x value of the add node right?
Changing the variable default value won't do anything
I changed it to 1000 and it was still in the same place
On the add node?
Yeah
And when you die you are respawning?
After I click the button to respawn, yeah
Then something isn't right.
You shouldn't need to do anything to respawn. It should just happen as soon as you die
I made a button to respawn
Oh then you'll have to do some break points and a print string to see whats happening
The thing we did should do it automatically
This is what the button press does
I'm not sure how you 2 end up with such a long thread, can't you just do the following instead?
- add 1 vector variable to track the player's spawn position, put it somewhere persistent (game mode, game instance, level, player controller, etc)
- add the extra distance (+=) to the vector at the start of the player pawn spawn (actor/character beginplay)
- SetActorLocation to that value afterwards.
No that destroys the game mode too so your transform is reset every time..
You'll have to test it by actually killing the player
Jump off the edge of the map or something
The player dies after being underwater for long enough, the death screen shows up when they die
This is what brings up the death screen
Ok.. do you then call destroy actor on it
No, the screenshots show all the code I have for calling up the death screen. Should destroy actor go after the Set at the end?
Well you'll want to delay so the player can see your death screen but yeah
This is the death screen right now, the player is supposed to click the button to respawn
Then you'll have to destroy the character from the button press
Before reopening the level or should I just remove the Open Level entirely?
I don't think I can destroy the character from the button press, that doesn't seem to show up anywhere in the death screen event graph
Remove it entirely
And you'll need to "get player pawn" again and call destroy actor off that
After destroy actor?
Yeah
Is that it then?
Should be
Something still isn't right
Looks like you're spawning in the landscape and falling through
You'll have to play with your offset
It's only -50
In the game mode you're setting the transform to the player start transform on begin play right?
Otherwise you're snapping to -50,0,0
This is the whole game mode
On beginplay->set "transform location"
You wanna then get the player start location to feed into the left side of the set node
No make a new set node
You want to set the value in the beginning so that every time the player dies you can update it
How do I get the player start location to link to the set transform?
I don't remember which thing is the player start location
"Find player start"
That doesn't go into Set apparently
No just right click in space
You need to connect the controller reference to the player pin
And then pull off the return value pin and type get transform
This doesn't feel right
It will work
The proper way was overriding the built in functions but this way is fine for your purposes
Yeah go ahead and test it now
And overriding doesn't make sense to me anyway
"Blueprint Runtime Error: "Accessed None trying to read property CallFunc_GetPlayerPawn_ReturnValue". Node: Assign On Destroyed Graph: EventGraph Function: Execute Ubergraph Main Game Mode Blueprint: MainGameMode"
It breaks after clicking respawn twice
How do I record the output string as well as index value for the Random node? Since each print string calls it and gives two different values
Ok.. click on the custom event node and in the details panel add an input
Who is that to?
You
Ok, got it
Set the type to the class of your character
I see one, yeah
Plug that into the target for the bind node
You guys still plugging away at this?
Yeah
Last thing.
Pop into the character BP and plug a self ref into the custom event function call
It keeps dropping me in the same spot again. And after the mouse is used once, the cursor stays on screen
If you put the mouse on the screen then you gotta take it off again
And you'll have to print out the location values to see what is happening with that
What do you mean by take it off again? I had that already set up somewhere, I guess it's not working for some reason?
I don't know how to do that.
Idk where you set it up, but nothing we just did would effect that
It was probably in the death screen when the level was reset.
I don't know how to hide it again though
Get player controller->Set show mouse cursor to false
You'll want to do that in the death screen before removing it from parent
Like this?
Yeah
Now to get the transform of the spawn working, somehow
Your best bet is to use print strings and check what the values are while playing
How do I do that? I've seen it done, but never how to do it
Type print string and plug whatever you want into the in string pin. Most things will auto convert
There's also an append node for putting a bunch of values on the screen at once
Well, it works now, so -50 was just probably too low to notice
I really appreciate all your help. Your patience is immeasurable my dude. Thank you so very much
Nice glad it finally works
I have 1 more thing to figure out, but that can wait until I have a couple tries. It's just setting up a "win" condition which shouldn't be too bad
Hmm, whenever I add something, the death screen no longer goes away
The mouse cursor disappears as expected, but the death screen stays
Fixed it by saving the level again
hello I'm new in the sector, I wanted to make sure that if someone touched the wall (Wall5) then it changed the collisions
Aaaaand?
It needs collision in order to register 'Hit' to begin with, so it's going to fail to turn the collision on.
is there a type of collision that it tells me when I walk over it, but that I can go through the objects?
Basically anything that allows passthrough (Like Trigger), and register on 'Begin Overlap'
now i try,thanks
🤔
(I try to correct the error)
I don't really know why you'd want to do that, are you trying to collide THEN enable Block response to all? I gotta know the use-case here. It might be kinda jank. But basically you'd set Collision to Enabled as Trigger, then on overlap Set Collision Response to Block
ok
yes i have understand, thanks 👍
I'm used to reactive programming in ReactJS so this is a very basic, fundamental question about programming in Unreal - let's say I have a boolean and if it's true I show one mesh, and if it's false I show another, is that something that I program in the "Event tick", so it's checking the boolean on every frame, or is there a way to program it so it only checks if the value of the boolean changed, like React would do it?
No idea about React, but you can have things event based, as in trigger an event to change the vlue.
So let's say I add a button to the UI and when I click it, it triggers some onClick event where I change the boolean from true to false. Do I also program the mesh switching in there as well? Or can the logic for switching the model be somewhere separately, so it only reacts to the boolean changing its value?
It can be wherever you like but generally you want to let things handle their own logic.
So if the mesh is gonna change then I'd put the switching code in the actor with the mesh
I need to wrap my head around this, I'm not used to imperative programming. But RepNotify looks like the thing that I need to achieve what I want
Thats one way to do it
if i want to check if a name in a struct is empty, do i have to check if its equal to "None" or to just " "
Empty
the default value of fname is "None"
So I suppose it would be "None" unless you changed the value to "" somewhere
You sure bout that? Everytime I print an empty string it just doesn't print anything
conflicting answers 😅
I mean it's easy to test
string != fname
strings default value is empty
fnames default value is "None"
fnames can be empty tho afaik
so the question is, for what do you want to check? if the fname is empty, or if the fname has not been set?
name has not been set
i have widgets that i need to check if they have an empty struct, so either it hasnt been set or has been un-set
then check for "None"
Oh its purple not pink. My bad
thanks friends 😄
Are there any build in ways to create time-independent spring animations like this one? Set the stiffness to 0.05 to see the effect better. Sequencer uses keyframes so that wouldn't work and I found TweenMaker but that's also time dependent. With this, you just set a new position for the object an it smoothly moves to the new position on its own
https://svelte.dev/examples/spring
I'm not sure how you'd do time independent.
It's either gonna be a distance over time or number of frames
Delta Seconds?
Hey, we had a discussion yesterday about spawning actors from construction script. Actually it is possible:
FActorSpawnParameters Parameters;
Parameters.bAllowDuringConstructionScript = true;
Inb4 #blueprint become the new #cpp and scare the non-hackers away
Question, putting ConstructObject inside a PrimaryDataAsset is a bad idea isn't it?
Project got corrupted before, so I did some tests, doing the action above seems to crash the project pretty consistently
I'm assuming that PrimaryDataAsset are meant for data only?
This may be a simplistic take, but..
If doing something crashes your project, then don't do that
Nah, it doesn't crash the project, it corrupts it, cannot even open the previous version
Just want to make sure whether it is allowed or not to actually use it that way.
Because the editor didn't stop me from doing it.
I've never done that personally so can't say definitely, but I wouldn't do it based on the fact that it could possibly corrupt my project
Can't cook an egg without breaking one, I'm pretty grateful that happened though, at least now I got something new to figure out.
The editor won't stop you from doing alot of things that you shouldn't do. You can dig through the c++ if you really wanna know what exactly it's doing
#cpp message
@naive geyser I'm pretty sure "Look At" requires two world positions to create a rotation. You look from point A to point B. So in this case try using World Location, not Direction, in ConvertMouseLocationToWorldSpace
Good idea 👍
Thanks, that's exactly what I need
Ok thanks for the suggestion
what does the error delay stack mean? I put in a delay it stops the infinite loop
but it shoudnt loop in the first place
it ends with user input
If it cannot be executed within 1 frame then it will throw an infinite loop error
how would that happen?
Can anyone tell me how I identify this specific blueprint node so I can search for it? Or at least tell me what it is called?
By that I mean the thing itself
hi all, how can i make a particle effect show on the object based on where they are aiming?
i want to make it so that no matter where you look on the object, if you are welding, a particle effect shows
I have no idea without seeing some code
That is what happens when you get a variable from another blueprint
Line trace on tick, move a particle emitter to the hit location
thank you
Also please dont crosspost
Oh guys been here over year he should know smh <@&213101288538374145>
Crossposted in 3 channels
@thin pantherthe codes pretty long lol
the highlighted piece cause the infinite loop state
sorry guys, why the session nodes (create, find and join session) work only locally?
I can't find any other player's session if it's not connected to my Wi-Fi
and this is what it calls
Does end turn by any chance recall new turn
Aha it does
it does
So the loop error is probably coming from the fact that in one frame you could infinitely be failing that branch statement
Resulting in it calling
If it fails, then it never has a chance to change, so it calls again, and fails, and calls again
it could, but it shoudnt. Since with a .1 delay it works fine
since its end in user input at some point
should I just add a tiny delay to fix it? or?
No you need to restructure that, cause im not seeing where user input can interrupt this loop
this is the turn order bit that it calls
itll end up being my turn
so it cant possibly infinitely loop
Im seeing a pathway here where alive never sets to true within the frame resukting in recursion
sorry I joined a long time ago but I don't post here almost at all
ohhh
hmm
im not sure how to fix that lol
Spread it out over mutiple frames
Rather than checking alive sequentially like that it needs to be tick based i imagine
Ah yeah thats fair
just plopped a ''delay untill next tick'' in there and its a crude fix I guess haha
Is there any way to get last movement input vector in client-side on multiplayer?
You can change the interpolation setting on the wires in editor preferences
i'll have a look at those,
i'm going to put it all in functions to clean it up a bit i think, i just hate sitting there moving nodes around to obtain some kind of neatness
i try my best to keep everything neat as I go along but it always ends up somewhat a mess
same ,
gets worse especially when you're trying to build someting thats effecient rather than using some high level function
I add comments like crazy if it starts looking a mess because i wanna be able to tell whats what
im working on a building system for my game right now and its not easy thats for sure
same, whats in that screenshot handles a small part of foundation placement behaviour,
you following a tut or just doing it yourself?
myself,
nice
i wanted to solve it mathematically and make it nice and effecient
im following a tutorial and boy lemme tell you im sure im going to have problems, the guy is using a third person character while im using first person and the ghost outlines dont line up with the camera they are off center a bit
i alot of tutorials i find start people off with some bad habbits from the start eg line traces off the tick event
im not line tracing off a tick event thankfully
i have it looping with a delay
but im sure to run into problems
well this guy has me running it off the camera position with get world loc and get foward vec
ill show ya
I have electronic nodes, but got rid of it a while back.
felt like half the time i was programming, and the other half I was fixing the wires to look semi-acceptable
bit of an odd line trace
yeah im trying to figure out a better way to do it..
get rid of
you're multiplying it by 0 and then adding it to another vector
a vector is just 3 float values
so you're adding 0 to all three valies
yeah so thats what i had a feeling because the guy has a boom arm on his third person char and i dont
giving you an original value of the vector to begin with
ah so if you're in first person, indeed multiply it by 0
but if you're in third, multiply it by the boom arm length
im in first
that way you'll get a line trace from the character onwards
so i should keep it right?
it's just muddying up the code
i had a feeling
everything else is right
cause the bottom one is what tells the char how far they are aloud to place the build
what does the other side of the linetrace look like?
done
Hey folks 
I can't rename an event. It says the name is being used already but I have searched window/find in blueprints and also in the sidebar search in the BP. It doesn't exist. Any ideas how to fix this?
with a builder application something else to do aside from the actors to ignore is to check the "out hit distance" and limit how close it works too
what are you trying to rename it to?
i usually add this in
stops you shooting across the map from the collision of the thing you are about the build,
ahhh ok
any ideas on how to line my build up with the camera?
rather than it being off to the right
you are in first person?
correct
It was originally named OnDeadRep. It's called that in an older version that works. I think it happened when I reparented my BP and then reparented it back to how it was.
unreal realllly hates reparenting and redirects. BPs can become corrupt sometimes. be careful when reparenting
that looks like a box trace
this is a pretty good guide on line traces https://docs.unrealengine.com/4.27/en-US/InteractiveExperiences/Tracing/HowTo/SingleLineTraceByChannel/
well basically what the tutorial had me do was create a ghost mesh of the floor and thats what your seeing
I am very confused on where my vector + vector blueprint node is not showing up?
the line trace is working the ghost mesh isn't rotating as you move around
i have a question
so i got my actor and i wanna instantiate like 5 prefabs in it but their positions can be manually adjusted in details pannel of the actor
how can i do that?
there is a function called "find look at rotation" which would give you a rotation value that you can use to make the ghost object always face you as you spine around
object location as the start player character as the target then you'll need to tweak the values a bit
ok ill look into it thank you
I have a base Blueprint and use child BPs to inherit the basic functionality and my issue starts with collision. How can I get the collision without it existing in the base BP?
you can create your own collision delegate on the base bp, and fire it on the child
So you say that I don't need to set any collision on the base PB only on the child BP? But I actually need to do something with the collision on my Base BP. I'm confused because I can only create a capsule, box or sphere collision but I want a custom one.
just pass the collision data from the child in the delegate
can you better explain what it is you want to do?
I assume you're having a tough time because you can't decide between a static mesh and a skeletal mesh
if all you're working with is a static mesh, then just add that to the parent BP, and don't actually add a mesh
let the children set the mesh
So, my Airplane movement requires me to move the Scene instead of my Static Mesh, because I'm adding "sway" like flying it's weird. So I need to detect the Static Mesh collision and handle it, except I'm pushing the scene forward instead of the static mesh
help me understand here
what's your base bp and your child bp
i.e. is baseBP airplane and your child bp a specific type of airplane?
hi whats the problem here ?
Does anyone know how I can pull up the 'GetModifiedMaxSpeed' node in UE5?
I'm trying to follow this tutorial, but can't find this node or 'GetMaxSpeedModifier' node, which should allow me to more or less get the same effect.
https://youtu.be/HuM0baAraaM?t=1364
Support the channel through donations. Crypto accepted!
PayPal: https://paypal.me/reidschannel?locale.x=en_US
Patreon: https://www.patreon.com/reidschannel
Bitcoin: 1JFwWHr4X6uAeoZadukzqKjzFBj3Qjy7Sk
Ethereum: 0x2B2Bc108F1Cc0fF899959dEF3226637787d8C3dE
Dogecoin: DNQ33YnhpWoTBokBNVkZP5ub8KTLkpyjpv
Join our community discord!
Discord: https://dis...
Thank you for any help!
found it thx for pointing out
drag out from character movement
@desert juniper
I've tried that, but I don't see it in my drop down. I've tried typing in the search in numerous ways to see if I can get it to come up, but no luck. Could it be a difference in the character movement component? It looks like the first person blueprint had some changes between the tutorial build and now.
maybe it's deprecated in ue5
Yeah seems possible
don't see it in the docs for UE5, only for 4.27 and below
I was hoping to reproduce the node via the GetMaxSpeedModifier, but that doesn't appear to exist either.
looking at source code, there doesn't seem to be a max speed modifier valiable
I'm assuming it's just a multiplier. why not do it yourself?
create a wrapper, or just save the modifier on the character BP
then just set the max speed to be maxspeed+maxspeed*multiplier)
Thanks for looking for me. If anyone has any idea how to reproduce that setup in UE5, let me know.
I'm very new to blueprints and UE programming.
Sounds like it's deprecated?
Do you know what I would be multiplying?
uh, i just kinda explained it
😄
Thank you!
"GetModifiedMaxSpeed() is deprecated, use GetMaxSpeed() instead"
which is odd, since it's not what the previous function was doing
Yeah I tried that and it doesn't seem to work. Could be an error elsewhere in my BP.
kinda odd that they'd deprecate it from the movement component, but it'd be super easy to add that in yourself
(using getmaxspeed)
just creating a wrapper component
Yeah I think I'll try that. Thanks for pointing me in the right direction.
yes it will have other "skills" like bomber jet etc
then why not just add an empty static mesh to the base bp?
How exactly are GUIDs used in Unreal?
Just type +
I am getting an error showing "Attempted to access___ via property, but is not valid (pending kill or garbage)" How to fix it?
I mean, they're GUIDs. They get generated and are used to uniquely identify things. They're based on the windows ones (random 128bit ids)
Hows that practically work? you mean I can assign an AI actor a GUID then call his GUID in other scripts to reference him?
There's no GUID asset management system where just generating a GUID means you can reference that asset/object.
That's what pointers are for.
Well, variables.
so then how would you use it
First off, why do you need to use it?
just saw a save game tutorial for unreal and this guy said to make an array of GUIDs in your save game object
^
he didnt explain how to use them just left it at that
I'm triggered again.
If the tutorial you're watching doesn't spell it out properly, try a different one.
cant really find tuts for how to use GUIDs in ue
If you're following along some tutorial and you don't 100% understand what's going on and why, pause it, do some research and experimentation. Learn to draw, not just connect the dots.
Why do you need one? It's just a unique number. You can do a lot of things with it.
It's just a number, like Adriel said. A unique ID.
Use it like you'd use any other unique ID in a database, etc.
@faint pasture Should just make a tutorial on how to stop watching tutorials at this point.
Are line traces expensive on CPU?
No
depends
someone tested lately with 500 traces and had 50% increase in gamethread time
but highly depends on your scene
I need 1 trace for movement and 1 trace to shot rockets
The tutorial I'm watching multiplies the vector with a float number not vector by vector, idk how can I change it to float?
rightclick the lower input pin (convert to float (double precision))
@spark steppe do you know anything about how alt tabbing works in ue5?
I alt tab and some mechanics fully don't work but some do
Actually I think I know why
My tick events weren't working (because fps goes to 0 when I alt tab) but timed events (beginplay with days) work
Anyway to change that with console? Or nah
I don't want fps to decrease when alt tabbing, or just completely remove alt tabbing unless you are in another level
Project settings
What section
r.FullSendWhileInBackround = true
Search for "background" in project or editor settings
the editor has an option for that, yes
but i don't know if there's anything similar for standalone
he want's it in cooked build, too
I'm assuming that's a console command that doesn't limit usage?
that was a joke
I use Camera Lag on my Spring arm and it makes the line trace come from sides when I turn
r.FuckinSendIt = true
This one will make it run really fast
Thank you
Pre/post physics tick
and r.MinFPS = 100
But it might just be an artifact of the draw debug
You're probably seeing the trace draw debug 1 frame old
Is the trace actually missing?
i have the function and it traces the line but it comes from body of the player and donse tilt depending on the camera how would i fix this
No but what happens when the trace missfires
I mean what if there is a plane where the trace shots from.
@devout doveWhat I mean is are you sure the TRACE is 1 frame old or just the debug draw
If the order per frame is
Stuff
Trace
Update Position
debug draw
then the draw will be drawn at the old position, not the new one which is what you're about to see
Are you using physics to move?
hi, I have problem where i cant use the transform tools, i can use it on other blueprint objects but not this one
nice rock
any advice is appreciated
thanks, (not mines
)
maybe select this one
The static mesh is the root, so you can't move or rotate it in the BP
That will use it's world location and rotation
@slim grove forward vector target should be the camera not the mesh
Thanks but I tried that
Okay I will try doing it there
Like do it in the actual viewport?
i dont see anything
Yeah the root position is the actor position in the world
but i spawn it like a projectile
it doesnt exist until i press a button
dosnt work
Is said for the forward vector
Leave the location with the actor
@raven pilot What are you trying to do?
dosnt work still
if your trying to do a trace from the camera that should work
if you dont see it make sure its getting called
anyway to check if the game is tabbed out or not?
nono i see it its in the wrong possision
i mean its going to be actor postion then actor + camera location
where do you want it
when i use camera manager it works as intended
spawn a rock from the ground (i actually got the transform to work, since you said the mesh is the root, i replaced the root with a scene, it worked but idk if tis good long term lol)
are you trying to do a trace from the camera
the interactor is the player
the top one should work then and be tracing from the camera to in front of it are you sure it calls it why is this getting called outside the player and if its not then just grab trrhe camera itself
well the issue is none of them work
this is what happens with this one
Hi everyone! do you know which node to use to disable "visible in ray tracing" of a staticmesh component?
@SENPAI#33O9 a scene root is fine but not the cheapest option performance wise.
If you are making the assets you can just export them from your dcc with the pivot point at the bottom.
If you're not and the pivot is in the middle (like on the rock mesh above) you can use the half height to offset the spawn point.
I'm having a hard time pinning down an issue with some widget components.
I have two widgets in world space I'm using for interaction spots. They work fine but in the level (And only in the level) they render black (top picture)
BP editor viewport, widget editor, and material editor all look fine.(bottom picture)
Anyone have any idea why this could be happening?
I hope I'm allowed to ask for help in here, but I was wondering if anyone knew if it was possible to make it so that everytime you load a map, a landscape is randomly generated
I'm using the landmass plugin inUE4
hmm i dont understand
wish i could help but so rusty from break
is there anyway to get if the game is alt tabbed or not
Not sure if BP, but iirc the GameViewport or GameViewportClient should have some function for checking if it's in foreground and similar
can anyone help me enable world partition? I can't find out how
u tried looking at tutorials?
yeah i figured it out
k
Does anyone know of good tutorials for saving the player their own inventory of things they can customize. Like if you have a party of people that other characters in the game can have how can I save the players versions of those so I can save their stats or move lists.
I have been kind of trying to find tutorials but I'm new to creating saves and I'm not sure the direction I should be looking in
is there a way to make a blueprint a child class of another blueprint? so i dont have to copy/cut and paste everything over to a new one.
the other class i want it to be a child of is just an intermediary class between the original parent class and a couple child classes
sorry im bad at english today
You should be able to make a child of a blueprint by right clicking on it and make child
i already have blueprints ive made stuff in, i want to make them lower down in the hierarchy, under a new child class i made
so it would go from from Parent -> Child to Parent -> new intermediary class -> Child
i know in code its as easy as changing like 2 lines of code, and i have 5 classes that i want to do this to and would rather not copy paste everything over to the new ones
Ok, I misunderstood originally
In Class Settings you can assign the parent class there at the top
Try this, the get camera view might only need to be set once in begin play, I was running this in animBP, this works as a dirty test, haven't looked into cleaning it up, but works, this will shoot out a trace from camera.
it seems to work in SP but im in MP but this should help a bit better n my effors and the get camer view dose nothing
Hi, how can i create a child from MaterialInstanceDynamic ? I don't see it
and for the context, i'm trying to recreate this from Lyra.. that is located in "Engine/Transient" but i do not have it either
MaterialInstanceDynamic is not an asset type that you create in the content browser, then you create a dynamic instance of that material using the Create Dynamic Material Instance node. The Transient folder shows that the object was created at runtime and will be destroyed when the game ends. I am not familiar with that bit of Lyra so you'd need to see what's creating that instance and see if there is a mechanism for setting your own material as the base class for your instance.
See the docs for more information on how Material Instances work: https://docs.unrealengine.com/4.27/en-US/RenderingAndGraphics/Materials/MaterialInstances/
You was right, it was created by those settings that are related to the "UMaterialProgressBar" class, thanks for the help
anyway to change graphic settings in "Standalone Game"
Make an options menu and change User Game Settings value from there
Hey, I got a sound that i play at the start of the game. Now after i removed that blueprint parent, how can i stop the sound from playing in another blueprint?
You could reference it in the game state or something
Uh. Its just a recration of a games Hud. I didnt want to make a game out of it. Just the basics for the hud
Why does it make an black stripe on the right side?
Is there a quick way to get a reference to objects in a widget blueprint? I am just wanting to get the distance between two actors in my world and have that distance show up on the UI. I am really new to UE4 and I know the bare basics of blueprints and I just can't figure out how to get information from the objects in the current level to show up in the widget.
You shouldn't be getting actors or doing any work inside your widget. If you have some info you want displayed to the screen you would calculate it in the relevant actor and pass it to the widget
alright, I thought I would have to do an input pin on the widget to do that. I see you can use the return value pin and set the text that way. It must be too late because that seems like such a simple thing I should've been able to figure out on my own. Thanks for helping out
You can store refs in your widget
And use it for logic, depends on what you want to do
You can make a variable and then click on the variable and expose it on spawn and make it instance editable
Then it will appear when you make the widget
What's the parent class of Effect as well as the class of the blueprint where you add that node?
So it's solved?
I want to print with a delay in my loop but it completed instantly printing once only instead of the index number (6)
someone knows what I'm missing?
I think the delay node is overwritten instantly by the next entry.
I think someone said the solution was to modify the loop node?!
Shrugs
Or use a timeline or something.
you're right, I found it, not very hard to implement though
@mental trellis thanks for your answer
No worries
Yes, the Sequence node in the macro skips latent functions in its way
try while loop next time
Hi everyone! do you know which node to use to disable "visible in ray tracing" of a staticmesh component?
For some reason get owning player always returns null no matter what i do
Did you set owning player when creating the widget?
Do you mean the outer reference in the widget construct
thats just set to self by default, what should i set it to
Which class is this? Unless you're in the player controller class, it wouldn't work properly.
And you'll get null
Its the player charachter
Ahh i've just now realised i posted this in bp i meant to put it in multiplayer haha. my bad, I'm trying to setup a join client button and this tutorial im following is saying use get owning player and it kinda just worked for him but he did in ue4. I'll move my question to #multiplayer
The get owning player does not return null anymore right?
Hmm
lemme doyble check it is
Do a IsValid node and print the result
still false
do you mean this?
still false
Okay. I'm out of options. That should usually fix it
Only place it should be false is on the server or something
Widgets don't exist on the server
yeah its very weird
oml im a real life brainlet i used construct object from class not create widget
Thanks for the help
Lmao. I should have spotted it.
No problem
So this is a bit awkward but I've just reached the point in my project where I'm thinking about abilities, visually, in depth for the first time... how do you combine animation and vfx? do you shove everything in a montage ? A sequence animation?
#gameplay-ability-system is massive help to structure such things. But it's a bit complicated to get into. Worth it though if you can invest the time to learn it.
I'm not using SAS or whatever, I have a custom implementation to use my abilities and it works perfectly. I'm talking about the visuals only, not the mechanics behind
In that case I haven't thought about it outside GAS, sorry
I mean stuff like this, this guy is using sequences, doesn't seem right to me https://www.youtube.com/watch?v=gEfCevGCqpo
Download - https://www.patreon.com/posts/66036620
NFT - https://opensea.io/CGHOW
Twitter - https://twitter.com/cghow_
👉👉 If you Liked it - http://bit.ly/2UZmiZ4
Channel Ashif - http://bit.ly/3aYaniw
Support me on - https://www.patreon.com/Ashif
Support me on - paypal.me/9953280644
Lightning Hit FX in UE5 Niagara Tutorial | Download Files
#cgh...
For complex animations you'd use a montage and anim notifies to fire the particle effects
Thaaanks
Oh.. I thought you were talking about a whole system.
I'm using this for that and it's more than sufficient for my game https://www.unrealengine.com/marketplace/en-US/product/simple-ability-system
I'm thinking about abilities, visually, in depth
Sounded really huge
Well, I know how to create the effects/materials/animations but never put them together like this before
(huge for me)
I see.
is there a particular input type i should use when making a function in a blueprint interface (first screenshot is blueprint interface) just to use a custom event in my player character bp (BP_ThirdPersonCharacter)? The custom event from the blueprint interface works just fine in my BP_ThirdPersonCharacter but idk if it's bad to use a float like that or if it's ignorable, sorry if there isn't enough info im new to all of this
Hi guys! Just a quick question!
How do I create an IK chain with FABRIK on rigid body bones?
I want it to behave as rigid body and use last bone for IK
thanks in advance
You don't really need to add an input parameter if you're not going to use it.
Is there anything specific that you're trying to do?
If I were to create Load and Save functions, it would be a good idea to do it in the game mode, right?
@frank gyro passing basic data types like float, int , string, etc.. is fine
It's hard object and class references you want to avoid
thank you, idk why i thought i needed to set an input, i was just trying to start an event inside my thirdpersoncharacter when an animation montage notify went off but not entirely sure why im trying it to begin with now
thank you 😄
Get a reference to the static mesh actor or component and "get material"
Anyone know any decent tutorials on how to create a save system? I've looked at so many but can't figure it out lol.
You're not gonna find many good full system tutorials. You're better off just learning the basics and building out the system you need incrementally
Ah, okay, thank you.
hello, anyone can help me in private for a simple problem I have?
your reference to RefV2 is null
how are you acquiring a reference?
like this
Assuming the third person character owns the widget you could just pass the ref v2 in on spawn too
GetText is a bound function to a TextProperty I assume. It's most likely the case that your reference is being called first frame when widget is created, during which the Reference has not been fully initialized (Which would be the second frame).
Easiest way to get rid of the error is to just check if the variable is valid before reading anything from it @molten stone
Hi everyone! do you know if it's possible to get all the child of a static mesh to inherit all of his attributes?
How to fix this bug? It works when I disconnect and reconnect any node and re-compile..
look at the last few messages
same problem
@desert juniper thx 😄
How can I get these textures ? I mean the preview images
So what I am trying to do is create a UI that shows the distance between a radio and transmitters in the level. The transmitters can be turned off and on so the UI will have a dynamic list. I watched a tutorial about server browsers so I can learn how to make the UI with dynamic slots for each transmitter. My problem is getting the actor location for the transmitters so I can display the distance in the UI. Could this be done using your method?
Is there a reason why BeginPlay() would be called after GetSpawnActor in this screenshot?
those first two UE_LOGs were written in the GetSpawnActor() and the second two logs were written in BeginPlay()
Is it multiiplayer?
Ah its not
@trim matrixcan you share that tutorial? sounds usefull
Yeah, use a map or array, if a transmitter* pops up, send a message to the player saying 'this transmitter* popped up' then it will send a message to your hud, that would be 'add this transmitter* to the map' the hud will check every frame through each map 'value array' element the distance and update it on the hud, depending on the corresponding 'key array' value
I am making a system for replicated predicted attributes with duration modifiers, so far its working, client side predicted with server authentication
And also have a function to say this transmitter stopped
https://www.youtube.com/watch?v=oO6foa5qDck I know there was a better quality tutorial out there but I can't remember which one I actually watched.
Hello everyone,
today we will work on a small and simple server browser.
Plugin: https://forums.unrealengine.com/showthread.php?69901-Advanced-Sessions-Plugin
Do you have any Questions, wishes or anything else?
Just put ...
Thanks, I will try this. Might have to do a basic blueprints tutorial first. I still need to learn about events and messages before I try this lol
Yeah check out a tutorial
This might help
Did you print this in c++?
I assume so but just confirming
yes
Does anyone know of a way to swim up on waves, that are displaced by the material, using the default water provided by unreal?
Right. BP BeginPlay is not actually C++ BeginPlay. So the Parent Call node you have there mainly calls the BP Parent BeginPlay, not the C++ one.
The BP one is called in the Super::BeginPlay method as a BlueprintImplementableEvent
So it's basically redundant to call the parent node in BPs if the BP is a direct child of a CPP class
Super::BeginPlay will cause the BP code to run and then it runs whatever comes after that in c++
can you help me with how to configure it?
@surreal peak is there a way to get the C++ code to run before the blueprint?
Theoretically by placing it before the Super call
But you have to keep in mind that you then lose whatever the CPP parent of your CPP class did in BeginPlay
If you need to ensure this, expose your own BlueprintImplementableEvent
And call it after your BeginPlay code executed
And use that in BPs instead of BeginPlay
I thought I solved the problem, but I still get this error...
I constantly check every property before HealthComponentRef is set... HealthComponent cannot be missing...
How can I get these textures (I mean thumbnails)
@trim matrix do you have BlueprintReadOnly set for the UPROPERTY() macro?
any chance you didnt instantiate it in the constructor?
maybe swap it over to BlueprintReadWrite?
I Instantitate it in BeginPlay, is that the problem?
But even if BeginPlay comes way later than the UWidget Update.. it should still work...
i usually instantiate components in the constructor. If i have to do any dynamic bindings, thats in the PostinitializeComponents()
id say swap it over to the constructor and see if that helps?
Also, the bug is sporadic.. when I disconnect any node on that BP Widget and connect it again it works
Yea ok, I will try
Does not work in the constructor.. the widget is not even getting created .. propably because of GetWorld() which is not available in the constructor??
I was wondering if someone could lead me down the right path here. Im needing help for a TurnBased Battle game that Implements Action Command timed prompts inside of battle. If anyone could shoot me ( A youtube link or someone to start looking ) I'd appreciate it ! and in case someone is willing to help me directly, im trying to do something similar to the old RPG games turn based battle systems
Nothing is available in the constructor, except static assets.
And you shouldn't use them in constructors.
Yea, I figured
we're only talking about instantiating components right? woudnt you want to do that in the constructor?
like if i want to add a spring arm or a camera, you instantiate them in the constructor like in that screenshot right? Same thing for components right?
im fairly new to this so im probably wrong but this usually works for me
@devout grove sorry, I think what Daekesh ment was something like GetWorld(). My bad though, I confused it with the Widget... yea I do instantiate the health component in the constructor
Also set it to BlueprintReadWrite.. still getting sporadic errors.. it is really frustrating tbh xD
This is clearly a bug and I need a work around
i think i might be wrong about changing it to BlueprintReadWrite, should probably be left at BlueprintReadOnly altho i dont think that will fix the core issue here
How would I go about revealing certain players in the gamemode, i already have a material for highlighting the player through walls i just need a system
Yea
😦
@trim matrix i guess my last question is what blueprint are you working in? Is it for a UI widget or is it on the player blueprint itself?
can you check if its currently registering as a nullptr when you look at it?
im wondering if its just not getting initialized or was never set
Its a WidgetBlueprint. I think there is no solution for this. May be due to Live Coding? The problem exists since 2016
Unreal Engine Forums
Sorry for double posting, I’ve already posted my issue [here][1] but managed to reproduce it in a project from scratch and think it’s really a bug and not something from my code. Here’s what I did: Create a third person BP project Create a c++ class, let’s call it Room, with a FString property like this: UPROPERTY(Category = “Room propert...
Recompiling the Widget Blueprint solves it
Still.. really annoying
those issues are the worst
Indeed
Maybe there is a way to write a python script to recompile specific blueprints when compiling the project
But I am not annoyed enough to look into it right now
Hey, you here?
I got a very weird situation here
you meant it like that, right?
but if I do that, I get true way more often than 30% of the time.
Can you show us the random bool with weight function?
My goal is that if I click on the botton it has a 30% chance going to to false
What do you mean?
like that?
Ye
it should work in theory, right?
That probably works fine. You just need a large enough sample (number of times the function is called) to accurately determine if it is truly 30%
E.g you can't test only two times or even ten times and expect a good result.
30% of the time it needs to open ROOM_SUDAN_0_END1
Okay, how do make a bigger sample size?
(I'm a complete beginner, my apolozies)
How would I go about revealing certain players in the gamemode, i already have a material for highlighting the player through walls i just need a system
I am doing this with custom depth btw
You'd have to click the button a LOT of times and record which levels are open. But that is not necessary. The function is probably working properly
but like
i opened the lvl like 5 times and it was the wrong lvl 5/5 times
that seems to be very wrong
The "true" level opened? Or th false
Instead of opening the level (which takes time), just print if it is true or false
Again that is the nature of randomness. If you opened the level like 50 times, the false would probably open more than the true
30% of the time it needs to open ROOM_SUDAN_0_END1
but it opened this room 5/5 times
Hmm. You could implement your own random bool function if you don't trust the provided one

are you ".3" or ",3" ?
its not PRNG?
let me change that
I have a dodge mechanic in a game that if you're standing still, should dodge you forward. I have it working whenever the player is moving, but I can't seem to get this standing still working. Can anyone enlighten me as to why this doesn't take the player's rotation, make it an angle, and point the vector (5000,0,400) down the player's X world rotation?
(What happens is it dodges in the world X)
oh wait
no
it automatically uses a ,
when i put a dot in
I'm gonna have to skip this problem for now
gonna work on it later.
thanks people!
"bro" I dont know how to code.
run the code 100 times, then print how many times its false or true
opening a level 5 times and then complaining its not random enough doesnt make sense at all
I'll quickly ask something
Does anyone know why this code does not work when my character dies?
Setting the visibility of a WBP does not work anymore.
This is basically the code
And I use a selector to know which visibility setting to choose.
Nice Color scheme. Can I get the name?
One Dark Pro
Thanks
You're welcome
@worn verge code stops working when your player dies? if the pawn gets deleted then the controller no longer has an owner
i think
does the controller possess something new after the player dies?
Can i make something like an unconventional custom LOD in blueprints? Like a group LOD, not a LOD for one but more characters.
For example, if im at 0.01 zoom, I replace 1000 people by a cube with textures on each side.
How do i do this?
Have your zoom code trigger LOD changing Event Dispatchers
Then in whatever holds your 1000 people, bind something to the Event dispatcher
So in the zoom input you mean?
Everytime i zoom in i check if the actors Groups of Warriors are far
yes, where ever you change Spring arm Target Length, or move your camera
Ok, but wont checking it for all groups of soldiers be too expensive?
Is it possible to check only for those that are on camera
maybe this is just making it worse
Its just that there are blocks of armies that are very far away, and it wouldnt make a difference to convert them to boxes with textures
so they are still visible, but they are now just 1 thingie
this vs 50 impostor instanced static meshes per batallion
or maybe im just overthinking
are the groups each an actor ?
ok
But they get huge
is it a top down view, mousewheel zooms ?
wouldnt it be benefitial to convert the whole group into a cube at a far away distance?
Its an RTs yes
top down
yes mousehweel
ok
so i would start, every time the view changes, either zoom or panning, call an event dispatcher
in your Group actor, bind an event for that dispatcher
It does not. It did work in my previous project. I'm just simply remaking it.
It shall work
that event you just do distance from camera to self
thats brilliant
if it is over/under threshold only then do make a change
and this is better than having the little soldiers replaced by impostor sprites, right? Because this means 1 rectangle cube with textures vs 100 sprite impostors?
pls tell me
use a scene cap component, take a "pic" of the group, and display that material on the cube
so, if you have a non full Group, like half are dead, your far LOD can show that
thats even better
exactly
But , i would get Part A working before getting the render target working
A tutorial that shows how to show a scene capture component output on a user interface widget in Unreal Engine.
Its something like this
Yes first part A. With the zoom communication to the actors. Then this
this is amazing
i would only need to make the photo fit properly into the context
or take the photo from the right perspective
yah, from same angle as camera