#blueprint
1 messages Β· Page 349 of 1
and remove it when you hover out
so that it only appears when you hover
is that what you want ?
or you want it to spawn and be permanent ?
anyone got a lead on how i can fix this. It's referencing a widget that hasn't been changed in like 6 months. I'm not seeing the widget that" horizontal box4" is linked to in reference viewer.
Ah no no, Im just asking to make sure I understand where to add the node
i've tried all the tricks such as adding, deleting nodes. moving to different folders. i simply cant get this to go away.
Yes I just want it to show up when you hover over, and then disappear when the mouse moves away
then yes put the remove on the mouse end, do you understand when these events are firing
one is mouse enter, the other is mouse leave
once you get that working then you need to assign the name in the widget, to the name of the npc your ref
This may be dumb, but I'm just now diving into BP's for the first time, and I have zero programming background, so everything is brand new to me. I just sucessfully created a script that causes a little health object to shrink and "dissapear" upon "pickup"
I'm super stoked that I got it working and just wanted to share with people who probably know a hell of a lot more about this stuff than I do. π
lerp is a cool node, especially in materials
i would probably expose on spawn the name and pass it in on creation, makes things much easier
so basically, hover -> get name -> create widget -> set name
this would avoid the binding as well
or you can keep the binding incase you want to change his name on the fly ig
where you have a bunch of seperate ones you won't need the binding
set the name, by getting the text box as variable
and do set text
directly
it would be the most efficient
Does this BP look correct? (When I mouse over the NPC in-game, it does work correctly [except for the no-name thing].)
no not at all
i don't do that just in chat
but your whole thing is strange because you followed a tut and adjusted it
i would just do simply
begin cursor over -> create -> set text to name value
end cursor over -> remove from parent
but what is widget ?
youve over complicated this and its confusing start over
what is widget variable ?
waaait a second
where do you set it's value ?
your doing a bunch of stuff, you don't need a trace if your using cursor over
I know, I definitely want to get rid of it, but first I want to solve the name problem
(trust me I hate having extra code, lol)
well i can't help because your not making it work, its a mess lol
i can help you make this better is what i'm saying
i would scrap it
it's simple
or atlest a lot simpler then this
I want to make it simple as hell, dude, I was following a tutorial because it was the only one that came close to what I wanted
first thing is you have two event mouse cursor start, and end
but Im also a complete novice at this, so when youre telling me "begin cursor over -> create -> set text to name value" Im doing my best to keep up and quickly go look up which nodes you want me to add
ok that makes sense
you have a widget which is the name tag, can you show that ?
ok so where it says NPC Name Here
do you have a bingind i see
yes you do
this binding basically says set the text to the return value
thats in the BP_NPC blueprint, denoting that the NPC Nametag Ref is the WBP_NPCNametag
well yes i see the ref value is a promotoe to variable thing you did
would it help more if I just posted fullscreen screencaps, then?
it would help more if you watched a blueprint tut tbh
but i can try t help
but it's really difficult
Duly noted
so the text binding you mentioned
basically drag out from your ref that you created and showed me
and set name
and if you have the binding set
it will change when you change the name value
Could you explain this a bit more clearly, please
cause I understand the gist of what youre saying but where do you want me to put it lol
i can't tho
i don't know how to make it any more clear
Is there a resource that tells me how to craft low/med/high settings with commandline prompts?
I want to create my own presets, rather than use Unreal's default ones
Or better yet, actual examples
you also probably want to attach the widget to the character
i think you should watch a blueprints tut
woul def help
Im still pretty lost, though, so Im dragging a line out from the NPC Nametag Ref, and then connecting it to a "Set Name" node?
in the set, where it says name: write: test inside and see if it shows up
I did, it didnt show up.
hmmmm. Is it possible to set the overall scaleability of say, the textures in command line?
so basically the individual commands for textures = medium or shadows = low
right now I have the console commands up, and I seem to only be finding more granular stuff
Do you mean expose it? Or do you mean add a Set Widget node itself
i mean the widget variable itself literally widget variable
where do you set that ?
this ones fine
it was promoted to variable
most likely
Aah okay now I get what youre asking, took me a few moments
okay so heres the issue: when I add a "Set Visibility" node, that just comes tacked on with it
but I had asked you earlier if there was a difference between that kind of Set Vis. node and another kind, and you didnt answer me
because I cant connect the Nametag widget node to the Target input.
BeginPlay isn't available on gameinstance BP's. How do I run stuff from the very beginning of startup on GameInstance?
Init
ah thanks
well it should be visible when you create it
you just need to attach it to the character
honestly this can be simplified with not creating one and just usinga widget component
instead of trying to plug it in, just drag onto the graph...
and search visibility
Yeah, its on the character.
whats the class on that ?
is it the class that has the binding in it
Yes.
then you don't need to create and destroy anything
i see so this is your widget variable
I wasnt, though, you were the one who told me to do that
just set the visibility
it should show the name
if you have it set right
^.^
for now just set the visibility to visible on the widget
Which one? because if I click "Set Visibility" under "Rendering", the target is a Scene Component.
...
you don't need a trace, and you don't need a create
i only said remove, because you had a create
you already have a widget
okay now if it's set to "visible", and I test it in-game, then the npc's nametag box just stays on screen
ok, thats ok, is it the proper name ?
don't you see your already doint it ?
@pseudo moss if you type this into ChatGPT, it should give you a valid enough way of doing it. I did it on my end and it looked fine, but copying this much text is annoying.
"Unreal Engine 5 Blueprints
Step by step how to add Widget Nameplate to a BP_NPC via a widget component. The widget will have Text element that needs to be set to a name on begin play"
Then you just set hidden in game to true on false with your capsule hover events
Or I could copy my answer to make sure it is valid, but it will take some picture splicing lol
Yup, it is bad to use it for learning. But I didn't find a good tutorial for this on youtube, and your discussion here isn't working I think
it's a simple thing, i think they need some tuts on blueprints in general
so they can figure out whats going on
if you have a widget, its as easy as setting the visibility on and off
its like a 5 minute thing
Not everyone has the same level of UE comprehension
yes thats why i just keep trying lol
but the basics need to be known for help imo
otherwise might as well just do it for you
Alrighty, so just to make sure Im getting this correctly:
- remove the "Create Nametag Widget" after the "On Mouse Hover" node
- set the Widget itself in the Viewport to "Visible in game"
now what?
^.^
is it showing the proper name, or what does it show
and the widget type is the type of that kind ?
and the box is visible from the beginning of gameplay, and if I mouse over it, it still shows up. And when the mouse moves off of it, it disappears
did you set the default name to something ?
ok so set a default name in the widget
okie dok
ok
so what is the widget class ?
in the component
is it some container, or the actual title
because this is empty and it should say the default text
it should say npc name here or whatever
right above your character
Ok so it's working then
it's just in completely the wrong place, lol
wdym ?
So when I was following that tutorial video
the guy was dragging out Actor assets, and was naming them via the Details panel in the Editor Viewport
thats where that naming option should be
are you not understanding this is a process
you take it step by step
now you now the name variable is working
wdym in the wrong place ?
do you mean it's not the name that you set in the details panel ?
No, it's not, lol
right but i only know what i know from this side what you show me and what you do, this is how you fix things you take it one step at a time
it's the only way, you don't just magically fix things, it's not possible like that
but the idea with debugging is to take things one step at a time
So the option to name the NPCs should be in that Default panel right there on the BP_NPC, not in the WBP_NPCNametag widget.
ffs
Cause ideally I'd be able to drag many of these out and name them all without having to dig into the widget itself
(also because, you'll notice in that other screenshot, theyre BOTH named "Biff", which is also a problem)
yes i know that your not even understanding at all
are you reading what i write ?
i know the proble i'm trying to help you fix it
and honestly it's a 5 minute thing now it's been 1 1/2 hours
its a process step by step
now you know the name variable is working
so now you have another name variable this is on the npc
correct ?
Correct
ok so basically you want to set the name in the widget, to the name on the npc
because they are two different variables
you can do this on begin play of the npc
get the name variable from the npc
get the widget reference
drag out from the reference, and do a set name
and plug the name into name
which is fkd i would name them different even tho the scope is fine
because telling you to plug name into name is literally what you need to do
but it's confusing to say that lol
then when you run it
it will get it from the details panel
set the widget variable
and bingo, done
This is where Im tripping up. Either Ive misunderstood "Set Name", or Ive got the wrong node, because I cant plug in the Name to Name (it says directions not compatible)
unless you meant "Set Display Name"
so your saying you don't know how to set and get variables ?
literally set name
it will be a node
don't get the name from the widget
set it on the widget
"set name"

you dont need that function
you could use it, but this is the same thing
atleast you don't need it
when i say "set name" thats what i mean btw
I've actually come to like using AIs for learning, though I prefer Gemini; but I think it's only useful if you a) know at least a little what you're doing so you can roughly tell if it's on the right track and b) understand that in order to learn you have to understand the subject and be willing to invest the time if necessary
Hello! I've been working on making a
variables from a parent class I made arent appearing in child blueprints, ive ticked instance ediable and expose on spawn in the parent. is there anything in the child I need to check?
I think the problem is when people think that simply using an LLM is actually learning
there's an option under the "gear" menu that says something like "show inherited variables", make sure that's checked
ai has just been in my experience not bery good with things and often wrong'
so i just wouldn't suggest anyone learn from one
or try not to get your facts from it basically
I have a feeling this is also incorrect
hmm google said the same thing but i cant find it.
I do see the variable in the class defaults menu though, so maybe thats just how parent vriables work, and they dont show up in the same place as all the other variables from the blueprint?
definately
does this help?
yes, true, they can sometimes hallucinate things or mix things up, but generally I've found Gemini to be quite capable for ping-ponging ideas; sometimes you do have to correct it and occasionally it just doesn't understand that it's wrong or it goes in circles, but like I said, if you halfway understand what you're doing it's still quite good to give you a quick overview of things along with references on where to go for further reading
Oh that cog
I was looking at the big one at the top π€£ , thanks!
to publish your game on steam you have to say if you used ai for stuff on some platforms
and copyright is sketchy with ai stuff
so like for me i don't use it for code
so that my code is my own and copyright
I don't let AI write any code, it's purely a research tool
or, at least I use it as such
ya i use it for stuff and its nice
Kay Ive been trying out multiple combinations of what I think you mean. But if you could explain it a bit more clearly, it'd help.
so what your doing is exactly why i said it's confusing
I've tried using things like Cursor but they tend to slow me down
this is doing exactly nothing because you're setting the name and widget variables to themselves
what you need to do is get the actual widget that you've got associated with the widget component (drag off of the "Widget" node and search for "get widget")
Learn the Unreal Engine blueprint coding system in 2022 for complete beginners and newbies. We will go step by step to ensure that you know every nook and cranny of the blueprint nodes and how to use them. Like & Subscribe!!
Intro:
Tutorial:
β Support The Channel On Patreon: https://www.patreon.com/AstrumSensei
β Instagram: https://instagram...
And then what?
once you've got the real widget you need to cast to whatever class that was (the nametag thing)
then you set the name variable in the nametag widget
you shouldn't have to cast
i think it's already a nametag widget
it should be the Widget component on the same bp
the "get widget" node returns a "user widget" reference
there is no get widget node
where do you see that ?
it's just a variable called Widget
it is a get
but it's not the get widget node
that widget node is the widget component, right?
so it doesn't actually represent the widget that they created

