#blueprint
1 messages · Page 115 of 1
theres a handful of different components to this, whats the best way to upload them so its easy to understand without clustering up the disc?
having an SOS moment
Thank you so much I put down a shit ton of strings to find out I didnt have the whole custom event hooked up lol
its been 4 hours and I but learned a valuable lesson lol
Child actor component?
Basically I just wanted some sort of "null" object I could use to parent the lights to.
There's your issue then. The child actor component is extremely broken
About 300 skeletal meshes...and that child actor with 2 lights parented to it...:)
What should I use instead for the purpose of linking/parenting some objects to?
You can parent objects in the outliner. Or use the attach actor to actor node
If neither of those suffice, you'll want something third party like the free prefabricator plugin
I can´t parent stuff inside the blueprint to something else?
That seems rather unlikely.
ChatGPT says "Scene component", so I´ll try that next...:)
You can with just an empty component
You can't put another BP in a BP though, which is what a child actor component is
Hm, ok, guess i need to rebuild a few things then, as I used a few of these child components to organize my blueprint, as you can´t put stuff on layers inside the blueprint.
Quick question though: Is it better to use an editable/animatable variable to change the rotation in the editor in the construction script, or as an event tick event?
I´m just using the blueprint in sequencer/movie render queue.
But I wan´t to be able to live preview things in editor.
are we talking about logic here?
because organizing blueprint scripts is a major usecase of actor components
I used the child actors as empty actors, just something I can parent a bunch of meshes to. So I can easier transform all at once or just hide them easier in the blueprints detail panel.
Level instances can be a nice way to package a outliner hierarchy into something you can clone multiple times into another level, but won't work for all use cases -- the actors in the level instance are isolated from the rest of the world and can't have properties overriden.
yea you are on the right track with scene components
Hm. The big difference there is you don't get an editor tick in BP, so they're doing different things.
You shouldn't need construction script magic tho, just changing the rotation will work.
Yeah, doesn´t work for 300 plus skeletal meshes...:)
I'm late to the convo so not sure what the original context is, but just thought I should mention the possibility :)
it's essentially just an empty component with a transform
what does "auto activation" means for an actor component, since it will start expecting when the owner is created ? (even if false)
Human anatomy model with every single bone and muscle separate...
If you just need a dummy "parent", then a scene component is the best way to handle that
If you want a blueprint inside another blueprint of sorts, the prefabricator plugin is the best way to handle that
Yeah, was thinking about using a metahuman blueprint inside it, but decided against that.
Prefabricator is Free and Open Source. It uses a permissive license (MIT).
lovely and delicious
thanks for the tip!
You'll want the GitHub one though, the marketplace version has stopped updating!
I don´t wanna have to go to the blueprints detail panel and scroll through dozens of scene components to rotate one, so I´d rather have an exposed editable variable, wether thats in the construction script or the event graph is where I´m confused.
You'll want construction script for editor time shenanigans
I don´t wanna have to simulate to work with it in the scene, I just need live feedback in editor.
Yeah, thats what I thought. Just got confused because the child actor rotation kept crashing unreal...
You can still use an event graph var in the construction script btw, it's just a function
So, editor event ticks don´t work in blueprint actors in general...?
Sorry, very noob questions.
Just trying to figure out some very basic stuff with an already rather complex blueprint...:)
Yeah you can't get an event tick in editor in BP without some hacks that I don't remember ATM, you can probably find it on Google tho
As long as it works fine in construction script I guess I´m fine for now.
Just one more quickie, while I´m at it...
Trying to figure out how to use a rotator variable and it doesn´t have the "expose to cinematics" checkbox.
Also, ideally I´d only have a variable exposed for the rotations Z axis...
Any hint here?
@dull shell thats the anim
careful , that's very close to summoning a demon
i was about to write the same xD
oh you right no wonder it wasnt working
how about now
can confirm, lucifer did summon
Dang, there is something else going on. I replaced the child actor component with a scene component to parent my lights to and set up a rotation variable, but when i try editing that in editor, Unreal also crashes...
Gona do two more steps of trouble shooting, before I give up on this:
- Not using a parent and try to expose a parameter for changing the rotation of the lights directly in editor.
- Parenting something else than these lights.
Actually it didn´t crash. Its just a really long delay. It works better when directly setting the rotation, instead of dragging the value in the numbers box.
I mean, I got 300 skeletal meshes in that construction script. Is it maybe simply evaluating the whole construction script every time I drag the rotation variable?
Show the component layout for this actor, I gotta see this
Show the construction script too
and yes, the whole thing gets evaluated when you change the variable
That drag function is very inefficient when it comes to editor time heavy stuff
I don't see any reason you can't just have a bunch of meshes in a single actor, no construction script shenanigans or child actor components required
Yeah, than it doesn´t really make sense to do it this way.
Prly doesn’t want to ctrl+D 299 times 😀
BTW you can do the bool trick if you MUST have a heavy construction script.
ConstructionScript -> if bool -> bool = false -> heavy logic
tick the bool to run the script once you've moved the thing
that's how I think the old sky BP worked
I literally have no idea what I´m doing.
I have a human anatomy model and need to build a blueprint out of it. I need to have options to
- Select ONE animation for all skeletal meshes.
- Set visibility of groups of meshes (muscles, bones etc)
- Set material overrides
- Set overall scale.
At runtime or editor time?
and why is it 300 meshes and not 1 mesh with like 300 bones?
Editor time for setting up the scene, then using sequencer to animate stuff.
Because I need to be able to individually animate/hide each bone/muscle
We use this in 80% of our shots for TV documentaries.
Medical animation.
Try this
#blueprint message
This whole setup sounds hacky but if it already works just do that so you aren't trying to run the construction script on tick lol
your name fits though lmao
It probably is...:
I just don´t understand what the bool should ask for.
It's a bool variable
Like "if construction has run"?
no, if bool is true
Then the construction script will only run when you check that bool
You basically turn a bool into a RunConstructionScriptNow button
Sure, whatever that looks like.
Show us that construction script, what is it constructing?
Its constructing 300 skeletal meshes and setting materials and animation assets for it.
and when do you want to do that?
Its already packed in a dozen macro functions, so it doesn´t look like much from one screenshot...:)
When I open the level...:)
oh just disable running the construction script on move then
After that I edit stuff, then use sequencer to animate stuff, then render it out using movie render queue.
I never enter game mode, until it renders via MRQ
so that's how the Bool Trick™️ was meant to be used..!
haha I remember reading that trick 4-5 years ago when I first got started with Unreal and not doing it correctly
now it makes perfect sense to me
...meanwhile I struggle to reopen the construction script tab...
Goddamn it for these basic things ChatGPT is just so incredibly useless..
it lies like crazy when it comes to Unreal
It's useless for pretty much anything resembling real work tbh
It's very confident though, I'll give it that
Jup
the first 3 images are a spawner bp that i place in the world where I want stuff to spawn. the next images are in the gamemode bp that tells it to generate an enemy pool then spawn enemies with a max of (variable) at any one time and logic to tell it how many total to spawn with a wave. but I keep running into an error that they dont spawn as many as needed OR it spawns too many enemies so that the counter is -#. there is an output log error specifically on the (Start Wave) function. in the last node Add Enemy To Que connected to the Random Spawners array
It's useful for a little reminder on how to do things like bit shifts and the likes, but only if you have a little prerequisite knowledge IMO
Basic python scripts and stuff like that
The component should have the event dispatcher, then?
Unless I misunderstand?
Event dispatchers can be called, and can be subscribed to (bound).
While a Custom Event (as it is named in Unreal) is more or less a fancy function.
I need a bit more help here...
You need to set that bool to true once the logic has run once.
Curious if anyone knows a sort of solution to whats causing the numbers to be off or if theres a much simpler way to make a wave system for enemies
The idea is that it only runs once, then you need to uncheck the bool again (and the construction script will be permitted to run once).
Is there a check for "has construction script run"?
Well... that bool, if you set it up.
why would you check the bool after all the heavy stuff
check it, set it, do heavy stuff, in that order
Oh... that, too...
Sorry, can you explain it for a 5 year old...:)
Check if the bool is true. If it is, then set it false, then do the heavy stuff
Then the CS will only run once, then never again until you check the box manually.
So like Adriel said, you pretty much get a button to run the CS.
I´m confused, do I not WANT the heavy stuff to be done first, so after that it doesn´t have to reevaluate 300 skeletal meshes and I can rotate the lights easily?
Is there a reason not to just make a Call in Editor button in this case, though?
because that's why you're crashing
the construction script runs any time anything changes
when you're spinning the thing, you're changing stuff 60x a second
so it's trying to do a big think 60x per second when you could just move the thing, then press the button, then it only has to think real hard one time
the bool doesn't say if construction has been done
no
Literally do this verbatim:
ConstructionScriptPurpleNode -> Branch -> True -> bRunTheConstructionScriptNow = false -> run the bigass sequence
bRunTheConstructionScriptNow^
its like a gate
it'll TRY to run the construction script any time anything changes (rotation, position, the bool being checked), but it'll only proceed into the big heavy code when the bool is true. Proceeding sets it false so it can't run again until you check it true again.
the FIRST thing should be the branch
How could i make it so he doesnt just snap back so fast to idle?
Still not quite there yet.
How do I change the bool to false after it has run once?
Do I need to make that bool variable editable so I can manually check it, after putting the BP in a level or opening the level?
Just use a setter...
yes
The whole point is that you hvae a checkbox you can click to run the construction script
You still aren't setting that bool false after the branch
Lemme try this then...
nope.
So, I compile, click the "run script", it runs, constructs the whole assembly, then sets itself to off automatically. Now I change the rotation value by dragging it and boom, crash.
I´m having trouble letting go of stuff like that, it bugs me so much, but its really dumb too, because I can really just rotate the scene component, its just a minor inconvenience...
what happens if you change rotation value by typing?
You still using child actor components?
It doesn´t crash.
Yeah, just not for that specific part of the code, the light rotation.
show your current construction script
why is anything connected to the false
i mean that node shouldn't do much but still
Because thats the rotation that I wanna change AFTER the construction script has run.
Which is the whole point I thought.
just put it last in the sequence
that specifically WON'T run when the rest does
as you have it now
Yeah, it shouldn´t run when the rest does.
you just said it should run after the rest
The rest is heavy, this is just rotating the scene component, so I can rotate the lights.
ok sure, then put it on both
just have false and end of sequence hit that set rotation node
- Construct the 300 skeletal meshes (plus the 3 lights I guess)
- Rotate the lights:
yes but you never want to construct the meshes and not update the lights
always update lights
also construct meshes when the box is checked
sure that'll work
Can you make it a Function that has Call in Editor checked ?
let's not get too crazy lol
trying to make a day night cycle, and the rotation of the sun gets stuck at 90, ive tried adding relative world and local rotation cant seem to figure it out
The crash might not even have been from the construction script if it's still not working
show your code
Agree with that, I would create an editor function for the heavy part which has been suggested, then only do the rotation in construction. If you need the heavy part initialized, call that in begin play as well. More clean than bools states.
show the code around that node
it all here
I´m not sure, but I really think its got to do with the dragging of the value more than anything.
I just looked at the BP when I typed in a number and it does look like its only evaluating the rotation code now.
But still lags like crazy when dragging the rotation value.
LMAO that death dispatcher
im not good at naming things 🤣
haha yeah I noticed that too but didn't want to clutter the call for help!
Ok, no, thats actually nonsense whats happening now, after editing the rotation value, the whole BP resets to pre running the construction part.
Damn it.
Ok, I´ll give up. One more test, just disconnecting the whole construction part and only running the code for the lights...
Jup
WHat I thought.
Still lagging like crazy
This looks super complex though, you probably can very much simplify it. What's the gist of what you're trying to do?
not sure what all you need to see, ignore the seconds part need to update it as im not going to use seconds just there from when i started, every 1 second it ticks 1 min game time, every time it ticks i run the for loop so the sun/moon movement is smooth, it all works perfectly till it rotates a certain amount then stops, ive had this issue with other things in past, ive tried all the rotation nodes alll of them get stuck in same spot
Does a pitch beyond 90 / -90 do anything?
well not rotate a certain amount but when the roation hits 90
no it wont
so like if i start the sun at 90 its jsut stuck
ok so you'll either have to do math or use the combine rotators node
if i start it on 91 itll go till 90 and stop
Im trying to make a simple spawner system that I can place in the world. I need to be able to control waves. wave 1 wave 2 wave 3 etc. while also editing parameters for each wave. spawn X many in this wave. spawn Y many in that wave.
increase difficulty with each wave via more enemies
so you have spawn points, and what sort of data does the wave encompass? Type and number?
with a timer transition period between
yea i was thinking of just moving the location each time if i had to, how does the combine rotators work
yea
also shows the # in the game
so like if its at 90 do i combine 1 to it so it moves it to 91 kind of thing?
Hey guys, I do something like that to create my characters.
But somethime some character are missings (invisible) do i need to put delay between each spawn actor?, why it's not all the time, and only random ?
just use a timeline or/& a lerp node and that's it?
why all that
Type, how many there are, wave number, and how many can be there at any given time
that shoot ray error is something else entirely non related to the spawning issue
lol
i tried but couldnt figure out the math or whatever to make it work it would just move way to fast on timeline cuz its ticks way more then i need and dont know how to convert that and trying to make it somewhat optimized, i was using dynamicvolumetric cloud which uses something along those lines i believe but i want to update the hud every time the time changed with an event, because when i tried updating the time with a set timer by event to only tick so often becaues the dynamic sky bp was ticking wayyy to much, the time would look like it stuck at certain minutes for longer than others so just didnt look good at all
Are the spawn points enough separated? If they collide they might not spawn actor.
0.00001
yes they doesn't toutch each other
100% you should use always spawns
what do you mean? i don't use spawns there?
and let us know if it works
thanks, it's possible that some collision box make that happend?
i will try to generate enough test to see if doesn't appear anymore 😄
well, it can be pretty much anything
then do a print and if it doesnt print, the event/functoion or thing is just not being called
that's weird because it's the first one supposed to spawn
i will continue to search
Are you working with an array? They start at index 0 btw, that might be the issue, I don't know…
no i will continue to search, because all car are present and the player controller is able to controll the invisible car, i'm looking on the initialisation order to be sure that everything is completed at the good time 🙂
tried this quickly, works
*Notice Description Contains Affiliate Link
In this video I want to cover what I would argue is one of the most useful nodes in Unreal Engine; the Timeline node. Technically, timelines are treated as components, but in essence, they allow you to create simple animations on the fly in blueprint. There very customizable, can be used with externa...
that might jsut work gotta do a little more testing, but i have a sky bp so doing the code in the bp, but instead of getting the sun and moon and rotating them it seems i may just be able to rotate then entire actor, it didnt get stuck at 90 doing so but haven't check to make sure everything else still works appreciate you
What happens if you feed 0,95,0 into the rotation of something?
it would go till the next 90 then stop
No i mean what rotation does it end up with?
Yea that was dirty test, dont use Level BP.
WHat I'm getting at is that pitch values outside of -90, 90 are invalid
The will be accepted as a rotation for setting the rotation of something, but the end result will not be what you fed it. There are infinite rotations that all map to the same result for any given rotation
You'll probably have success if you generate your rotation like this:
Event -> Thing.Rotation = CombineRotations((0,0,0), (0,YourCurrentPitchMath,0))
That will "do the work" of converting your invalid rotation into a valid one, assuming it actually works.
ohhh i think i get what you mean i had that issue when trying to make a drone with the pitch getting wonky due to not being valid, when you rotate the actor over and over the y doesnt jsut increase once it goes around the x and z values change around
So why all the jumping around, just make a simple event that does all the logic in one place
Yup. Combine and Delta treat rotations as quaternions on the back end so they play nice without gimbal lock. Doing arithmetic on the angle values will lock all over the place in the extremes.
If you didn't need a 100% deterministic Time -> Rotation function, you could also get away with using AddLocalRotation, but after a few hundred spins you might see errors.
appreciate the knowledge! 😄
i followed a tutorial 🤣 the tutorial doesnt seem to have issues but theres gotta be some reason even though i've followed it front to back and have been looking at this for like 3 days
he never included a hey btw youre gonna run into this error heres the fix
but it does work for the most part It jus needs optimized or somethin I could try to rewrite everything but im still learning so Why i didnt write one from scratch is just due to my ignorance of the engine which im correcting slowly as i learn more
so i have a combo string
i almost have it figured out however when you press e it plays the first and second sequentially without need for the input again
that is what is handling the combo work idk what to add where in order for it to need a second press to get the second stage of the combo to work
guys please i need some help, dont know how to get this running.
Hello!
Does anyone know how to make a timeline work for multiple objects?
I have 4 objects I want to slowly make visible in the scene, I did this by looping through all the actors in the scene, and using a timeline to scale up a opacity parameter.
However when this runs, 1 object works correctly (fades in), but the other 3 just immediately appear.
I've tried hooking the timeline up other ways and I cant seem to find anyone online that knows a solution :/
forloop + timeline = disaster imo
well the timeline should probably be an event in the actor that you call with the loop
so each actor can run the timeline on their own side
Hi I am working on a BP that generates parking spaces with cars in them, the problem I am having is I can't align them correctly.
There is a way I can align them but then the cars appears floating over the surface.
I found out that, there is inconsistent rotation when the surface is not planar. (see image) if I can have consistency in the rotation, then I can fix the alignment problem.
I am using a line trace to find the normal of the surface but rotation in the Z axis are inconsistent.
Any advice on how to avoid ambiguity in the Z axis rotation on a line trace normal hit ?
If you’re planning on using a custom mesh for the parking spaces (as opposed to painting the lines, parking spots on standard meshes), then you can add sockets with specific axis rotations
the lines are working as intended, the problem is with the cars, I need them to be aligned to the ground and the gound have some variance, when I hit those spots, then the rotation of the car is not consistent.
On red a not flat surface, on green a flat surface, note the rotation inconsistency.
Hey I was just wondering what should I do to make my character not be able to jump while in the animation?
show your alignment code
On Jump Input before the Jump function, check if Character is playing any montage
Thanks so much, I'll give this a go 🙂
If I wanted to add another animation to my attack so right when the first one ends the second one starts so like a combo with different attack animations what should I put here?
I suggest looking up a good Combo System tutorial
A code snapshot would help
I just wanna know how to switch the animation right after the first one is ending
Prly an anim notify end
Okay thanks one more question for some reason after I do an action it starts the Unequip effect starts I only want it to happen when sword goes on my back not when im walking or dashing
Then build your state machine around that or just use a bool
How would it look? if you dont mind showing me the bp
No one here is going to code for you, the most you’ll get is pseudocode. And using a branch to check if a bool is true or false before allowing something to happen is as basic as it gets. I’d recommend going though the “your first hour in Unreal” and other such courses to learn the basics so you are able to walk before you try to run
lmao
As for #animation there’s decent docs and also pins in that channel
I've made a system that tilts the camera as the player moves, using the Right Veloccity to drive a blend space which rotates a bone in the Character Mesh, which the camera is a child of (to the 'head' socket).
It works unless the player is facing the -x or -y direction. In this case, the animation freezes (the Velocity value is still being calculated correctly) until the player has rotated away, whereupon it "snaps" to its correct position. You can see this 'snapping' behavior at the end of the vid where I hard-set the 'tilt' value to 1.
Moving the camera backwards by at least 40 units (just outside the bounds of the capsule comp) fixes it, but that's obviously problematic.
In the video, the white cube is to help see the effect. The 'Parent Socket' in the camera component appears blank as it's being set in the CPP and doesn't show up in the blueprints.
Does someone have a know why this is happening?
It feels like a collision issue of some kind, but it makes no sense the direction I'm facing would make a difference
he is trying to get people on here to code stuff for him for like a week now xD
no way lol
yeah looks like he just refuses to use tutorials
Try doing it without the Additive just for debugging purpose
Kinda weird. Let me try and reproduce this
u sure ure not multiplying by zero at some point?
Literally all the code used is in the vid, it ain't anything complex I'm doing.
There's some CPP but that just adds the camera and stuff
All the code for driving the blendspace is blueprint
ahh yes.
smells like a rendering / culling issue
either way that's probably an #animation question
I don't see how personally. Could you expand on that suggestion?
The fact that it fixes if you back the camera up a bit
How is the non-tilted camera movement driven?
With a socket in the rig
Moving the camera forward also fixes it, so I don't think it's culling the rig. Plus why would the culling only happen at two specific rotations?
So the transform heirarchy goes:
Capsule
Mesh
Bone
Socket
right?
Yes, I believe so
Show your math for the mouse -> socket rotation stuff
The socket's move with a blendspace, driven by the velocity. The mouse input I'm pretty sure is quite standard.
When I put a Print on the velocity, it shows it's getting correctly calculated even while the animation is stuck
How are you controlling the pitch btw
A little bit of CPP, but it's unrelated to the issue, as disconnecting pitch altogether doesn't change the issue
dividing by zero isnt much better than multiplying by zero btw
if your dot product is 0, it wont set a speed
The dot should always be valid, if that expression always makes good looking numbers then it's not the problem.
or more like, 0 speed
I tried to reproduce your bug but couldn't let me send you a video of my setup
@light turret https://streamable.com/c3ykm8?src=player-page-share
But even when I hard set MoveRightSpeed to 1, it still is frozen in the default position when I spawn (facing a broken direction) and then snaps to the correct rotation when I start to turn
Sounds to me like a bones not being updated / refreshed thing
will post it tomorrow, it is a mess but will try to explain it.
Damn, alright
Thank you, really
I couldn't catch how the camera's attached to the bone. Did you use a socket to the head bone?
Also try this in your skeletal mesh component property
Directly to bone
Did it work?
It already was on Always Tick Pose but I put it to ...and Refresh Bones and now it works
Nice!
So maybe Adriel was right, some kind of culling problem
Kinda weird cuz Always Tick Pose doesn't care about culling
It's become a running joke with a friend of my, Unreal and its "magic buttons" that just fix things, but you've no idea what that button is. Once again it's just the same.
Yeah, much of this makes no sense. Why does it care about if you're facing a specific direction? 🤷
I just reproduced your bug. Using Always Tick Pose
Yeah Always Tick Pose and Refresh bones is the way to go lol
Thank you, SKGamer
No Problem!
Hi there everyone!
I have a very simple thing I'm making... This is a minigame with 2 balls the player can control. The idea is that several obstacles come from both sides of the screen andthe player has to avoid them by moving the balls up and down.
Thing is, the minigame is a separate actor. How can I use a separate actor for creating the obstacles, while also being able to create / delete it?
Going crazy - My replace Inline does not work as intended... I was told it update the Source String (which is a text variable), but despite the word are found, the string Replacement text is the right one, and the value of the Replace Inline does confirm there was a change... The Text Variable remain unchanged after. What could cause this behavior?
You have more chance getting help if you share your code
Hi all!
Does anyone know how can I set 2 fixed states of speed with the joystick ?
I want that if I don't put the joystick to the maximum the character is walking at a fixed speed
And if I set it to the maximum it runs
I don't want a "blend"
Im using a slightly modified version of the first person template. I added crouching just now. But when I went to test it, I got this error: Blueprint Runtime Error: "Accessed None trying to read property CallFunc_GetMovementComponent_ReturnValue". Node: Set bIsInAir Graph: EventGraph Function: Execute Ubergraph First Person Anim BP Blueprint: FirstPerson_AnimBP. But I didnt change anything in the anim BP recently, and it used to work fine before I added crouching. What should I be looking at here?
just check the value range and use a branch/select node to set the speed that you want?!
I tried to do that the problem is that sometimes my input value (of the joystick axis) is 0.9 and not 1 if I don't push the stick correctly
How can I detect if my stick is at maximum reach ?
you can't
joysticks are analog inputs, expect that they may have a low value even if nothing is pressed, so have a deadzone (e.g. 0 - 0.1) and expect that it will never reach full 1.0 value
some joysticks may hide that by their firmware, others might not
if you want more accuracy let the user calibrate their joystick in your game settings, to capture the min/max values
So how should I do to set just two states of speed
If it never reaches 1 or -1 because of the deadzone
input => sequence => each sequence output to a branch, upper checks for float in range 0.1 - 0.8, that's your walk branch, lower branch checks for float in range (0.8-1) thats your running branch
Oh ok so I have to set 0.8 instead of 1 or -1, thanks
or you just check >= 0.8 or whereever you want the switch to running
if the same event fires also for backwards, etc. you can also just use the absolute value and later multiply by the sign value of your input value
i would set the deadzone in the input action/mapping tho
like 0-0.05 or smth, depends on the joystick i guess
So I set it by default ?
I just want something simple : 0 = Idle. Between 0 and 1 = Walk. 1 = Run
you set the deadzone in the input action to e.g. 0-0.05, just to ignore any low false input
then do what i suggested earlier, check if its in range of 0.05-0.8 for walking, and >=0.8 for running
you can change those values until you see fit
but you can't be sure to get an value of 1.0 from an analog input (even on "full throttle")
Ok thank you very much I'll try that !
.95 will probably be fine, too
But I have a problem
When I go diagonally my Axis value is at 0.78 for example
Do I have to add the "Forward Backward" axis to the "Right Left" axis value ?
idk what the best solution for this is
Anyone know if there are more resources or tutorials on the Wave Function Collapse plugin that UE5 implemented? All I'm finding is information on plugins other people have made and the documantation doesn't give much information
lets say i start PIE in Level 1, and then load level 2
how can i see at runtime the level 2 BP ?
because rn the editor viewport is in the level 1, so i can only access level 1 BP
how about don't use level bp?
if you want to see debug you cant
you cant see something that is not there
Quick question: How do I access postprocess settings in a postprocess volume in construction script in a blueprint?
NVM, found it
It includes a demo level, which I found helpful enough to replicate from.
And maybe the source code had some helpful comments, too, I don't remember.
My blueprint is rather heavy, featuring 300+skeletal meshes, its for ease of access/animation and used to render cinematics.
So all settings need to be accessible in editor and need to be accessible to sequencer.
I´m still adding things and I will probably have to change/add things a lot in the near future.
Right now each compile takes a few minutes, which is fine, but even changing any variable settings is quite heavy.
Is there anything I can do to make it a bit snappier when editing?
Is all in one construction script with a large sequence:
Don't think there's saving it, at least I don;'t know how
my bp only project takes 5 seconds to compile
I was also trying to make something else work but gave up (rotating with a slider was making it lag/crash), someone suggested using a boolean switch after the construction script has run, but I´m not sure if or where I could insert that, so it doesn´t have to evaluate all settings when I for example only change the post process settings, it shouldn´t have to evaluate the settings for all 300 skeletal meshes.
😦
You could try moving it from the construction script and have the functionality in editor callable functions.
If you make a change in the BP and compile, it has to update all the instances in the level which is probably why it's taking so long. If it's editor callable functions, you would have to manually call them (select the actor and click the relevant button in the details panel) this can sometimes help if it would cause a lot of things to update.
I haven´t looked into editor callable functions, does that mean its a button that opens a widget or something or is it basically the same as editing variables in the detail panel?
Create a function, mark it as call in editor. This will then make a button appear in the details panel when the actor is selected. Click it to call the function.
The button will just be called the same name as the function. It will also follow any categories you've put the function in.
Ok, thanks, I´ll check it out.
Hm, not sure I´m doing it right. I made the function "editar callable" and removed it from the construction script. Now I have the "post process set" button were it should be, but all the variables I defined in the function are still where the were before.
I can change them but they are not going into effect unless I press the "postprocess set" button again.
Which is how its supposed to work I guess.
Problem is:
I have the same crazy lag, when I try to drag any of the variable sliders values as I had yesterday with the rotation function...
Green values are set outside the function
Compiling is faster than before, but changing the settings doesn´t seem to be making much of a difference, wether I have it as a function thats callable in editor or wether I just connect it in the blueprint sequence.
I have an event dispatcher on my pawn (OnDeath), and I want to listen to it in the player controller (to open the death screen). For some reason my event dispatcher doesn't seem to work. I know I am calling it, but the listener in the controller never gets triggered. What could I be doing wrong?
have you bind the event? and is the event dispatcher called after the binding is commited?
I did. And I don't know about after. If I use "Bind event to On Death" after begin play it does work
Bottom one doesn't work
Kinda liked the single node, but I guess it tried binding before the pawn exists
I don't know what happend in the image you posted
but you need to bind the event from a valid instance before u call any events
What do you mean you don't know what happened?
If I use "Bind event to On Death" after begin play it does work
This is the top event (going through bind). If I instead link it to the "On Death" event (dispatcher in the pawn) it doesn't get called. But it does work in other places.
I don't know what happend inside your project, from a single picture
but event dispatcher is as simple as , you bind event, then you call it. Only then the binded events get triggered
So my guess is that dispatcher bindings get registered too early
Well yes, but that's what I assumed would happen through the dispatcher node
I don't think so, as long Snake Pawn is valid
doesn't matter when u bind it imo
earlier the better
as long u bind it before u call death
it will work
Oh wait, I think I know why the second node didn't work
It's because the pawn doesn't exist on my controller until begin play.
Problem solved :p
Yea you would need to click the button again when you need them to update.
As for the value slides, sometimes setting min and max values for them can help. However if nothing is running on construction script it shouldn't be an issue so I'm not sure what's causing it.
Yeah, its really frustrating. There already are min/max values in the variables. It was rather late yesterday, so I don´t remember if it also happend when I disconnected the whole sequence from the construction script start and only left in the variable that made it lag, but I think that was the case.
Didn´t happen in a fresh blueprint I made for testing, so its somewhere buried in there I guess...:(
Yep, just tested again. I don´t understand whats being evaluated here...any idea on where to start troubleshooting?
Do the macru functions inthe construction script still get updated, even if they are not hooked up to the construction scripts execution pin?
If they are not connected, they don't get called.
Then I really don´t understand why its so slow to update...
Like I said, works fine in a new BP
I can see you still have the PP one being called on construction. If you unhook it, does it still lag when changing values?
yep
Literally takes 5 minutes til I can work again...
I even deleted all functions from the construction script, same issue.
Its more like 1 minute rather than 5, but still.
How many of the BP do you have in the level?
Just one.
Even if they are not in any active macro function in the construction script?
No idea, but I don't have good experience with anything bulky in bp
suffering my self
As cold said, it's probably down to the 300 skeletal meshes. I've never worked with a BP with that many components.
Yeah, its a lot of them...
I need to be able to separately access every single muscle and bone.
on error can i tell UE to automatically pause the PIE and open the graph and go to the node where there is the error ?
Its always been a problem, even when I was still rendering in 3ds max.
maybe there is an option in skeletal meshes to not get updated every tick? If they are causing the delays, even when unrelated variables are being edited.
You've been asking for static variables, cpp stuff for multiplayer and now a debug behavior in IDE, why not just dive in to cpp already?
It could be this. I have not experienced it myself but it might be worth a try.
https://www.reddit.com/r/unrealengine/comments/11uf2q2/ue5_blueprint_editor_lag_fixed/
Thanks, but I don´t think so. Moving/connecting nodes is rather snappy. Only changing variables is slow, in blueprint as well as in editor.
I´m gonna try figure out how to temporarily disable actor tick
do you know why?
works for me
actually I don't know about scalibility level
I think you need to apply the settings once you make the change.
but any other settings like texture, etc, works
Unticking 3 boxes in the windows settings will only take 10 seconds. When you hoover over the variable, it does give you a tooltip so the fade might be the cause. I would still give it a try. Even if it doesn't work, you can just turn it back on.
Hmpf, I don´t even know how to see the performance profiler...Hopeing I could get some insight from that too.
hi everyone. i have a spring arm + camera attached to a physics object. the issue is once i enable camera lag on the spring arm i get jittering. i see theres this parameter "Clamp to Max Physics Delta Time" on the spring arm but it appears to do nothing. is there some step i am missing?
ive also tried changing the tick group of the spring arm but still the jitter remains
any help appreciated
to be honest i dont really know, i guess i dont want to learn how do to stuff im used to do easily in BP
i guess i can try remaking this project in cpp this week end and see if it goes right
it feels like restarting to 0
it's easy to chop veggies with a knife but not easy to hammer nails with it. You will have to use the right tool for the right job, no shortcut
when you use cpp, how often do you do stuff in blueprints ?
I kinda stop developing for a while, been learning the vanilla stuff
and not the right person to ask, I don't know much cpp
i saw some examples of people declaring stuff in cpp then using them in BP, i dont see the point sometimes
U meant to use both
the proportion is up to you but bp are good for referencing assets
You can just do the stuff that u cant do in bp in cpp and use bp for the rest of the stuff
@sick sky I used cpp because I hit the wall
ill start remaking the project from scratch using cpp
couldn't sprint using Bp, couldn't use Gas with bp only
i really dont want to do that later on, because it would mean more work
and i like to lean new stuff, and to code "the right way"
I don't think learning cpp helps you code the right way
the principle is the same
but you get access to things that is not exposed to bp
well, i will be able to do more stuff
at the very least, it's mandatory to replace bp struct with cpp one
what multiplayer game are u making btw?
what i meant is that is that i am doing game design studies, knowing how cpp work in one of the biggest video game engine is a good thing to have in my pocket
Well if you want to be a game developer, you won't get a job only knowing bp
since i am doing multiplayer, doing BP only will probably make my dev stop at some point
rn im going with game designer, so dev is "bonus"
but i like developing, so why not try cpp
@sick sky bp only still possible for board games, turn based, etc
your talking about mp ?
my game is kinda close to games like "the escapist", but in mp, so i need to manage a lot of stuff. some stuff comes close to systems you can see in "satisfactory"
all in BP would be proably hard or very messy
Never played the game
well its a lot of networking
but if u don't need combat and just some small interaction, then it should be fine imo
and IA pawns that interacts with players and stuff
i guess i'll stay on my BP only;
later on i can make part of processes in cpp
and if im really stuck in multiple processes i'll restart the porject to cpp
@sick sky i checked the game, can the player sprints?
yes
then that's probably when u want to use cpp
i already had a discussion about issues with bp regarding sprinting
Yeah, no way around it
and corrections
because u didnt introduce lag
in reality it never work
u will get rubber banded doing sprint in bp for multiplayer
i could make the sprint part in cpp then ?
its an actor component using the passed CMC
someone already done tutorial for it
well, ill try this WE
Delgoodie
If u see bp sprints, all of them are scams imo
Either they dont introduce lag
or they set max walk speed in server
which means if u have 1 second delay, ur character will sprint 1 second after u press shift
that's not acceptable in my book and I will instant uninstall a game like that
that was whtt i did
i guess its this one
... but i was setting the speed in client first
don't matter, u will get correction
because in server eyes, u are not sprinting
so u get de-sync
I mean just try adding some lag and test away
ill do that
Open console NetEmulation.PktLag 400
tried with this
i only get a bit of rollback (not always) but thats it
I never use the setting from project settings, no idea what those do
might be the same
tried, well its laggy but its not related to the sprint
the character mouvement is just delayed
Ye that's what I mean by, the player starting to sprint/walk after (number of ping)
wait i didnt explained well
for the client 1 that is moving (with my kb), no delay
for the other client 2 that isnt moving, i see my client 1 movement with delay
so the server has the delay, not the client
Your "client 1" is probably the server, which always have 0 delay
nope
net mode is play as client
so both are clients
and none server aswell
server is dedicated
Is there an apply function?
the visual would be delayed ofc, that's what happend when there is ping.
The problem is with calling server RPC to change movement speed
Press something, run RPC
That RPC will run depend on your ping
For me the set was enough ?
yea.
Thanks!
say u are shooting a gun, if ur gun shoot 1 second later, isn't that unacceptable?
it's the same, you are calling server RPC to change the max walk speed
Press Shift -> Sprint
player with 400 ms
Will start sprinting later on
after a few second
but if u think it's working then I don't know what else to say
can only tell you what I had experienced
and after completing the tutorial, I know why bp sprint will never work
Never work flawlessly*
I have my own bar >_>
Cedric went over this yesterday
I'm ok with the treasure chest opened 1 second after
With the cmc
but if I start sprinting after 1 second, I will smash my keyboard
there is no game where the other players see no lag when 1 player has 100 ms
ofc the 100ms player will lag
for others
yea but in player's machine, there is no delay
when their character start sprinting or start walking
i still dont see the issue of BP
the lag is because of the player conenction, i will not be able to bypass the ping in cpp
The issue is the de-sync
lag will always exist
hence CMC implementation to combat that to make the experience seamless
the video you posted goes over that
Ill look at it
I dont see why the combat is linked to the character movements
My English is pretty bad
I thought about combat stuff, like swords, shooting
I would advice u to un-read whatever I said and just go over the video
thanks it works now 🙂
But for example, my shooting stuff isnt linked to CMC
So how is it usefull
Forget about shooting
i mention calling server RPC quite a few times >_>
it can be anything really
Say U have 400 ms (in extreme scenario)
When u press a key to send that RPC, it takes 400 MS to reach the server
and another 400 MS for the variable to be replicated to you
Yeah, and ?
So your character will start sprinting few seconds after you press the shift key
Games implement client prediction which what the CMC does
the video also go over it
it's a long one but that's the info
I will not be able to explain better than him
As an FYI, apply settings (as it the name suggests) applies every settings that can configured. This includes the screen resolution and if the game is full screen. If this causes issues, you can use the apply non resolution one. 🙂
thanks. but i don't know why it works without apply settings outside the shipping version
It feels weird that the Character Movement Component is uses to prevent lag for stuff OTHER than movement (ex: shooting)
I don't know what you mean by that
No?
u dont use cmc?
I mean I heard of some instsance where people route Hit detection to cmc but I know nothing about that
Well i keep asking the question and you kept talking about cmc
anyway that;s irrelevant
Thats why im confused
I am also confused at what you mean
So :
The cmc only helps for movement right ?
it's responsible for character movement, yes
Such as mouving, jumping, sprinting
and have inbuilt implementation for networked movement
So i cant really fix the lag for other stuff
No
yea no
You will have to implement the code your self for other stuff
You can still do regular prediction
Ill try to add the sprint to cmc in cpp
And savedmoves implementation if you know whats up
Client prediction, server reconciliation, rewinding, etc
Ill have to do some research on that
if u r making a shooter game then you should
if u are just doing simple interaction multiplayer game
U can get away not doing them
Im in betweenn
are these possible in BP?
Client prediction yes
What does it mean for a reference viewer line to be grayed out?
Show picture
wish I could. Is there a guideline for what the different connection colors mean?
I don't know what specific thing your talking about, if you print screen, I might have an idea
I can´t send the actual screenshot due to NDA. In the documentation I found that nodes can appear semi transluscent like here. In my case it is the arrows that are semi transluscent.
Just want to make sure there are no dangling references
The answer is written in the doc that you post
From what I read they are still referenced
Just got compacted because u filtered it out
Actually no. I found what it was, a bit convoluted. I had an old node that reference MyAssetA and I replaced the reference in the node with MyAssetB (linked anim graph nodes in an anim blueprint). However ref viewer was still showing a reference to MyAssetA. By copying the node as text in a text editor I saw that the FunctionReference of the node was still MyAssetA - however the MemberGuid was unchanged, likely why the reference was still there.
I think ref viewer somehow notices that these references aren´t hard references and paints the connections (not the nodes) grayed out. Hope it helps someone using search in the future !
Anyone know why my image seem to just be a solid white when I use it as a Texture in a material I made?
Was saved as a PNG 8 from photoshop. (256 x 256)
Tried checking and unchecking the sRBG tickbox with no luck.
everything around it is white too
that node doesnt show translucency
should be fine in the widget
The widget is just a solid white too.
Modified by some math, but not with the transparent parts that are actually in the image.
Works with a different image, but that one shows a black background around the part I want.
I mean the black part is actually alpha 0 in the image. It just shows as black here.
I've had this issue before too. Feel like I unchecked and checked the sRBG box and it worked last time. Does not seem to do the trick this time.
dunno if bug or not but literally unfixable
Using alpha channel specifically also makes the pattern appear. So it does actually have info for that channel.
hi guys how do i fix this
what am i looking at here ?
enemy colliding with the charcter
i'm guessing the player arm is outside the capsule ?
here is all the spring arms
idk about spring arm, i think is your character is outside the capsule
so there is no collision for that, probably need some physics or something idk
i just checked its inside it i tried also to on actor begin overlap to respond ignore all channels on enemy and it didnt work
Is anyone in here a fan of need for speed unbound
or heat?
ive been trying to figure out how they made the camera but i cant quite get my head around it
I´m struggling to figure out how to set visibility/hidden in game for an array of Skeletal meshes, when they are part of different arrays:
For exmaple I have a bool variable for "Arms" and one for "Legs", but I also have a bool for "Left" and "Right". So, when I set "Arms" to visible, but "Left" to invisible, I can´t make it work, as the arms are also part of the array "left", so the visibility for the arms in the array "arms" gets overridden.
I get the arrays by adding component tags and then using "get components by tag" and I added multiple tags to each component ("Arms" and "Left" for example).
Hi!
I'm prototyping a Blueprint Editor Widget for the Foliage Editor that should make it easier to select assets corresponding with a specific subzone.
For now, by pressing a button I want to either select both bushes or the chair & table. From there I can make the rest work.
Unfortunately, I've not been able to figure out how to select or deselect items in this part of the interface, and documentation is a little thin and I haven't found any YT videos on the topic either.
I've been messing around with the Element Selection Interface with no results (Again, not much documentation found sadly)
Does anyone have some tips?
I'd recommend keeping a single map for all components which can change visibility, and have the boolean set in this map.
An extra map, referencing already loaded assets, won't be too expensive.
On changed bools (Either as part of a function or by making the variables set to replicate), you can then access the relevant SM and execute the desired result.
If it's its own blueprint appended to the Skeletal Mesh, it can also have some functions for when you want "the entire left" or "both arms" enabled/disabled. But by having a single manager, it would hopefully be less likely to override your desired results?
The skeletal meshes are all in the same blueprint, so I need to do it all in there.
And it all has to happen in construction script, its not used in a game, just for cinematics.
Does it have to be unique to each character/setup?
If not, maybe make an Event for any configuration you want and use an Enum to kick off the correct configuration(s) on construction?
It's not as elegant, admittedly.
Yeah. Its a reusable master blueprint, that is being used throughout multiple shots of a TV production.
So every shot has different requirements for visibility.
Something like this.
Oof... Okay, that's outside my field of reference. Good luck 💜
Haha, no worries.
Its probably just a more complicated boolean setup. I hate those.
I was hoping I could do something like "if has tag X AND tag Y, set to visible", doing this with arrays doesn´t seem like the right way to do it, but I´m just stuck.
Oh, I thought you were already running it like that.
I'd definitely go that route if you weren't already.
so if you set it with arms, then don't override it ?
if i understand what your doing at all
Custom Event: For each in loop (Muscle Array) --> Get Tags from object Array --> Tags Contains X, branch if true --> Tags Contains Y, branch if true --> Do your thing
Like: If I hide the Left side, left arm and left leg are hidden.
But if I hide the arms and then unhide left side, the arms should stay hidden.
Or if I hide the arms and then hide the left side, only the left side of the arms should be hidden.
Since the arms have the tags "arms" and "left", they are in both the arrays for "left" AND "arms" and one visibility bool always overwrites the other, depending on the sequence order I put them in.
is there a way to get if an instance is running in editor vs standalone. There's a few things don't want to happen during testing.
in c it's fairly easy i think
it looks like theres a work around https://forums.unrealengine.com/t/is-there-a-way-to-check-in-blueprints-if-your-in-standalone-game-or-not/284133/15
at the bottom of that, not sure it works i didn't actually try it
Worth a try lol
So, I´ve got the arms in the arrays "left" and "right" and "arms".
If I set the visibility to "visible" (not hidden) but then try to set the visibility of the left side to "hidden", the hidden gets overridden by the "visible" setting below in the sequence.
The PlayerStartPIE method didn't work for me but that might be because I don't actually spawn any characters at that point. I was able to use the packaged for distribution node that it also mentioned. Thanks for the help. 🙂
I could go even more granular and make checkboxes for "hide left arms" and "hide right arms", but then I also need more tags and arrays and it gets a bit confusing, so I was hoping I could do a global "left" or "right" visibility checkbox instead.
so you don't want to overwrite the ones you've already set ?
you could keep an array like mentioned of all the ones you already set
and check if it contains the one you want to change
I don´t know what I want...:)
Is it not clear from the picture/description?
the "hidden" gets overriden by the visible ? so what you set it to first overwrites what you set it to after ?
i would think the oposite
I want it to work both ways:
- I set the "left side" to hidden. All left side meshes are hidden.
Then I set the "Arms" to visible. They are visible, but only the left side. - I set the arms to "invisible", but then the "left side" also to visible.
Now the arms stay invisible, all the other parts are visible as well, but only the left side.
Big Question regarding Replace Inline - I want to filter and switch word by asterix, the asterix based on length comes out fine but it seems like the Replace Inline does not change the Message Value which I though it was automatic with it. What I'm I getting wrong?
the 2 part makes sense, but in the first part i feel like thats opposite normal logic
so replace inline isn't actually changing the source string ?
correct
maybe because your converting it
so it's no longer the original reference ?
atleast i would think that might matter idk still learning
based on what I found about the Replace Inline it should be working, but Ill try to save the value as a string see if it work.
i feel like converting it from name to text might change the reference
idk how true that is
yeah its a weird behavior, it work by setting the txt value as a string before the change, thanks Ill work with that !
If anyone knows more on Blueprint Utility Widgets & the Foliage Mode, I'd appreciate any tips.
Still stuck on this and running out of ideas I'm afraid.
what could be causing knockback on overlap? I have impulses disabled in the meshes and collision set to query only. Yet still on Box overlap collision my player is getting knocked back.
The collision profile also also has pretty much everthing set to ignore at this point for testing, besides the overlap box component.
and are you using physics ?
does everything colliding do this, or just the player, enemey ? do both get "knockback" ? or just one
both, I noticed when they hit each other they sometimes go flying, even though enemy to enemy collision is filtered.. well the overlap filters it anyway
is the knockback proportion to velocity, like a fast collision goes farther back ?
are you simulation physics on either one ?
doesn't seem to be, appears just to be an issue of mesh collision
or possibly with the box component, not sure which
let me try smth
well i'm thinking either your simulating physics or it's in the code of the overlap events
yeah, thats what it feels like, I just cant find it
dunno if this is the right place but 1) is it normal for the game to not wait for a level to be fully loaded before starting gameplay when using Open Level and 2) is there a way to force it to?
Hi guys, question is there a plugin or something similar webserver that outputs values that I read and I assign those same values to variables in my project? Because I would like in a website to receive values (e.g. X = 1 and Y = 5) and here I can give values to blueprint variables
are you dynamically loading stuff ?
normally what use is an api
I'm just doing Load Level with a completely normal level
it just has a lot of stuff in it & I guess until now levels loaded fast enough we didn't notice it didn't actually freeze?
figured it out, I had to ignore pawn in the enemy profile. Not sure why but the enemy SK mesh overlapping the capsule, which is pawn by default, was causing the knock back
ok figured out the problem
designers/artists split the level into 2 sublevel for the sake of organisation and apparently that makes them load asynchronously
https://www.youtube.com/watch?v=Ln1Dk2pF2Bg
you'll just need to parse the data from whatever api you are using, and you need a get not a post
i have not tried it yet so i can't confirm it works but it looks legit it's a plugin
I'm curious about this @unique cloud but for some reason your images are not loading for me. Could you re-up them one at a time perhaps?
You want to steal my precious work 😱 😂 😂 😂
I am trying to align cars on a surface, and it is working, but I also need the cars to be aligned to the same direction in the Z axis.
I am taking the normal of the surface with a line trace then make a rotation, but the problem with that approach is the Z rotation for each car is different, depending on the surface normal slope. (image 1) https://ibb.co/2N0gvVZ
If I specify the rotation of the Z axis to be aligned as I want, then the cars are no longer aligned to the surface (image 2) https://ibb.co/LCzvGkw
How can I get both alignments? I have tried a lot of things with no luck and it is driving me crazy.
anyone got any ideas? 😛
Har to follow the thread lol
Especially on phone
Im thinking overlap is a potential issue
I can't see bullet impact and sound when i hit the ground what i miss here ?
Debug
Lol, not at all just trying to help if I can
are you not getting a hit ? what is the output of that function on no blocking hit ?
i can hit and damage
it does not work for just particle and sound
check if it's blocking with boolean, i see your using it does it say true or false ?
https://youtu.be/czOuFC2q6LA?si=nopIvK_Sw26zaUA8 anyone know how to make it so the each widget like this placed in the world can only activate the actor instance it’s assigned to?
Unreal Engine 4 tutorial to connect a 3D widget interaction to a BP event.
i used that before bool still doesnt work
public actor reference variable for the target, when pressed send an interface function call
how do i make that work with the way im trying to do it? i want to have multiple widgets and actors that communicate independently, i tried adding the public actor reference to the widget BP but i cant find anywhere i can change it for each instance i have
these Screenshots are from the way i had it just working with one actor
add the reference to the actor, not any of its components
wait wdym like do i add the instance editable actor reference to the widget BP or to the interactable screen bp i have?
yea that's a UMG widget being rendered by a widget component, you can adjust components per instance, and in some cases it even makes sense, but you'd have to extend it in C++ to store your reference and it'd be a bad approach here
just let the widget do its widget thing
i.e. have a slider and return the results
let the actual actor handle sending off the interface calls
and store the reference there so you can quickly and easily adjust it
How do i just have the widget bp be able to return the results of the slider to the actor?
event dispatcher
did i do this correct on the widget Bp side?
how do i get it to go to the interactable screen bp?
so i just create a new event dispatcher in the actor and when i drag it in select bind?
widget component > get widget > cast to your widget bp > use that reference to bind event
I know, I was just messing with you. I was able to fix it like it was suggested for me to try. Basically the replace inline does not work when it's a Text variable that is transform to a string. You have to set the Text variable in a String variable, then when the string gets updated, you can update your text variable with the new string value
did i do this correct? also how do i get that to go to the actor i want to be affected by the value?
Good to know! It's weird that UE makes a distinction between "Text" and "String". Apparently only Strings can be modified - which explains the issue you were experiencing.
use an interface
i already have an interface that i use for anything i want to activate that has an activate function and a deactivate function
would i use the activate interface too?
or should i make a new function in the bpi
yea so you make a new function that can send a value
you need to communicate that float I assume
yea
add a float input to the interface function
alr that got it fully working now, tysm!
can you create a widget and add it to viewport in a Gamemode?
and cast it to a thirdperson controller?
wdym cast it to a thirdperson controller ?
you want to get the widget from the controller ?
Im trying to get it so it will bring up the widget when i press play, the reason im setting it up like this is because im tinkering with multiplayer
are you going to be opening this a bunch ?
is it not working ?
also ill give a bigger pic and a vid
when you run spawn menu does it actually create and add ?
idk anything about multiplayer
You shouldn't need to RPC just to open a widget. Think of the controller like a real life xbox or playstation controller. The player physically presses the "start" button and up pops a menu. If you have some variables that are stored on GameMode which you need to use in your widget then consider moving them to the GameState instead because that class exists on both client and server whereas GameMode is server only.
The create widget + add to viewport stuff should be inside of the playercontroller class.
In the first screenshot you're already on the player controller then doing an unessescary RPC to gamemode just to have it route back to the playercontroller to create the widget. Makes no sense.
If you need to know which team the player is on, then store that as a variable on the PlayerState
okay thank you Ill look into all of that i let you know what i come up with, what im trying to achieve is two buttons each lead to two different teams once its full the button disappears on both screens issue i had was it was only disappearing on one but not the other
Sounds like you can use GameState to keep an array of players per team then.
TeamA (array of player controllers, UUID or something) and something similar for TeamB.
Then the widget can reference that variable from the GameState and can have the visibility of buttons or whatever depend on if the array has reached a certain length or is empty...etc
Thank you, i haven't looked or messed with games states much but i didn't have a clue that they replicate all info on server to clients, sounds like exactly what ive been looking for these past hours 
god sent
where is this used ?
its on the player start actor
Wdym where
Like how to get it?
Would you mind if i pm you later if i never figure it out?
well, whats the diff with just using tags
tried to type some keyword sin the BP graph and didnt find anything related to that
I think it’s the same as regular tags. Try has tag
i know its bad practice but this is just something i need to get working, i want to cast to my enemy character and i cant remember for the life of me what i should attach to it?
get player pawn maybe?
do you only have one enemy ?
nah ive got multiple
so how are you going to choose which one ?
its linked up to the whole targeting system
right so your looking for the one you targeted ?
idk the system so it could be anything
but if it's the one you have targeted maybe there is a variable somewhere of the current target
i would hope maybe that or some sort of function get target or something
so my targeting system is in player controller and this attack code is inside player, but since my player controller references the enemy alot as part of the targeting system would it be better to put the attack code into there?
so your attacking the enemy ?
ig it doesn't matter as long as you can get the targeted enemy somehow
sorted it
cursed as hell but makes sense to me and works

