#blueprint
402296 messages · Page 738 of 403
I tryed. But didn't help.
Hello everyone. When I do line trace on skeletal mesh I need to get bone location with its length and rotation. I can get the bone transfor no problem, but I cannot determine the right rotation in the direction of the bone and its length in world coordinates. Do you have any tips how can I get this at runtime?
lol why does getcomponentsbyclass starts putting components from last to first, not first to last?
How to resolve the issue with this: on init new player this event is being called, but if two players join fast i end up with two second player pawns
(without changing to Load Asset Blocking or -> node)
God my brain hurts
I can't seem to figure out how expose variables to the to blackboard now
it won't let me change the variable from the SET fucntion
I have tried like 20 ways and all them flag up erros
errors, Spend last hour reading up about it,
I just don't get why this is so hard to expose a variable to the blackboard....
Image
all i want to do, is set "Fish Size Local" and send that to "Fish Size" which is blackboard key
the blackboard key selector is a reference
you need to use the node "set blackboard key as foobar"
where foobar is the datatype
you pass the key selector to it, so that it writes the data to the correct blackboard variable
ah 😄
wait, let me start unreal real quick
thank you
you can also look at the example tasks tho 😛
yea those are the nodes that i meant
there are nodes for a bunch of data types
actually, read the link from takain until you think you understand it 😛
and/or try to replicate the examples
thank you but i don't understand the examples
and take a break if you're exhausted from the whole topic
getting on it on another day with clear mind can help a lot
it does not make sense, and I can't even find half the nodes it says to use in examples
they don't come up
What is the player Key in that example?
Because that is problem i am having, I don't know where they got it
yeah
my issue is i can't get the "Set blackboard value as object"
There is no such node when i search for it
That closest thing i can find
whats your unreal version
when I got to search even with context senstive unticked, there is no Set blackboard value as object
4.26.2
those are basically the same nodes, there are nodes to set from key and from value
the difference is that one you have to type the name on the key input
set lit name?
its shown on the page i linked too
but you probably want to set value as INT
as your variable is an int
this would be the setup
the blackboard key selector has the advantage that you can bind the variable in the behavior tree
instead of hardcoding it's name
I don't get the behavior tree drop down
Ai>compenents>blackboard
is the only menu i get
is this a version thing?
maybe
only thing i can think of
Depends on what you're doing
you need a reference to the blackboard atleast
inside the enemy bp
i think this would work
Well this blueprint is meant to do the calulation, that i pass the results to BB, so I can use those in BT
The task can fetch the value from the actor
and if you need it to, it could also trigger the function for calculating
in the task?
I can't see to get the same choices
Any of the task
this what confusing me, I am getting utterly different stuff in drop down menu
right figured it out
I was on the wrong time blueprint
for all of this to work it needs to be an AI contoller blueprint or you don't get half the options
Hello guys, I have little problem with my project, I am working on the inventory system, I have this: when I get item, it is in the bag, okay, I want to make when I have 2 items in the inventory and I want to exchange the one item with the other item without moving the one slot and make it clear and then put the other. I want to do it when I select item, then press a key and it switch their positions.
I have this blueprint: https://blueprintue.com/blueprint/49yb3j_z/
Firstly it doesn't work with all the weapons the exchaging, second, it doesn't update the thumnail of the weapon after exchange
Well i am done for the day, 8 hours of reading and messing about and still not even got it working. "They said blueprints was easy to learn......." hahahaha ah well i will just keep going eventually it will make sense, thank you for all your help
What's the best way to deal with wide characters? Is the engine just not setup for it in any way?
#ue5-general message
tested it in ue4, works fine, not sure what changed in UE5 and how to do it now
Ue5 is not ready yet. I'd wait until it is for proper dev time
you'd ideally make a new movement component that can sweep a custom collision shape - knowing that it'll be less performant than a capsule - but you can't do it in BP and also doing so will strip away many of the features of character movement component.
So, instead you're likely to end up with a pawn that does a lot of logic on tick. You can have passable results like this, but the more you want to do with movement (or if you'd ever like multiplayer) the less ideal it is
😦
Is there a blueprint node to create a Texture2d from a LinearColor array?
I found a way to apply a heightmap at 4.20 using blueprints how can I do the same at 5ue
does anyone have any idea on why it doesnt add 20 to the recoil rotation when i call the function?
here made it simpler
Hey friends, drawing a blank, what's the thing that lets you graph X and Y like a mathmatical equation? Then you can follow X or Y and do stuff like a door opening/closing or a platform rising/falling with time
sorry idk man
oh wait
i think you meant a timeline
yes
Sick ok
quick question:
I have a function that lets an AI character of mine idle around.
Now i wanna make a function that gets called on every tick - that checks if work is available.
Right now this wouldn't work...
Like, i wanna check all 5 of them before doing anything else...
and now, if 1,2,3 are unavailable - but 4 is available - but 5 isn't-
Then the variable is false
Even though it should be true 
Okay, i got an AI
The ai has 3 states
"Go to work"
"Return home"
"Idle"
when the AI goes to work, and works on a field - the field gets farmed, and it takes some time until the field is ready again.
While waiting, i want the AI to idle.
But if there's multiple fields, one of them might get ready, at which point i want the AI to switch to "go to work" again, to walk to that field
Basically the idling is just "walk around randomly" now
(i'll make pipe smoking animations later)
Right now i just get all of my fields that could be ready - and i wanna check them if one of them is ready.
If only one of them is ready - the AI is supposed to go to work.
That's all this should do. This doesn't check which one is ready, just if one of them is ready
no, because in this function - if number 1,2 and 3 are not ready-
and 4 is ready
and 5 is not ready-
The boolean would be false 
oooh that could work... that's smart 
hang on, lemme try something

this could work
right?
and a print string on completed
oh true
just checking
hmm i think i gotta do some other stuff to make this work first lol
Help
keep in mind you get those fields in random order too
why is it that when i use my own gamestate i made my character wont move or look up and down anymore?
What are the parent classes of your game mode and game state?
That's your problem - your game state needs to be parented to Game State Base if your Game Mode's parent is Game Mode Base
why doesn't the top down cursor work on custom maps?
ah worked good to know thank you
Does anyone know what might be causing a Blueprint-activated Timeline to not update the tween states and just play the first frame? My timeline looks like this:
My play node looks like this. I'm confirming that Update is only being called once through a print string statement.
play from start means playing from first frame
Yep, but why is it only playing the first frame and not the full 2.6s?
When I call "Play" instead of "Play From Start" then update is never called
Nope, it's enabled
it couldn't be something withe the door physically being blocked perhaps?
AFAIK Timeline brute force any modifications it made, but I might be wrong.
why dont you do a printstring for the move variable and see if it changes overtime?
I do, it only prints once, the value for the first frame, and never again
I'll admit never having used vector tracks either. I always use a float as an alpha and a lerp node
wait i am going to do something just like your setup and see if it might work
it works for me
can you show me where and how its called?
I would kill the timeline and try with a new one
Is it called on server? Not sure how it would work when replicated
Regardless of authority , it's updating as it should here atleast.. so as Crantz suggested, kill it and try a new one i guess?
@final nimbus did you set your timeline play rate to 999999
Sorry I'm brainstorming weird edge cases
But yeah deleting and recreating the timeline wouldn't be a bad way to start
Is there any logic or way to make my gameplay character to grab other character by his neck. I have used attach to component but the other grabbed character is attached by its origin which is foot root. Is there any way to make target character attach to component by its neck.
Or can we set world location of any actor not by its origin point but by its bones.
Or can we change pivot point by blueprints?
Please help me I have been doing for a week and cant get it to it.
It would be easier to explain (but still difficult to be condensed in a Discord message) if you're not using ALS.
But since you do, it would be even more complicated, if you don't know what you're doing.
Then what should I do?
I'd suggest figuring out how to do it without the ALS, then studying the ALS and see how it could be implemented from there
hi everyone, im trying to make it so that any changes that occur to my zombies material will only appear on that specific character. Currently, if i shoot one, the sphere mask appears on all of them. How can I fix this?
Without ALS still I need to make the same Function and the other grabbed character is not implement with ALS.
My combat is is turn-based (tactical - no free/conditional movement). Given the fact that I haven't touched behavior trees so far, would there be any benefit to using them opposed to straight blueprint-driven decision making? I don't have anything fancy, just a couple of fight-or-flight+class specific conditions on choosing targets & some skills.
Depends on how your AI works I guess
AI turn = decision time->any action (skill/wait/swap) ends turn automatically. Atm, I wrote some functions to decide wether to act defensively towards other characters (started with the tank class) or attack, pick the target enemy with the lowest health to attack or defend the character with the lowest health from friendly units (unless it has less hp than the tank etc). I would only like to add some variation, so that players can't predict all AI actions all the time.
Hmm
If your AI always re-evaluates what it should do each turn, I don't know if you'd get much benefit from BT's
that it does
it needs to basically...
BT's are great for sequential AI logic, where the AI goes from A-->B-->C, and perhaps there's some choices between those like sometimes B is skipped, or sometimes instead of C it does D instead
but if you don't have much logic like that, it might not help so much
I've read up on the general concept of behavior trees and (unless the AI is real-time), it seemed to me of little help, it's basically the same thing: bools & switches. Thought I'd ask, maybe I'm missing something crucial...
now the "battlefield evaluation" itself - being tactical & all that, might get tricky or complex, but otherwise, I think it's manageable with bps. Well, thanks for the clarification @earnest tangle 🙂 I'll just continue in bps 😄
Can I convert foliage to actors during play? I want to make a grass cutting mechanic
"Convert" no. You can however spawn foliage actors which are precisely designed for such mechanics.
Another thing may be spawning the kind of grass which is cuttable as foliage actors, or get the world position of the foliage mesh and replace it with the cuttable version on player action/overlap around player 🤷♂️ . These are just ideas/suspicions, haven't tried any of them myself.@fleet cedar
Thanks! This is a good start.
"You can however spawn foliage actors which are precisely designed for such mechanics." - does this mean there's something that does this built in?
I'd rather use render targets instead, similar to rendering water ripples or writable boards.
The render target is controlling where the foliage is spawned?
The masked opacity, rather, using it to cut out the grass mesh on world space (and possibly use the grayscale color of RT for gameplay purposes)
mm I see
how can I print a string with all array items from a data table?
You can try doing it yourself. Get the position of your enemy‘s neck, and set the position of the hand on that. (Lets say you add a Socket to it, Get Socket Location and Rotation and to set it: Set Bone Location and Rotation by name) add a timeline and now it should always grab it by the neck.
I don‘t have much know how in that type of game but it would work like that
There are probably better ways tho
what node do i use to change what camera the character controller si using
Use material instance for that one character
i ended up making a vector in my material instance and on the charafter thats hit it creates a dynamic material and i just edit the parameter there
Smart
Quick question, is there a name or term for the mechanic where the player looks at a door, looks away, then looks back at the door and it's gone?
I don't know that there is a word for that "mechanic"
Aye, same. I know it's a mechanic, just thinking of ways to tackle it. Might just enter a volume and if player controller is rot between this and that angle then it's good enough
Hello. I have a question: I got 2 windows (widgets) that cover the same space in my heads up display. I can switch each of them on and off like this:
Now I tried to close the one that is open (if that's the case) before opening the other to ensure they do not overlay:
but something is wrong, it works a few times and then i end up double clicking the keyboard key i assigned.. do i have to use a gate or something?
Maybe try using the isA boolean
@crude birch Have you tried using a widget switcher inside the widget, then just switching between SetWindowSwitcherIndex or something like that
in the branch
If "as trade window widget"'s flop is toggled to be A then also Toggle "As Trade window Widget"'s flop To B
and vice versa
strange, they still open up at the same time like this
but if i think it through step by step, they shouldn't
A = Ui is on screen
shouldnt the branch be flipped then?
branch is checking if its A and if True it flips the flip flop
shouldnt it be if its not A flip the flip flop?
and if its A then remove it from the Parent?
This is quite some code to toggle and interlock...
Cant you just check if the other widget is in viewport already?
did that before and it worked but at some point (the more i pressed) hung up and i had to double click
yeah if i flip the branch it's working for the first time, but just as it was with the "is in viewport" check, at some point i have to press twice fro some reason
Sounds like part of another issue tbh
You could set the widget to listen for the input instead
Why so much flipflop back and forth tho
Input -> branch (is other in viewport) -> false -> branch (is this in viewport) -> true -> remove from parent
False on the last would be add to viewport
You should add another set of gets and nodes instead of crossing them over like that. Makes it unessesary hard to follow
i thought this would actually help visualizing the criss crossing idea that's supposed to happen. but i'll give your suggestion a try
what issue
If you're using GetControlRotation to drive the AimOffset animation, change it to GetBaseAimRotation.
that is the problem, i want the aimoffset to rotate smoothly
and not jitter or lag behind
Is there a way to generate a ProceduralMeshComponent with a Node inside the Construction script?
Is there a node to grab specifically the X coordinate of the actor?
get actor rotation -> break rotator
Hey, I have a Custom Event with a delay node in it, everything in the event itself is delayed and works fine - but the actions after I'm calling the event is not being delayed??
Get actor location -> Break vector
Some code snippet goes a long way
@crude birch hey take one of them getter nodes. Copy it over to a blank area of the graph. Right click on the new get node. "Validated Get" should be somewhere.
What you want to do is make a new custom event called "Hide X Widget", and call that when you create a Widget Y.
Hide X Widget can check if Widget X exists and destroy it when it does.
You want to replace your flip flops with the validated gets.
@gentle urchin
Anyway you can set it up all pretty like if you put Hide X Widget under the handler for making a Widget X. You can align the Is Valid node with the Validated Get from just above, and then both can go right into the destruction logic
@gentle urchin
@crude birch the one thing you shouldn't do is keep using a flip flop - that isn't the only thing that can destroy the widget. You can end up with it wanting to hit the B path while the widget is destroyed
"Initiate ability"doesnt wait for the custom delayed event "Play flipbook" to finish before moving on in the code. To achieve this you must have another event for the stuff that should happen after the delay , which the custom event calls
so I make take recorded my blueprint and I won't save all variables float and make to animation so how I can get float variables and make animation by float save game
@gentle urchin Not sure I understood that one - sorry
It just strictly informs the custom event "play flipbook" to execute, then moves on in its own code directly
It doesnt care about when "play flipbook" completes
Yea thats what I noticed - but it doesn't really make sense to me as to why it would do that
Yea I guess that makes sense yea
Think of calling a custom event a hidden "sequence" node
Where the first pin calls the custom event
And the second just moves along
I'm making a ability system sort of, so I'm trying to make ''nodes'' that I can easily plug in, like ''move to enemy'' ''play flipbook, non looping'' ect -
But jeez - first I tried a Function, but you can't use delay nodes in those (which I need)
Then I tried a macro, but macros doesn't inherit to children
And now I can't use custom events either 😅
Did anyone ever had any problems with this? Many times the code looks much cleaner & easy to read w/o all those foreachloops around:
^ never tried, does it work?
Always been afraid of those - guess I have to look into them now
You could set things up like "play flipbook -> bind to flipbook complete -> continue logic on complete
I did it before, it did work but on default ue functions, but not sure it would in this...
So it executes said event for every array element? Thatd be amazing
That seems overly complicated for such a small task
@strange streamThis is worth watching 100%
https://www.youtube.com/watch?v=EM_HYqQdToE&ab_channel=UnrealEngine
What type of blueprint would I use for the behaviors of enemies in touhou-style bullet hell games
yyep, i tested it but - like I said, only with default ue4 functions. I don't see why mine would b different but 🤷♂️ thought of asking... And I would test it but was hoping for a quick "no" or "yes" 😛 I'm (was, apparently) in the middle of a rather complicated matter for my level of knowledge.
Any other ideas btw on displaying the correct estimates of damage, regardless of the skill's mechanics without actually running "simulating" the skill, getting it's results and displaying those? - It's what I'm working on 😭 I swear user interface ate up 10x as much time as gameplay programming did 😐
Depending on how you set it up, the end result can be surprisingly flexible and easy to use. At times it can pay off to use some extra time designing the system so it becomes easier/more pracrical to use ^^
Yea thats my goal - thanks 🙂
On another note - can somebody tell me why macros are not inherited to children?
Yeah sry, i end up just returning more questions than answers 😅 hmm, never even considered how i'd do that really. Strategy game like civ etc?
how do i smooth out floats that are used for movements
Strat, turn-based 6v6 "jrpg" style... And the UI needs so much info, i feel like cooking heroes 3 here ffs. Sometimes I just wanna drop the whole "let the player know what's going on stuff"... 😐
and just peek-a-boo, crit, 200 dmg = death 😄
while display says 10-14
Gosh.. 🙈 some unknown variables should exist !
To much transparency makes it more like a battle simulator with defined outcomes 😅
it's just damage estimates displaying on hover 😐 But some skills go like damage ignores caster's attack which is instead boosted by the mean of defence of all targets - kinda skills... Otherwise it's boring.
Hmm.... surely adds a layer of complexity for the estimations atleast
I dont see any other way than "simulating" it, possibly with simplified (read: inaccurate) values or smth
Not sure if simplifird valies would add more complexity to it... it probably would
I couldn't tell you why, but if you want to share macros between a parent and child, you can create a macro library related to the parent class, then the parent and any child classes can use any macros you create in it.
@gentle urchinYep, had to squieze the whole skill mechanic into a function so I can spit out values, it was previously an event on the skill component 😐 Redesign time (for no reason rly) yay! 🤮
Hey everyone, I have some massive issues with my project.
I've placed a lot of actors to the scene and every time when I'm building project to windows a lot of them either missing, have wrong positions or rotations.
Have anyone had this issues before?
No, actors not set to be hidden in game. Yes, they are visible.
@gentle urchin Then again, on the bright side, I get to throw everything inside an overridable function and I'm left with less work in the end, the whole skill story can be thrown on the master, since it's only this:
Weird how programming works 🤦♂️ 😆
ah yes, those dirty for each loops where you can clearly see the logic happening. let's replace them all with ambiguous connectors where we're not sure what happens
what do you mean? can you give an example of what you want to do?
@odd ember For future ref the issue was being caused because in C++ I was overriding BeginPlay but not calling Super::BeginPlay()
I see, so it wasn't a timeline issue then?
I still recommend using timelines for alpha values (with lerp nodes) over putting any actual values inside of them
both because you can reuse the alpha value and because you can then expose the lerp values to be edited per instance, if necessary
what node would you use for swtiching what values a node is using? two Floats and one boolean
Want to make the boolean control what float is used
are you thinking about the Select Float node?
Yes! thank you
I am trying to set the material for the player skeletal mesh to something else and it isn't working, here is what I have for that, any suggestions?
there are two play chars in this instance
I did confirm the element index is set correctly as well
You're setting the Capsule Component's material rather than the mesh of the character.
i have two values, one is supposed to connect when a float is more than 0 and the other is supposed to connect when the float is under 0, but the idle is zero so the < just selects the bottom value
is it possible to have select float have more than two loat inputs?
because i sometimes want it to select neither
is there maybe another node made for that?
To be fair, you may have trouble with actually == 0 with a float value.
That said... Something like this should only ever output 1, 0 or -1, depending on if the float value is > 0 or < 0
not exactly what i was looking for, i want the value to be 0. the proplem is that the > node selects either
this is a bit complicated but, if the float is more than 0 i want to fly right, if its less than 0 i want to pick the flyleft float, then when no input is selected i want to reverse it so the float transisions to 0
Fly right is a curve from 0 to 1
Fly right is a curve from 0 to -1
(the timeline is not accuratly named)
you can't just plug the values into the add rotation?
no , the timeline is to seperate curves
since positive rotation is right and negative rotation is left
when the timeline is played it outputs to floats going from 0 to 1 and from o to -1
so i have to use select float
okay I've not done much with timeline
note?
node*
if Pick A is false it picks selects float B right?
I though that it would work if greater than 0 == true therefor pick A else pick B
That is how it works, yes.
So this is unnecessary
when the float is 0 i don't want it to go to B
oh ok
Cool
I thought it might just be that you need >= node
instead of >
I was testing it out, but confusing for the select float
@eternal drumyou can use the Select node plainly. it's the generic version that allows for ints, bools and enum/byte hookups
I did, thats why i was seting Integers and not booleans in the last screenshots
you can use more options to it
if you need
not sure if the add pin does that already
used to be it was hidden functionality
Try >= if you want it more clean
@eternal drum looking over what you're doing... what are you trying to do with all of this? perhaps there are better ways?
trying to smooth out floats meant for plane movement
have you considered that you already have input an input scale with input axis?
i know... its just that when you press for example D it jumps to 1 and that isnt what im looking for
i want it to be a slow gradual movement
lerp
really what you're looking for is analogue movement
how do i implement that
ah
keystrokes are pretty much the only exception since they are boolean
in either case you'd have an easier time just modifying the axis value than creating custom timelines
Lerp
FInterp comes to mind
interp if you want some easing
what about easing out?
i don't want it to completely stop when i let go of the button
that's what interp is for
tho you might struggle with that on the axis binding
you would need to cache your current value, as you interp to and from the axis value
cache?
you could
just create two interp, one for easing into axis and the other to ease out
and then just check the axis input and use that to select either
but in reality it just makes it more confusing
the interp and axis values handle the easing
since the axis value happens per tick already
what interp am i even supposed to use
FInterp
basically what it does is takes the value and cuts it into segments
then sets the value to the first segment
How expensive is adding an instance to an instanced static mesh compared, let's say spawning an actor? Would it make sense to let's say remove and re-add 20 instances that come into a certain range to change the LOD over having chunks of those objects as actors and just spawning these actors once?
instanced static meshes are very cheap
I am aware of that I was hoping for some quantification, also I'm mainly thinking about the game thread not drawing.
is there a way to convert an entire blueprint actor to c++ script
game thread wise instanced static meshs are basically free. actors I think have a base cost due to tick/BP/components/code
not explicitly. you can nativize BPs but you won't be able to edit them in the same way as cpp
at least not yet
ah , okay
You have to translate it manually.
UE5 removed Nativization altogether, due to how unreliable it is.
If you know BP well enough and know C++ basics, you shouldn't have too much trouble translating it.
Though some quality of life math BP nodes aren't default to UE4 C++, so you have to include KismetMathLibrary and use UKismetMathLibrary namespace.
Id look into projectile predictions
SuggestProjectileVelocity
And some math for launch angle
Launch angle math?
Do you have any Youtube tutorials or web links for recommendations?
how can i convert a linear color to string in hex format?
is there a Move to Actor Blueprint Component equivalent to C++?
For some reason whenever i ragdoll this happens to the player
im using a modular character and set the legs as the master bone component
Not sure whats causing the body parts to separate on ragdoll
hello all, anyone know how to make a procedurally spawned building have navmesh so the ai can walk on it?
use this as the logic
then change the buildings and collision as you please
thanks Ashraf I'll give it a go
np
any idea how its done, I'd prefer to do my own blueprints, just need a point in the right direction
no clue tbh
It seems to work for me. I went into the marketplace tab in Epic Launcher, looked it up, and it said "free", clicked on it and it seemed to add just fine
if you want the procedural buildings generated at runtime instead of in editor, you probably need to enable runtime navmesh generation in project settings
but if you just want to place procedural buildings at editor time, navmesh should work if you just regenerate it once the building is placed
Thanks, I opened it in the editor instead of the browser and it worked
anyone know a solution to this?
With modular characters you need to create a physics asset for the master pose.
Ahh ok, thank you
is there a way to make an automated minimap based on the navmesh. i got a camera on top of my character for a rendertarget but that's way too detailed. collision or navmesh info would be sufficient... but there seems to be no way to get the navmesh
The navmesh data is probably accessible in C++ which could in theory be used for some kind of visualization
It might be a lot easier to just take a screenshot of your level from a top perspective and use that as the minimap, depending on how things work in your game
Hello. I've got a problem. I want to check if this variable is set or if the widget is visible. When I use the IsValid function it is returning true all the time. But when I use this IsVisible function I get a huge error log that the variable is None. Am I doing anything wrong?
how can i convert a linear color to string in hex format?
Your description is inconsistent with your description. But checking validity on the widget is a good start. If it returns true on isvalid, then you wont get accessed None errors
huge list suggests alot of calls, is this done on tick or something?
Do you really need to check if the window is open on tick?
yes otherwise people can press buttons in the background
How so? Dont you add this widget to viewport / toggle visibility?
If invisible, nothing can be clicked. If not in viewport, nothing can be clicked
When I click New Game. A window is added to the viewport which overlays the default buttons. The widget is small and the background buttons are still enabled so people can click on New Game again which opens the same widget again.
Sounds like you should revise your logic in the menu then
When new game is clicked -> disable the button(s) in the main menu
When new window is closed -> Enable the button(s) in the main menu
How do I know from the main menu blueprint that the window closes
I do that by setting the OpenWindow variable
and checking isValid
how come they're 2 different widgets in the first place
It's easier managable
Ahhh!
So Beginplay -> Create widget -> bind to visibility change
On New Game clicked -> Toggle visibility.
Thanks a lot! I didn't know that existed
@earnest tangle how do I regenerate navmesh in blueprint at runtime?
there's an option for it in project settings, I forget what it's called but it's like runtime navmesh generation or something along those lines
that'll just have it auto-regenerate when geometry which can affect navigation changes
i have that selected already, and when my building spawns it has no navmesh on it so my AI cant walk inside
my code is picking a suitable spot at random to drop the building, then spawns it in, the code is in my level blueprint, I have navmesh invokers on my ai and player pawn
and the buildings only spawn in the navigable radius of the player
i'm not understanding why my spawned buildings arent generating navmesh dynamically
Now I've got a new problem. In the construct event I create a widget and set it to hidden and set the NewGameWidget variable. Now when I try to make it visible again it's not showing up. It stays hidden. Can anybody help me?
Nope
I connected it to newgamewidget but it's still not showing u
p
maybe it's in the background
Nah I have no clue
First time making gui
was it added to the viewport?
yes
show me please
and ZOrder?
is the event fired at all?
You should bind on creation
and disable/enable buttons on visibility change
click should just toggle visibility
Ah yes
Ill fix that, but that doesn't do anything with the visibility problem
Hmm
I found out it's invisible on construct too
wtf
Thats fine
I tried setting it to visible.
means you dont have to set it to invisible during creation
delay where
Now it's showing up
and set to visible on new game click
Now i need to bind that event
but it is weird I have to do this
how come you create it at runtime intead of just adding it to t he main widget?
I'm new to GUI
I thought this was a better idea
Otherwise I would have multiple windows in the same blueprint overlapping eachother
I also have to make an options window
you could check out the widget switcher
I have a procedurally generated building, it doesnt generate navmesh on my large open world map when spawned, but spawns navmesh perfectly fine on my small testmap, can someone explain to me what I'm doing wrong?
could be an engine error
try restarting
btw i have absolutely zero clue about the issue
I won't use baked navmeshes for large open world maps. Consider using Navigation Invokers that generate surrounding navmesh on the fly.
@icy dragonI am using nav invokers
that navmesh is being created by the player, but the navmesh isnt updating on this map after the initial load
I dont know why
I might try remaking the entire level and see if that works
but it'll be a load of work
Is the building set to affect navigation?
@drifting rapids
and
ticking dynamic seem to work on my end atleast
Spawned during beginplay
Can someone explain top section of this windwalker echo blueprint to me? it doesn't make any sense, the value is not being used anywhere...
Do we have any command line arguments for opening exe file when it's fully loaded so that I shouldn't see black screen
No, and that's not a valid reason for it. Though you can still execute another .exe file with some platform level C++ function.
I am looking for some solution but unable to find. When I execute exe file can I have a track record that application is fully loaded and then I should display that
Basically I am looking to resolve this issue. If I am running parent exe file and want to open external exe file using create process. Is there any command line or any option available that I shouldn't see black screen and external exe will display when it's completely loading. Let me know if you have any clue in mind. Because I have more than 100 application and can't add loading screen to everyone. So just I want to play only in parent exe file
Regards,
100+ simultaneous processes at the same time in one device?
That's more sadistic than Chrome browser...
I have tested renderoff screen command. It's working in the background. If there is any option that I can renderon screen again when it's completely loaded
No. One at a time. But when opening single exe file it took 7 seconds to open and till then I see black screen I don't want to see that
I will be really thankful if you can help me in this situation. Done with googling. No work around
So opening 100+ processes is already more insane than Chromium, which is on itself is already resources hungry with dozen processes.
Can you describe what exactly are you doing with that number?
I want to open 1 instance at a time and don't want to see black screen.
Just ignore 100+ process talk. That's something else. What I was saying that I have hundred projects and If I have to add loaded screen to each that's a very weird. Because I have to repackage all
And 100+ projects also sounds insane, unless we're talking about the kind of 100-in-1 shovelware packaging or suite of archvis applications.
Regardless, you could use plugin that provides loading screen, installed in engine level, as opposed to project level. Getting it from Marketplace will install it in engine level automatically.
https://www.unrealengine.com/marketplace/en-US/product/async-loading-screen
<@&213101288538374145>
:no_entry_sign: Herculio#4337 was banned.
Can I spawn actor deferred in blueprint?
What for? The BP spawn actor node kind of does parts of it already, like allowing you to pass values into exposed on spawn variables
I need call method configure:)
Ah I see... I don't think it's exposed by default, but if you really needed it you could probably create a custom node for it in C++ quite easily
You could probably achieve a similar result by having configure called from the construction script or something, since that would get called in similar timing before other logic
how do
got this message when trying to diff against previous revision
of a Data Asset
(works for regular blueprints, im assuming this is just a bug with DataAssets?)
does anyone know how can i make texture from one part of tileset?
Game mode BP has SpawnDefaultPawnFor as an override function
@odd ember thx, I'll check
Anyone around that has worked with procedural meshes, specifically proc mesh collisions?
Sometimes my character goes through the meshes
@proper wyvern procedural meshes should have a collision volume around them. Start by visualizing the collisions of those the character goes through. Can you see it?
To visualize the collisions seen by the physics engine (assuming it is PhysX) you can issue this console command during gameplay pxvis collision 1
Hello
Can anybody give me a recourse that explains how much every function in ue4 costs?
I want to know what functions should be used less like Cast
What other functions have more cost to execute
I really appreciate that
There's no list like that. Also Casting is not that expensive and it's okay to use it
There are a few nodes which have a warning if you hover over it and it will say "can be expensive", you want to be careful with those ones... but in general most nodes are reasonably performant unless you're doing something really weird
I have a cannon that will attack a player automatically if it sees the player, but I want to be able to individually choose which actors the cannon is able to see, is there an easy way to do this?
Oh Thank you 👍
Are you using Perceptions?
I have a blueprint that has a child actor component. The child actor component is another bp and has a static mesh and I wrote a print statement in the onclicked event of the child actor component. Problem is it doesn’t fire. Is this supposed to work? Or is this a limitation?
Didn't know that command was a thing, I have only used Show Collision!
I cannot visualize the collisions, no. But I definitely collide with the meshes most of the time
I think I got it actually, thanks though 👌
hello. I need help figuring out how to teleport a player to a point if they fall below a certain point.
Create an actor with an overlap-box in it. If something overlaps with the box teleport it to a specific point. Create a vector variable, set it to public and connect it with the location input of the teleport node if you want to change the tp-location per instance.
Anyone had and solved the problem of the editor periodically thinking every single-click I do is a double-click? It makes it impossible to use the Action Menu, drop-downs, or right-click menus, since they immediately disappear upon opening.
Restarting it makes this go away for a while, until it inevitably starts happening again 😡
sounds like a mouse problem, not an editor problem
@earnest mango I have seen this happening before due to outdated graphic card drivers and/or the editor using the low performance card (embedded Intel) instead of the high performance one (e.g. NVidia).
@odd ember I've only noticed this double-clicking issue in Unreal, which doesn't necessarily mean it's the editor's fault, but it's very suspicious.
@atomic salmon How can I check which graphics card the editor is using and swap if it's the wrong one?
@atomic salmon Thanks! I'll assume that's the same on this machine, which has an Nvidia card and an internal GPU
anyone got a lead on runtime heightmap editing for landscape in ue4.27?
Trying to set it up so if my player falls below a certain point on the z axis, it will teleport to the respawn point. Does this look correct?
It's not working so I'm assuming I'm missing something
um standard? I'm still new to UE.
havent learned how to use teleport so this is my first time
if you double click it does it try and open visual studio?
also, either way
just use setworldlocation
no it dosent
inside where? the teleport function?
yes
no
Is Cube a valid ref
im guessing its from the heirarchy
so that code is not initialized, as Im sure you know
also, just set the world location instead of using the function. its super easy
and wont set your rotation to 0, unless thats what you want
like this?
how do I do that
no
ideally not
tick runs every frame
you can
but its easier to fire an event when you need the ode
code
or have it on at least a custom timer
loop*
so fire a timer to start checking when they fall off a ledge etc
its ok to put bools in tick sometimes
Don't know much about kill zones but shouldn't it be <= Kill Zone?
since its just 1 and 0
I'm confused. Why do I need a timer? I just need the player to teleport if it falls below a number on the z
They are talking about performance
and run your code once
yeah
its done
over and over
one way to do that is tick
but putting code on tick is cancer
so the other better way
^
is to put it in a timer
ex
when movement mode changes to falling
^
start a timer on .1
looping
I don't know how to do that
ill show ya
yeah it doesnt need to be often
unless it does
and some things wont run unless you put them at at least .05
I'm already using begin play for something else
its ok
begin play starts your code
its like getting ready in the morning
youre not done, just have everything started
sequences are good
but usually you have a few things on begin play
but they call to other custom events
instead of keeping the code there
Ill show you an ex
ok
So this is your code, more or less
We keep the blue node after the timer, which is called a timer handle
this way when were done with our timers, we can clear and invalidate them
you need to fire it in a location when we start falling
one of the easiest ways is this
How do u create a custom event
ok got it. what is fall time handler?
then fire a check if youre falling or not
its a timer handle
its so we can stop the timer when were not using it
otherwise, it keeps going and going
can either do that and check if youre falling or not, and obv use a branch to either fire or clear the timer
or put the check right where you move
is it a variable? I don't see the node
oh the handle\
drag out from the timer's return value and click promote to var
your target is a scene component?
cube?
also that would set a timer to play all the time
oh
ok
so try getactorlocation
instead of cube and getworldlocation
just makes it easier to look at
and the right cube should be the root component I guess
click the cube variable attached to getworldlocation and screenshot the details for me
also your timer time needs to be set to .5 or something and looping ticked
ok cool
and thats the top thing under the blueprint name(self) in the heirarchy right?
everything stems from that?
yea I have it called Bp_MyCharacter
sweet
ok
so now we need to call it to start looping
and to stop looping
equally important
so if you want
like I said, not all things are terrible to put on tick
just most things
and having a lot of things
so drag off tick
after making a boolean variable called falling
ok
then on tick it should just be
there are other ways to do this
like the picture I sent earlier
but then you just
then you just need to initialize the timer the first time
do i go back to using getworldlocation
Out of curiosity. Why not just use the world's KillZ that is already there and just respawn the new pawn created at the desired location?
nahy
wasnt going to ask that
maybe they have their own reasons
like some actors having it and some not
Tried renaming the var, deleting it... It isn't referenced anywhere else... Does anyone have any idea on how to "forge" ue to pass the default value? It's clearly a bug, happened to me before on other things, but this time, I can't find a way to fix it 😐
try typing in the <=
you'd have a much easier time setting this up per level
30 and promoting it?
@minor galleonIt's supposed to be changed on children according to other criteria. I can't "work around" a simple float not parsing default values wtf 😄
but if you want to it simply, just check the z values (you can add this check on the movement), then cache the starting position on begin play
or starting transform really
no need for any other logic
That all seemed so complicated to check the z value lol
@minor galleonsry 😛 u get "advice" like that sometimes - as u know
same here, all day, still got the night ahead of me xD bp ai ftw lol
dude ai so fun
it whatever the other guy was doing does seem needlessly complicated. if you have your inputs, just check every time the character moves whether or not they're below threshold
well, my dear cranz
yep, can't say it isn't... Made more helper functions today than I ever did in my whole life put together 🤣
did you happen to see the part where I mentiond that?
prob not
follow the convo
was trying to teach them how to use timers, but nvm i guess
but like I said, it's better to handle this per level (or ultimately, in the game mode), and not inside the character
organizing the nodes so I can take a ss
and I agree
GM would be less of a pain in the ass
but I assume there isnt one currently, and theyre learning the engine.
It didn't work ;/
is your respawn set?
yes
and your killz is - your starting location
KillZ is just a float
set to what
-150
and where is the player start
102 for the z
and I assume you mean -150 z
yea
you just need to place that actor in world where you want it to trigger
yeah
you can expose box extents as well if you want to manip
the size etc
that way you're also not limited to falling
you can put it anywhere
there are like 15 diff ways to do this one thing
my actor is in the world?
its your default pawn right
make an actor like this. expose the respawn point. when you place it in world, use the "pick" on the instance to point to your respawn point
also makes it easy to update if you want to add checkpoints later on
look, I was just trying to show you how to "fix" the code you had originally, instead of writing your code for you, but the way hes talking about is also an option.
at this point, Im going to go back to work because its a bit crowded. if you want to learn more about processes like that, dm me
Thank you Rez for showing me that but it wasn't working. I just connected the branch to event tick and its working now. idk if I missed something.
Yeah not sure on that meridian. worked on mine, but often a lot of learning ue4 is looking for that one mistake or tick box.
but thats a neat trick for handling things off of tick
but like I said, often the timer number needs to be smaller or it just doesnt work reliably Ive noticed
tick can run up to 144 times a second on some pcs
but dont put it on tick
put it on character movement
its better
or at least the check
Timers are limited by Delta Time, no matter how low you set their trigger time. If you go lower they will still fire at Delta Time but may trigger multiple times per tick.
like that instead
nah thats not it
theres more
Im too tired, sorry
Going to bed
someone else is in a vc too asking for another things
thing*
Wait, what? Do they stack up like that? Multiple executes on the same tick?
Had the impression that the lowest one can go is once per tick
@gentle urchinyes, they still trigger at Delta Time as a minimum, but if you set a trigger time below Delta Time they may trigger more than once within the same frame. You can easily try it.
In other words, you cannot use timers to further divide down Delta Time. That is only possible, in general, with physics sub-stepping.
a tick happens once per frame, but timers aren't limited by frame time
yes there is a minimum value
🤯 well thats 100% news to me
one of the use cases of timers is that they are framerate independent
Obv never tested it but seeing as its reliant on game thread interupts, i'd expect it to be a once per kinda event
My experience so far is that they are not
you can test it out by having a delta of 1 frame and half a frame
@odd ember this is from Tom Looman's site
so, the repeat myself, timers cannot fire at higher freq than Delta Time
True, they're just executed several in a row instead, not subdivided, as you pointed out
exactly. If that would be the case you could implement physics sub-stepping with a timer, but unfortunately that doesn't work.
considering that you can set custom ticking time per actor, yes
but timers can be fun!
I feel like this blew my mind, but then thinking about it makes me realize i cant do much with this information anyways 😛
In many ways i'd still say they're frame dependent tho. Limited by frame time
If you have a timer at 1,01s, and fps of 3, the timer wouldnt execute before the 4th frame
at around 1.3s
When the cumulative Delta Time since the last time the timer triggered is >= timer trigger time then the timer triggers. Does it makes sense?
😛
Yes exactly.
I'll save that sentence for my next UE4 course...
But saying its frame independent, atleast to me, sounds like it would execute at 1.01 sec, and not 1.3
Was Cranz saying that tho, just to clearify
It doesn't really matter because you can only detect that and react to that within a single frame.
So no matter what, it is like the timer has triggered within that frame.
I assume this would be the same for async timers aswell? They'd need to sync up with gamethread next frame ? Anything else would surprise me.
If thats even a thing
AsyncTimers?
There is a lot of async stuff in the engine but I am not aware of async timers
Yeah nah, its not a thing. My bad :p
Yep. The Timer Manager advances all the timers on tick.
hey is there anyway i do stuff on another player (online) that isnt replicated? this doesnt seem to do it (replicated checkbox is off)
for example i want to get all characters on client side and create a material for them just for the client to see
for example here on Input G what im trying to accomplish works but on begin play it doesnt?
Put a "has-authority" node after begin play and connect the "remote" path to what you want done.
that didnt work too well i think i did sumn wrong
That wasn't what your code was before. If you're relying on the team variable to change how things appear, you'd need to wait for that to be replicated before being able to change the appearance of anything.
You can do that by setting your team variable to "RepNotify" and in the OnRep function place the has authority node & color setting code.
Great idea i'll try it out thanks
It just went all over the place now
is it normal to be like this?
2 begin play's on each actor
that might be whats causing the issues
Begin Play fires on all actors that come into existence.
So you'd have:
- Begin Play on server for player 1 (client 1)
- Begin Play on server for player 2 (client 2)
- Begin Play on client 1 for Player1
- Begin Play on client 2 for Player1
- Begin Play on client 1 for Player 2
- Begin Play on client 2 for Player 2
And it retriggers if the actor loses relevancy on clients (usually by going out of range) and then comes back into relevancy
I am trying to have this object rotate slowly 180 degrees, but for whatever reason it rotates 180 all in one go
Loops effectively run instantaneously, you can't delay execution of the next iteration.
Unless of course, you create your own loop logic.
what do u think could be making my code only run the way i want to on keyboard input? i tried a lot of things now and none worked
Keyboard input is client only unless you replicate it to the server.
Begin Play runs on everyone
ahhh, guess I have to go about it a different way, what I want is to be able to slowly rotate it 180 whenever I want, shouldn't be too bad
yea thats what i want a client only event to be ran but from begin play
Any reason not to use RInterp To?
I'm pretty new to this so I just don't know some things yet
I will check that out thanks 👌
Has anyone here ever had a problem where a for loop skips an element in an array?
Are you modifying the array during the loop?
Yeah, I am using remove index
Ie I want to go through the loop do something then remove that element and do the same for the next
You can try an IsServer with a branch, but I'm guessing it still won't work.
I did try it already >:
got nothing
also tried it
this is driving me crazy
been stuck on the same problem fro 3 days now
Can I recommend you create a function which is called in begin play as opposed to doing your logic in begin play
Also tried that
Strange
Scratch my question I can just clear the array after finishing, my bad lol
That was one of the things I was gonna suggest 👍
Just so I know the issue, you want to do something locally to other plays but right now it is being replicated?
Yes
Oh
i want to set their outline colors depending on team on client
How come it's still instant instead of taking the specified amount of time?
However since it is in begin okay it is happening for all actors which makes it look replicated
Possibly
yea i have no idea what to do :/ someone told me about custom stencil on materials but i dont see how that'd help me
So what are you trying to do? Get only one player to see the highlights
Or each player see different highlights?
Hmm
Perhaps you could assign each team an Int and then check if the other actor has the same int if not highlight it
thats exactly whats in my code
Can you send a pic of your code?
How are you setting a players team
And when they spawn in they have different teams? Just got to cover the basics
yup
Okay, I just started reading old messages probably should have started with that lol
So this was working before putting it in begin okay
Play*
yea its working on keyboard input
but i dont want to have to press a button for the player start distingushing
Well I guess the question to follow that up is won’t you have a join game button or a start game function in the future?
Yes
If so instead of begin play calling this logic it can be called from start game
Which should be the exact same as pressing a key
I'll try it out thank you
that sounds like it could work
Let me know how it goes!
Camera rotates with mesh. I want to prevent completely camera rotation.
But, camera still rotates with the mesh.
What's problem?
nvm on this I misunderstood an example
Maybe something you can change with physics?
Setting up spring component to absolute rotation helped.
The logic should go, that only on server you set the team on begin play (temporarily for now, I'm sure you'll want to handle the logic elsewhere in the future)
The team is OnRep variable.... The function will be executed on all clients whenever the variable is set, - including when the actor may come back from not being relevant on a client, so the Team value will always be properly set on all clients.
In the OnRep function of the team variable is where you want to set the colors. Do a Has Authority "Remote" > Your color setting logic.
Get rid of any other RPCs you may be doing. Just do:
- Begin Play > Has Authority "Authority" path > Set team (randomly)
- Team OnRep Function: Has Authority "Remote" Path > Your color setting logic.
95% sure this'll work if it's done this way.
but would that work if another player joins or such?
yes, that's the point of the onrep
Is there a way to set a static mesh to use Shadow Two Sided by default
or would that require a blueprint?
so like this
should work or am i doing something wrong?
Looks right
its not running on the client and it didnt update when someone joined
hey is anyone doing the blueprint courses from epic for the free swag box?
and if so have you recieved an email from them yet?