#blueprint
1 messages · Page 190 of 1
mhm are you getting hit multiple times
ive never used the launched event, i assume its only possible to trigger it while youre on the ground or?
oh youve got the false instead of true...
are you sure current velocity is correct?
we usually use this node on characters
then youd just split and get the z value
very strange. try adding this before reversing perhaps? struggling to figure out why itd be doing that assuming that launched is only triggered once
oh i see
you notice it worked on the first couple jumps but when it didnt have enough time between jumps it did that
idk its just constantly blinking
yeah so you need to sort of cancel the current blink and reopen the eyes as it hits a new launch
hmm
why i cant just check every frame if its jumping or not then check if the timeline is playing and if not play the timeline
i tried to do it in event tick
but thats not right as i understood
its just so complicated and i have never used these nodes before
for such a simple thing
im trying
could be this for simplicities sake
it does mean that itll cut to the start where the eyes are fully open whenever you hit a new bouncing thing though
should look natural in the context?
right click add new key
then select the dot and top left is the time and value
Hi, I created a blueprint that makes a chain. Everything is done in the construction script, including adding and configuring the physics constraints. It's almost entirely working, but it seems that no matter what I try, the chain stretches and jumps around.
I want the chain to swing and move when interacted with, but I don't want any stretch in the physics constraints. Any ideas I what I could do to fix this?
@hollow cove
play from start
if you play its playing then when its at the end youre telling it to play but its already finished
the print string is for inputs of the do not = and the output of the do not =. it works properly for every single input until 33.333 and then when both are 33.333 it still is outputting that they do not equal the same. could someone explain why this might be happening?
yep, it works! Thank you Olie.
The sad thing is that i still dont understand the global approach. Now i should implement the biting and i will have to deal with the time line again. Its just another morph target there.
try using nearly equal, this is probably just floats being dumb
are timelines confusing you or? It's just basically event tick for x amount of seconds that you set. it also outputs the float value at that time. so if your timeline is 2 seconds and the float is a linear line from 0 to 1 at 1 second the float value will be 0.5.
yeah
okay i should stop procrastinating, good luck
that worked! i didn't know that node existed, thanks :D
👍
Thank you so much dude
Floats being dumb
AKA floating point error? 😀
How do I remove two of the decimals points on a number like 0.142? So it prints 0.1 instead?
- Why does autocomplete "helpfully" show Equals as an option for this pin type when it's not a valid connection?
- Before I write a dumb hack I shouldn't have to write, is there a "right way" to compare data table row handles?
Like this is just straight-up lying. That action does not take that type.
ToText parameters
- UE5's math nodes suck.
- Not in BP. Just make a bp lib that breaks them and == the datatable and rowname.
you mean ToString , == String is not proper design? 🙃
can you even convert an item row to string? prly not? 😅
String?
I've since realized I'm dumb, my item data tables are static per-level for unrelated reasons so I just need to compare name anyways.
you made me question whether I typed the word correctly for a second there lol
With the power of JSON you can convert damn near anything to a string
Now, whether you SHOULD, that's a different question 😛
But where do strings come in?
Behold!
idk, I thought maybe you can convert the actual row to string format, but haven't really dabbled with DTs that much to see if that's even valid. was half joking
The row itself is just a Name so that's easy. But the problem is the Data Table reference, which is just an object reference.
ah
Which CAN convert to string, but that's one of those things which is simple to do, and also easy to fuck yourself with if you don't understand what that actually means.
But why not just == the datatable pointers?
something that could work.
In theory I could, but there was some pretty complicated searching code I was writing for something else and I realized if I accepted the limitation of one item data table per level, it would get 10x easier to write
and i didn't REALLY have a good reason to preserve the ability to have multiple item data tables per-level. I don't have that many types of items anyways.
Data Assets. 😄
what yall think about my bp?
XD
Part of me thinks you did this on purpose. Took a BP that was already a little fucked and just moved a few nodes to make this rats nest for the meme
Like this stuff in the corner proves you know where the Q key is at least
I mean, it doesn't ALL work. Some of these nodes are for sure connected to nothing.
the majority of the time you will spend programming is reading code not writing it
few times i set up stuff to try and fix issues but then give up temporarly and leave the nodes there
You seem really stuck on this topic.
#blueprint message
so if you make it illegible you're going to have a hard time
idk what i was making was so complicated i couldn't even find a way to make it have a clean readable stucture so i just gave up and let it be a mess
a bit of a excuse tho, i didn't try very hard to organize it
I find it a lot easier to organize as I write rather than try to reorg later
If this isn't the correct forum for my question, can someone point me the right direction? I've been trying to solve this problem for days, read all the articles I can find, official docs, watched every video on physics constraints on youtube...Nothing seems to help, and it only seems to happen when the chain is made with a BP, I can reproduce the same chaing manually in the viewport and it works fine...
I actually kinda do the opposite.
provided it works for you and the end result is not that screenshot they posted, 🤷
Though the exception is like... "assuming a function"? I forget the actual CS term for it. Where you stub a helper function to just move on from that with the larger function, and then implement it later.
yeah ik what you mean, tho I don't really do that
Physics constraints are tricky tbh
When you add them via viewport they start with a lot of sane defaults that you don't get when you create them in code
I dunno if this'll be helpful for you, but here's the code I'm using to attach a newly-created physics constraint to an actor (the end result here is like a sticky spider web which "grabs" an actor when it collides)
The reference position shit in particular is a real "gotcha"
Can someone please help me with something? I want to transfer a vector variable from one BP to another and I am very new to this stuff. I tried it with casting but it doesnt work, it doesnt transfer the vector data. Is there an another way to do this?
To help you, it would require an understanding of what these two actors have in common and the requirements for the transfer. EG getting an actor globally can work, but it's not so great if you just want something to happen when two things are nearby. In general I would recommend sitting through this. https://www.youtube.com/watch?v=EM_HYqQdToE
Announce Post: https://forums.unrealengine.com/showthread.php?101051
This Training Stream takes a look at Blueprint Communication. We find that Unreal Developers of all levels can sometimes struggle through the concepts behind moving data between objects. So in this video we'll take a look at the different ways to make Blueprints talk to one an...
@flat coral I thought that the Constraint Reference Position and Constraint Reference Orientation were set by the Add Physics Constraint Component. Is that incorrect? The Unreal docs don't seem to cover this very well. I'm creating the mesh component, the physics constraint, then setting the constrained components, based on the gizmos, the position and orientation appear to be correct. And you are setting in two frames, which I'm not, but also isn't when configured manually, or am I missing something?
I mean, they're set auatomatically, but from what I found they were not set to sane values.
Let's back up, what's the problem you're running into?
I beat my head against these things for a LONG time to get the results I wanted. You're right about one thing for sure, the docs suck
@flat coral The constraints stretch. The links start out in the correct location, but when gravity kicks in a runtime, the they settle correctly and then the links appear to stretch apart elastically, then snap back, causing the chain to jump.
ToText (float) has settings on it that allow you to specify how many decimal places you want.
The constraints look like this when they're spawned, which looks like what I expect, relative to the meshes:
Why does this keeps crashing my ue5? When initially run there is no problem, but once the value updated triggered, it will crash ue5. This is widget blueprint
What does SetRenderTransformAngle call?
the pointer
Oh, on UWidget, yeah.
Wait, is setting Pointer Angle triggering Value Updated in an infinite loop?
Unlikely to cause a full editor crash.
It supposed to update only when the bind event to value updated is triggered, maybe I did it wrong
because without the bind event to value updated, its not updating the angle when the rpm value is updated
(I'm actually with Authaer on this one, I've gotten actually useful error messages any time I made a loop like that before. It's just the only theory I can think of)
are you sure the actor is valid when you bind to it?
should be getting an accessed None usually but an isValid check wouldn't hurt there
What if you just don't set the pointer angle variable at all? If you separate the SetRenderTransformAngle node into two cases, you can just pipe the pointer angle right in without storing it first
you do appear to be dragging wires across events though, especially function return values, which is a no-no
Do you get any sort of crash log?
Am I correct to say that dividing an uneven int using this node always results in a floored int? i.e. 7 is always 3 and 11 is always 5?
@flat coral
Hey there. I'm trying to get this stamina system to work. When I sprint, the bar goes down, but when the bar is empty I am still able to sprint. Can anyone show me what I'm missing here? Please hold for screenshots
yes.
OK, I lied. I tried this chain and anchor made manually and found that if you're actually paying any attention, the link is clearly jumping around on the anchor (the anchor has no physics sim enabled). The only reason it's not as obvious is because there's only a few links. The more complex the chain, the more noticeable this becomes. But it's always an issue, apparently. So, I've been trying everything I can think of, but the jump/jitter seems to be a constant.
Do you also know why? Why not Round, why Floor? 🤔 I mean 7/2=3,5 is usually 4, no?
because it's an integer, you don't round it.
If you're asking how many times 2 goes into 7 wholly, it's 3
An integer has no concept of a decimal place.
If you wanted to split 163 grams of flour into 40 gram portions, you couldn't invent an extra 37 grams, you'd have 4 portions and 3 grams to go back into the bag.
Crystal, thanks 🙂
np!
try plugging the ongoing into the first branch where you check the stamina
I'm not exactly sure what you're referring to
im having issues with SpawnActor node not seeming to know when it is overlapped. the thing being spawned, and the thing spawning it both have static mesh collision components, and i also gave them collision shapes too, but maybe my settings for those are wrong? what is it that counts as blocking, when spawning?
ohh lol yeah, thank you. let me see what happens
Nothing happens
wdym? Like the sprint doesn't start?
the sprint starts, but when I'm supposed to run out of stamina, the player continues sprinting
I'll have another look at it, but see what happens if you change the triggered to started and keep the ongoing in
Nothing
try having a look at the execution flow while it's running, I think you might not need that first branch as well btw, but that shouldn't be what's causing it
you could also breakpoint it when the sprint stops
oh wait I know what it is
It's because when you set your stamina to 0.0 it still returns it as true
so i would want it to read when the percentage of the stamina is at zero, yeah?
change the check to less than or equal to 0.0 and change the true and false around
no it's just you've used the wrong operator to check the value
because it's clamped to 0.0 it doesn't go any lower, and when you check the stamina value it still returns 0.0 as true because it isn't less than 0.0, it's equal
It still does the same thing
have you tried waiting for a couple more seconds? I think your delays might be causing it
if it's 0.1 it will still go down the sprint path after it takes it off
also it might be worth printing the stamina
I'm not sure I follow
I changed the delay times to 0.1. That just makes the stamina bar deplete faster
How can I print the current amount of stamina?
just do event tick print string and then plug the stamina into the text
Then again if it's a stamina bar you shouldn't need that
have you tried breakpointing it to see if it actually gets called?
when I print the stamina, it shows the value correctly, all the way down to zero
what would I breakpoint?
my apologies, I'm still learning
the setting max walk speed to 100
it's alright. No one fully knows Unreal lol
yeah lol it's confusing. would it be break point int?
no like hover over the node and press f9
then play it and keep sprinting and tell me if it ever goes back to it
I can hop in VC if that would be easier
oh im on a mac
right click on it and press toggle breakpoint
yeah, it also happens any time I stop sprinting
yeah it will do that
breakpoints basically stop the game when a certain node is called
so you can see if it's actually being called or not
can you hop into vc and stream it?
no but I can send a screen recording
it's alright, I was just asking because it might speed things up a bit. What's the last node it goes to on the execution chain when you press this when the breakpoint is called?
I'm not sure if I can press that since I have to click on the viewport in order to control the PC
no i mean when the breakpoint is called it will go back to the graph when it's paused and you can follow the exec chain
It goes to this one first
yeah it will do, what's the last one it goes to?
looks like it goes to this one last
oh yeah you might have to just temporarily move them to the side
the delays?
yeah, what this is showing is what happens each tick so obviously the delay will be the last one in that tick
you can put them back in after
When I break the node links on the delays, it goes in a continuous cycle
just keep doing it
you'd get an error if it was an infinite loop
it's just changing the stamina values at that part
I'm checking to see if at any point it heads back up to the "sprint" branch
so far it hasnt. could it have something to do with this?
I doubt it, your HUD shouldn't be interfering with this from the looks of it
does it go any further
no, it just keep cycling
yeah it's updating the stamina values. What's the max stamina value?
just keep letting it go until it stops and doesn't let you move forward, like how it did when you had the delays in
Has anyone successfully used the 'overlap handling' options for SpawnActor node?
What are the collision settings needed for this to work? Because right now my actors dont seem to be responding to collision shape components.
It just keeps going
what's the value of the stamina now?
because your stamina refills every 0.001 so it might take a few loops
I set the subtract to 1, and the add to 0
@slender dagger I set this up by following a tutorial. Would it help if I sent you the video? It's a 7 minute video
I mean yeah sure
https://youtu.be/DkrQNrE_XEk?si=qSUa1AwavVptEdQD
It seems like other people had the same issue
In this tutorial, we will be learning how to setup a stamina system with sprinting and regen for your Unreal Engine 5 project using simple techniques. Using this method to update the stamina is a lot more optimized compared to creating a binding as the bindings are called very often but using this method your stamina will only be updated when an...
I might be better off just trying a different way altogether?
the only difference I can see is that he isn't using EIA
but it should work with that regardless
just try unhooking the first branch that checks to see if you're not sprinting and then plug the triggered into the second branch
I don't think this will solve it but I want to see if anything actually changes
also you might want to remove the breakpoint before you play
or just disable it
What do you mean by plug the triggered into the second branch?
Oh, sorry yeah I know what you mean
It gives me an infinite loop
oooooh interesting
Oh and the value of the stamina goes straight from 1 to 0
but it doesn't when the is sprinting branch is there?
Nope
But it does keep the value of the stamina at 1 until I plug the delays back in
what happens if you unplug the ongoing and try both with and without it?
@slender dagger I have to go for now so I'll try that when I get back. Can I DM you?
Yeah sure
Thank you!
I’m gonna set this up in a blank project and really mess around with it to see if I can get a closer look
Definitely! Let me know if it's successful for you. I followed the tutorial step by step
I can show how it works for me, its replicated so can be simplified, but principals are the same
anyone know why i dont have this node?
did you follow a tutorial
also what class are you in?
event graph and yeah i did follow a tutorial
no I mean class, like character, pawn, actor, widget etc etc.
but I don't have it either so it's probably something that's set up in the tutorial
Ah okay
Is there a way to keep my player character bp from being deleted when it falls through the map?
that behavior is a setting on the actor, and also on world settings
Sweet, thanks!
its greyed out for me because i have worlds bound checking also disabled which is ...
Can I change the action associated with the world bounds check? Like change it from kill to something different?
no idea, though google found a tutorial on customizing it
Ok, I'll take a look
i take that back, it was just a search result title that sounded like it, but was only a forum post
probably if you set a special damage type, you could then handle when it occurs
That seems to be the way to go, I'll see if I can get that to work. Thanks again!
Howdy folks, I'm trying to access a gameinstance subsystem in an Editor utility widget on pie start - but my subsystem keeps coming back as null. When I use this same logic in an actor BP in the level it works correctly - is there some trick to getting a gameinstance subsystem in a utility widget? I tried delaying the call incase the logic seemed to be loading before the subsystem, but that didn't work either.
Can you change a GameMode dynamically on runtime?
Based on some data stored in the GameInstance, I want to, on Level load, change the GameMode to that particular level.
Say for example, you have options in the main menu, "Last one standing" and "Deathmatch". I would like to change the assigned GameMode based on the player's choice.
Edit: Or do I have to create duplicates of the level and each one have its own GameMode?
No, it’s tied to the level afaik
But what it sounds like is you just didn’t set that particular level to the correct game mode to begin with
But if it’s the same map maybe you can somehow do it through cpp?
Not bp anyways
Apparently you can do something like this, but uff...
neat
Okay, yeah, that is definetly the way to do it. It is sketchy, but with some good organization and proper setup/architecture, it could work neatly.
Awesome
@steel star What sunlight intensity would you use?
The range is large, from 10 to 120K.
id say default, if not already. then see if adjusting it even accomplishes what you want.
What could I use to create effect of a circular progress ''animation''. Material, Animation with timeline? I would want to call to this thing with event dispatcher and update it's progress. Could I put it on a decal? Or maybe Niagara? If anyone has any tutorial that could give me any ideas I would appreciate.
https://youtu.be/BgOAbAdi8f0?si=UNi9mF8gLPSufsw8
Says its 5.0 but its from 2 years ago so its probably lying. Probably doesn't matter though
Check out my inventory system:
🌿https://www.unrealengine.com/marketplace/en-US/product/multiplayer-inventory-drag-drop
I show you how to create a radial progress bar and create a function to easily change the percentage in realtime.
🔷💬Join my discord server https://discord.com/invite/eX3p5q6
00:00 Intro
00:13 Material
05:56 Blueprint - Set P...
Looks good, do you think I could use it on a decal? I want it to be on the ground in world. I will check it out but maybe you already see that it's reusable in more places than widget?
so just based on scrubbing through the video, i see that he has a material for it
Ohh, I think I see and it should work, I will just create material instance on the actor and then call to update the progress, lovely!!
it does look like its not actually textured though, so its like hard edge circles
anyway this has an actual tutorial so do that, if it works
you typed good keywords because I didn't know what to look for, looks like there is a lot of tutorials but I couldnt find them xD thank you a lot!
my search was "unreal engine progress spinner"
https://www.youtube.com/watch?v=Xtk3v3-fFcI&ab_channel=YourSandbox I think this one gonna be fire, it usess texture.
In case You want to support my stuff, please visit my Patreon page:
https://www.patreon.com/YourSandbox
Discord Support - https://discord.gg/J8GHEGVSQA
By the way--how i would personally approach creating a material with some sort of circular animation--is by having a texture with a swirl in its alpha (a radial gradiant) then in the material animate the alpha cutoff, with a fade-in at the edge.
But i see there are some material nodes related to procedurally generating arcs/circles that the first tutorial was using. But that sounds more complex and less useful to me, unless it needs to scale to very large and very small sizes.
figured this out incase anyone is curious, I needed to grab an editor world reference, do a time delay, and then get a game world reference
Yeah would be best if it actually scaled because every actor can have a bit different radius. Also i'm so bad at materials I think I don't understand what you said in previous message 😄 Ill give it a second thought about doing at least 1 tutorial 😄
so going off the default point and click game mode, something I noticed is if you click somewhere that you can't go like off the map, instead it just makes you go where you already are, is there a way to redo that where it will try to find the closest movable location to the place you clicked?
I have an AIController that has a blueprint graph. This AIController is attached to my character blueprint named 'BP_Enemy_Base,' which is a character. How can I get the character reference of BP_Enemy_Base in the blueprint?
If you use On Posseses instead of begin play you get reference to the pawn that owns it and you can cast from there to bp enemy base.
Also make sure to change the class of aicontroller in the bp-enemy class defaults.
You've already done that here?
I just followed this advice, thank you
But, I'm having problem now with my enemies, since they're detecting each other and attacking them. It should only detect the character and not their own
is there like class to ignore for the Sphere trace for objects node?
#gameplay-ai is better for these questions. You’re better off using AI Perception. There’s a pinned video in that channel that talks about Behaviour Trees but it includes a section on AI perception
is there a way to do something at the end of this macros loop similar to executing something on completed for a for loop?
There’s a bAutoRegisterAllPawnsAsSources that needs to be set to false ^
Wait, neo from the unreal forums?
lol yea nevermind, its a 'community hero' and i mistook his name anyway
Yeah, I’m no hero
Its Everynone, not Everyneo lol
Hey so i have a shooting mechanic set up with do once, then a timer that resets the function to fire again semi auto style but ive noticed that for some reason like the gun jams every once in a while?
I feel like if you spam the mouse click too much it gets jammed up
which doesnt feel great
I have two versions of my editor utility blueprint, one that uses Get Asset and one that uses Load Asset to get object references. Both functions are producing null on valid inputs. Has anyone seen this issue before?
A timer will reset the tine again if it's called again before the time expire.
Why not have like a cool down inside the weapon?
The weapon should handle it self if it can fire or not. You can keep clicking and request to fire but the fire only gets executed if conditions are met (not in cool down, not empty, etc)
I have an input asset that gives me a vector 2D. And my player has some states, and I want to use those values differently (or even ignore them) based on those states. Is there a way to do that?
what you want is probably a delay node not a timer
Switch statememt on your enum.
I have that for the different states
But the thing is, say I press A or D (horizontal), it works
If I press WS, it also works
I the case where I press WS, I want it to do something else
Depending on the context (player state)
Shouldn't you get different values when pressing WS
You can check the value and do something accordingly.
For movement, you would probably get something like
0,0 1,0 -1,0 0, 1 and so on
well, holding both opposing keys would negate each other so the axis value would be zero
however hes unlikely to be actually handling input in a blueprint like that
if what you need is the actual key states not some cute vector, bind to the individual buttons as bools, and do all the work yourself
Yeah, if you press a and d at the same time, you wouldn't want your character to move? Or maybe some people do, I dunnoe
will an aic override the owner reference in a spawn actor node. i.e if i set the owner for a spawned actor to be self will it always be overidden by the aic or is there a way around this
Can you link me a resource for this? I’m not familiar
What is aic?
A ai controller
Have you actually checked if it's override? Do a print string on owner
Few questions, main goal is to set my spawns at each of the 4 corners of the produced grid no matter what width and height is give so I could then set up randomized paths from those spawn points to the 'homebase' at the center. I knew I would need help setting up the pathfinding in blueprints, but i had no idea setting up the spawns at te corners would be so difficult. it wasnt as simple as using the 0-1 phase to track what tile was being placed, and does multiple branch statements in blueprints drastically slow down compile times?
Compile times aren't really a concern. Runtime performance could be. That said, banches themselves aren't really so much the problem as what could be being used to determine the logic to branch.
Like a bool connected to a branch is simple as it's almost like you're checking a single bit if it's on or off. If you have a ton of math and calculations that then lead you to a true/false, then all that math could be problematic at runtime, especially if it's done frequently (like on fast timer or on tick) or even hundreds or thousands of times within a single frame.
What you have overall looks fairly simple for your branches.
But, one of the problems you would definitely have is that you're using == with floats.
Floats are notorious for not being accurate.... You're better off using "nearly equal to"
yea i just had to relaunch the editor, everytime i would make changes to the >= checks compiling would take forever, and when i changed the row and column amount the engine pretty much hung up. but it seems to running fine now. but yea with those == checks, even if they arent dead on, the position i was expecting the resulting placement of the spawner was still way off when i used .25 and .75 but .00 and .99 did work for the first and last corners no matter what size i made the grid
is it possible to easily put the engine into 'frame-by-frame' mode? i want to see an animation play out in the game frame by frame for collision purposes to see if it's failing because the mesh is just moving too quickly or something else is the problem (collision detection is based on a repeated event firing traces, not collision of meshes itself)
Breakpoints
For animation idk tho
i've tried that, it really doesn't help since the visuals don't render
this is the best i can get with a 0.015s setup, going even lower on the delay is not helping anything (just above 60fps which is 0.01666 iirc)
that blue line is where it would ideally be hitting, but when the swing gets going, it just goes too fast
i would prefer not to have to swap to a collision-based approach since it's critical code and wouldn't want to spend a week or two on this :\
I think sweep does the collision between points check for you no?
that doesn't change how it's gonna work in the end
only idea i have so far is to keep a history of points every tick and increase the fidelity of the collision check
or some other mathy solution to increase the fidelity
but again, looking for clean and simple if possible
note game is singleplayer, replication is not a factor
Still not sure what the failure is
the blue line is what it should ideally be hitting
it's very inconsistent in actually hitting enemies
that furthest out line of traces should ideally be a circle
not a jagged line
well every line of traces
is my only realistic option to actually just attach a collision to the mesh? coz that's a nightmare for other reasons
:/
Such as?
the collision setup as a whole is completely busted, 3 tons of duct tape doesn't begin to be enough to hold it together
(i was not the one setting it up)
you add a collision to the weapon, the player begins flying 😂
and not in a controlled way
anything other than improving the fidelity of this check is basically weeks of refactoring
There are collision channels
You can make the weapon and player ignore each other
yeah... and there's a lot of code i'd have to change if i added a new one
see above
weeks
A new what ?
a new channel
the existing collision channel that's used would have to get cleaned up
suffice it to say it's set up wrong from the beginning, aight?
character capsule is freaking pawn if that gives u any indication 😂
I mean, refactoring is life, but I can understand not wanting to spend weeks to fix something
Tbh I deal with collision-based issues daily lol
yeah overall it's not too big an issue, the setup is stable, but there are some really whacky edge cases that i'm tackling now
afaik actual collision components do sub-frame checks right
so it should work in theory?
Couldn’t tell you 😅
i mean i don't see collision components just randomly go through walls just cause they go... fast... ish
if they go real fast then yeah, they'll phase right through
but not at the speeds of these animations
Hit detection is iffy at high velocities. Overlap is better if anything
yeah i mean it wouldn't be blocking collisions
not going for ragdolling or anything
aight, guess im strapping in for a fun ride :(
gotta fix up stat scaling and this ahead of combat design 😂
or rather combat tuning
already got a design, just gotta tune in the numbers and the attacks to connect properly
Aquarium of power
Salute, please tell me how to create:
only that part of mesh 1 is visible, which is located inside the volume of mesh 2
I created two materials for meshes and a material for PostProcessVolume
It seemed like it would work, but no, maybe you know another way, or see my mistake
Thank you very much to the enthusiast who responded ✍🏻
Try #materials
Does anyone else have a problem when debugging loops, where if you have a breakpoint inside the loop body, and hit 'continue execution', it does not break on any further loop iterations?
Hitting either of the circle buttons skips the rest of the loop iterations. Can't be just me, surely
Try the right arrow? 🤷♂️
F10 or F11
those only step one node at a time
I wanna run til the breakpoint is hit on the next iteration
that's what breakpoints are for
Or sorry second down arrow
Really? 🙂
responding to the f10 f11 guy 😉
Is there any faster way to get ''values'' from map if I know that the map will only have 1 key all all times, the key may change though or maybe I should just put key to be default 0 and use values since they are mostly what I care about. I guess no.
Actually the last arrow (Alt+Shift+F11) more or less works, so crisis averted
Haven’t had this issue tbh, maybe restart engine for sanity check?
Weird, that’s step out of
it's still a bit weird though, quite different to debugging c++ in vis studio
If there's only ever going to be one entry in the map it sounds like it's not a map you need to be using.
I can't see option to skip until next debug breakdown
Hello everyone! (reposting that message from the #ue5-general )
Recently I started to have issues with my packaged ue5 game.
I send it to several people to test it out, and some of them just couldn't play it because main level wouldn't load. There is a main menu screen with button that just opens certain level. When they press it, they encounter infinite loading screen, and in the task manager the game is 'not responding'.
The logs doesn't show up any errors or any useful information about level loading.
My questions: have anyone encountered the same issue, and if so, how do you solved it? There is any way to troubleshoot issues with level loading?
Thank you in advance for help!
Normally you would just continue execution, because it would then break again when it hits the same breakpoint, because it's in the same loop .... this is not working as it should
Lol, right. I can just set the struct... I feel stupid 😄 thanks!
How are you loading the levels in the menu screen?
I haven't had this specifically, but if I were you, I would put in a bunch of tracewrites, to give you an invesigative lead on where the execution is successfully progressing to, and where it is getting stuck
By 'open level' node
You need to show how your loading the level. The nodes themselves work perfectly fine so we need to see how your using them. (also there's two open level nodes.)
does it freeze during execution of 'OpenLevel' node, or is there more execution of your code after that?
Infinite loading screen…isn’t that a Bethesda “feature”? 😛
Here is the example of the end of the log which was sent to me. I will open bp and show you screenshot
||[2024.06.27-08.25.03:445][ 41]LogEasyMultiSave: Save Game Data removed for: MySaveGame
[2024.06.27-08.25.03:445][ 41]LogGameMode: Display: Match State Changed from InProgress to LeavingMap
[2024.06.27-08.25.03:445][ 41]LogGameState: Match State Changed from InProgress to LeavingMap
[2024.06.27-08.25.03:445][ 41]LogNet: Browse: /Game/Medieval_Environment/Medieval_Houses_Vol2/Maps/MH_02_Demo_Scene_Day??LoadSaveData=false
[2024.06.27-08.25.03:445][ 41]LogTemp: Warning: PreSetupLoadingScreen
[2024.06.27-08.25.03:446][ 41]LogLoad: LoadMap: /Game/Medieval_Environment/Medieval_Houses_Vol2/Maps/MH_02_Demo_Scene_Day??LoadSaveData=false
[2024.06.27-08.25.03:446][ 41]LogWorld: BeginTearingDown for /Game/HorseProject/Levels/TitleScreen
[2024.06.27-08.25.03:446][ 41]LogWorld: UWorld::CleanupWorld for TitleScreen, bSessionEnded=true, bCleanupResources=true
[2024.06.27-08.25.03:486][ 41]LogStreaming: Display: 0.017 ms for processing 1085 objects in RemoveUnreachableObjects(Queued=0, Async=0). Removed 9 (919->910) packages and 68 (2805->2737) public exports.
[2024.06.27-08.25.03:486][ 41]LogAudio: Display: Audio Device unregistered from world 'None'.
[2024.06.27-08.25.03:489][ 41]LogUObjectHash: Compacting FUObjectHashTables data took 0.76ms
[2024.06.27-08.25.03:492][ 41]LogStreaming: Display: FlushAsyncLoading(63): 1 QueuedPackages, 0 AsyncPackages||
The funny thigs is that for some people (including me) everything works fine, but some of them encountering issue. And it happens for both high- and low- end PC setups x)
Do you have ?'s in you're map name?
No..
Here is the evidence x) I think those ?? are just separators for level loading tags
How are you handling loading the level?
Here is the BP code
I just sent BP code below
And people encountering level loading issues in both cases : (
I don't know if these are causing your issue but either way. This circled stuff should be moved before you attempt to load the level. From my understanding, load level is blocking so will stall the game until loaded. As you're not level steaming, the current level will be destroyed when the new one is loaded meaning those two nodes won't get called.
Also, I'd recommend using this open level node instead of using the name one unless there's a reason to need to use a name to specify the level name.
Does it work fine in PIE?
I'm wondering if your levels aren't being packaged.
Other than that, I can only assume there's an issue with the levels not being packaged correctly. (it can happen when you don't use the 'By Object Reference' version. If you need to keep using the by name one, you'll need to check you're package setting to make sure you're map folder is included correctly the relevant maps are packaged.
Yeah, and it works well in packaged game for 50 % of people x)
If levels wouldn't been packaged, then why for some people game works fine?
Oh okay. Then that's not the issue.
Is it a really large level?
Also is the game multiplayer?
This is quite large level and not multiplayer
Could it be that some of your players can't run it or their machines are just taking a long time to load it?
Not responding in the task manager is a red flag though...
Oh I missed this message.
Is it happening 100% of the time for the players that can't load it, or only sometimes?
Yes, always : (
I've done this code according to plugin documentation, but I will try use level reference and shift nodes that way and let you all know if that helps!
It might also be worth adding a few print strings just for the logs. One when the button is clicked. 'Starting World Load' and then in the level BP on begin play just add another one called 'World Loaded'.
It might give you a bit more indication as to what is happening if it continues.
sure! I'll do that, package build and send to my people for testing!
If it still happening it could be a sign that there's something happening in the level (most likely on begin play) that is causing the game to stall. If this is the case, you might need to add some addition print strings in places to see whats happening.
Little update: someone who had that issue with loading just updated the drivers and restarted PC, and after that everything worked (except the fact that level loaded nearly 10+ minutes). Maybe this is techical issue, and there is some kind of bottleneck? But even that seems strange because we both have high-end PCs, and for me game works way better than for her (level is loading up to 5 minutes)
Does anyone know if it's possible to double bind to an event dispatcher with the same event?
Oof, even 5 minutes is a long time. Are you using 8k textures everywhere?
No hahaha But I use large map from marketplace for showcasing assets, and this couldn't turn out to be good x)
macros are neutered for not having local variables
How do I make a thing that checks if an Actor that is hit is the same as the player Actor,
so I can ignore parts of the same vehicle colliding with each other?
Use equal operator
ah ok thanks :3
cool, my car doesn´t crumble in the middle like a soda can no more when i hit a wall head on x3
macros do have local var but they're just different to functions.
Cool
removing features i see 😛
yeah, they have anonymous variables or whatever they're called, but they're not very useful
macros in general are pretty undercooked
How so? You either need a local var or you don't. Also what were you trying to do?
you have to drag the pin allllllll the way over to each place it's used in the graph unlike proper local variables
it helps with perf by not reevaluating expressions each time, but if my main goal was perf for this macro I'd use C++. Primary value of local vars in blueprints is organization
well it still does when another car hits it from the side, don´t worry xD
The primary goal of local vars is storing temp data while you're performing calculations. Local vars in functions reset every times it's executed, macros retain their value so can be used across different calls.
The only thing that stops me using macros more is that children can't use macros created in it's parent.
Does anyone have any idea while my widget is receiving the event dispatcher call twice?
When it's created it binds to the 'OnQuanityUpdated' event dispatcher on my item object. When it's quantity is updated it calls the event dispatcher so the widget can update itself (and trigger an effect) but for some reason the bound event gets called twice.
Edit: I figured it out. I don't unbind the widget when it's removed. :S
EditEdit: I had another widget bound to the same item object that just wasn't visible (uses the widget stacks) so despite having the same name, they were actually different widgets.
I have a weird issue going on, the packaged game would crash on my computer that I used to make the game, but it run fine on my laptop. The laptop specs is from 2018 while the computer have better specs with rtx3060
i need help with ue4
That ain't a lot to go from
sorry g
so i have a overlap event
it says does not have valid matching component
Sounds like the overlap was an event for a specific component, which has since been removed
You want to either add the component or use a generic on actor begin overlap
need a screenshot
Yeah, go post your screen shoot @austere mirage ?
Is it ok to call events like that? Because right now it doesn't work. I basically need a delay after setting it to false, so it waits 5 seconds, and after 5 seconds start neutralizing point (each 0.5s) but nothing is happening?
hey everyone I'm trying to make a box collision activate if user presses a button, how can I achieve that? For example there is a box collision on BP already but I want it to be OnComponentOverlap only if user presses a certain key
remember that calling Set Time before the timer expired will reset the time
so if you keep triggering that Set Timer before 5 seconds elapsed, it will never be called.
read the warning (and post it if you want to ask about it)
whats a matching component
post the error log
you are still cropping tho
the warning message is at the bottom of the blueprint window
Yeah, it was the issue. I didn't notice the other event was still calling it, I needed to call Capture Point once (that is what I though I was doing), but I forget to disable other event that was triggering it each 0.5s. Thanks
does snip prevents you to post an entire screen?
not fammiliar with the software
im using ue4
so what
it's really hard to see what's where when you crop like this
anyway you don't have a matching component for that overlap event
reason could be that you either delete the component that trigger that event, or you copy paste that from somewhere else.
in my case what triggered the event
See here, there is no BulletCol
its from a diffrent actor
you can't copy paste the event like that from another actor
hence the error
handle the event collision in what ever actor the component lives.
i dont want to apply damage to my bullet actor
then don't, but I want to take this into the context of what the problem is
You are calling event overlap on component that does not exist in the actor you paste the node in
yes
hence the error because there is no matching component for the overlap event you pasted
hi there how can i properly hide a character for some time ?
Set Actor hidden in game or you can Set the vissibility
the hierarchy is too complicated to do "hide in game"
your not speaking the english langunes
what's complicated about it?
do you want to hide just some component or do you want to hide the entire actor?
you can propagate the change to childrens
no the entier actor
wdym sorry
oh ok thanks
in the game view only tho
thanks a lot that's what i was missing
hey everyone I'm trying to disable/enable collision when user presses key. I've tried to do something like this but for some reaon it doesn't deactivate at all. What I'm trying to do is disable the collision of Capsule collision if player is not pressing a specific key. And activate the collision once pressed the key until released.
@sweet silo you can also do this
but ti's only the capsule right ?
Check the option at the bottom where it says Propagate to Children
oh awesome
Is there any option to modify Data Table values in blueprints?
any idea why this wouldn't work in game?
if u want to hide it, make it true
check the vissibility settings
for the component to be visible, it has to not be hidden in game and it also need to be Visible
during play in editor, you can eject from your controller, select the target actor, select it's component then check it's vissibility value.
ok thanks ah ok didn 't know that
I don't think so, but it's a pure guess. My only experience is changing value of Data Assets in editor, and that one is still possible in blueprint
You mean editor time anyway right? You are not suppose to change DT in run time
they are read-only
Eh i want to create some sort of data with game state values. And the problem is that i need a lot of variables in this so arrays is so slow and laggy if i have 10.000 + , data tables is a lot faster so i choose it
and the problem is i cant modify it xD
or at least I don't know how yet
@storm stream I would totally do the heavy operation in cpp 😅
Blueprint and large data don't go hand in hand
You can edit data tables at runtime and “refresh” them but it’s really just not a great idea and doesn’t work well. DT are really suppose to be you set them in the editor and read from them
But yeah with that much data of course blueprint is choking haha 😂
Yeah you can, I actually remember doing it by getting the row handle
But that's still in cpp land
true
search through array in cpp with a lot of variables is only option?
yeah I’ve seen a pack do it but again even in that pack it’s meh
Looping thru array in bp that large is recipe for disaster but I never try it my self
@lofty rapids did tho
And it's 200x faster
i tested it and for 10.000 + has mini-lag
Yeah CPP is generally better for number crunching
(blueprints) xd
Hence the whole use blueprint for what it’s good at and CPP for what it’s good at
so its time to learn some cpp
I would say you are dipping your toes to what blueprint is weak at
You should tbh, even knowing some basic will give you advantage
I just started learning my self
But I could do what blueprint can't, there's just soo many feature not available in bp.
You can chose to use blueprint for the most part and cpp just for the part that you need.
i know some basic stuff so create a event with searching through array should be relative easy for me and expose it for BP but still i prefer only blueprints 😄
Sure, personally tho. My old game is pure bp. I'm not doing that anymore ever again.
sorry @frosty heron for not coparayed i fixed it
hey guys i need some help with linetracing
i need to trace faster
im "unpausing/pausing" on anim montage notifier
but 0,001 isent working or i need it to be faster
what are my options ?
@steady night you can't trace faster than your FPS, already give you the option yesterday. Trace Backwards
Trace along the path instead of at the path segments.
this is one of the way
so basicly 1 trace along the whole path instead
Not quite.
hmm
Like what Cold posted.
hmm
You can use sockets imo
When you trace, you also want to trace to the last frame position
It ends up being more like the green line than the red ones.
hmm
This is also costly though too. So decide if you really want this kind of precision. 90% of games just use a set hit area.
so basicly save previous trace and trace between that and new
yeah i mean i could just increase the radius of the sphers that would "solve it" but would be fun se it near perfect
With the way you doing it, it's not gonna work on low fps machine
My old game use the same system, everytime I lag, the enemy just dodge my slash
hm
Just do as authaer illustrate
hmm
trying to
how would i trace like that :/
traceing from endpoint to end point instead basicly ?
From the visual that I see, it's as simple as tracing back to last frame location
I would use sockets that live in the weapon
You just build on top of what you have
Implement the backward trace
To compensate for the gap that is left
What is emf
Also try to grab pen and paper , that usually help formulating what you need
You can translate what you want in plain English to codes/logic
Equipment for measure Elektro magnetic phenomena
When you are closer to ghost emf equipment start light more and more
Event tick, if distance to actor < range
EMFvalue = EMFvalue + (value per second * delta second)
And just subtract if you want the opposite effect when ghost far away
I can't hack it for you, a gacha game I'm playing is pumping new character
oh since i store it as a local variable it dosent get saved for the next instance right :/?
xD
gues its enough
could lower the "end point and increase radius to make it get the holes inbetween
the first one tho hmm
since it being set the 2nd trace its tracing towards the lateast position how would i clear that :/
For me it’s working but I have problem it’s not in real time I have in details default where is Update EMFLevel max detection actor and emf level but I need make it in real time the light changing by how far is the actor
Hello! I got this matching system which works great, after I do a move it checks for matches by firing a custom event, and removes those etc.
However when (like at the end of the video) if the new gems fall in the place that it instantly creates a match it should also fire that event.
So in summary: What is a good way to check if the board is still/in idle position or however you want to call it. I tried the velocity on z axis, but it seems fidgety, also because of small movement glitches that are happening when rotating the gems (you can see it ever so slighty compress and bounce)
Maybe I should not use actual gravity is now my thought and simulate it by moving gems down till they hit something etc, but then again I like the fluidness of how the new gems are added now 😅
So yea I'm torn, any suggestion would be appreciated 🙂
now that is very confusing. Why one on a phone and the other on the pc 😄
I don’t need in details update EMFleve I need to make automated by how far is the actor
How to make the update emflevel set automatic real time ?
for me a diagonal sphere trace worked fine, i have the sword, the tip, and a trace from the tip to the next frames bottom vector
I tried that too with a do once to make sure there’s no chance of retriggering the delay and the firing is still not consistent if you click too fast it jams
This is inside the actual weapon blueprint and the mouse click just calls that weapons fire event
you don't really want delay node for gameplay context , especially for firing weapon
Hey everyone,
I am having an issue with a Mechanic of mine, where the Player spawns an Enemy which runs away from you. If I place the Enemy in the Level, it works but if I spawn it infront of me by pressing R, it wont more at all. Does anyone know why?
What do you mean by won't work?
The Enemy first freezes
It won't spawn or it won't have behaviours?
The animation works and it spawns
Placed in level usually creates an AI controller for it. SpawnActor does not create an AI Controller. So make the R do SpawnAIFromClass.
Its stuck in place as if there was noo nav mesh
I think I used SpawnAIFromClass
That is usually the main issue with spawning an AI vs dropping it in the map, is that a few spawn methods don't create AIControllers. 🤷♂️
Could try projecting it's spawn location to the navmesh if you're not.
But I'd double check that it's getting a controller.
I have a feeling that the Event might be the problem
I am using a BeginPlay Node
The placed ones react but the ones I spawn after starting the Game freeze
Maybe the ones react to the event that are actually there when it starts?
Are you using BTs? Or what is the enemy logic running on?
Sorry I dont really know much abt UE Blueprints. Can you specify what you mean by BT?
This is the Blueprint Setup which I have followed
This spawns the ai infront of the Player
BT = Behavior Tree
Yeah. So beginplay is the issue here because this character won't have a controller at beginplay when spawned into a level that has already began play.
The reason being...
Place actor on the map:
Map loads pawn
initialization creates controller
Beginplay runs at some point later.
Created after beginplay:
Character is spawned.
Beginplay runs on character.
Controller is spawned
Controller possesses character.
Is there a Event Node that gets the Blueprint to run when it gets spawned/placed in the World while it plays?
Beginplay.
In reality though. You probably want to call this chase logic in the... Possessed? event
I don't remember the name specifically. But there's an event that'll run when the pawn has been possessed and it's controller is valid.
is there a math formula or node for getting the angle a character hits something at
Hit results have an "impact normal" which is a normalized vector. You'd be able to compare that with other vectors (like the actor forward vector, Up vector, Right vector) to get an understanding of the angle.
That does help a lot I did not realize one of the 50k hit results was for impact normal lmao
I can get it from here, thank you 👍
Hello, can someone please tell me why this only loops for 3 times instead of 5?
Any advice to create a overlay like this?
Unsure which overlay you mean exactly? The green areas?
Yes, I don't know how to name it
- Index zero
- You have 5 children. You remove one and have four
- Index one
- You have 4 children. You remove one and have three.
- Index two
- You have 3 children and remove one and have two.
- Index three
- Invalid to run, you only have two widgets
TLDR: Remove things by iterating over the array backwards instead of forwards.
An a update about loading levels: I tried both your suggestions and they do not seem to work : ( I think now that this is an optimization problem, so I tried to use World Partition and load only part of the landscape. And this doesn't work too: loading times are still too slow...
That's not correct tho, I am always removing the first child
Even if I use a For Each Loop and remove child by reference it doesn't work
It is correct, and yes, you are.
how big is the size map for the level?
The code works perfectly fine if I just replace getchildrencount by 5
And the code works in C++ as well ..
Because you're misunderstanding the logic of the foreach loop. Look at it internally.
Every loop it'll check the input. Every loop it'll check how big the array of children is. Every loop that gets smaller.
Wait it does that in BP?
Do remember that those are macros, not functions.
It checks input every run?
3.8 GB... I guess that's a lot? : |
It does. This is why I frequently throw a tantrum about Epic not making array output function automatically impure.
Huh well that is really weird and makes a lot of sense xD
Any idea where I can look at the code for the foreach loop? I am not very experienced with BPs and just use them for simple stuff
That's great, thanks a lot for your help! :)
To load in one go, I'd say so. How long is it taking to load?
Do I really need to make a macro just to get a reference? Surely there's an easier way to do this
What do you mean to get a ref? Most softclass inputs allow you to specify it right on the function.
1 and half minutes if I use World Partition. But on map with WP size map says "at least 700 MB"
For the slow loaders, are they running off an HDD or SSD?
I've asked them just now. But I myself ran the game on HDD and wasn't the one who got game loading more than 5 minutes (when some of them waited nearly half of an hour 😶 )
Yet the test I just made was on SSD (with 1.5 minutes)
I still feel that's too long. Do you have anything happen when the level loads?
3.8 gb sizemap is a little brutal too for a map.
Feeling an 8k texture overload there.
I'm also hoping you mean that is sizemap and not the UMap itself file.
Of course! I use Virtual texture for map, and all the textures are no bigger than 2k. But the map is nearly 6x6 km..
A fully populated with assets 6x6km?
Not quite. Most part is just big mountains that serve as world border. Yet there is some foliage on the main part of the map + some buildings
I know that using map from marketplace was a bad idea x)
can you show a picture? It might be that you need to dig heavily into level partitioning or level streaming but as Authaer said, you'd probably need to profile to be sure.
Would need a profile to wager what the issue is, honestly. I mean that's a good sized sizemap. But 3.6 gigs shouldn't take over a minute on an SSD.
And yeah. Level streaming is a necessity for any map of that size. It's hugely wasteful to keep that much resident when the player is like minutes travel time away.
I see than I potentionally can just cut out some parts of the landscape, but I'm already tried to use world partition and loading only small chunks. Yet 1.5 minutes to load...
IMO I would just run an insights profile. See what is taking that long during the load.
Cook game. Open Insights. Open game. Load map. Close game.
Sounds reasonable! I'll try that
I need to learn the new unreal insights. I went to use the old method a few weeks back and it wasn't there. lol.
hello, has anyone made a dialogue system within ue5 and would be able to help a very confused person 😂
Anyone able to explain what causes this "static" effect on this mesh? Closest I can find is that it's fixed by switching to non-virtual Shadow Maps, but it sounds like that's also going to lose me some performance. I can't figure out how to fix it so it doesn't mess up in the Virtual Shadow Map.
I guess on the same topic... Are Virtual Shadow Maps even what we want to be using at this point? Or am I grieving my future self by disabling them?
This texture is from the Medieval Dungeon project on the Marketplace.
Trouble come out of where no one expected: from the RecastNavMesh...
It's generation set to Static and GenerateNavigationOnlyAroundNavigationInvokers is checked.
Yeah.. we had some issues with early navmesh gen on Red Solstice 2 that Kaos had to fix. Kinda weird that it would cost that much unless you have a ton of invokers though. AFAIK we don't use invokers, just a dynamic nav mesh.
So how do you solved that problem? Because now I have no ideas at all...
Nav invokers I've known to be pretty bad overall.
I think they changed them a little in 5.4
But previously I believe the advice was not to use them, instead preferring nav mesh streaming.
Hmmm... So basically I need to cut one big navmesh into small chunks and then load/unload them when it's convenient?
Well I want a macro to output a soft class ref depending on it's input. This is the easiest way to get a soft class ref that I've found so far.
I have no idea how it works with level partition actually, we haven't been able to switch to WP yet
I would have thought that it would be a considered feature in WP, breaking up the navmesh
Ask in #gameplay-ai maybe?
If I call Get Owning Pawn from HUD, will I get the Pawn that got Possesed by Player Contoller that owns that HUD when player joined game?
anyone know a solution to remove "Preview" from the shadows casted from lights
beside setting the lights to moveable
I just had to change this omg
im having a lot of trouble with an ai anim blueprint
hey guys, what am I doing wrong with this ? My intention is that a progress bar (skill image) changes based on a switch. The switch is fine but the texture is never displayed
It's there until you bake the lighting.
You can actually modify the engine material that prints that preview text, though.
1s
Or wait, maybe this suffices:
Hi, If you want to remove the preview watermark when you are in the editor view as you are working this can be easily done. Simply click on the Show tab in the viewport - go to Visualize and untick the Preview Shadow Indicator option.
yea i did that but when you play the game it shows in the render. ill try baking it and see if that does anything
Yeah, it's a feature and it fixed my problem! There is one checkbox in navmesh that should be checked for that to work.
ah awesome
I changed the GameState from predefined GameStateBase to Custom GameState. Now my Input and Camera Setup is resettet. So far I didnt change anything at GameState and it was the predefined Class. Any Idea what happens here?
ok if I changed parent class to gamestatebase it works again. does this have any impact?
Any idea what am I doing wrong? i want my player character (Im using MotionMatching template) to be teleported when entering the trigger area, but it doesn't do anything
It's just the trigger that seems to not work, cause the teleport function, when connected to "On game begin" teleports me straight away, and idk why
You are in level blueprint.
Check if teleporter have valid collision that can overlap with your character
If you do it on Game Begin then it teleport your straight away, what don't you understand on that bit?
It literary translate to, when game start, teleport me to this X location.
I suggest to read and understand what you are actually dropping to the blueprint graph
I assure you, it has, i even made it bigger but it makes no difference. I made a simple trigger volume, that's what's being referenced in the level blue print
What I mean by valid, is not only the collision exist but it has valid setting to overlap your character.
Post your collision settings for both the character and the trigger.
Oke, one second :D
That's my trigger
And that's my character
I see, none of the overlap is selected. I'll try doing that first.
Nope, that didn't help sadly.
@onyx cypress select the brush component of the trigger volume and go to the collision setting
You also have no overlap set at all
can someone explain why this is only outputting true when there is a actor placed exactly at the box pos?
I've set them to overlap but it made no difference, is there something wrong with my brush component in that case?
From your teleporter , print string, check the other actor and overlapped actor
Because your box extent is the scale of the actor. So likely 1,1,1 unless you've manually scaled it up.
Blueprint question on what the best way to do a thing is.
Say I have an Array of Strings and a Map of Structs.
I want to create an Array of Structs, where the String->Struct.
What is the best way to iterate through that and do it in BP?
yeah i want it to go off when there is anything inside the actor
which it is a 1x1x1 cube usually
Well the scale of an actor is by default 1,1,1, which means it's only creating an overlap box 1cm by 1cm by 1cm. So it's VERY small. If you want it to be same size as your actor you should get actor bounds, not the scale.
oh ok
@onyx cypress I'm gonna assumed you want to collide with the character collision comp, is the setting you showed comes from the capsule comp?
If you want, you can do a "draw debug box" and plug in the same parameters to visualize where it's at. Should help. @abstract pebble
It feels like the best pattern is a ForEach loop, do a Map.Find operation, then branch and append if found.
You want like an ID that points to a struct?
Yep
I manged to find the capsule component, turned on all collision on overlap and im falling through the map, which means that is the correct one, now I just gotta figure out with box is responsible for trigger volumes...
@signal bane Personally I wouldn't use a map. They're kind of annoying to work with. I'd just make another struct with an ID and the struct variables. Then loop through an array of that and check if the ID = the one you're looking for. If so, do what you want to do.
Your trigger is set to world dynamic so your capsule needs to overlap the type.
And the trigger needs to overlap pawn
I would prob make a custom collision channel for the trigger
.
Map is great when you need a pair of keys and vslue
The Map is a temporary structure. It'll be replaced with a custom more complex structure that handles fallbacks for unfound items
I think I'm probably prematurely optimizing for a thing I'll upgrade away from anyways
My Character overlaps world dynamic and my trigger overlaps pawn, yet there is still no reaction :/
By character you mean the capsule component?
Yes
As you see, worldDynamic is set to overlap
Ye idk, its almost 4AM so imma try stuff if you respond tmrw, thx for the help tho! ^ ^
getting the bounds fixed it thanks ☺️
I suggest not using a level blueprint and create your own BP_TriggerVolume
drop the teleport and overlap logic inside BP_TriggerVolume and check the collision setting again to make sure it is set to overlap pawn
The level blueprint is 90% of the time a bad practice usually taught in lazy youtube videos.
Legit where I got the idea to begin with from 
I'll try this now, im not sleeping yet
There's a time and a place for it, but it's almost always better to build specific actors that you can reuse all over the place.
I make that as an actor, I assume?
A BP_Teleporter would be a really useful actor you could build that can have a bunch of variables exposed, like a connecting bp teleporter, or an exit vector location, etc. Then you can reuse that actor in multiple levels without having to recode it each time, for each teleporter.
Yep. Just a generic actor base class is great.
Yup, actor is the base for anything that have transform in the world.
Hey guys, UE5 noob here.
I'm struggling with accessing things from different places, I've watched some Blueprint Communication videos etc but it hasn't clicked yet and I'm spending more time trying to work out how to access a thing from x to use in y than actually learning my way "in general" around the engine.
I've found a couple of static/global variable assets on the marketplace which look like they would fix my current problem (until i can learn more about it and understand a bit more) and allow me to play around and actually build things, but I don't know enough to know whether they are problematic, cause performance issues or teach bad habits etc.
I was wondering if I could get some opinions from more experienced users on their thoughts on using these assets? I can link if required but they are called "Variable Access Library" and "TMG Global Variables" on the marketplace and say they allow you to easily access things from anywhere using soft references.
Apologies for the wall of text.
Cheers.
Marketplace not gonna help you understand the basic of blueprint communication, you are in total hopium mode. The only thing you shoul do is to learn it until you understand it.
I wouldn't recommend the plugins/assets you're considering until you fully understand how the basics of blueprint communication works or, as you mentioned, you'll be learning some bad habits.
not knowing the basic, even if you buy plugins, you will still don't understand how to work around your problem
Are you struggling to understand variables or just references in general and how to communicate between two actors?
Well I figured it would at least let me get access ot the things to build some stuff and play around, as right now I'm strugglign with even getting hold of the thing I need.
But I appreciate I will need to learn/understand BP Comms eventually
it is neccessary
I'm not very visual, so BPs are a stuggle anyway and just right now I'm stuck on getting hold of the thing I need to do the thing, so thought they might help for now as I learn.
I teach an Unreal Engine summer camp to teenagers. Maybe I could help you get on your feet. Can I DM you?
How do I "Drop" it inside of the BP_Trigger?
Does your BP_Trigger have a box collision component?
you just write it again
Aight I think I know what you guys want me to do, gimme a sec
Add a Trigger Volume in your BP_Trigger
Select it , look at detail panel. Go all the way down and select the one that says OnBeginOverlap and hit the + button
Hey @glossy cloak (love your devlogs btw) - I'm coming from languages/engines that allow easy use of global variables, where as UE seems to frown upon them so I'm struggling to get my head around where to store things I need global access to.
I've read I should use the Game Instance or Game Mode but that didn't seem to work and I still had issues getting a hold of the things I wanted to access.
As I said I'm new to BPs and visual programming isn't my strong point, I prefer to code (though never C++) so I think my issue is a bit of everything, hence wondering if those assets would give me easy access to things and let me get on experimenting to build stuff without getting bogged down in syntax (right now)
Yeah sure you can DM me, no problem
Also apologies if peopel were in conversation here and I just stumbled into it.
No problem! I just didn't want to flood the channel with back and forth. I'll DM you now. I think you're probably pretty close to your "ah hah!" moment.
Global variables are evil
Yeah that makes sense re: flooding. Appreciate the DM!
So I've read since learning UE5 @frosty heron , but never had an issue with them elsehwhere as long as they're used properly.
it's not just UE, if you go to learncpp.com it will mention why global variable is evil
It's all just new and super frustrating, what would be one line of code is hidden behind multiple nodes and tickboxes and thats not how my brains works too well.
GameInstance lives throughout when you first start the game and when you close the game
Game mode is per level
Yeah I've been trying to store references in Game Instance, but still had issues.
I don't know enough to know why, so it's just got suuuper frustrating and I thought if those assets could tide me over that and make accessing things easier I could get on and experiment and come back to the whole comms thing.
Yeah. I came from RPG Maker and an engine called Stencyl before Unreal so I was also expecting some global variables.
I agree it's not ideal - but for now to get over this hump...
You learn blueprint communication...
there is no shortcut man, it's not easy for me when I start too
watch it over and over, practice, fail, watch again
then it will click one day
So, I crated BP_Trigger, added box collision to it, selected box collision, added "Begin overlap'' node, now I have a question - How do I get my "teleporter location" object here? cause It doesn't let me drop it, and if i set the coordinates it doesn't do anything.
right click on empty space, type self
self reffer to the object you are in, so in this case the instance of the BP_Trigger
or simply right click and type GetActorLocation
the target defaulted to self
See that's what I wanted to do, as in my original level blueprint, but it doesn't let me select or reference an object in the scene
I have it selected but it isn't here
you are not supposed to use level blueprint. That @ss should be avoided at all cost for gameplay related stuff
You already got it
I am not using level blueprint
But how does that know where to teleport me?
where do you want to teleport?
you are the one writing the code, you decide where to teleport the character
To either this location, or this very object
But as i've said, it doesn't let me reference it in the BP_trigger
So how would you go about that then?
You were using level blueprint earlier which has no place at all for gameplay logic.
It's not reusable and the communication only goes one way.
So now, you need reference to the instance of what ever you are trying to teleport to
Oh!
Create a variable in your BP_Trigger. Call it ActorToTeleportTo
set the type to Actor Object reference
I teleported me to 0.0.0, so it works!
Make it instance editable and expose on spawn
yes, you can pass in any coordinate, why wouldn't it work
but if you want to teleport to the actor that you showed in the pic, then you need to pass the reference of that actor to your BP_Trigger
by doing
#blueprint message
watch blueprint communication video when you can
Will do!
@onyx cypress you will still have issue too btw, right now anything that overlap the trigger will teleport the player character to some coordinate
even your enemies, or a box falling
because you didn't do any check,
you simply say, whenever my trigger overlap, teleport my player
so what you need to do here is , from theOtherActor blue pin, drag it and type cast to your bp player character.
On the top pin (succsess) hook your teleport logic
this way, the teleport will teleport the player character only when he is the one that overlap with the trigger
hello
I can't seem to find this in the Variable Type
Type only actor
im trying to create a camera that looks around by drag-right click. the blueprints are from the playercontroller and pawn, but im not sure if thats how you're supposed to use them. so far, if i test it, it works, but its extremely choppy and not nice to look at, i think the blueprint is inefficient. what changes should i make?
and which one is it?
@frosty heron Tbh I almost never create a variable of type actor manually, I always get the ref and then promote to variable from there or the subsequent cast
First one from the Actor arrow
Alright, I assume I do "Set" and then what?
I think it’s best for you to watch the pinned video on bp communications here
It’s a bit long but worth every minute
I will watch it tmrw, its currently 4AM so i just wanna get this done and go to sleep, im sorry if I ask too many questions
You’re not, that’s just genuine advice so you can actually understand how it all works when you’re doing bp comms. Much better than stumbling in the dark imo
I promise I will watch it, first thing i do when i wake up :D
in this case, the trigger needs to hold an actor reference to teleport the character to
my understand is it wants a trigger volume that paired up with an actor in a level
Correct
but yea deffinitly dont roam in the dark
Matthew wadstein videos are good to walk you through with useful node
he also does blueprint coms video
It’s also a good idea to let your brain rest, tho I can understand wanting to get something done
Ah, doing direct pairing to an actor eh
Fine, you guys are right, imma take a break and watch that vid tmrw
thanks for help both of you :D
I dunno if this is best handled with enhanced input or with the actual BP but how would you take the 2D vector for a gamepad input to lock it into different angles? like between -45 and 45, assume it's up and so on?
Maybe deadzones?
no, this basically avoids small inputs past a value but if the player toggles an angle of 50 for instance, it will record it as up and right
I mean enhanced input will give you a certain axis value so you can prly just clamp that
I have a paper character , but the root component is still the capsule, so my question is: how can I fit it perfectly into the sprite?
in the end I used old reliable: the dot product
if abs(y) >=0.7, assume it is up or down. Then check if Y is positive or not. Otherwise do same with X
so trying to get to know materials better and have created a simple pulse material which i apply to a plane and i'm curious if there is a way to control when a material like this "activates" so to speak. or would a better off creating something in a particle effect for better control.
You can modify the capsule width and height. worst case, use the original capsule as a movement base and make a new capsule on top to handle collisions.
@iron delta look up material dynamic instance and how to convert your variables to param
use a lerp between a static and a pulse and set the alpha either using a MPC or dynamic mat inst
thank you, i'll have a look now.
you meant something like that?
Seems a tad overkill here but why not
when you say static and pulse what do you mean exactly sorry? like one material that's static and with material with the pulse?
is this what your talking about?
Ello. Qustn. How do i fix char phasing through a horizontally moving platform?
UE is so bad with this, holy cow.
is that for me? if so just forgot to put the image. apologies wasn't trying to be rude. also I'm just checking because I already am using them my terminology is just not so great. I'm just not sure what I should be tweaking to get the effect I want. not sure if its possible but i want the material to begin its pulse when the MI is created and it seems to pulse somewhat unpredictably.
No need to apologize, just a reminder some people have discord on their phones so it can quickly become spammy 😀
yeah good point that would be annoying.
easy as that i believe
I think you’re missing the point
No, not really.
there never will be "perfect" amount of notifications 🙂
So it doesn’t work well if you just create the material like that to begin with?
I think what Zanet was suggesting was switching materials dynamically from the static version to the pulse
Which is done using the dynamic mat instance
If your current material is already an MI, then you might not even need to set the material again, just the dynamic mat nodes should suffice, but iirc that’s only if you’re changing parameters on the current one
yeah, its probably just the material is not very well set up. i am using an MI. it seems to start half way through the pulse as shown above. other times it pulse through through perfectly. I'm super green at materials so my brain is a bit frazzled at this point. as i said earlier I'm not sure if i am going about this the right way,
Ah you’re saying the pulse doesn’t originate in the same place each time?
more it has a different pulse effect every time and i want to activate more like this. i know its only a subtle difference but it really bugs me haha
three smooth bursts
I see. I’m not the best at #materials but you could try posting this video and a screenshot of your mat bp in there and see if anyone knows how to make it consistent
Ahh i didn't see that there. new to the group, thank you i'll post there and see if anyone can help enlighten me. thank you!
Presuming that you're using time to animate that. If so, when you set this. Set a float from GameTimeSeconds. Use that to negate from the Time node in the material, so that it always starts at zero.
Ahh okay. I am. Thank you! I will give this a go now.
If I wanted to set-up an aiming/melee system very similar to classic RE2/SH1, what would be the best way to approach this with tank controls? I'm extremely new to making custom blueprints and haven't found anything similar to what I'm looking for online
A and D to rotate the capsule component
W to move forward in the actor forward direction
I don't think I understood as well as I thought, is this what you meant?
i already got the movement set up, works like a charm but im looking on how to learn to setup the combat system of it
Right click to make the character to aim and just line trace for the shooting part
it's gonna shoot the projectile forward depending on the actor rotation
or if you want to setup some auto aim like in Resident Evil,
When aiming -> If there is valid target -> Interpolate rotation towards target
ooooh gotcha, thank you! def going to need to deconstruct what you said by myself for a bit so i can understand it haha but i think i got the general basis of it
Question, how do you activate and emitter back once it's deactivated. I have my player where if its hanging, I want the particles to deactivate and when it returns back to wall sliding, the particles activates again. Tq o/
I got the deactivate part down, but im not able to get it to reactivate again.
It looks right according to this too https://forums.unrealengine.com/t/can-i-make-the-time-node-in-material-start-not-at-the-begin-of-the-game/388518/2
You can add a scalar parameter to your material and subtract the value of this scalar parameter from the Time’s value. You can set this scalar parameter outside when some event is triggered or something else happened. Ignore Pause means that time will continue running even if the game is paused. For example: Here on impact event bluepri...
Only thing I could think of if it’s not working properly is maybe that clamp node you have right after. I couldn’t see what it was clamped to in #materials message , the resolution was a bit low clamped between 0 and 2.5 from what I can see now that discord decided to download the higher res.
Are you able to right click watch value in a mat bp? I haven’t tried
correct, just something left in from the tutorial i watched. i actually was looking at that same page. i tried and didnt see the option. i'll keep playing. i did get consitently running just not how i wanted so i suspect its something in the material itself not playing nice.
all axis mappings are working besides these four anyone know why?
scale is the same?
.5 .5 ?
Hello! I got this matching system which works great, after I do a move it checks for matches by firing a custom event, and removes those etc.
However when (like at the end of the video) if the new gems fall in the place that it instantly creates a match it should also fire that event.
So in summary: What is a good way to check if the board is still/in idle position or however you want to call it. I tried the velocity on z axis, but it seems fidgety, also because of small movement glitches that are happening when rotating the gems (you can see it ever so slighty compress and bounce)
Maybe I should not use actual gravity is now my thought and simulate it by moving gems down till they hit something etc, but then again I like the fluidness of how the new gems are added now 😅
So yea I'm torn, any suggestion would be appreciated 🙂
dont do graveety, ue graveety bad
use timelines and math for moving sttuff around
(its still stinking bad, but its better than gravity)
I'm trying to apply an impulse to physics objects that hit my character in the opposite direction to the direction of travel with half the strength of the force of the impact (to stop physics actors bouncing weightlessly off my character and give them a more realistic weight). Anyone know the best way to accomplish this? So far I've tried:
- Other actor's velocity (normalised) * -1 * 2 (impulse location), 1000 (opposing force)
- Hit Normal -> Mirror vector * 1000 (opposing force, hit location -> impulse location
Both using the Add Impulse at Location node to apply the opposing force. Neither of these had the desired effect.
what happens?