thanks for the help tho wouldnt have considered it this way otherwise
oops i finally fixed it just had to replicate my Value
Okay i have a new problem its recognizing when the server joins and replicates that to the client but not vise versa the client will join but server doesn't recognize
is there a replication setting im missing?
you should store widget references, at the very least
not sure what that means, sorry could you explain
After Create Widget, you get returned a reference to the widget
right click the pin and promote it to a variable
now use that variable when you wanna remove the widget
How are you adding them to the "team counter" ?
on both scenarios, will it do 2 times the "find" ?
my guess would be that on left scenario it will do it 1 time
how are you informing the GM
always expect the worst in bp logic
if you truly want it done once (including the top wire, which makes 3), store it in a variable
from memory left scenario will get same
i remember discovering this when using random
ill test rn
random is different
as thats an actual pure node
this is a compact node, im unsure of it's pureness
but i assume the same logic applies. Every Exec it's connected to , makes it do another "find"
okay
also, i need some refresh with struct
i got a struc that holds an array, how should i update the array in the struct ?
https://www.youtube.com/watch?v=204F0wVtR2M&t=288s Anyone know how to make an impulse pad like the one shown in this video at 1:30 where he throws the cube onto the pad and it just stops on the pad and bounces straight up when it hits it. This screenshot is what i have for mine right now, but it keeps the momentum of the cube instead of stopping and launching it in the impulse direction
Discord group: https://discord.gg/SU78Cy5Ufx
Unreal Marketplace: https://www.unrealengine.com/marketplace/en-US/product/d289cd109137434ca7f6ed1e4b005f10
Playable Demo: https://drive.google.com/file/d/1Jwq-y1qWdHTlmiJGi0nKcvPgYvHfrUey/view
Old: https://www.youtube.com/watch?v=eRoD7Ws7yqY&t=266s
The physics module has been completely rewritt...
you want the character to act like the box and just go straight up ?
maybe set velocity to nothing and i think there is something like stop movement
i want the box to go straight up
right now if i throw a box at the pad it will keep moving in the direction it was going + the impulse velocity
which makes sense
^
i wanna be able to throw it at the pad and have it just go in the impulse direction and lose all of its current momentum like how it looks in the video
Is there a way to consistently identify a unique object in a level? I.e. if i have a level with three boxes, an ID of some sort that would be unique and consistent upon repeated loads of the level?
how do i do that with the other component that overlaps the collision?
i mean wouldn't you just use a variable that is it's id and give it some unique name ?
That would require me to manually (and accurately) tag every object though
which seems both tedious and error prone
you could maybe generate some random ids and hard code them so they reload each level
Dumb question but how do you reference "the blueprint that is using this widget" from a Widget BP? E.g. I have a Dummy BP and a WB_DummyHealthBar, where the Dummy has the widget as a component. But I can't figure out how to access that specific Dummy's HP in the Widget's event graph
Get Owner
Doesn't work because the WB is not an actor
Sorry, it's get owning player or get owning local player
Ahhh that might be it, I'll try that thanks
I don't think that works actually. Get Owning Player/Get Owning Local Player only seem to fetch the actual player, but I'm trying to do this for an NPC
ahh. You'd need to set that up on creation of the widget then
Right, that's where I'm trying to access this data
Or do you mean upon creation of the widget within the Dummy?
yeah
like call an Init function that you pass the pawn to
or actor/whatever if it's not a pawn
tried my best to put it visually but, my wave function collapse has all its 4 elements and the sides that it can have generation all inputted to the adjacencies, but it keeps generating as though it cannot connect? Any ideas why or any help on this is greatly appreciated! i've spent 2 days trying to figure this out 😭
this is through the blueprint plugin UE5 offers btw!
they all have the correct rotations for each shape in each adjacency
any chance i could pm someone and screenshare im pretty stuck
hey guys, anyone know why CommonInput (From CommonUI Plugin) is returning Not Valid here?
I'm trying to access "Get Current Input Type" off of CommonInput
this always returns "Mouse and Keyboard" despite using a controller to move around in the game (i.e. controller is working)
this is what PIE shows
probably because it's not valid like it showed before ? and it's getting empty value ? @fallow elm
i have not used a subsystem like that but i would expect it to be valid
how would i get all the data assets of a primary data asset type
nevermind, figured it out
if anyone stumbles on this with same problem later
Anyone know how i can spawn this bullet projectile and instead of having it just go straight from its spawn position it will go to the center of the screen or crosshair?
i want the final effect to be like the one in this video at 6:05 https://www.youtube.com/watch?v=204F0wVtR2M
Discord group: https://discord.gg/SU78Cy5Ufx
Unreal Marketplace: https://www.unrealengine.com/marketplace/en-US/product/d289cd109137434ca7f6ed1e4b005f10
Playable Demo: https://drive.google.com/file/d/1Jwq-y1qWdHTlmiJGi0nKcvPgYvHfrUey/view
Old: https://www.youtube.com/watch?v=eRoD7Ws7yqY&t=266s
The physics module has been completely rewritt...
so this is responsible for all the terrible trivial puzzles in games? xD
?
is this normal?
What's abnormal about it?
depends of what is the code
send the code and we will tell you if it's right
what node or function allows me to get the direction of which way the character is facing on the x axis
You can use get forward vector of your mesh which gives you a normalized directionality that the mesh is facing - this means it'll give you a value between -1 and 1 for each axis value where 1 = fully facing the X vector, -1 = reverse of the X vector and 0 usually meaning not facing the X direction at all.
Is it a 2D game?
yes
Are you using a mesh for the character or something else?
pixel 2d character
Actually nevermind that, I see you're using CMC, so that should be altering the forward vector of your character. You can use this node to get the direction the actor is facing. Use the X axis of this - you can multiply this by the amount that you want to dash.
so that worked
The multiplication will make sure it goes forward or backwards the same amount.
quick info, watch more tutorials
is there any node that makes the dash go forward a certain distance at a certain speed
this
yeah the issue im having is the client when clicked isnt changing what the server shows only vise versa
That's because you're changing it through your widget which only exists on the client. Replication only occurs one way, from server to clients.
yup
so how would you let the server know the client joined though clicking a button in a widget?
is it not possible that way?
You'd have to RPC to the server on some actor owned by the client, or a replicated component on a replicated actor owned by that client. You'd have the server verify if they can make that request, do what is necessary, and set whatever values.
Eg. The client's player controller is usually a replicated actor that is owned by the client.
i know this might be crazy to ask but do you think you could show me or maybe an example , so my problem is problably because my controller doesnt get an actor till after clicking the botton? what my mind went to
^ also understandable if not
Hey I have some missing assets when packaging my game in shipping mode, anyone know the cause of this ?
make sure to go in your project settings and check your packaging settings @pale imp .
I have, what could be the issue ?
The weirdest part is that it's only some assets, but I don't know what the yhave in common
do you have anything in your advanced packaging settings?
Try this first, with everything empty and disabled
Widget job is to just read, you should have 0 info declared in it, especially for multiplayer
Don't know what the number represents but here's what u can do
listening 🫡
Declare int in your bp character, set it to replicate
Call it counter for example
Make a custom function, call it increment counter in bp character
Inside it , just do counter++
Now in your widget, get a text box , the value is, get player character, cast to your bp character, get counter
Also drop a button in the widget
On clicked, get player controller cast to your controller, call increment counter function
That's it
If u get that working, go read the compendium in multiplayer 6 times. Another 20 times if u still don't understand ( with practices )
Btw the custom function, you have to make it server rpc
Hello, I am struggling with a List View UI widget. I have figured out how to populate the entries using an array, but now I need to figure out how to delete a single entry based on a variable passed from a box collider. i.e. Player enters box collider of BLUE object, presses interact button, then the word Blue Object is removed from the listview. I have no idea how to "find" the Blue Object line within the listview so that I can reference it in the Remove Item node. Any help would be amazing!
only thing i didnt really understand what did you mean delare int?
Create variable
Where are these settings ? I can't find them in the packaging section
Read compendium in #multiplayer you will be stuck forever going in blindly.
Here's another important part, covered by the compendium
Only way for client to communicate to server is thru server RPC.
So if u set a variable in a client machine, it will only set it for it self. So you need server rpc to make the client tell the server, hey run this function in your machine
And don't bother doing it in widget, server rpc gets dropped on non owned actor (read ownership) also widget is not replicated
Hence the player controller routing
I appreciate everything you are telling me, i intstantly stated reading when you told me about it 😭