#blueprint
1 messages · Page 330 of 1
Ok how do I use it?
open the bpw_colorpicker and do something like that
up to you
and you can add it into other widgets
ok i added an event dispatcher
you should be able to add an event
For the Material what goes into the texture sample?
huh
It got lost when I put it into my project
thanks
The reference probably broke due to how they work internally.
true
is this right?
they lost there settings so I am trying to put them in the right spot
yea
wait no
the texture render target should be WidgetCaptured
in the draw material to rt
The math you use to get you x and y is not correct its off a bit but I have no clue how to fix it.
huh
it works pretty fine for me
are you testing it in fullscreen
I made an actor that contains a widget. Set the blending mode to transparent so that the transparency background of the buttons can be seen. This then causes the white to glow, and also messes up the texture of the weapon. Any fix?
yea I tried stand alone
is it offseted?
?
oh i see it
what do you mean by offsetted?
Ok Ill check it thanks 🙂
is it fixed?
Can you show me a screen shot of what you changed? I don't think my thing is loading it right
i replace the get mouse position to get platform mouse postition
if you just unzip it into content i think the reference won't break
ah
yea it works perfectly if its at 256 but If I change it at all it breakes even if I change the values in the lerps
Oh I see I have to change the render target size too lol Thanks!
after a some hesitation (i think, its may require a massive rework for current heroes/minions system, luckily it's not), i switch characters to two different object types, team1/team2, and this way is work as intended
thank you 👍🏻
Is there a simple way to get a data layer to not persist transform changes on unload/reload? I'd like to have it reset that each time the data layer is reloaded.
Apparently I just needed to manually collect garbage on unload. Interesting finding, I'm sure I'll forget in in 2 weeks like every other UE quirk.
I can't put a new line in a text variable in a data table.
Any solutions?
in the struct definition enable multiline for that field
I didn't find it
It works thank you
How can i make an inventory (array of three slots) thats different for each character and to work in multiplayer? (like when each person picks up a new weapon it gets added to their inventory seperately)
if you never make an inventory for single player, doing it for multiplayer is certainly a frog leap.
Is there a way to make variable an Array that has two indexes instead of one?
Multidimensional array is not supported in blueprint
The branch does the trick
Is there a way to set the performance of spawned lights?
Hey, I'm having an issue with attaching a physics actor to a component. I'm trying to create a sorta Zelda style pick up and throw system. If I uncheck Simulate Physics right out of the gate, it works perfectly fine. The object attaches to the socket and everything. But the second I turn it on, it will completely refuse to attach to the socket in any way. Even turning off Simulate Physics right before the pick up action as shown here doesn't fix it. If it's checked on at any point, the actor will not attach at all. Any suggestions?
Hi! I'm using UE 5.6.0 and added the Paragon: Wukong asset from Epic. I'm getting some warnings in the character Blueprint. Attaching a screenshot — any idea how to fix? Thanks!
Hi do you try to attach and set off simulate physics in this order?
Turned Simulate Physics off first, then attach, yes.
I think you may want to try to have Weld Simulated Bodies checked
Tried that too and it still didn't do it.
Actually it was on by defailt initially, so I unchecked it to see if maybe that's what was causing it, but it was not.
Is the Cube a child component of Self (eg. same actor that you pass to the Target of Attach Actor To Component)?
It is, yeah.
Is it possible that the root of the actor you are trying to attach is just a default root and not some sort of a static mesh of which cube is a child (so cube simulated together with the root of it's actor)?
That is correct.
How can I make it so that pressed sets to true, and released sets to false?
it just spams true
That's the issue, you perhaps want to make a cube to be a root of the actor if it's "main" pickap-able mesh. Otherwise you attach the actor, but cube is sort of separate component still
Hmm. I think I had some sort of issue with my box model when I tried to do that, (Can't quite remember what, it's been awhile.) so I opted to just keep it separate from the root in the end. I did manage to find a work around to my issue by just spawning a separate actor with the physics already disabled the moment it's loaded in. (With it being reenabled once it's thrown.) but I'll keep this in mind in case I run into another issue like this in the future. Thanks for the help. 🙂
hi guys i wanna make a fighting game jump in bp where you dont have any control after you jump but the jump goes on a consistant arc every time how would i do that?
why do you use Triggers?
you need triggers for specific thing?
press the arrow down, theres more execution lines
UE is going to make me crash out... vehicle blueprints with chaos vehicle setup and the wheels losing collision/physics when running game. Now, I think I have attempted all ofthe fixes I came across on google and no change. However, I found when I remove wheel class (set to none) that the physics and collisions now work but the wheels just kind of collapse the vehicle, they just slump over. There's no settins in wheel class to affect physics/collision. What is going on?
those are triggering completion for all triggers being completed
theres started and completed usually
what is the correct way to do it without triggers?
those do not give a true boolean for some reason
show the code, your doing something wrong
thats literally all there is to it
besides adding the input binding to the controller
its all bp
how? if you hard set "true" on Started and "false" on Completed you can't have always false
maybe I am going insane, I will try it again
and show the code after if it doesn't work
ya show the bp
the screen shot i sent
is all there is
that input is not being triggered anywhere else
did you read what i wrote ?
because that screenshot is not it
Hello there ! I've a problem with my dispatchers, they don't seems to work. I've two issues, first I've a OnPlayerLanded dispatcher in my fall state that doesn't want to be deactivated, and secondly, in my jumps states, I use the OnReachedJumpApex to go to the fall state, but for some reason, it doesn't subscribe...
can you show your binding, and calling ?
in my jump state :
In my fall state :
for my others jump state, i use exactly the same binding
the calls are made by the player movement AC
I'm following a course so i've my version and the course verions of the states and strangely, in the course verion, the bindings works while being exactly the same code as in mine
I figured it out! The issue was caused by the new Enhanced Input system in Unreal Engine 5. With this system, I needed to create new Input Actions (like Move, Jump, etc.), then group them into an Input Action Map.
After that, I had to assign this Input Mapping Context to my character via Blueprint. Once I set that up, everything started working correctly — inputs are now responding as expected, and the warnings are gone. Hope this helps anyone running into the same issue!
I've started segmenting my experimental project into plugin folders, copying a few little utilities from Lyra here and there.
I've run into an issue where a particular data asset is unable to reference another data asset that's in the same folder, but is still able to reference those in the base project folders. Is there something I might be missing?
I have a 3d actor with a widget that is sent to transparent bledning mode so that the transparency background shows up, but it then causes the textures to mess up. How do I fix this?
I have a problem, I have 2 actors, the first one creates the second one and sets references for it, in version 5.3 everything worked, and now in version 5.6 it does not set the variable
some ideas?
Wdym it doesnt set the variable
I don't know
I just changed the version to 5.6
I use Add Child Actor Component and just set variable (Reference to Parent)
in 5.3 is ok
but 5.6 :/
You set the variable inside the child actor yeah?
yep
Show your bps
does spawning an actor inside a function delete the actor when the function completes?
No. Actors persist until you explicitly destroy them.
That's what I thought. Welp.
What are you trying to do?
Trying to figure out why a specific function isn't spawning it's actor. I think at this point though my best bet is to take a break and come back to it later.
and when Begin Play in BP_Test then Ref is not valid
Any reason it has to be in construct
Show your validity test
Try putting it in begin play (the add child)
Show validity test
yes
ok if I set it at start play it works
but why Construction Script stopped working, it should set variables etc.
Idk some weirdness with tick/initialisation order
Check spawn settings. Is it Always Spawn?
anyone know the solution to this? I don't want to use Begin Play
previously Construction Script set variables, and now I don't know what happened
I do exactly as here and it doesn't work ---- UE5.6
It's generally a bad idea to spawn other actors inside a construction script, because the construction script will get run over and over during editor time.
Can you do what you want in Begin Play?
but I don't spawn actors, I just add components to the current actor
It's both an actor and component
Is there a way to automate a line break when commenting a node? It’s pretty annoying to press Shift+Enter every time. The ideal thing would be for the comment width to match the width of the node, and then, when typing, it would automatically break the line as soon as you hit the edge of the node. I haven’t found anything about this in the settings.
Anyone ever had this ?
you can see there the variable is set and valud
*valid
but down on tick it seems the variable is not set and is null, I'm bit confused how this can be both valid and not valid. I don't have anything else messing with that variable so
is there anything I can use to see whats going on ?
Its called validated get. You right click an object reference and the option should come out.
In certain instances you can’t see the actual object properly when you hover because you’re not far enough into the execution. Try setting a breakpoint on the next node and then hover
so I instead used the is valid node from the ref so this
and oddly is seems to be behaving now so not sure what the difference would be between using the is valid node and the validated get thingy
unless it's what you've said above but yeah odd
hello! I'm getting construction script conflict while doing audio analysis. I'm following this doc: https://dev.epicgames.com/documentation/en-us/unreal-engine/audio-synesthesia-in-unreal-engine?application_version=5.5
if i dont use construction script, the audio plays, but no analysis can be done
Oh cool
Hey everyone, I'm currently trying something simple, I want to add a wind sound effect when my character is sprinting, and I want it to stop when he stops sprinting (I'm aware there might be better ways but I'm just trying something basic, simple real quick).
I thought by adding it to my sprint logic, that it would work. It kinda does, but also when I STAND STILL and press shift (keybind to sprint), it will also play when I'm not moving. Any tips on how I could solve this issue, would I need to use nodes for velocity or location or something? Here's my current Blueprint node :
Why do you have a delay of 2 if you already have a fade in time
Also yeah you could have wind sound tied to velocity maybe recalculate it every 0.1 secs
And have a non linear curve so it's much more noticeable at higher speeds
I shouldve deleted that first before taking a screen, my bad. I left it for now as Im trying to figure out the main issue that Im having
Also if you sprint for less than 4 seconds that will give janky behaviour
Ill give that a try
we've established casting ain't bad. on that note though, are we suuuuuuurrrreeee adding too many things to Event BeginPlay is bad?
I can't say I've ever heard anyone saying too many things OnBeginPlay is bad. 🤔
As with everything it's about what you're doing and how frequently. A 1k loop (whilst heavy) on begin play could be fine if it's only one actor. Having 100 of them doing the same thing on the other hand.
If you're not sure about a particular setup, profile and find out the performance cost.
not heroin /s
It's mainly just a couple of "Get actors" and junk, fires once no loop
It might be easier to show what you've got. 😅 From that description it could be anything.
I can't see anything that's troublesome. Granted I'd probably handle things differently.
oh yeah i defiinitely still lay my stuff out like a novice. But lemme tell ya it's way better than once was, though i could likely have all those Gets in a custom event of its own... eh what can ya do
Doing so much work in one frame that your framerate suffers is bad. Doing that work inefficiently amplifies the bad.
But if the work has to get done, it has to get done. If it's bad enough to make the game a stuttery mess, then either make it be done more efficiently (C++), or spread over time.
heard, gimme that knowledge
If you're looking for things to learn to improve your systems, look into hierarchy, composition and uobjects.
Hi, how can I detach a actor from my Third person character? I tried detach but when it detached I can't see actor(mop). I think problem is setting world location but how can i set it?
I feel like unless you're doing something heinously wrong it's mostly GPU time you end up needing to optimise
me?
whoa momma
May I introduce you to the sequence node? 😅
The average dev, including me
I got massive performance increase by making texture atlases and reducing draw calls on my meshes, unfortunately I need to do it some more I think but some of my original skeletal mesh sources got corrupted
I have a small issue where the mesh will lean left and right when I click on force root motion and enable root motion what could be causing this
is the pelvis the root bone?
yes
actually it says root then pelvis
show it
show the skeleton heirarchy
got the animations from mixamo, it wasn't always like this it just started happening out of nowhere
can you confirm that the root bone in this animation just translates, without changing orientation?
root lock should just mute the root bone anims so if the pelvis is doing stuff to counteract the root rotating then the problem is with the anims
Dont know what you mean, how can i confirm it?
also the animation was not modified in any way was just imported into unreal
look if the animation has the root doing anything but sliding forward
Doesn't look like it to me
yeah your anim is borked
It just started happening one day and I dont see anyone else with this problem
Might be a Mixamo export problem I thinik
This is not true at all
You optimize where you need to optimize.
Expensive algorithm that run on cpu side such as dungeon generator, or anything with expensive operation should be optimised.
You can easily stress out your CPU with shit algorithm.
Yeah hence the 'mostly'
And bad dungeon generator would class as 'heinously wrong'
There's no such thing as mostly
If it's too heavy and can be optimised then do that.
There's soo many things you can do to optimize cpu side.
Have good data structure and when possible offload to GPU
Yeah but it's pointless if you are GPU bound right
Apple and orange
Because CPU waits for GPU so if CPU is faster it's irrelevant to optimise it
It's pretty hard to make something that occassionally results in a 500ms frame GPU side but that's really easy to do with some bigass function CPU side
in Unreal you have way less control over making the GPU do some big dumb thing than you do on CPU. I can make a function that'll take 10 seconds to run on CPU
Well yeah but assuming sensible, but not perfect code
Like not get all actors of class on tick or something and the actors are all enormously complex
I am right in the CPU GPU thing right? My understanding is both processes start in parallel and when the GPU finishes it sends commands to the CPU, which has to wait to receive those commands and execute them before the next frame is 'called'
I don't mind beong wrong in fact I'd prefer to be. At lot of my profiler stuff is 'CPU Stall' which I'm assuming is waiting for gpu
You can see in the profiler what the frame is doing
If the majority of the milliseconds are used up by the lighting, rendering stuff etc it's probably the gpu
otherwise it's cpu
Game thread is mostly CPU stall wait for event
Render thread is a bit that but is mostly render view family
If your game take a hit, profile it and sort out the ones taking the frame, be it CPU or GPU.
That's it.
No such thing as mostly this or that
It really depends on what eating your project.
Because you can eat all your budget in both cpu and gpu
Yeah I did and I see CPU stall wait for event
So I'm assuming CPU is waiting for gpu
Well I think GPU waits on CPU a bit to actually execute its own (the gpus) commands
But I think that is a lot faster
Than the wait of the cpu
Super new to unreal, like this is one of my first blueprints new
Im wanting to color shift a health bar depending on the amount of health a player has, i dont know how to return the numbers to the thing though
Words cannot describe how cool you are lol, thank you so much!
I'm working on localization. I've setup the localization in my game but font is not supported in some languages. Is there any way to change the font in all the widget at once ?
CommonUI has TextStyles you can create as Assets and assign to CommonTextBlock and similar. But changing the style is still not something you can do all at once for all widgets without coding a custom system for that.
But if you would want to change that specific style instead of swapping it out then the style is definitely the superior solution than hard coding that stuff on each TextBlock
Another solution if you want to avoid CommonUI is to make some sort of central UI-manager which can keep track of what font you want to use and then create a Custom Widget containing a textbox which listen to a "OnLocalizationChanged" event dispatcher from the manager
Its an interesting problem I've often pondered from an accessibility setting perspective, mainly for text size. One of the big issues is that changing the size and font of text could alter the UI layout. (Just something to be aware off)
I would go down a similar route epic did with common UI and create a data asset for defining fonts for text. You could then have it specify a font for each language. The data asset can then have a 'GetDesiredFont' function that returns the font based on the current language.
You'd most likely need to create your own custom text widget that binds to some central manager that detects when the language has changed. Of which would just make it fetch the desired font from its assigned data asset again.
I use this method (dt) of getting my dialogue (map) but I can only get 2 variables whilst using a map, is there a way I can get more per dialogue? i.e. audio wave too
probably a structure
map, string key, to structure value
right now you have string key, string value ?
i know blueprint structures can be a menace, but i definately think in this case it's what they need
"there are known issues with structures in Unreal Engine Blueprints, with users reporting them as unstable and prone to corruption"
it's better to make your struct in c++ if you can
it's either a map of string to structs, or a bunch of seperate maps which is a nightmare
yeah
You can think of map as a dictionary
Everything currently works but I wish maps could add more than one extra variable as I am going to have to have multiple maps for 1 dialogue
struct ftw
I think that's just not understanding what map is as data structure.
Read or watch some materials before usage imo.
have you ever used a struct ?
yeah
Everything I have works, and I can make it work using other variables, I just wondered if it was possible to do it all in the same map etc
well you can read above to see what to do, you can definately do that
it's string key, to struct value
but like mentioned you may need some tutorials on what exactly a map is
and how it works, so you can do this
Alright and when you say read above, are you referring to the c++
just what i wrote above, instead of me repeating it you can scroll
definately this as well, if you can make the struct in c++
I'm already using a structure?
if your referring to map as a data structure then yes, but there is a specific thing called a struct as well
Hello guys, in this quick and simple tutorial we are going to see how we can use enums in Unreal Engine 5.
↪️Patreon: https://bit.ly/GorkaGames_Patreon
📖Download Free Unreal E-Book: https://bit.ly/Free_Ebook_MasterUnreal_GorkaGames
🔥Discord: https://bit.ly/GorkaGamesYouTubeDiscordServer
Patreon: https://bit.ly/GorkaGames_Patreon
Check...
just backup your project
and make backups often incase the struct breaks
because in blueprints structs have been giving people problems, ig they are not very stable
i have not had problem yet, but i have not edited a struct that i use a lot
once you make the struct, set the map value to the struct, and bingo you got the multiple properties in a map
But what would be the key be?
If you need to know the index and you dont need to find a value by the key then a map is not for you.
the key is a string
thats what they have a map with a string key, and they want more values
atleast thats what i gather
oops wrong channel
But what does it represent in the context of dialogue system?
actually, how do i save a reference to another actor, in the save game? Is there something im missing?
When i load it the reference is now None <-
Id swear i figured this out in the past.
Because they are destroyed when you exit the app.
idk, they said they were using a map and needed more items, thats the solution, i didn't go into why they needed a map in the first place
Object reference that is created not at run time will exist though, e.g the one you place in editor
hmm, so what should i do here
lets say you have a Unit, and then you have CurrentBuildingReference (Actor reference) reference
When you load this one will be None
For my old game, i just the state of the character. When loadong new game, create a new actor and load the saved state.
Haven't got into a more advance save technique
yeah but then your character might have in it references to other actors such as, the CurrentTile (Actor), the CurrentPlayerOwner, the CurrentSpawnedWeapon...
these references all become None when loading
Told you already run time object are destroyed when you exit the game or level.
So when you load it back up the object reference cannot be resolved
As its point to something that no longer exist.
Ask in #cpp if theres a way to seriliaze it
🌽 🥛 🥣 I hate cerealizing
ok will ask #cpp
Don't ask chat gpt
thanks
Hey guys, Is there anyone who have worked with Convai plugin before? i am struggling with something and i need help.
they don't have a discord ?
Anyone know how to stop camera placed in the world from being selected ??
i couldn't find one.
the problem i'm facing is rather specific and it's not there in their forum or documentation
it seems when I click and drag in say the top view near a camera thats placed in world it's selecting the camera aswell even though it shouldn't be
why not make a post on said forum then?
it's not that active. I need a solution urgent
Is there a way to keep a CreateEvent ref into a variable in BP ?
Function pointer?
only in c++
Ye but I'm trying to figure out what he mean
I mean delegate can be a variable? Not sure
You can't but do you try Event Dispatcher or Blueprint function library?
I mean its not really useful in bp anyway
Imo
But I'm no programmer so take it with grain of salt.
Not like you can pass function as a param in bp
mmh okay
I have a bug where one of m dispatchers wont unbind, and it's already been like three days that i tried to debug it so i asked GPT if it has an idea and it told me to get the ref. That surprised me because i did'nt saw it was possible
Stop asking chat gpt for this
Debug where you unbind and whwre you bind.
It may be you bind after unbinding
yeah i'm kinda desperate
mmh you can but with caution
GPT is ok sometimes
I did, and their both called
I see it done more harm than good
Then look at the order they are called.
There's no reason that unbind does not unbind
I never said to never ask LLM, but asking about blueprint problem will just make one want to punch the monitor.
bind first, then unbind, there is no problem in the order
This screen shoot doesnt say much though.
but when i land in another state, it also call the land in my fall state
Well im c# an event is just a collection of pointers iirc.
I wonder if you can actually see what function bind to a delegate if you debug the project with an IDE.
you bind/unbind dynamically a dispatch event?
Its impossible to know with this screen shoot alone.
yeah i also do C# that make me think that it might be a compilor error or something like that
No
Your project wont even build if you have any error
it's probably not that i know, it's my frustration who talked
Im gonna head to bed but maybe show others how you bind and unbind.
those are my bind/unbind
ok good night
another strange thing is that i use the exact same calls in other states and it work just fine!
when you unbind, why it says -> Hit also ?
looks like two different signatures ?
i mean basically the same
but you got extra -> stuff on the unbind
well they both do
drop it down and see if you can make it match the other one
those are old catpture, they both have the -> hit now, and the issue still there
i feel like your just creating new events so your not unbinding the original ?
that what gpt said, but that what i've always done and it always worked
and still work in my others states
okay, i tried creating a new function bind to the dispatcher, and it seems to work, for now
okay it works
i have a question, you old linked function had a return value?
no, that why i asked, i was surprised that gpt told me to do that
delegate do not support return value, only void functions (but it's supported on c++)
i still don't know why it fixed it but as long as it works, that what matter
i'm not surprised, ai always comes up with stuff that doesn't exist
ChatGPT and other AIs will often ensure you have a solution
after 5 hours of searching, it was my best option
i use it for all kinds of stuff, but its wrong so often that it kind of not as usefull as it could be
i think it's usefull to guide your search towards things you havent thought of
that was what i asked, i telled it what i've done and the result that it gives and i asked where should i searched next
but it tried to solve the problem itself anyway...
GPT is a good sound board and can help prevent spending several hours navigating googles poor search results as you try to find relevant search terms for something you know little/nothing about.
Greetings to all. I'd like your help regarding a list of all static mesh inside a Map using all actor class and print functions to get the text from the output log and then transfer it to excel for organising the assets.
My Map contains approximately 300 unique assets which were combined into packed level actor BPP Mass to design the level but the total actor count became 40k plus and I need to make a list of total model names inside a particular area or loaded world partition in this Map.
I was able to get a list of the total 300 model names inside the Map using get.all.actors function , a for loop and print functions to get text in the output log.
tldr: I can get a list of all models inside the Map but I require the list of those which are inside the viewport or certain area or inside a cube or inside a loaded world partition.
i have better results with google than gpt tbh
just avoid reddit most of the time
Yea i still use google but often use GPT to give me more details on context. It often gives me better key words that can give better results. (assuming it doesn't answer the question)
also helps digging into the right part of the engine
or getting lost for a day...
This is what im mostly using it for atm
Describing some thing i dont know the name of, and often getting several relevant terms i can move forward with
Like Hirth Couplings
This doesn't do much at all #programmer-hangout message
I feel kinda dumb rn. I've create material instances before but I can't seem to get this to work or remember how to do this. I'm trying to make a material instance of the material selected for "Progress" which is an image widget. What am I doing wrong/forgetting?
are you forgetting to assign the new material you created ?
yes realized that but still nothing
make sure you paramater name is correct, no space at the end
of course
ugh problem was widget hierachy design issue
so wasnt visible
Does the standard save/ load game function not work on loading certain variable types?
I'm trying to save and load third person character data and nothing is being update. But updating an int works fine.
define third person character data
are you just trying to save a reference to the third person character
Base third person character BP with demo project that is parent of Character BP. I save the contents of it in a save game BP under a third person character variable type.
It looks like it's saving it as reference.
hi devs, I kinda need a recommendation.
For a spell projectile Im using a Sphere Collision as Parent which evaluates the overlap events, but now I cant scale it with the projectile together. The spell grows, so should be its collision.
Im using User Parameter to scale my niagara particle up at runtime, this works flawlessly, but the Collision Sphere cant be increased at runtime, would you suggest not using Sphere Collision but something else instead?
Any consistent and more efficient way to scale collision and particle equally at runtime?
I got so far with your help everytime I got stuck, appreciate any help again!
Is scaling the whole actor dont work?
Your load game path will always goes to cast failed.
Since you are cross pinning
from save ref to cast to bp save. I thought so too but It doesn't fail for me.
(I was following the tutorial as close as i could https://youtu.be/kdJ4_pry8GA)
Here's how you save simple variables using Blueprints in Unreal5-!!
If you enjoyed this video, please consider becoming a Member :)
https://www.youtube.com/channel/UC2U5mRfclG1Rrr1ztNkpGKA/join
Or joining the Patreon Squad directly:
https://www.patreon.com/RoyalSkies
It makes a huge difference, and really helps ensure I'm able to make the best v...
You mean like this? It worked, thanks a lot! I had to divide the number by 100, for some reason particles are in range of 1-100 ok, buit 1-100 for Actor Scale 3D its 100-10000. Dividing by 100 the same number which is given to particle feels kinda dirty tho 😅 , but it works, so its okay, Im open for any other way! Thank you!
Read what i said about cross pinning and the part where you loading.
This is a mistake
You can use mapRangeClamped for future reference.
The load path is not failing.
Thats not the same picture as the one i repli3d to.
thx! Ill give it a go
What Coldsummer says is right, however you do have another issue. Saving an actor reference only works if it's an editor placed actor. The third person character shouldn't be, and thus that won't work
Stick to saving simple types, if you want a good save system, give C++ land a visit
Also dont load in UI.
Widget should just read state.
I said earlier that it dosent fail for me.
cast succeededs regardless of cross pinning.
Lol
I mean you are not even showing the same function when replying to me.
Oof no kidding the tutorial actually load and save in UI 😵
so whats the issue here?
I've done this with and without cross pinning.
Yeah when you go from the top your cast will guarantee to fail.
it's setting a variable and the bottom is reading the same variable
So why is it not failing?
crossing execution lines like that is still a no no in my book, but it is technically valid
This is what I needed to know. thanks.
I dont normally cross pin because that's invalid way of connecting your blueprint nodes, but i can see why it work on this instance.
What you should do is plugging the save game variable that you have unpinned there and not the one from the set node.
and by that extension BCP or actor component wont be saved either? Is there a list of data types that can and cannot be saved.
I am doing that. I stated that 3 times.
Yeah you are still cross pinning which is a no no.
Just because it work in this instance doesn't mean you should cross pin.
As for object created at run time they get deleted when you open a new level or exit the application.
So when you load an object reference (blue pin) it will just return null as it point to something that no longer exist.
Actor placed on editor time however can be saved as their path can be resolved.
What do you mean by actor placed on editor time?
When an actor Is put in the game world before the game is ran?
Yes
thats what im doing atm.
Where does your code fail?
Before loading you can also check if the save file exist using DoesSaveFileExist.
If you never create the .sav then you may not be loading anything.
it succeeds.
It's not having an issue in that regard.
state the actual issue
You said I can save actor data on editor time since their path can be resolved.
I cannot do this as the values is still passed by reference.
Actor reference will be valid for editor time placed actor.
If you cant get it then you are doing something wrong and we have yet to see the part that you are trying to load (save game ref aside)
Also you have to define "actor data". Blue pin = object reference.
Gets deleted at map change or when one exit the game.
Saving a reference (blue pin) will only be valid for editor only placed actor.
If you are spawning your character through defsult game mode, that is created at run time, not editor placed.
Print string the player reference, if it's not null then you indeed have load the actor reference.
Do note ofc. Loading the reference doesn't mean it will load any previous state what so ever.
It will just find the object reference, you will still have to save and load the states (e.g abilities, hp, etc or any other data type you may have)
As their premitive data types and not an actor component?
I'm trying to create a system where the player click on an object, a widget will pop-up with a button with the text "walk to", making the character walk to that object. I tried chat-gpt and gemini to help me with that but now I'm stuck since I don't know how could I get a reference to the controller inside this widget. Btw, if I'm not doing this following the best practices I would really appreciate someone to point me to the right direction/resources. Right now this code gets compiled but event though the location of the chair is printed, the character still doesn't move.
i think your getting pawn, and trying to cast to controller? this is probably failing ?
one player or multiplayer ?
Sorry, but I'm not sure what you meant
one player
did you set the controller in the override ?
world settings, game mode override, what does it say for your player controller class ?
It tries to get the pawn then from the pawn get its controller.
I'm looking to find the current Y rotation of an actor and convert it into a float
get actor rotation, split the pin
right click the Y, promote to variable
If the game is not networked and single player then look at top down example blueprint. It already handle movement part.
someone?
is it possible without C++?
there is no node for it, you can make a function in c++ and expose it to bp
you can do a bunch of is class child of checks on a list
thats about as close you can get in bp
Get Class ?
So why ARE there so many damn wrappers for things in this engine? Digging through Chaos is like opening up a Pepperidge Farm loaf
Is it a 3d widget that you are setting as child of the clicked actor?
You can do a 'class is child of' check would that help you? I'm not 100% sure here but I think that would return true for all classes in the inheritance hierarchy, so parents, grandparents etc
I cant figure out how to scale both proportionally, the value mapping works, but scaling the Actor scales Sphere and Particles unproportionally. The BP is fine by itself. Its like The partilces Uniform Size has not the same multiplier as the Scale Actor 3D node does 🤔
hey i dont know what channel talks about unreal blueprints but for Aim and shooting EnhancedInput why not connect it to trigger than Completed and Canceled?
because triggered will keep firing and trigger it over and over
so it would just keep flipping back and forth while you held the key down
Is there a way to compare the values of the component of two actors and see the differences? For editing purposes.
So if i hit the Left mouse button (Shooting Input) it will not pause or stop firing if the node if its connected to Triggered?
if you hold it down it will keep "triggering"
and this would keep flipping the boolean back and forth
as for if you use started and completed, once you press it's true, holding doesn't do anything, and on release its false
wdym by compare the value of components
but what happens if i let go of the mouse button will it pause or stop shooting, since holding down the button will only shoot?
if you had this flip flop situation on triggered like you did, when you let go it could be shooting or maybe not, depends on how it lands
I've got two different characters. One can successfully walk up a particular step and another cannot. I'm trying to find out what is different between them.
maybe it's the max step height in character movement component
do i need a branch that will help to see if shooting is true or false or is better to just do the other way?
better to just do it the correct way which would probably be the second way
oh, so the branch would not help at all?
the branch you have does nothing btw
you have if it's true set it to true
if it's false set it to false
so it's not flipping back and forth actually
it's just doing nothing
but the second way is what you want, trying to do this with triggered sounds like a pain
They are identical.
Do you know any tips for optimizing lights that cast shadows and are movable?
The scale may be defined by the Niagara particle
You can use Triggered just fine tbh. You just need to use a Pressed and a Released Trigger and then you can set your IsShooting to the ActionValue.
That value will be true on pressed and false on released.
With those triggers it will also only call once per, not constantly.
Also #enhanced-input-system would be the right channel for this
New to unreal, trying to make it so object hit by hitscan have impulse applied, wondering what im missing
sorry for the messy nodes
can anyone tell me why the physics in sim/PIE is different from stand alone?
(first part of video is how it should be, second is stand alone)
https://youtu.be/lwHKSitv1bY
Cards are just static meshes that I'm adding force to if that matters
Hi! I'm trying to create a "ground pound" attack. I've created a mesh and I'm scaling it for the collision of the attack, but if the player is still the overlap doesn't register! What could I be doing wrong?
Sorry I cant follow 😅
If I scale actor without scaling niagara, niagara wont scale up, but the collision sphere with actor does, which is good.
For that I scale niagara with a User Paramer applied on uniform scale.
They both scale independently since scaling the actor wont scale its niagara particles, so I have to scale them both at the same time in BP.
But for some reason the scales differ, like one is linear, the other exponential, and I cant figure it out to even do the simple math, since the numbers show the same, its like Im missing some vital info about their scaling algorithms.
Its like they are internally having some kind of different calculations, but its not *100 😐 otherwise I would have just /100 and gave it to the actor if it were that easy
I'm switching the language in my game from english to japanese and then back to english.
When I play game in unreal editor in standalone Mode then it works fine.
But when I do the same in shipping build then the words which translated in japanese got hidden in build.
How to solve this issue ?
might be some fps affected problem since in editor the max fps is limited to 60
Does anyone know how to cycle through active splines in blueprints? I have 4 splines in the same blueprint, and I want a particle system follow each different path every time I push a button. Now I only managed to have the particles follow the first-created spline. I tried to use activate/deactivate nodes in the event graph but still can't cycle through splines.
Does it work in Standalone? If so, the packaging might not have picked up the Japanese loc files.
so basically what you can do is change the spline reference
what bp is this in ?
try multiply the force by delta time ?
I created a monochord instrument with a movable fret, and a particle system animation, so when the fret is at 1/2 of the monochord length the animation is a 2-phases sine wave, when the fret is at 1/3 of the length the animation is a 3-phases sine wave, when at 1/4 of the length the animation is a 4-phase sine wave, etc. So I have this blueprint with the monochord (a cable) that when plucked should fire th particle sys animation, and there is also the fret referenced to the button, so when I push the button the fret moves and the selected spline should be the right one. I created the splines directly into the BP viewport and I would like to activate and deactivate them with the push of the button, like this:
- push 1, fret position 1, spline 1 for animation
- push 2, fret position 2, spline 2 for animation
- push 3, fret position 3, spline 3 for animation
- push 4, fret position 4, spline 4 for animation
^
i think this should work
the particle system is a niagara custom one with the reference to the BP_monochord into the scratch module
how do I do that?
well how do you put it on the spline ? with activate function ?
this is what I'm not understanding, because it fires by itself without any hard-wired reference to that particular spline
the reference from the particle system is in the scratch module, but it references the whole BP
and it seems it uses the first-created spline, so if I delete the first spline it uses the second, etc
whats spline 1/2 and spline 1/3
?
they represent the string vibration as a standing wave when the fret is at 1/2 and 1/3 of the monochord length
you see that is the string with the fret, and above there are the 4 sinewaves at different frequencies as 4 different spline paths
each colour is a different spline, so a different path for the particle sys
do you spawn this emitter, or place in level ?
is placed in the level
this is the blueprint, I tried activating and deactivating the splines but it doesn't work
so I'm kind of sure I'm using the wrong nodes, because the logic makes sense
what does the spline user paramater dropdown look like ?
i'm thinking you want to set the parameter
so you have it set to an actor, but you should be able to change this paramter
and it will change the actor
you mean in the niagara scratch? there's nothing
so I have to create it in the splines blueprint?
probably because there is nothing there for it to use
how do I create tje spline user param in the blueprint?
Does anyone know how I can get the current world/map as a soft object ref?
and plug the new spline into actor
might work, but i'm not sure if thats the parameter name
i think it is
oh ok so i have to use this for each spline and it gets triggered at every button push, right?
try it first, make sure it works but yes at each time you switch
ok it makes sense, thank you, I'm trying now
if it doesn't work you can try #niagara
this ? ^
Hello , I Try to Implement a explosion With a knocback in Radius of the explosion and with a strength relative to how far you are from the center. I want to achieve something like the explosion of the mine from the kit of the Sniper from Risk of rain 2 for the people that want to have a idea of what i want for result.
For this i use the node LaunchCharacter but i Struggle to achieve a good result when i'm on the ground and the force is Horizontal to the ground, i know that it's because of the ground friction but i doesn't find any good tutorial on the Web that can help me to do this correctly, does anyone have a idea or some good tutorial for that ?
but for when i'm in the air already in motion i have a pretty good result
It doesn't work, thank you I'll try there
Can you apply an Impulse on your character?
Hello fellas.
Topic: Question about good tutorial for Moving Cubes in a 3D ThirdPerson ActionAdventure
Does anyone know a good tutorial for a "Move Cube" mechanic like the the old 3D Action Adventure games??
I've tried many custom-made versions but I am still not statisfied with the results. I was just wondering, is there any "Best Practice" or "Professional" method of moving a cube with a ThirdPerson Character? Keeping in mind obstacles, gravitation and maybe also rotation of the cube?
I try to use it, but it's doesnt Work, do i need to have the Physic activated on my character ?
I think, but I dont know if that causes other problems with the character movement
can't you just add some to the z, get it off the ground with the launch ?
you can also change the friction on the fly
The problem is that if the explosion is over me i don't to go against the Force and for example if the explosion is opver me i want to be expulsed correctly to the ground
@dark drum What's the purpose? To save the soft reference to a save file?
Cause to much issue to Activate the physics
Pretty much yea. I'm wanting to keep track of what level the player is one so it can be opened to that level when reloading.
You can construct SoftObject with an object ref I think.
I think because the physics and movement component both implement falling, and they start fighting
TSoftObjectPtr<UWorld> CurrentWorld = GetWorld();
I'm working in a BP only project at the moment. 😅
working on a plugin?
This gets me the world object but it's only of type 'Object' so converting to soft ref just means its an 'object soft ref' which can't be used when trying to load the level.
our reconnection issue ended up being something simpler we were able to find on our client logs
My current idea (still a work in progress), is to use a data asset that stores the soft ref as a string in a map where the value is the actual world soft ref. And then have a function that fetches it from the map.
As far as I can tell this seems to work but one would need to make sure the list is updated if the names are ever changed.
Yeah I don't know how to expose UWorld in blueprint alone.
it's freaking hidden in the variable detail panel.
You can't have a Uworld ref in BP
you can.
Its hidden everywhere lol. I can't even cast to world which would have solved my problem lol. I get why its hidden but there needs to be a way to atleast get the soft ref of the current level.
@mental heart just can't do it with bp alone.
yep but i't not a UWorld
maybe epic don't trust designers, as they may end up loading levels that are not even loaded.
It's a ref to the World Asset i think no ?
ok mybad i didn't think you can actually do that, i will try next time i need it
Thank for the Discoverry
I need this to save the level the player played last.
With a bit of trickery you can also use the soft ref version in sets and maps.
seen people using Map with strings and all that to save 😦
I thought that's Get World Context
Imagine if they rename the map, the game will end up being borked, especially people that update the game.
Yea, that's what I'm trying to avoid.
My current direction is probably the best I can come up with in BP only land. Still need to add them to a list but it'll get the search string automatically with a press of a button.
this can get you the current map, is it the wrong type of reference ?
how do you even get to this point?
lol
@lofty rapids yeah we can drag and select promote to variable
@dark drum
That errors for me when I connect it to an execution path.
this don't work?
oh wait
Get level returns a 'ULevel' not a 'UWorld'.
something like this ?
get owner world, doesn't give you the current level, but the current world, if you open the level by instance it seems to take to the origin level
hmm
I'm not event sure what 'Typed Element World Interface' is. 😅
"Get Owner World with ScriptElementTypeHandle is for scripting interfaces (like Python/Blueprint scripting), not regular gameplay code."
theres the issue, worth a shot lol
are you wanting to just open the levels ? or you need the reference for other things ?
it looks like "you simply cannot get in Blueprint without World Partition"
Its so I can save the current level (as a soft ref) so when reloading, I can load the correct level.
can't you just use the name ?
I could but that runs the risk of things breaking if the name of the levels change. I don't fancy having to hunt every instance where the level name is used.
unfortunately since your using only blueprints your limited
i would probably use a function in c++ for this it makes sense because it's easy in c++
sux to have to do c++ for say one thing, but it actually works in c++ from what i read online
or you could setup world partition
i have read that that is what the error for get world is all about
but a function that returns the current level reference as world object looks doable in c++
its a one liner!?
UFUNCTION(BlueprintPure, meta=(DefaultToSelf="Object"))
static TSoftObjectPtr<UWorld> GetWorld(UObject *Object){
return IsValid(Object) ? Object->GetWorld() : nullptr;
}
put that in a UBlueprintFunctionLibrary and you should be good
return IsValid(Object) ? Object->GetWorld() : nullptr;
You could have gone for the actual one liner.
changed it, thanks. i need my caffeine 😄
I use Lumen in my project and I have low FPS, but in other project I also use Lumen but I have 110 fps
some ideas?
Yea, it's not my project so i've got to keep to BP land for now. Either way, my solution isn't terrible, not perfect but it'll get the job done.
empty map only character
and my project:
does Memory usage matter that much?
i wonder why it's so different, and wdym "default project" ? a template ?
did you start from blank or a template ?
template
the same only expanded
but see the CPU and GPU usage is practically the same
so either memory usage has an influence or some option in Project Settings
but I don't know what
profiler doesn't show me what exactly affects FPS
weird
on Low settings I have less FPS than on Cinematic
Low = 56-62 Cinematic = 70 - 75
but how
ok, I need to play around with the options, thanks for the help
child blueprint wont follow the logic that is in the parent blueprint, the problem is the child blueprint will attack once then starts to random roam but when the parent blueprint attacks it stays on the player until the player moves. the parent has Move to player, random roam, attack player custom events
i assume your talking about when this fire at the beginning of the game and not on leaving
Cause you foolishly believed Epic wouldn't trick you and give you two nodes to choose from.
Aka use the other EnhancedInputLocalPlayerSubsystem node that needs you to plug the Controller in.
yeah that did it, now the question is wtf does the other one do lol
I always wanted to check. I would assume it auto falls back to this and that's probably then expected to be the Controller or so.
It's probably the second one that just doesn't work in Blueprints.
/**
* Get a Subsystem of specified type
*/
template <typename TSubsystemClass>
TSubsystemClass* GetSubsystem() const
{
return SubsystemCollection.GetSubsystem<TSubsystemClass>(TSubsystemClass::StaticClass());
}
/**
* Get a Subsystem of specified type from the provided LocalPlayer
* returns nullptr if the Subsystem cannot be found or the LocalPlayer is null
*/
template <typename TSubsystemClass>
static FORCEINLINE TSubsystemClass* GetSubsystem(const ULocalPlayer* LocalPlayer)
{
if (LocalPlayer)
{
return LocalPlayer->GetSubsystem<TSubsystemClass>();
}
return nullptr;
}
Although, it's the other way round, right.
The one with the input works.
Yeah honestly no clue. The nodes are auto generated after all.
So apparently there is a UK2Node_GetSubsystemFromPC node. And that node only works for ULocalPlayerSubsystems.
Ah, I found it. So the normal GetSubsystem node that most other Subsystems have is also supported for the ULocalPlayerSubsystem. It uses Get_FunctionName = GET_FUNCTION_NAME_CHECKED(USubsystemBlueprintLibrary, GetLocalPlayerSubsystem); for that one.
/*static*/ ULocalPlayerSubsystem* USubsystemBlueprintLibrary::GetLocalPlayerSubsystem(UObject* ContextObject, TSubclassOf<ULocalPlayerSubsystem> Class)
{
const ULocalPlayer* LocalPlayer = nullptr;
if (const UUserWidget* UserWidget = Cast<UUserWidget>(ContextObject))
{
LocalPlayer = UserWidget->GetOwningLocalPlayer();
}
else if (APlayerController* PlayerController = Cast<APlayerController>(ContextObject))
{
LocalPlayer = Cast<ULocalPlayer>(PlayerController->Player);
}
else
{
LocalPlayer = Cast<ULocalPlayer>(ContextObject);
}
if (LocalPlayer != nullptr)
{
return LocalPlayer->GetSubsystemBase(Class);
}
return nullptr;
}
Assuming the ContextObject is automatically passed into this (that's why the pin is not there and probably this), that node will only work in UserWidgets, PlayerControllers or LocalPlayers.
And no, it won't give you an error or prevent you from using it.
I'm trying to get the phys material of a surface when i click on it but always return None when printing the result. How can I fix this? When i hover over break hit result and phys mat of it, appears a messsage saying that i must set bReturnPhysicalMaterial to true in the queries params for this to be returned. Should i do anything about that?
hi, it's difficult to teleport my character through a box collision into another room/level?
i just want to get close to a door, press E and my character teleport to that new starter point or something
I assume you'll need to do the trace manually instead of using the convenience function.
Cause you can't set the return phys material flag on the convenience one.
Depends a lot on your skill level tbh. If the other level is literally a different map, then you only need to open that map via OpenLevel when you interact with the door. Kinda requires a functioning interaction system, cause you would want the door to have the logic for that.
yes because i dont want too much assets loading same time
i just want it to load the new map and leave the other behind
Yop
That worked! If im right though that would make it so the same velocity is applied regardless of mass though right? So like a car would move the same amount as an empty soda can if shot?
Is there anything I have to do to support subclassing a primary data asset and loading all of them or is this just not supported, i cant figure it out for the life of me. I have it working if i specify each subclass directly in the asset manager, with the _C and everything, but i just want to load all assets of the one main blueprint base class... am i using this wrong?
All in blueprints
Essentially I have a blueprint that subclasses primary data asset, call it BP_Item, then i have two subclasses of that BP_Weapon and BP_Armo. I'd like to load all BP_Item's from the asset manager. I can do it if i specify each as a different element in the asset manager, but not if i try to get all items.
In this example it's fine because it's just 2, but i don't want to do this for 60-100 things when they all inherit from BP_Item
how can i make a "turn in place" system on a FPS character , i tried looking up some tutorials but they were all TPS characters so they couldnt help much
I feel like I did this at work when I put in a quick hacky bundle loading implementation. We aren't using BP classes of our data assets, but it should be the same. I can look in a few.
Oh. No I made a function for it. Because I hit the same snag. 😬 I had to grab all of the types in the asset manager and for a given asset, find all assets who's base class were a child type of said asset's class.
Cause we have a CoreItemDefinition which we base everything off of, because it's got some basic UI data in it that we can use to display for any definition. But we specify them separately cause some systems use some types, other systems others, but here I needed them all and had to write that. :/
Alternatively, your other option is simply making a function to grab them all into an array of assetIDs maybe.
is there a way to add custom movement modes in blueprint?
I was trying this tutorial but those nodes seem to be outdated in latest UE version. Has anyone recently created any overgrowth using the PCG plugin? This seems outdated and I cant seem to find any up to date tutorials
Hello guys, in this quick and simple tutorial we are going to learn how to apply Moss into any Mesh using the PCG plugin in Unreal Engine 5!
↪️Project Files: https://bit.ly/GorkaGames_Patreon
🔥Learn the basics of PCG: https://youtu.be/0YiDT08W_q8
Make this process 100x faster with this tool:https://bit.ly/GraphN_GorkaGames
Join my Disco...
Hello, how can I use Sphere Collision to check if it overlaps with PointLight?
can anyone help me with this??
could use an interface or just cast ig
specifically where?
Does a light have collision?
no
Well overlap requires the object to have collision.
You can check bounds every tick maybe to handle the overlap your self.
What would be the best way of adding a mechanic where my flashlight intensity decreases with the battery power?
Abbandoning flip flop for gameplay code would be a good start.
also don't cross pin.
What would you recommend in place of flip flop?
Anything else ^^
just boolean
I dont know how you call your decrease battery event but i guess its running on a Timer?
If not create a timer by event set it to looping 1 sec and call it after you turned on your fl, connect it to a event "check battery" in there you check battery power and set the light intensity depending on the power
Eg, if battery power < 50 - set itensity (intensity / 2)
So I created a Battery interface and added a function Decrease battery
is this code in your character blueprint?
Is the battery part of your flashlight bp? And is the flashlight attached to your player? If yes you dont even need the interface
yes
Your battery logic should live inside your battery
what you are doing there is horrible design.
Ideally you have a component too to handle the interaction but for learning sake, you can handle the generic interaction in the character.
Interact->Object
and the object can implement interacted logic
This is from a tutorial I followed. This is battery logic
so for a abttery it will decrease
ooof
is that really from a tutorial.
Hehe gorka style tutorial
Handling input outside a centralized object (character / controller) is terrible
In this Unreal Engine 5 tutorial, I will be teaching you "How To Create A REALISTIC Horror Flashlight In UE5 (4 SIMPLE Steps!)" The mechanic listed in this video are a "must have" mechanic that are included in MOST popular horror games today which will make your game visually pleasing. Even though this tutorial is geared towards horror games, th...
also after destroy actor nothing else matter
this tutorial is peak bad.
So I see lol
I am not trying to be smug, you can ask in other channel or other people opinion.
You are fine. i am learning there is a lot of better ways to do things in unreal. It seems I am running into ways that aren't the best
imo what you can do now is work on general interaction component.
your system should work with any interacted object
a battery can decrease/increase it's life.
an apple can be eaten.
Okay cool.
a door can be opened, and so on.
Might want to look at some material for component.
there should be a decent interaction tutorial... though I don't know any.
maybe somone can share.
Thank you for your help
is it normal for bone references to be lost after delay after tick?
weird thing is the actor reference wasn't lost
Any reason why you want to delay there? I dont know when the cached value of a pure function is cleared but i am betting that cached value from pure function is safe to use only within the same frame.
If you must use delay, cache the result to a variable and use that variable instead.
:D Try doing that in C++ and you will get an idea as to why that can happen.
You are basically "lucky" that UE saves the data inside the Pin of a Node, as they are Objects themselves.
If you were to try and do that in C++, you'd notice that you can't just magically grab the return value of a function "a frame later", as the function body you would be working in has to finish "this frame". At which point you'd be forced to save the result to a variable. Which is precisely what you'd need to do in your case here too.
Im wanting to create an inertia based damage system, i am very new to unreal and im wondering if theres a way to make a blueprint that will apply to every physics object within my level? I really dont want to copy and paste the script into every single crate i place into a scene
made projectile (client authorative ones) so used bind event to hit to send the event and if hs and damage back to player for next functions
and if the projectiles spawned right at opponent's face, the hit will be registered immediately when the event haven't binded
You could code your stuff in a Component and apply that to the Actors. You can add Components to Actors in the Scene fwiw. But the better option would be to have a base Actor Blueprint that your Boxes are based on.
Deferred Spawning in C++ would probably help with that, but in Blueprints you are stuck working around this.
You could save somewhere if the Event is bound or not, and if your overlap registered you can then handle that accordingly.
Or you stick with the frame delay, but then you have to cache the HitResult.
Alrighty, thank ya!
Hey can anyone give any insight to this question? Haven't gotten much from it and with how much its bottlenecking my gamethread i really want to figure it out. https://forums.unrealengine.com/t/how-to-disable-metahuman-face-setup-and-features/2590988
So I’ve been doing some research into optimization and realized my game thread was bottlenecking my performance heavily. Among the things reducing fps, it seems like the MetaHuman face is causing massive gamethread drops as you can see in the picture below. The issue is that my game is “true” first person, meaning you can never see the...
Does the meta human face have an anim BP set?
Wow, instant drop in gamethread time. Thank you so much for the suggestion!!!!
Wait how does delay play any role here?
Why does if you hit the head you have to wait a frame?
Race conditions are fun. 😄
The delay for the signal to reach the brain. 😉 100% realism.
Oh i didn't read the last bit properly.
but yeah just cache the result if you have to wait a frame.
not if hit the head
is set the variable that indicate headshot first
if no delay, and the projectile is shot right point blank, the event isn't bind when the hit event triggers
that's what he is using.
i see it now lol, should of scrolled
Hey all. I have an issue with timers. It works fine when im running just one of these but if I click more than one button at a time it goes out of sync. I'm experimenting with using get world delta seconds but still issues. My question is how should I do this timer? I read timers are frame dependent but also I've read they aren't. Can anyone clear this up for me?
Would I benefit from doing this in c++?
whyy are you dividing and multiplying the time ?
experimenting
so usually what you can do
is multiply the number * delta
to get a frame independent value
what number
whatever number you want to base on the frames
i tried multiplying by my "build rate"
but honestly i think your timer doesn't need to multiply by delta for time
"timers in Unreal Engine are generally frame-rate independent"
"However, the precision of timers can be affected by significant frame rate drops"
The issue here is that calling SetTimer while it's still counting reset the timer.
that's why you have an issue when you click your button twice.
the issue is when theres more than one at a time the first ones progress finishes but the money isn't drained yet so the code when money left to complete is delayed and out of sync with the visual of the progress bar
So there are ways to go around this in bp.
you need to offload the timer to an independent object.
Actor component can be one of them.
thats not my issue i dont think
Or UObject.
im talking about a seperate instance of this widget
not clicking the same button
If i say click the command center then barracks the command center finishes its progress bar and the ready text appears delayed
by about 5 seconds or so
I could try this though?
are you invalidating it when your monety to complete is <= zero ?
or wouldn't this just keep going ? when do you stop it ?
-1.f per call but at what rate?
ill probaby need to show this to get it maybe?
AmountToSubtract = ValueToDecreaseOver1Second * DeltaTime
ive mainly been using .01 for build rate
if you are going to use delta time
if you gonna use delta time then use tick
otherwise take it away from your equation.
but for a progress bar, I would totally do it on tick.
So it update smoothly if my computer is capable of rendering fast FPS.
finterp ftw
doing it on timer will gate the potential, regardless of the player's machine.
ok so I should update the material instance dynamic on tick?
you can take away the timer and just do the whole logic on tick.
though I can't guide you step by step, it's hard enough for me to read my own spaghetti, let alone someone elses.
Event Tick -> if bBuilding -> Evaluate (Go decrease your money or update the progress bar)
simple math
Timer apart from not updating frequent enough, some people will put it at 0.0001 causing way more overhead than using tick.
and the less FPS the user have, the more they are tanking the timer.
If someone set a timer 0.01 second and a user FPS is soo bad it takes 1 second to render the next frame.
That timer would call the function 100 times.
100 times updating progress bar, in the same frame...
For a performant, simple building system, you don't even really need tick except for the widget.
StartTime
TotalBuildTime
BuildSpeedMultiplier
CurrentEndTime
StartTime and CurrentEndTime can be set at build start based on TotalBuildTime and BuildSpeedMultipler. And if anything adjusts BuildSpeedMultiplier, you simply update your CurrentEndTimes.
Now the only thing you need is a single timer for the shortest build time.
Your UI and anything else can tick at it's own pace. You pay a lot less networking and CPU/MemoryWrite costs for state updates.
Trying to wrap my mind how I'd need to do the math lol
Math for which part?
so should I be lerping the money down?
I'm just not sure how to use the delta time to do what I want I guess
Do you know what delta time is?
I'm gonna have to look more into it I guess. Especially when I'm too tired lol
the time passed since last tick
Right. So you know that someone who's running at 60 fps has a deltatime of like 0.01666666 or so.
Lets say you want to change the value by 10 per second.
You take your speed of 10 and multiply it by the deltatime. This gets you like 0.1666666
Now run this math 60 times as if you are passing 60 frames. Your value at the end is roughly 10.
The point being that the framerate is going to fluctuate from anything realistically between 20 to 200. That's a deltatime of anything between 0.05 to 0.005. But if you use this math. You'll always get a final value of 10 per real time second.
That reminds me of a quest in GTA where you have to lay fuel on the ground to start a fire. If you're frame rate is too high you can't complete the quest because the fuel runs out before you get to where you need to go. Got to love that Fuel Per Second. 😅
Yikes. 😬
So I need to subtract from the money by these values?
I'm pretty sure it was done intentionally. 😅 A play on FPS. Thankfully it was a side quest lol.
basically instead of adding or subtracting the number you want to increase by
multiply that number by delta time
also use finterp or ease if you can
Hey everyone, I'm trying to avoid the hassle of manually routing 10+ Enhanced Input Actions through the player blueprint. I have multiple IMCs for different gameplay systems, for example, a pizza station with its own actions like Rotate Pizza, Add Topping, etc. Ideally, I'd like each system to handle its own input logic without cluttering the player blueprint. What's the best way to go about this?
player controller ?
trying to avoid having them all there though
i think you can add input to actors
Oh damn that worked
thanks a bunch
did not realise it would be that simple lol
Hello, me have broblem 
For a Pawn Actor, Skeletal Mesh with Physics Asset for collision as Root Component
Set Vehicle as Collision Preset
If I set the Vehicle=Ignore as default and then change it in-game to =Block it doesn't work at all, it changes nothing.
But if I do vice versa, Block as default and then in-game to Ignored it works without any issues, I can even toggle it back to block and it will work
What am I missing, I'm about to pull my hair, spent one hour to find out this 😅
One hour is usually only half (or less) the time it takes to debug collision issues. Try ejecting and pausing at runtime and manually changing the checkboxes
Thanks for the tip but that's the first thing I tried, it just automatically reverse back to Ignore, probably because i use smoothsync (client authority) for the player vehicle.
It's just weird how it works one way but not the otherway,
eitherway will do block default, ignore on begin play and set block when i need too
can some one please help me with some ue5 animation blueprints?
how you get the boolean true/false node that you have there ?
right click just like validated get
its nice
lol
5.6
another reason to upgrade ig
could just make a macro
this is working ?
so far from what little ive tested
i just might
it works if theres 2 but anymore it actually freezes.
what are you just loading several of these bp ?
wym
how are you running multiple
seperate instances of a widget
hm for most part works but sometimes one gets stuck
100 on the interp speed thats fast ?
depends how high the cost is
do you evern shut is building off ?
does it still bog down when the others are off ?
on the third one ?
or just three at a time is slow ?
seems when I have four when the 3rd one finishes the progress stops
the progress on the fourth stops ?
I think it I might need to do it in a seperate uobject like coldsummer said I think
most people won't download random files from the web
its okay i gotta get ready for work anyway
Hey can anyone give any insight to this bug? I tried doing a full rebuild, including prerequisites and the bug still happens.
https://forums.unrealengine.com/t/help-game-breaking-visual-bug/2589732/2
It looks like it's jumping to another camera. 🤔 Very odd.
I recently made a crafting system. I used a crafting manager (actor component) that creates a custom uobject that handles crafting progress.
I just added a function 'TickCraftingObj' and had the manager call it on all of them and pass delta time to it.
I'm not sure what's causing the pause it might be the values.. it seems it just stops ticking based on the bp debugger
What's the approach to having a single parent class for all characters in the game, and not having it have a billion components? Is having the AIController and PlayerController add components to the character on possess decent?
PlayerController adding camera, AIController adding sensing components, etc
IMO, I tend not to care so much. If you need the performance of less component, you're probably already pushing for ECS territory. And there's plenty of systems where you can benefit as a player from the same stuff that AI uses for perception and the like.
For things like the cameras on the pawns, that's easily fixed by just not having one and putting in a decent camera system that doesn't need the components.
Does anybody know how to trigger different metasound triggers from BP? This is my metasound patch, and I have 4 different triggers, I want to trigger each of them in different situations from the same BP. There I tried with SpawnSoundAttached -> ExecuteTriggerParam but the sounds stop midway and they don't follow the metasound ADSR behaviour
Why didn't UE5.6 develop easy ways to animate an actor using spline tools or something similar?
you can do it via level sequence
you're able to bind an actor to another actor with spline component
Can anyone tell me why my widget isnt being centered to the cursor? 1st image is the widget, 2nd image is the cursor tracking method. The link is to a gif showing the problem
https://gyazo.com/068dd2e99eabb75c6ee804eec10ac505
im new, apologies in advance, could it be assuming your mouse coorelates to 0, 0 in the ui viewport? cause then that would offset it diagonally in the way it looks like it is
instead of the canvas centering on your mouse its putting your cursor in the corner
idk how well im explaining
See if this helps.
Yes! that! lmao
im trying to give a crate a health bar, target self doesnt work and i have no idea how to make the mesh link at all
been stuck for a bit
How do you want to display the health bar? start by doing the widget first.
at the end of the day, widget just read value from the owner (in this case, the static mesh).
im gonna give a wooden crate damage states, currently i cant assign the actual health value to the shootable mesh i have in my scene
i dont plan to have a visible healthbar and right now my visualization is debug text
Why not? are you saying your print string is incorrect?
at the start the woodcrate should have a hp of 25.
On damage taken, it should be current hp - damage.
im tired, i didnt mean to say bar lol, i meant to say pool* my bad
well anyway, what's the current issue.
are you not getting correct values on your hp?
im not currently getting any values is the issue, i dont think its referencing properly. when i shoot it, it should apply damage but it does nothing
So your TakeDamage event is never called, is that the issue?
need more info here. Show the code where you apply damage.
hold on, sorry couldve done this better
hitscan applies damage to hit objects (or it should)
does it apply the impulse?
you may need to ensure if the hit actor was ever the actor you are trying to hit, you can do this by print string the HitActor.
i have it print the hit actor, it applies impulse and everything reads fine
im getting this runtime error when i shoot at my crate
the node says it is targeting self, but i dont know what to change it to
You need to use the standard 'onAnyDamage' event. It's available on all actors. (Something along those lines)
For additional context, it just an event you can implement.
Well let it bind to self, I suppose.
Also reading online it seems you need to specify the damage causer. Just make it the object that is doing the line trace.
THAT TOOK SO LONG, I DIDNT KNOW YOU COULD JUST DO THAT
thank you both, you guys are badass
well I am just guessing not much of a help but nice that you got it working. Personally for me, unreal damage system is soo ancient that no one uses it for a project outside game jam imo.
Like it does work but anything more complex, we might as well write our own.
I still use it and it's actually pretty flexible. Just not much information on it.
I would have no idea, i kinda just started like 3 days ago lmao
Damage types are pretty cool.
unity dev detected
lol, nah, touched it once and... yea...