I did this and it still doesn't work.
judging by this message at least
heh... first, get rid of that set name node, it doesn't do anything
you don't need get widget, or cast
Okie dok
then drag off of the "get widget" node and cast to your nametag widget class
wait, what? why not? they're trying to set the variable in a widget, so they need access to the widget
they are in the the same bp as the widget
^.^
literally "drag out from widget variable and search set Name"
do you not understand what "drag out" means ?
or what is not connecting here ?
watch some videos
stop just blindly plugging shut in
you'll never make things this way
or it will make things difficult
wow
I think you guys are talking past each other, looking at the earlier screenshots, the "widget" variable refers to the widget component, you can't just go set the name variable on that
I step away for 10 seconds and get insulted, thanks
i'm not trying to insult you
i apologize if you think so thats not what i'm trying to do
Id like to point out that I offered to screenshare and engage said no.
i'll just have to stop helping at this point atleast i tried but what i'm saying is your approach is not going to work or atleast usually fails pretty hard
understanding the fundamentals is the only way to make something thats not a copy of a tutorial imo
looks like earlier you said the widget that you created was stored in a variable called "NPC Nametag ref"
Where to, milord
scroll down to the bottom
but maybe someone else can help i'm just frustrated tbh
its nice you want to try and learn but i am not the one for the basics
sigh
ok so i'll let you know this and maybe someone can help you, the variable isn't the widget with that name variable or you don't have it as public
hey all, Im tring to make a stealth indicator to tell players where the enemy is when they are alerted, but so far my widget would sometimes invert
here is the logic
go back to that "get widget" node you had earlier, drag out from it and cast to the WBP_NPC_Nametag
as you can see the widget is inverted ( the second one on the bottom)
I mean right here, don't cast to "widget" but the "WBP_NPC_Nametag" class
then you should be able to set the name variable
depends on what that variable is set to if that'll work
but it's worth a shot for sure
not sure I understand from those earlier screenshots why there's a create widget node, the widget component should create one internally if you've set a widget class
If I do that, then I get this error in runtime:
that's because NPC Nametag Ref isn't initialized anywhere, hence it's "None"
forget about that one
use the "widget" -> "get widget" -> cast to WBP NPC Nametag chain that you had earlier

And then what?
heh... thought you'd ask, so I prepared this
to break it down: this gets the widget created by the widget component, casts it to the nametag widget and sets the name variable on the nametag widget
so now you've transferred the name of the NPC to the nametag widget
that doesn't do much good by itself because the name is now only in a variable stored in the widget, but not shown in the widget itself yet
widget should be the component that you drag in from the left side
the component that is Widget
and you shouldn't need to cast because it's already that class
you probably had another variable
you probably want something more like this, actually, which will directly set the value of the text field in your nametag widget
Hold on, though, how do you add new pins to nodes like that?
hm? I didn't add any pins, just dragging off existing pins
Thats... odd, then, cause I cant do that when I try to Set Name.

what's wrong?
widget variable should already be the type because it's a component
they should just drag from the left in the components
and use that variable
and just set name off that
that's exactly what I did there, but it's a widget component, you can't set name off of that
you want the name to go into the widget itself, not the widget component
there's no "set name" in that last screenshot anymore
@pseudo moss you still have that nametag widget, right? you've added a text component to it, named NPC_Name_Text or similar?
wait, what?
^.^
and it works
because it displays default
it's bound to the variable name
Yup
oh... heh... if there's a binding for the NPC_Name_Text component to the name variable of the widget, then the first variant that I posted should work just fine
and i'll say it again because i feel like it needs to be said.
you probably don't need to cast anything
you already picked the class on the component
maybe you do and i'm wrong but i'm pretty sure you don't
picking the class on the widget component doesn't change the class of the component itself
I dont have the ability to drag from the "Cast to" node and plug it into the "Set Name" node, though. No blue pin pops up. It just says "make a new node", or I can plug it into the pink "Name" node, but then that makes picrel.
the widget class you configure in the widget component will tell the widget component to create a widget of that class and display it in the component
that's not the same as in the screenshot I posted
what you're doing there is set the variable "Name" of the local actor, which is the NPC, but you've already set that name
you want to set the name of the nametag widget, so you need to drag out of the blue "As WBP NPC Nametag" pin and search for "set name", which then creates a new node with the blue "target" pin
omfg.
ya your right
you need to cast
that's a crucial difference because it means you'll be setting the "name" variable of the nametag widget
So this, this right here, is completely wrong, then
no its not
this part you need the get widget, and cast
so yes i forgot that part so sorry about that lol
yeah, just missing the one step, but otherwise pretty much what we ended up with
Thank you!!
awesome good job
ha!
@pseudo moss you do realize that if we ever meet in real life, you need to buy @engage and myself a beverage of our choice, right?
stevie and mike joined the party
doesn't that seem simple tho
now that its done lol
not even a lot of nodes
also must feel really good to see this working now...
copying is one thing, but understanding is another, i would still suggest you watch videos and learn the basics
i can't really stress that enough i usually do
but part of the confusion was my fault at that point i missed a step but i was already frustrated lol
helping can be hard tbh
sounds like Aspland's video didn't do a very good job to begin with
π
just kidding, I like the guy
Ohhh if that happens I'll make sure both of you wind up in detox
did you make these characters ?
reminds me a bit of the Project Titan character
i'm stuck with mixamo because i suck at that stuff lol
i'll learn it eventually i have made a couple attempts
heh... I'm not even pretending that I will learn character modelling or animation and go straight to existing assets
I tried learning, but I'm just no artist, probably never will be either
alternatively I try to find people with complementary skills
the Aspland video doesn't actually use a widget component, so a bit difficult to transfer to this use-case
i been using ai to make up for my lack of skills in the art department
don't forget to declare that when publishing on Steam π
i publish it on itch but ya i had to declare that lol
Guys how do I make multiple enemy indicators per enemy like mgsv
I've already got it working for one but not multiple
It only tracks one enemy as of now, and I'm tracking the enemy via the tick function
I also tried passing the enemy as a actor to a widget and the location is always 0,0,0
hm... what's mgsv?
can you be more specific about what you're trying to achieve? maybe a screenshot of what the one indicator looks like?
Yeah, theyre placeholders for now
but they have some animations
which indicators are you trying to add more of? the white/red round things on the enemies?
@brazen stirrup how are those currently implemented? widget components?
Hey so i have a small little issue that when my level streaming volume starts loading something the game stutters really badly and then goes back to normal.
Is there a way i can make it load for longer/somehow add a delay between asset loads so it smooths out the process?
I'm in C++, but yeah I'm using the direct Object / UObject class.
Awesome, thanks! I did a bunch of searching and found some youtube stuff utilizing the blueprint object. Looks like what I am wanting.
this is the tick function Im using
the enemy is being passed onto a funciton in the widget and reserved as a variable
but when I read the enemy the loc is always 0,0,0
the tick is in a widget bp btw
For some reason, this multi box trace by channel isn't working properly but if I put the same code outside of this function it works.
What I expect: Drawing a box trace that can damage all detected enemies.
Actual result: Even in situations where the hitbox is very big and enemies are close, only one is going to be detected.
In the blueprints hits it's length is only of 1.
Edit: Found the solution. The Trace Response "Enemy" in the Enemy Blueprint was set to "Block" when it should be Overlap.
For some reason the hitbox works if I set the enemy response to overlap instead of block but the trace doesn't seem to actually be hitting. My main concern about this is that the when I switched to overlap, my softlock component stopped detecting enemies. Wtffff
Not sure why get actor location would always return 0,0,0, but feeding the Z location into the rotator doesn't seem right.
"Actual result: Even in situations where the hitbox is very big and enemies are close, only one is going to be detected."
Be aware that multi trace STOPS at first blocking hit.
Damn, I started changing some collision things and I'm confused with one thing.
If on building or other 'static' things I set collision on capsule to NoCollision, they don't fall down, but in case of Units if I do it, then they will fall down through Landscape. Do I have a bug or is it that Characters with CMC or something need to have collision on capsule to move and not fall down?
CMC is tied to the capsule collision
this is why CMC out of the box is not used to custom shapes.
if you are making a tank for example, well good luck.
So this is it?
they fall down because of no collision on capsule?
even though they currently have static mesh that should block Landscape and not fall down, but in this case it must be somehow overriden?
while building without cmc don't fall down through landscape
if the capsule has no collision then yeah it will fall down.
i at least have to make capsule Query Collision so they don't fall
ok, but is it normal that building (without cmc) is not falling down? even though he has no collision on capsule
or I have a bug?
Not sure without seeing anything.
but CMC is mostly for humanoid character, adding extra collisions to make it behave otherwise doesn't really work from my experience.
Building usually not gravity just set in place
it's driving me a bit insane, I hope it's CMC that makes it behave this way
if I make exact same settings on building / unit then unit will fall down and building not
and landscape doesn't even block Building object types or anything, it just doesn't fall
so it just must be that CMC needs capsule collision to need to have collision for calculations etc. right?
Why does your building have CMC?
it doesn't have
that is only difference between building / unit
and unit falls down and building not if they have the same settings
setting even just Query Only on capsule fixes this problem on Unit
but I'm wondering if this is it the case or not
So units are falling down but building don't?
if that's the case, check the unit collision channel and how it response to landscape and vice versa
yes
and the landscape doesnt even block Building object type
but in case of Landscape I have to block Unit object type and on capsule of Unit set Query Only at least and to block Landscape
Well I just hope this is it and not some crazy hidden bug
yeah okay it must be it https://forums.unrealengine.com/t/i-just-need-my-mesh-to-be-the-collision-not-the-capsule-component/145250/13
just checking in again to see if I can find anyone with some insight on how to fix this problem. A year into my project and this is the first time i have had the engine nag me on open.
When I click on HorizontalBoxSlot4 it brings me to a widget that does not point to the trigger thats failing in reference viewer. I've tried cleaning up redirectors, deleting temp folders, moving the files to different folders to see if UE would clean things up, validating assets and even editing them and recompiling. I cant seem to make it go away.
so this horizontal box exists ?
the box exists, but there is no reason there should be a reference to the trigger in this widget. like at all. this widget is easily 8 months old and has not been changed in a very long time. Its reporting a slot being the issue but i have gone through great lengths to see if the slot is actually the problem and i genuinely dont think it is.
what is wanderingtradertrigger ?
i'm guessing you have a horizontal box, and your adding children ?
are you doing this dynamically ? or just static ?
so the box isnt related ot the trigger. when i clikc the box in the engine report it directs me to a much older widget that was created long before this trigger exists. the trigger is for an NPC that was recently added. there is nothing connecting this trigger to the widget that UE is reporting in reference viewer and this makes sense as they should not be connected in any wya
so your saying it's a bug ?
it's unlikely, but is it 5.6 ?
"for an NPC that was recently added"
and it has nothing to do with the horizontal box ?
are you using custom widget as children ?
i mean i'm inclined to believe its me, because thats the more logical explanation. but i keep messing with it and i cant seem to find the problem. i've gone as far as to empty every child out of the horizontal box one by one, saving and closing hte engine and reopen to see what the error says and its all over the place.
i'm on 5.4
5.44
if theres no children is it fine ?
if i remove them one by one it will change the slot that reported. once it was totally empty it moved the error to the canvas panel. but then if i add any child back, no matter what child it is, it goes back to a horizontal slot
and the slot number changes
and again there is no reason they should be connected at all. i just made this npc. there is nothign in the npc code that directs to this widget
sure
it doesn't matter if they should or shouldn't
code can be fkd up like that
and assumptions are wrong very often
yea, i get that i could easily just be missing something. what i more so meant is that when i created this npc trigger i am positive i didnt put this widget in any of the code or variables
and you restarted the engine ?
^
the same widget
any code in the graph ?
yea
and nothing ref this wandering stuff ?
no
show where you create the widget
its not even possible
this was created LOONG before the npc triggerexisted
and has not been changed in a very very very long time
ok so if you get rid of the npc trigger
and the code is quite simple
it doesn't show up ?
so i was considering this as much as i would hate it
but i feel like its potentially not safe?
like if the reference doesnt exist
well idk what the problem is but if it works without the npc trigger
then it's the trigger
idk i'm scared of just nuking it lol
and would need to see the code
which code?
ya thats a bad idea if you have references
save a backup, nuke it, see what happens lol
the code in the trigger
since you didn't change anything but that
thats definately the problem
oh yea thats super simple
but i think its actyually more likely that its somewhere else and UE is reporting wrong. i actually didnt get this error until after all the code had been written.
as in i had opened the project after all that code was written and was not getting this error
i mean it's highly likely ue is correct
but you can just go with the fact that its a bug, idgaf
i'm inclined to believe its on my end
but i would need to see more
ya round n round
take out the code for the npc
see if it errors
i'm just stating that since i wasnt getting the error after the code was written it makes me think the problem is somewhere else
it's obviously this trigger you added
when you add code, and it errors
and you didn't change anything else
the problem is the code
or the bps or whatever
99.9% of the time
so i added a dynamic spawn system
but that code isnt in the trigger
but the error started showing after that
again that code is not in that trigger though
i see you have a notify box
are you using it ?
as in with this new system, are you using a widget ?
the notify box in the widget is not related. thats some old garbage from when i first started out
are you talking about the dynamic spawn?
i wasnt sure what exactly you were referencing
this is a problem when you add code
now you don't know which is the problem so you need to figure it out
something you added is using a widget ?
the trigger is referencing a widget, just not that widget
as in take out the widget in the trigger that thee error message is not referencing?
as in anything that your trigger is using a widget
okay gocha
just comment it out for now, unplug it
will this error likely prevent packaging?
lets just figure out how to solve this, idk how it will effect things but warnings/errors are not usually a good sign
if you want to leave it i would suggest not to do that
always fix the issues
yea i mean i want it gone for sure. i've got a pretty long standing recdord on this project of having now launch errors. i was just wondering if i can keep working while i try to solve it
and i unhooked all the widgets but i'm still getting the error
do you have a widget component on your npc ?
no
the npc literally only has 2 variables
its extremely simple
its just a trigger for bringing up an unrelated widget
about 14 months
does the error come up when you open the project ? right when you run it ? or when you press E ?
yea its not like a problem in run time
its just the engine nagging me
like when i open it
it never pops up again
thats why i was asking about packaging
like i mentioned
when you change things, and there is an error
its usually what you changed
thats why, you should change things slowly
not many at a time
yea again i didnt
this was after i added the dynamic spawning
hopefully it is the trigger though because the widget would be horrible
its literally all through my project
start with the trigger
just save your project
back it up, then start removing things untill the error goes away
then you can go back to your saved project, and fix it
sounds good. thanks for taking the time to take a peek at it. i know it can be frustrating helping with a project you are unfamiliar with
i have a backup
but i did a lot of work
i would like to not lose it
^
i mean i'll say it again if i have to
yea
sometimes this is just the only way lol
np, i like to help if i can
wish i knew more about it to fix it
but honestly editor problems i'm not familiar with
mostly runtime i know a lot better how to fix
yea same. if it was run time i would likely be able to fix the issue.
Hi, Why is TryGetPawnOwner invalid? When I set a breakpoint and checked, it appears invalid
ABP correctly selected:
Because you are looking at the Blueprint, not at an instance of this actor
it's same in runtime
When you set the breakpoint on the node after IsValid, does execution reach it?
I don't know the details but I know there are sometimes ordering problems - something is initiated before other thing. It is possible it is invalid for some time before the owner is ready
Also I think you shouldn't check outputs on nodes after the breakpoint
Because they well, didn't happen yet
hi i have been working on smooth actor transition from locA to locB but i missing one thing is attach to place where its need to be if player didnt move (so locB) is the same everything works but if locB is moved then will created locC cause of locB != locC and i want to attach to locC i use Move Component to it has some form of attach that position but i cant do this with more objects in the same time. do you some1 know how to do it?
I can't make appear the Blend Poses By Enum for an Enum type that exists in the content browser, the editor doesn't seem to detect it, anyone knows how I can fix this ?
works for me.
have you try just making new one?
Nope doesn't work for any of my enums
Weird
I can't think much but, are you running two instances of the editor?
Nope, I tought restarting everything (tested editor then the computer) would fix it but no :/
Aaaaaah shit my bad... it's the word "by" that was filtering it out of the results...
Anyone?
What do you mean by it's always 0,0,0? You're only testing Z here as far as I can tell?
If I add a UI widget to a canvas, how do I update it's position in the canvas?
I have a main container UI that consists of a Canvas with a background image child, and then I'm adding a custom UI widget as children to that canvas.
Struggling to find the BP function that I can use to update the X and Y position of the widget added
Possibly , I mean when I get the actors location and print it it's always at 0,0,0
I'm printing the whole location not in the current picture
Search for the enum you want "blend poses yourenum" not "blend poses by enum"
New issue, need best step for auto fire. I have a IA_Fire which has Pressed & Released options. It is a Twin Stick top down, and I have the Camera and Fire weapon in BP_Character. This holds a cached location for the camera and mouse, which in turn helps the weapon point in the same direction with the added input on the FireWeapon custom event on the BP_WeaponBase. At the moment, I am unable to add the FireWeapon to the Create Event Node drop down, is there another way to add automatic fire, if mouse pressed and stop when released?
You can't bind the timer to this event because it has an input in it and the timer expects an event with no inputs. So you would need to redesign where and how you get the End for the trace to use the timer method
Yea, I thought that might be the issue and steps as I can remove the input and it works but then the weapon just doesn't work. I will try and rework the cached location input.
If the location is calculated in this blueprint, you could make it a variable instead of passing it through the event
No it's in the character BP, this is the WeaponBase. I planned to build off the BP
for more weapons and characters
Childs*
I would put the IA_Fire into Weapon but then I have the issue of calling the cached location of the mouse from the camera to the weapon
Then you could make a function on the Player "GetTargetLocation" and call it whenever you need it - either through a direct reference to the player or through an interface
You can also sort of avoid using a timer and use Delays + a Gate... but Timers are better and more reliable
Oh, so I should try and make a new function. Call the cached location from the charactor to that. Which then should allow me to remove that input and replace the location end on the Line trace
Yes, but you need a reference to the Player holding the weapon, not sure if you have it already, how the weapon relates to the player and if it is a multiplayer scenario.
At the moment, it's just a muzzle on the arrow in the mesh, just to get the BP working.
Before I start all this and try and get the function to work, is there a way to have a back up of the current build and revert back to it if I was to make to many changes and forget what I did or break it completely and just reopen the back up
version control system
it's mandatory for any dev.
Sure but VCS is not only used in Unreal.
I'm not super good with blueprints. I've been trying to say FString text = success ? "Level cleared" : "game over";
I have a branch, how do I create a string from a branch?
It is not going to be the best solution because I would need more info about goals etc of the project.
But with what you showed:
- Make a variable of the type of your character inside the Weapon. I'll call it CharacterRef
- After Set CurrentWeapon, drag from the CurrentWeapon and type in "Set CharacterRef" and set it to Self (so the character that spawned it)
- Now make the function to return the TargetLocation
- On the weapon call this function through your CharacterRef , connect it to End of the trace.
- Clean up the unnecessary input
But like I said, it is a modification to what you have, not the best solution
a branch is a gate that evaluate a boolean data.
If the bool is true, it fires the true pin, on false, it fires the false pin.
What you are asking doesn't make sense.
I don't recommend using hard coded string but regardless, you can add extra input param to your OnLevelCleared delegate. So pass in a string, the same way you pass the boolean.
Thank you, I will try and see the results
You can also just copy the entire project, but yes, SourceControl is always necessary. And if someone thinks it is not, he didn't break anything... yet
So I cant say this statement? FString text = success ? "Level cleared" : "game over";
I have before and just deleted, which is not a issue atm as I am learning but if it was a larger project I would be upset and mad
that's called ternary operator
basically Set Text to Level cleared on true and Set text to false on game over (in blueprint)
I know that. i want to create a string reference based on the state of succes
make the text variable.
Anyone ??
Have you tried ChatGPT? Normally I use that along side screenshot and tell it what I want. Ask it to explain the nodes and steps. Normally works, but not always. If you need a quick answer
I did ask it again and it gave me a better answer so I'll do that
Normally I find "Please do a step by step for someone new to UE5"
That normally works, only sometimes. i get to the point where I am completely lost lol
Hi all does anyone know why a rep notify to assign a client weapon and replicated weapon puts the weapon in random wrong order sockets or placement for host and clients each having backwards or wrong 1p and 3p attachment results? Thanks!π
the closest to that in Blueprint would be a select node with a bool input
You should find out what's going on with your enemy variable. Chances are that if get actor location returns 0,0,0 then the actor really is at that location. Could be that the variable isn't pointing to the enemy that you think it's pointing at, or maybe you're not moving the enemy actor but rather just one of the components or something like that
Yeah I'll check that
Maybe print out the name of the enemy and check that it's really the one that you want
Also, how do you get a reference to it? I.e. how do you set the enemy variable?
#multiplayer will be probably better place
I have some issues that when i try to package a game it seems im loosing references. at first there was a struct that had an issue and after reloading everything i had issues on one widget blueprint that references another. the only way to fix it was to rewrite and place all nodes again even tho everything was correct, AI said it was because the GUID had changed.
Im still learning but can i get a hint of what i need to learn or read to figure out how to keep the references when building?
If i understand it correctly I loose the reference to the BP_UI and the Trait Point variable. all works in editor ofc.
got it sorted out! now the rotations need work still lol
I found that multi trace for object doesn't have that problem. Do you know why?
hey, im trying to make a system in my game where if my player runs, they have a footstep noise that gradually gets louder the longer they are running, then to decrease again when they stop running or hold still, then the loop restarts (w plans to later hook into ai pawn sensing) but for rn im having issues getting the noise level to increase properly, i think its prolly w how my input action is setup? im not sure its setup as a bool but on my players tick theres a function to increase and decrease the noise level depending on if running is true or not, but when i put a print string it flickers between two numbers instead of increasing, im sure im prolly also not going about it the best way but i thought id ask bc im stuck lmao π
have you tried using a timeline?
something like holding to run starts it, then releasing run button resets it
not yet but i thought that it may get clunky w a timeline like wouldnt it keep restarting itself instead of continuing from the last noise level, like the only other way i can think of explaining is like a stamina system but not, like i want it to go back down to a low volume (stamina system would have stamina climb back to max) like longer run is held, louder the volume of the footsteps get once they are a certisn volume the meter is full and the ai can hear the player, if the player lets go of the run input the meter empties and they can run more, if they hold still it does the same, but if they keep running its clamped at the max value/volume
I made a TargetDummy to test if damage is working. I then had a Health variable set to 100 in that BP. Have I wired it up correctly? Currently the damage should be 20 - Therefore, 5 shots should kill the target. Health = Damage - Set Health. If 0.0 then destory. Currently, the damage is registering because I have a Print string, that picks up the hit from IsValid True apply damage.
Something of a "Best Practice" question here, but what would be a recommended way to make a Blueprint superclass enforce implementation of some of its functions in inheritors? An equivalent of an Abstract class, essentially.
you choose if the timeline restarts or if it reverses from it last position etc
idk if that is what you ment
If the best answer is to use C++ and make a real abstract class, that is also an option, but if this can be achieved in Blueprints, I'd like to do so. I've found a couple of potential ways to achieve that effect, mostly by manually raising errors, but I want to make sure I go about it in a well-structured way.
i mean like, if the player lets go of run and its decreasing already, they then press run again, will it continue from the level its at or will it start from the beginning?
you can choose
play continue where its at, play from start restarts it, reverse makes it go back down in the same pace as it went up, and revers from end will make it go to the end and restart. I think you want play and reverse
hmm ok
the variables on it you make yourself
lemme try timeline instead
so have 1 variable like a float go from 1 to 100, then when you start to run you "play" and when you stop to run you "reverse"
so the float just as a varibale not as a float track
doubleclick the timeline to create a time, the length of the timeline is how long it takes to be max noisy, and then place one dot at the start of the timeline at time:0 and one at max time. the first dot should be 0, then the next dot should be whatever the highest number should be
the float you make will change depending on the line you make in the timeline
so then have the timeline off the input action for running?
like this, this timeline last for 1 second and 0 is the lowest float and 1 is the highest, when its halfway it will be 0,5
yes, start to run on the play and stop running on reverse
you can choose if you want a straight line or if it should increase faster or slower as it goes
if the event node works as intended then i think this should work
run a print string on update and see what the variable is as it changes
or use an event tick
hello i am trying to add my Bpc_Inventory component to my Third person character but when trying to search it doesnt show
just as is or do i add the logic from inside the function i sent
i think so ye
if i understood what you ment
which one π
when you run and stop running, do you successfully set the "Running?" bool correctly?
yea
im not sure, but you might need to add another component and then in that component choose your inventory one
to test if the timeline works, drag of the "update" pin and do a print string. then drag of the noise value into the string, then during play you can see if it changes as you want to
you can also hook the value up to a "Bar" in the viewport to see the noise go up and down
its printing now so it stopping at 1 is bc the timeline length is 1? so i need to increase the length of the timeline so it takes longer to reach max noise?
nvm i just now realised my stupidity i made a actor not an actor component
the length of the timeline is the time it takes to reach max, then the number placed at the end of it is the highest it can be. if you use 0-1 its good if you want to feed it into a visual bar to show noice as the bar will translate 0-1 as percentage
it happens
but if the timeline is 1 the increase stops at 1, so making the timeline longer will make the count go higher? or what am i doing bc i do want it to take longer than 1 second of running before its max volume
i think because its not an actor component but an actor
you manually set the lowest and highest, double click on it, choose the last dot and set it to the max number that you want, f.eks. 100, then the timeline itself is the time it takes to go from 0-100
having it go from 0-1 can be good for adding to a bar later as you get f.eks. 0,56 etc instead of 56. but if you use max 100 then you can devide it to add into a bar later
i recomend watching tutorials for stamina bars, and then instead of using stamina you change it into noice
i setup a bar, i have it going from 0-5 w a length of 10
i was but i got confused π
then 0 is lowest, 5 is highest and you have to run for 10 seconds for it to reach 5
yea it can be very confusing
yea only now the bar ui fills faster than the count being printed off the print string
should i move it into the player bp instead of binding it in the ui, that way it will go off the update of the timeline n match the speed?
also attempting to make sure the noise level only increases if the player is moving, but i feel like im not doing it quite right?
is there a "is moving" on the character you can use and set that to a bool, then use that bool on your branch?
the update will update on tick i believe so it happens very often, use it to set the noise only
you don't want to play that on triggered, i'm pretty sure of that
judging by the icon on that Bpc_Inventory it's not actually a component but an actor
heh, sorry I had missed your message where you said you had already fixed it π
what do i do instead?
well tbh you can use triggered i think but run a do once and reset on finished
so that it plays only when it's not playing
and also reset on completed
you could probably just do it on started and stop the timeline on cancelled/completed
right but you want to repeat it
or actually reverse on cancelled/completed
also a do once on reverse
then reset it
just so these things are not going off on every tick
imageine play,play,play,play
i'd be surprised if it works
I think for timelines the play will be a no-op when it's already playing
it's the "play from beginning" that you want to avoid
avoid doing on tick, that is
idk, sounds legit
but yeah, irrespective you don't need or want to muck with the timeline state on tick
i would just do a do once
the started event only happens once when you start pressing the control mapped to the action
completed/canceled is executed once when you stop pressing (or it gets interrupted somehow)
so you shouldn't need a do once, it's basically a built-in do-once
and if you put it in reverse and holding it down is it not going to to play again
and not reverse ?
you put the timeline in reverse on completed/canceled, so when you release the control the timeline will play back in reverse from where it was
if you then press the key again, started is executed and if you hook that up to play it'll start playing from where it left off
in either case it'll play until the end (or beginning in reverse) and stop
unless you've configured the timeline to loop
it's really quite convenient for this sort of seamless transitions
like if you have a door you want to animate to open when you enter a trigger box or similar, you can hook up a timeline's play to the trigger box begin overlap to have the door open and when you leave the trigger, wire up the end overlap to the reverse and it'll start closing seamlessly
because the timeline keeps the state internally
tremendously useful, can also be configured to be replicated for multiplayer
im lost π
something like this?
so what exactly are you intending to happen, it looks the play and reverse you had setup was that working correct ?
before you added the branch ?
yea before adding the branch it was working but now need to add a check to make sure players moving before it updates it bc rn just pressing the input and holding still increases the noise level variable
hmm... it's a "run" action, how can you press it and hold still?
going off what you have and just kind of winging it
i press the input and hold it down
and also
so off of complete
do a sequence
and reset it
π€
so that if your increasing and it drops below 5.0, it reverses
and it doesn't hit play again which i think would fk it up
it's just a guess anyway worth a shot
here?
try to see what happens when you hold and stop movement
yes there, but idk if reversing the reverse will make it play forward
i don't think so atleast
it dosnt do anything but then if i hit w to move it is jumpy lemme get a clip
I'm making a low poly game, I need an effect where liquid is pouring out of a bottle... Does anyone know a good example? This is a simple Niagara effect, without physics simulation
if the velocity is less or equal to 5 but the noise level is already above 0, it sets it to 0
atleast thats what it looks like its doing
hmm so you want when your holding down the triggered it fills all the way and then stops ?
or just keeps refilling ?
if the holding down is stopped at all, the number should decrease, then when pressed again start filling back up from whtever number its at
only increasing when held down and moving or "running"
i would just inc a variable no need for timeline
just inc a variable on trigger
slap a boolean on it
call it a day lol
should only stay a ceritan value if its completely full or completely emptyt
i was trying that but when i did it it stayed at 2 numbers and kept flickering
honestly i'd do it on tick
or just use triggered but use delta time
whats the problem with this ?
it didnt work
probably because your just doing on running false subtract, running true increase
so if your holding down the key and running it will increase
but holding down the key and not running decrease
hmm
this is doing the delta time multiplication at the wrong point
you need to multiply the rate by delta time before you add it to the noise level
right you want to multiply the amount by delta
this?
if you multiple the result of the addition by delta time, you'll always get a fairly small number and store it in noise level
yes this
do the same for the subtraction? flip the order
yeah
that fixed the weird flickering of the numbers now the only issue aside from the ui ill get to that, is the increasing happens even if player isnt running
show what you have now
15
do started not triggered
also hook up canceled to the same node as completed
is it working ?
yea just it dosnt matter if the player is moving or not just perssing it increases n letting go decreases so functionally is partially working
you don't have the velocity check in there
off tick or input
you can probably replace the check for "running?" by the velocity check
i would use an and or or boolean
and then you don't really need to set the "Running?" variable in the input event either because you're not really interested in whether you're running, only that the velocity is beyond a certain threshold
just a branch before running
your velocity check if <= 5 true -> subtract
false -> running check
or you can use use and boolean, and say if > 5 && running
so that if <= 5 it goes to false
i would put it on tick
the velocity check or both
the velocity check
and the branch
put it before the running check
and go true the next branch
yes i think that would work
ok thats working, now im not sure what id need to do for setting the audio n footsteps to sync up their volume to the noise level variable
Anyone have any idea how come my door stutters 45 deg when overlapped?
Kind of hard to spot, but it "transforms" instantly 45 deg as soon as I collide with it
whats the timeline look like ?
when it reverses does it go back to original or back to where you bumped it ?
It moves as intended back in place
hmm
after it closes, does it open and close fine after that ?
just when you first bump it the issue ?
or it keeps doing it ?
it's the same and it is not a problem but as designed. The documentation says that multi trace will stops at first blocking hit.
I think I expressed myself wrong.
The node on the left seems to stop working once they detect one actor. The node on the right detects everything. There's a reason why there are multiple outhits.
Therefore, if you say the multi trace will stop at first blocking hit, then what's the difference between a single Box trace by channel vs a Multibox trace by channel?
@lime yoke https://dev.epicgames.com/documentation/en-us/unreal-engine/traces-in-unreal-engine---overview
seems like multi box trace for objects return everything that matches an object type.
The first block hit only apply to multi trace by channel.
Returning Single or Multiple Hits
When tracing, you can choose to return the first thing that matches the criteria hit by the trace, or you can return everything hit by the trace that matches the criteria.
Special consideration is given to Multi Trace by Channel versus Multi Trace For Objects. When using Muli Trace by Channel the trace will return all Overlaps up to and including the first Block. Imagine shooting a bullet through some tall grass that then impacts a wall.
Multi Trace For Objects will return everything that matches an object type the trace is looking for, assuming the component is set to return trace queries. This makes it great for counting the number of objects between the start and end of the trace.
Hello, it's not possible to have that node outside the Ability System?
There is a similar PlayMontage function in standard Blueprints
Weren't there two of them? Or am I thinking about playing an animation, not a montage
You want the first one for more control
But yeah, inputs are not the same
yes i want the one with also anim root motion translation scale
to be able to adapt like that outside the PlayMontageAndWait node
is there a way to update that ?
use the ability instead, you can use it inside the character and just use it for that simple montage
Pulling my hair out with this, why can't I do full auto?
Tried start too, same result one shot
you clear it on completed
it clears after 1st shot
unless you're using advance action input with hold value
I was trying to have it clear on mouse release
it will clear it
I tried changing the Enhanced input to press and release. That didn't work too
in the IA_Whateveryounamed it, chose trigger hold
This?
yeah
now the input event will show different options including during hold
or ongoing smt like that
The problem with hold, it no had a time delay after pressed and then shoots but it's fully auto and the FireRate value is not taking effect
Did a test, if I break that connection then holding the mouse will still auto. Therefore, IA_Fire is not working at all
The BP_Character had the fire control by the looks of it.
Is that all in a character? I am trying to build a weaponbase to child off for other weapons but in my character I have a IA_Fire function calling the BP_WeaponBase with the line trace.
it can be anywhere. but yes, i've done in on the character
I must be conflicting some where with some of it in character and weaponbase
i would check the fire rate
Doesn't matter what I change it too it doesn't change
if you print string just after the Fire event begins do you see it print only once?
Even breaking this, using Hold in the IA still fully autos. Therefore, something is over writing this and allowing it to shoot
yeah then something is up with the firing event
Which is going to be this
can you go on call or video?
I can but but not today with kids making noise in the back ground. I am going to have to rework the BP_Character calling of the shoot
Reading up "Actors (like your Weapon BP) donβt receive input mapping context" Therefore, I need move the autofire to the character bp for the enhanced input.
you mean use the one from the GAS?
yeah. use the montage node inside the ability and just call the ability on the character
is there a way to properly call console commands within blueprints that are separated by a space? for example "showdebug abilitysystem" calls 2 commands, "showdebug" & "showdebug abilitysystem". I only want to call the "showdebug abilitysystem"
Hello, I have successfully made a hotbar style inventory where i can pick up and drop items. I am now wondering how exactly to make the items I pick up usable in the hotbar the most easiest way, lets say with left click.
@tawny hedge worked it out! Not sure if it's tidy but it works!
Now I have single fire, or hold and auto
Character runs the fire/auto - weapon bp handles the rest
Glad to hear! π Congrats
Im confused are u responding to me ?
That wouldnt work 1. I am not clicking a button it is a hotbar where i scroll to change slots 2. The items are consrently changing
I have dropping the items set up
Its just using im not sure how to go about
Good point
But the actuall functionlly of using the item where would i code that i thought that would go in the item actor itself not the inventory
Ok thank you hopefully this will give me the base information to do it
Anyone know why I can't hit the TargetDummy?
I tried coming off that but couldn't workout what I put to it
I think I asked this during a long discussion yesterday, but if anyone has the time, I would appreciate the guidance.
Oh you can just do that?
Awesome.
If that is the case, what is the usage of Interfaces?
I seem to have misunderstood them.
Still can't get this damage to work
What if I want to force implementation?
check collision settings
That was all good, it was just that link from the damage actor. Now I just need to debug the damage to destory actor
Just need to make the target accept the damage and store the new value until 0
Hi,
i dont even know what to call it,
but i need the math for this type of rotation
-rotating the y gizmo in world space does this random numbers in the right , like a cross section between all the three axis
i'll explain more if needed.
any advice or guidance will help
