#blueprint
1 messages · Page 212 of 1
instead, add your actor location to your forward vector and use that as the endpoint of the line
getting the forward vector from 0,0,0 to 1,1,1 makes sense as a representation of rotation, but it is not a point within your world
take that addition result and multiply that by 100 so the line is long enough to see
yeah that works
So there's an actor space and the world space. What can I read about it? I guess it should be somewhere in documentation..
think about it, if you are facing X, your actor forward vector is 1,0,0
where on the map is 1,0,0?
it's near 0,0,0 🙂
you don't want to draw the line to the middle of the map
you want to draw it out from the middle of your actor
hence you add the forward vector to the actor location
what can I read to make my understanding deeper? do you have anything in mind?
besides math books.. or it's the only way? 🙂
Google for introduction to vectors
not in relation to UE, just general, right?
it's not that hard to grok, you don't need to look at things like sine/cosine
and yes, it's general
there's also #game-math now for this sort of thing
vectors are incredibly intuitive
unlike quaternions
thank you so much
hey guys need tips, im doing a "dark souls like project" and ive got the same type of death condition when u die u drop your exp at death location. now to the issue when jumping down to unreachable spot and dying it leavs the drop there how would i make it "last "ok place" or 10-seconds before death or something ideas?
While very you're on the ground, you occasionally store a safe location. Store the last few of them, then when you die, iterate then and spawn the drop at the first clear one (iterating backwards)
This also seems like a good place to start too Math for Game Developers Playlist
hmmm like a timer looping every 2-3 seconds storing the location ?
thats seems simple enough tbh
Pretty much, but you only store it if you're touching the ground and the area is clear
yeah and checking "if alive"
You only store a few of then as well, like an array with only 4 or 5 entries.
Then when you die, loop backwards and find the first suitable spot. You'll want to do checks to male sure it's on the floor and not obstructed
i could just store 1 tbh ?
No
If something then obstructs that path and makes it unreachable, what are you going to do. Or something messes up and you have a location that seems like it's unobstructed on the ground, but actually isnt
This is less important, it depends where you can die.
yeah sure, in this case its mostly related to when falling and dying if u die on a bad"spot" then u would have to figure it out really, i get what your saying but in my case only storing one and replacing it would surrfice for my style tbh
but yeah ty for the idea*
This also accounts for like if your xp drops inside of a boss
If you die, and boss moves too close to last location, you want it further away
There's literally 0 reason not to.
Give yourself redundancy and backup
but how would i iterate back and check ? or like alawys take the one furthest away ?
the [4] one
aye u got a point there
It's just an array, you can do a reverse foreach
Then take each point, trace it down to the ground, trace it in a sphere and make sure its clear
Personally I'd store anywhere from 3-5
maybe consider adding an extra failsafe where if none of them are reachable you just destroy the XP drop? 🤔
i mean its still suppose to be "hardcore" if u die wile the xp drop its active its replaced and destroyed so dosent matter really
Again, 3 - 5 seconds.
I'd also make a visualiser that draws debug spheres, and play around with what feels best
Np
Hey there,
I am new to unreal's blueprint i am creating a basic in which i am stuck at a point. The issue is when my character walks it slides perfectly but when its sprint it doesn't matches the speed of print in sliding how to achieve that? Here attaching screenshoot's of blueprint
Move Distance's value is 750
are you gonna slide the same distance, or longer ?
Is there a way to access the cameras "motion blurr settings via BP" ?
im trying to add a options setting to enable/disable motionblurr
Hello there,
I am trying to set the state in my sequencer inside of the Editor, so that, by changing an Enum value in the Details of my Actor, the Sequencer instantly jumps to a predefined point (in my case the end of the animation). Is there a way to do this? This is how my BP looks like rn.
I was wondering if there's a way to override a Set function? For example to make sure when I update a variable in an Actor, it's also updated for a Component
Run time or editor?
Run time
I should maybe add, that right now it stays at 0.0 even if I "Set" it to 150 or any other value
You can use rep notify then
Anyone know how I can get an array of all the names of assets in content folder in blueprints?
That function is called when ever a variable value is chabged
Right now I got this Widget logic. Arguably there's probably a better way to construct it, but right now I'm updating a variable for a widget, its child and its grandchild
Oh cool thanks
Ugh for widget?
Yeah, I generalised it as Actor but now I realise that Widgets are in their own world of logic
You would just initialise the references in the widget at parent construct I suppose
Kinda what you are doing now
I'll look into that, it's just that the parent won't always be the same class or widget type so 🤷♂️
As much as I despise interface for widget, that might be a valid tool then
If your parent isn't always the same class
Cool, thanks for the pointers
Maybe I should have posted in #umg but oh well, there was a certain code smell to it
@graceful sage
reminder that you can't do anything to abstract class tho like the regular blueprint
not with this method at least
okay thx ill try. I saw that method but thought by file path would give some result
I use this to edit Material Instance assets
Package Path is the file path
makes sense
I'm just wanting to make an array of a list of maps i suppose
then dynamically create buttons to select or open them
there is a perfect example for that from Lyra
snatched the code and it made my life soo much easier
it's called Common Maps
you can populate it thru UDeveloperSettings
I'm currently watching thishttps://www.youtube.com/watch?v=TERgfPei-IU
This new series of videos will explore the different game concepts and how they are implemented in Epic's Lyra Starter Project. In this video we discuss the use of the Asset Manager.
Don't see how that helps to make a list of map you can change easily
Lyra does it perfectly imo
ill check it out
it creates a button in your editor, populate the button witht the list of map and you can just quickly switch
cpp tho
dip your toes now!
I'm wanting to create level selection for menus but I want to populate automically with maps in the path
I don't think it make sense using path like that for shipped product
but maybe it works 🤷♂️ ? I don;'t know
instead populating it automatically using paths, I would just manually add it to an array of UWorld
for some reason it's not exposed to bp by default... but you can certainly declare the variable in cpp and expose it to bp
an array of this
It was just an idea idk. If it wouldn't work packaged thats okay I guess. Just wanted some quick way to select a map and load from main menu
very interesting, I don't have much time before I need to go to bed so I'm not getting into cpp atm lol
if the purpose is for testing in editor, I do say Lyra common map is the way to go
Tick recursive path
and class
i noticed it was off unfortunately still not printing
for context, Im doing it via Widget Utility Blueprint
because it's for editor time?
doesn;t make sense to get the blueprint assets at run time imo
oh I see didn't know that
Ig makes sense I was hoping to create an array of names from map names in maps folder
is that just the game folder?
well what am I thingking
the node I'm using is get Blueprint Assets
Level is not a blueprint Assets LOL
Don't know any in-built one from blueprint
While sprinting will slide a bit longer as i have set roll speed.
@graceful sage I don't think you can do it in blueprint actually, the only thing I can see is get Blueprint Assets, which filter the asset to /Scripts only
I think just go with the path of less resistance by exposing an array of Level
gonna sleep, gl
same
tldr, I manage to get it by writing my own function in cpp
the only thing I can see that make use of the ARFilter in blueprint is GetBlueprint assets but it filters all the assets in the folder to "/Script/Engine")
so you can't get your level using that node
unfortunate
hey guys im not really sure if this is the right place to ask and im sorry if its not
i have a probleme when i try to make the textures on low Scalability i dont see any changes even when i put it to cenimatics or any other setting
why is this happening
also i tried it in a shipped build also the same probleme
does anyone know how i can make this get a random unit style between 1 and 2?
Can even do random bool with weight if you need more control
for some reason inside the select node i cannot put 2 object references
like make it static
I would like to blend between cameras with a custom curve, and I'm seeing that the view target with blend node as a "preblended" option. is there a built in way to use a custom blend function instead of the stock blend functions?
Is there a way to access the contraints of a physics asset in blueprints?
I'm thinking get skeletal mesh -> physics asset but then I'm not sure, I don't seem to have access to set stuff
Probably not
How could I move a actor so it aligns with the center of the screen, but I want to keep it parallel to the screen? So i get the vetor how I far it is away from the center of the screen
ints not object refs
you can then use switchOnInt for instance.
or you can just go directly with enum and switch on enum
so what do i put in the a and b?
0 and 1 or 1 and 2
you plug the random bool or rnd bool with weight into Pick A
and that'll decide which unit to spawn on each pass
ok, so how do i reference the unit styles?
how did you write ProduceUnit, did you copy it from some shitorial?
that's one way. A better way would be to directly tie to the Unit input of that ProduceUnit function
what type of var is that ?
its a unit class
what do you mean scale up very well?
if you end up having 10, 20, 100 units, duplicating the function that many times would not be ideal
but it works for 2 units
what you could do at that point is make an array of the spawnable classes, plug the index into the function, and just have the function extract that index from the array when spawning
ofc the select int part would need to change too but jump off that bridge when you get there
so its just a male and female villager that gather resources and build buildings, would this type of thing effect them?
no if it's just the 2 genders you should be fine, at least until you spawn someone with gender identity politics trait 🙃
lol, now that is funny xD
so this building called a manor is gonna be for spawning peasants they are called and they only have a male and female model
Hello! Does anyone know what this means?
I'm just setting a variable on a different User Widget like I've done before, this is the first time it says w/ Broadcast
then current code you have should work
Hey all. Array manipulation question: So when you want to remove something from an array you can do so by index or by item. But can you find the index of a specific item using the same input?
You can search it for the index, sure
And when you remove it, it returns the index removed
hi guys ive got alot of enemies(characters) in my project around 400, 90% are patroling by defaulty (Using the CMC) and all are loaded at the same time, its is causing a Huge Fps Drop since everyone is moving anyone got any tips on how to solve ?
#gameplay-ai but try changing to Navmesh Walking and see if that helps (this might cause issues with the navigation tho)
there are other CMC optimizations you can make from there. Ultimately you might eventually need #mass
Hey guys , regarding material parameter collections, any way to save out the settings if changed using a blueprint utility widget to the source file in content browser ?
I don't see any index being returned. The return value is a bool for me.
Dur... Ignore me. Find
Is there a way to select exec output pins by index? Something like this:
When input is 0, it executes then 0, etc
Switch on int
Oh! I overlooked that, thanks a lot!
Switches and select nodes are you very close friends. 😉
Do you guys know why delays are longer in standalon mode? I've set up delays for stuff to appen after x seconds but in the packaged game that stuff happens wayyyy later... why?
They’ll also be different from one machine to another. Use better tools, delays are rarely the right choice
I want to attach a raycast to a vehicle that if hit, reduces the falling momentum of the vehicle.
The idea is that if the vehicle itself will slow down when falling from a great heigh right before it hits the ground.
What is the best way to achieve this via blueprints?
You can do something similar to this. This isnt the exact same as what you need, as this was for some simple wall avoidance I made a while back. Generally you're just going to want to do a line trace down, get the location, get the difference in height, and then as that difference in height gets smaller you will apply more scale value. You can use add movement input, or add actor world offset.
Wow, this is more than I could ask for and delivered very quickly to. I'll study your solution, many thanks.
Quick question: What mechanism actually slows down the vehicle? Is it the add movement input (which is presumably opposing the direction of the raycast)?
Yeaup it's the add movement input exactly. It's nice since you can isolate the Z input, which presumably when you're falling isnt being manipulated outside of gravity anyway.
the direction would just be "1" in the z vector.
I'm working on this myself right now. So far the biggest helps have been keeping tick rates in check for the actors and their components. Going through my ai's and setting tick rates to off or locking some of 0.0167, or even 0.032 for certain components has had a nice boost in performance. There are other things you can do related to the mesh as well, Disabling Morph Targets, Visibility Based Animation Ticks, and using Update rate optimizations. You can also try increasing the cell size of the nav mesh and making sure its static, along with making the nav agent radius larger. These really don't do as much as I would like them too, but they're a start. After fixing how everything ticked and these changes I saw around a 20-35% increase in performance but that will vary drastically. With 400 ai's though you'll almost certainly want to look towards the mass entity system, which is rough since there isn't much documentation.
Mark the asset dirty, then there should be a save node you can use
Not using cmc perhaps, it is not designed for mass but for a competitive shooters
Most advice I hear from others to use pawn movement or roll your own movement logic and #mass
,
Provide pic or something
here u go
Is your texture a power of 2?
Maybe it doesn't have any mipmaps
its 4k and i downloaded it from quixel
how do i check if it has mipmaps or not
It should be auto generated if the texture is a power of 2
It's 2 k and have mips
yeah i thought it was 4k
the thing is all the textures dont get to low quality at all
Not sure then, I don't think I have an issue with scalability b4
Maybe someone else knows
i tried one time to cap the texture with the edit property matrix to lower the resolution of the textures
can that be the probleme ?
Don't think so
When I call StartHitstun duration multiple times it only triggers on the last Event call.
(If I call it 3 times only the last trigger will run the followed up event). Is this the correct functionality?
Executing set timer by event before the time expired will reset the timer
How do I make the player look in the direction of the mouse?
So if you keep calling it before it expire, the function will never get called
ok thats what I wanted, I just wanted to make sure.
Sweet.
As in if the mouse is up
Point up
A top down game
If that's not the behavior you want, you can create timer inside a UObject or component.
im trying to make a barebones inventory system, rn trying to just keep track of what the player has. currently i need a way to have 2 empty slots that i can then basically tell the game "put this thing 'x' in the first slot if the player interacts with it". i can clarify if needed, sry im just trying to write this before i forget it
any help is appreciated
basically idk what node or thing to use for what im trying to do
What would be the best way to make the player character's hand move on to something? Like a simple "put hand here and have the hand move with the thing you've put your hand on"
there doesn't seem to be a "socket" anymore in the viewport add tab, which I thought that would be what would be the answer
There is in skeletal mesh viewer or static mesh
oh so I can't put a socket on just any actor?
I want to create a system with weight lifting and want to have stats such as:
Stamina, Strength, Endurance
I know some basic ways I could implement those with structs and such but I have no clue where I should put that and how to create it for, well, flexibility
what am I doing wrong here?
nothing gets added to the array. is it the reference to self thats wrong?
I want the reference to be the specific actor in the level that this blueprint belongs to
@distant grotto the actor get destroyed anyway when you travel to other map. So not sure what you are doing here.
its supposed to store the actor in an array in the game instance, and then on begin play when that level is reopened every actor in that array is destroyed.
but I think I see what could be the issue now. The referenced actor is destroyed when cosing the level , so its reference isnt valid even if it is respawned by reopening the level?
Yes, the actors on the old level all got destroyed
Your array is practically useless
how would I make it useful though, so the actor references are still valid?
set a tag or something like that? Theres multiple instances of the same blueprint on the map, I need to store which instances should be deleted in the game instance
I have a problem
My character has a function that if he falls under -1000 Z he dies and the game stops
But in the main menu level it does the same and quit the game, and he shouldn't even be there
If you need a unique identifier, go with guid
Just don't spawn the player in the main menu. Go to your main menu level, open world settings then override the player character
guid?
Ah, I see it
Tysm
Thx for the advise, but i'm Probably not doing this correct here..
hows the best way to make a whole function that can be reused for multiple actors? Ive made a blueprint interface for a damage system, but what I want now is to be able to reuse some jumpthrough platform logic that I made but on other actors, and idk if interfaces would work for that too?
Interfaces don't hold any logic, you need a BLueprintFunctionLibrary
BFL
ah thanks, and you just put the logic in there as normal?
guys, I saw usually people do walk/run by get character movement and set max walk speed, simple. But I saw this guy did that way ? can anybody understand it? Toward is a math operation, I google it but get nothing. I also dont understand that how it can change speed without set max walk speed.
you're probably missing half the picture. That CurrentSpeed variable is prly used to change something else on tick or w/e
anyways that is very hard to read and some of that code looks redundant at best, so I would maybe not follow this random guy
Someone needs to learn that function inputs have getters
and redirect nodes
and naming functions something that makes sense
True
and setting the same variable to false on both true and false of the previous branch is dumb
I could go on but yeah 😄
thanks, i think its for paly animation(blend space),but I should check again~ https://www.youtube.com/watch?v=CQdEHJTubR4 the guy has strong accent 😂
"ADVANCED MOTION CONTROLLER" vers. 4.21
Unreal Engine 4
In this first video of the "Advanced Motion Controller" series, we will create and animate the character.
. Movement Animset Pro by Kubold: https://bit.ly/2sALCH3
. Based on Tutorial from "RazzorFlame" with some small modifics.
CREDIT:
FreeBackgroundMusic
Onyx – Astral
https://youtu.be/G23...
Hi guys, would it be possible, to calculate the offset (orange vector) of the cameras/screens center?
Pulling out my hair over this, I tried with projecting to screen and deprojecting. But I'm not sure how to do it 😅
is there any way to add an outline around a 3D widget? I just want my white UI elements not to get lost when there's something bright behind them.
In theeeeeory, a 3D widget is a UMG widget rendered onto a Mesh :D. So you could in theeeeeory also do the usual post process stuff with it.
Haven't attempted that yet though. Could you otherwise just add that outline in the widget itself?
I'm doing some manual line-drawing in a bunch of my UI elements and it would be pretty difficult to consistently do this across all of it
I'll look into post processing on the mesh
Ah I don't think that will help then :/
Could you use a Spring Arm component for this? Then you can just offset a certain X distance in front of your character and that'd effectively be your vector
Hi I'm trying to create a game mechanism where the player can write in a book using a pen, and i really dont know how to approach it so kindly suggest me some workflows or tutorials
Thank you
calculate (c-a), angle between camera forward vector and (c-a) vector, then use trig functions to calculate that your orange vector
@vital cave 😦 ok thanks for info, i mean this must be a common isssue kinda weird its so ill documented
I can vouch for this plugin. We're using it in our game and have had no problems with it yet.
I found it very easy to implement.
It's just a component you add to actors you want to configure.
oh damn! nice
Check out the documentation before you buy I suppose!
your using the CMC on bpcs also ?
Like having flickering candles stop their ticking when you're a bit away, disabling emitters, etc.
I got it on sale haha
But yeah I'd say it's probably worth the price, just for the sake of not having to implement your own similar system.
Is there a way we can switch preview feature level at runtime using node or code in C++.
Is there a way you can not cross post?
I've solved most my invalid casting errors but this one remains. I think the problem is that BP_AI_ThirdPersonCharacter_C_1 is being used in a Sequencer (which is present in the level itself) which plays when the casting is being done. Although again, it plays sometimes, sometimes fails. BP_AI_ThirdPersonCharacter_C_1 is not spawning but present in the level and being referenced for casting.
Blueprint Runtime Error: "Attempted to access BP_AI_ThirdPersonCharacter_C_1 via property K2Node_DynamicCast_AsBP_AI_Third_Person_Character, but BP_AI_ThirdPersonCharacter_C_1 is not valid (pending kill or garbage)". Node: Assign Caught Event Graph: EventGraph Function: Execute Ubergraph BP Bridge Trigger RESPAWN Blueprint: BP_Bridge_Trigger_RESPAWN
What I'm doing is, have a character (with "line of sight" plugin) animated in a sequencer, it looks for the player (collision detection) as it walks along.
whats the overhead on having a bunch of cameras in my scene if I just want to blend between them? it’s very convenient to use blend viewtarget but is it much more sensible for performance to just have a bunch of empty actors and to blend the location and rotation myself?
If it's just a Camera, then it's just a single actor with a single component(camera) in it. As long as it's not ticking, it doesn't really cost anything. And you'll lose performance by doing the blending yourself in BP since blending between viewtargets is done in C++.
great, thank you!
i got this niagara system with "user params" how do i change those via blueprint ?
how do i access the "variables"
ty
Hey guys, I have a widget that I am recreating multiple times with a loop in another widget. I am using an event dispatcher to create an animation once when you hover it with mouse (yellow circle in the image) which is fine. The problem I am having is that the gridPanel I am using (Wiki_Pyramid) is identifying my mouse on the right side of my screen only (my actual mouse was somewhere around the green circle in the image). I did set up these widgets with a "set render transform " and an array so I suspect is something related with this but I have no clue , any ideas?
where I should post
hey guys, if I put a Sphere Overlap component and use the Begin Overlap in one class and then make a child class, can I not call the original function and just call it empty with a new thing? I don't seem to be able to do that at first glance (like not calling Super in C++)
override it
You need to have the event in the child class
how to link an anim graph ? the desired anim graph won't show up in the instance class option menu
link to where? show some picture
to a different anim bp
post picture of what you want to do
I just told you
I can't comperhend
thanks for trying though
you will have more chance getting help if you show what you want to do
i'm not exactly sure what you would want to see?
"how to link an anim graph ? the desired anim graph won't show up in the instance class option menu"
print screen it and maybe I can give 2 cent
just show your attempt visually
what doesn't show up
you want me to screenshot a blank option menu?
why?
There you go
the desired anim graph i want to link doesnt show up in the instance class option menu
Soo much better...
actual info now
@glass blade It will show up if you have an instance class that share the same Skeleton
they have to be compatible
please stop fighting and just show screen shoot next time
I got mine to show up
compatible ABP only tho
right click your Quin and create ABP out of it
and make sure what ever ABP you are in, also using Quin
its using quinn
i just retargeted
still wont show up
"retargeted"
why would you need to retarget something that use the same skeleton?
it just further proof you are not using the same skeleton
if you are re-targeting it
well I don't know what else to say, for it to show up
you need to use the same skeleton
that's how it will show up in the Linking anim graph
so quinn is not using the same skeleto as quin? not sure what you're trying to say
i just told you, i retargeted from manny to quinn
I'm saying perhaps you don't know what you are doing and don't end up using the same skeleton
it works on my end as you see
what could i be doing wrong?
not using the same skeleton
on the abp you are trying to link
hence it could not find and populate the list
both abp's use "ABP_Quin_Simple" and the corresponding skeleton
don't have your project, don't know what you doing
I can only tell what I do to make it work
you can only help if you have the other person's project?
🤣
quinn is already a child of manny iirc?
yep, it should have worked without even retarget right?
but i just went ahead and retargeted to make sure
best i can do with limited info is to tell you to open up an ABP that DOES work and compare its settings to yours which isn't
apart from this, is there another override I am not aware of?
well if you are overriding event, that overlap, that would be the one
if you are overriding function, you can look at what you can override above the variable tab
yeah, but if I place it in the world and overlap it, it runs the parent one
the BP may be missing a setting such as "instance class" when I compare the two images above. and it's probably not this but maybe your ABP needs to be a child of something depend on how you're structuring stuff
even after you add this?
it still run the parent one?
yes, that's the first thing I tried
are you doing any c++?
Is there an easy way to handle when a BP does not inherit and will never be called?
and the overlap event?
do you bind it on constructor or something
okay, I solved it, in a roundabout way
I just made a function and add it to the component overlap and override that one
not sure how's that related to the screen shoot
also read the warning... it seems you are using cast incorrectly
probably self is not an object that is derived from W_UserLoginButton
making the cast useless since it will never succseed
ok, problem solved. Seemingly they were using the same skeleton but actually they weren't. There were 2 seperate instances of the default ue5 skeleton
how do i turn off these reflections?
Hello,
I'm packaging a game project and using GUIDs. Everything works fine in the editor and during standalone simulation, but in the packed version, all GUIDs are equal to "00000000000". Do you have any idea what could be causing this? Please let me know if you need more context.
Some GUIDs are editor only. Would you be able to provide a screenshot of where you're utilizing a GUID?
Yes i use it for 2 things at the momment. I didn't knew some GUID where editor only, that's good to know. So the first one is a actor GUID ( sorry if i dont provide the expected details at first glance, im new at this and using BP's) Could it be that i use "actor" guid for the editor actor and not the in-game actor guid or smth like that?
ah dam, i just when over the node and it state, editor only xD
just make a new variable
well thank's for the help already.
a new var?
it's just the Actor Guid from the actor class is editor only afaik
you mean use the actor guid node to store it in a var or should i acces the guid itslef trought something else?
ah but its for a save system, sure, i will try to see if i can store my own ID
Guid is just a string isn't it
Save systems use the path. For such save systems, you have to go into c++.
For bp, you need some user made identifier
i see thank's for the help ; )
If I remember right, it's a structure with 4 int32.
Yea as ColdSummer has recommended, all you need to do is create your own GUID Variable and populate it using the "New GUID" node.
You can do something like this in the construction script and then any placed or spawned actor can have a GUID associated to it.
Though this would also mean you need to manipulate the already placed actors in your levels to ensrure they get one assigned.
sure i can do that but on level reload they will have a different GUID right? I need the GUID to delete some actor if they got registered on previous save.
but it could be that i try to do that the wrong way too.
No because if they already have valid guid, it will not assign new one. Check datura code
Well I can only think of placed actor in editor
For run time spawned actor you probably have to save the guid and other info
yes i get that but that GUID need to be save then or will it be keept on level/game instance reload?
The guid will remain the same for placed actor on level
Dynamically spawned one you need to assign the saved GUID when spawning. This can be done by making the GUID variable exposed on spawn/instance editable.
sure the dynamic ones are easy and i dont realod them on new level. THat should be easy thank's for that ; ) my concern is the static ones that shoudl keep the same GUID on game restart ect... if i make one in the construction script, i need to see how that behave with level realod ect... Will make some test but thank's.
How do I get all the assets in a folder at runtime?
Edit: i found it. I had to search without the context filter.
Seems to work, on editor reload the guid changes but stay the same during session and on packaged version it stays the same even after game restart. Im not sure i understand how the constructor function works with packged build tho.
So again for static ones, you need to manipulate them in the level, like move them around or whatever, this will then make the construction script fire which should then automatically assign them a GUID.
yes i did, all good
Then just save and you should be good.
but on editor reload the guid is changed, while in shipped game its stay the same, that's why i dont get how the construction script work with shipping
Did you make sure the GUID variable is instance editable/exposed on spawn?
When you do this, you're allowing an instance to have a defined value. The construction script automatically assigns that value for you. When it has done that, then when you save it, the GUID value assigned should remain permanently until you remove that actor from the scene.
only instance edit
Hello! I have this weird issue. When pressing the key related to the input it reaches the Set Button Switch just fine. Similarly when clicking a UI button that that events calls I also get to the top Set Button Switch just fine.
However when reloading this level (as in unloading and loading different level and then from that level loading this original level again) the key doesn't work anymore, as in, I can't get to the bottomt Set Button Switch anymore. The UI button still works fine.
Is there anything that disables specific inputs? (Because other key inputs work fine (like escape and spacebar, just the keys related to this input don't anymore))
You see instanced spline mesh components: is there a way to control its collision presets?
I think I'm not fully following, could you elaborate?
No that's not possible sadly 😦
guys need help how do i make a propper check if enemy is infront right now it only wors if only one enemy is plugged in (i have 3 enemy in total)
this function is in player
This aint right my friend
Theres plenty of good ways to figure out if they are in frontn
Collision volume is one of them
Tracing is another
Using getActorofClass here is abusive 😕 and not reliable
We have 3 vectors. The vector between the camera and the object, the camera forward vector, and the orange vector you want. Those 3 form a right triangle. We know the hypotenuse and we know the angle between the hypotenuse and the camera forward vector. That makes the orange vector the 'opposite' in sin(angle)=opp/hyp
Unless its forever the only actor of that class ...
yea.... well how do i implement them with the other methods
I would suggest looking up some trace tutorials
Is there a non-intrusive way to slow down the falling speed of a mesh that has other forces acting upon it (like a blueprintable car)?
The issue with add relative location is it's quite intrusive
but I'm hoping for something better
Just apply a force pushing it straight up?
yeah a force that pushes it up a bit (slows it down when falling)
if that makes sense
ok i'll try that
Also, I can't recall if you can override gravity for specific actors, but if you can that would probably be ideal.
Hello, it seems like Remove All Widgets node doesn't actually delete any, is that correct?
any idea where I'd look? I typed in gravity but all i can do is enable disable
Hello! When using offset root bone for turn in place animations (specifically in the animation sample project). Is there a way to speed up the turn in place animation?
Trying to support first person, but turning in place too fast causes the camera to pick up the player mesh slightly cause the animation is still turning. Trying to have the animation go as fast as the camera. But can't seem to find a place to even change the animation speed, does anyone know?
Only thing I see is set gravity scale, but sounds like that might not work for physics objects
D:
Can just apply an upward force, pretty easy.
hey i added the "water plugging to my project" changed my mind and disabled the pluggin but it increased the file size with like 30 gig
cant find where its located in the project >.<
seems to work for me what do you think ?
ty for the suggestion its much more efficient now
Seem fine I guess, no validation or checking of hit target might give you false positives sometimes. Depends on if there are unwanted targets that respond to the same object type 'Pawn'
I'm doing some more ai optimization, wrote another enemy class that is identical except that it is using floating pawn movement instead of the character movement component. The difference between 10 of said ai is less than 10 fps. I honestly figured that there would be a much more substantial difference between the two, anyone have any ideas?
10 fps is still alot ? how many activ actors ?
I think I said it in the post it was only with 10. I'm currently converting my other 15 enemies into this class so I can test it in the wave format and see if there are more substantial gains. I'll try to run it with 30 enemies quick and update you if the gains compound.
ah ok
@vital cavehttps://www.unrealengine.com/id/login/api/login?client_id=43e2dea89b054198a703f6199bee6d5b&redirect_uri=https%3A%2F%2Fwww.unrealengine.com%2Fmarketplace%2Fen-US%2Fproduct%2Ftick-optimization-toolkit%3FsessionInvalidated%3Dtrue&prompt=pass_through i got this tip from someone else to handle CMC cost with tics especially
he/they use it in their proejct with 1000+ mobs with ease
Yea, I guess its less of a difference for me since I rarely have more 30 enemies at a time on screen, but a 1 fps difference per actor in your case would be pretty huge. Yea I saw that video a while back, I'd like to work on my solution before I get to desperate haha. I might try to write up a simple tick handling function the parent class as well, would not be as efficient as that plug-in but would help.
aye ok
Yea just switching to pawn movement wont be enough. The extra 20 enemies takes fps from 90-100 with 12ms frametime all the way down to 40-50 fps with 20ms frame time. Their only logic are some simple ai-move-to's and a spell cast, removing the spell cast function makes a negligble difference.
damn 40-50 is still good xD even if i start a new fresh project i cant get mine above 40
lolz
Yea arent ya running like 100 enemies?
huh ?
no mines at 25-30 while playing
nope
i change it all npc stand still untill player is "close" then it activates them
went from 10 fps to 25-30
does anyone know why this function isnt creating a smooth rotation
are you just trying to rotate and face the target ?
yeah but i want it to be called only at specific times
Use built in Rotate and face bb key and Focus tasks. Adjust turn rate from the CMC
thank you very much
Ohh makes sense I guess, I didn't think about it that way, thank you! 🙂
i adjust the turn rate to 10 and its still being pretty abrupt using either rotate to face and focus tasks. Is there anything that might be causing this or anything else i can do?
Inside a Function called "CheckingVaultVariables" inside my "BP_ThirdPersonCharacter" I am trying to Cast to my separate "VaultCollisionV1Type" Blueprint to activate an event inside the "VaultCollisionV1Type" blueprint but I can't figure out what object reference to use. I am sure that is my only problem because if I skip it, it works but I am trying to set the Vault collision forward vector of the "VaultCollisionV1Type" Blueprint.
¯_(ツ)_/¯
🤔 try messing with the use controller rotation options on the char @dim halo
Alright will do thank you
Is there a way within a blueprint to set the allowed classes for a UObject variable? I have an ActorComponent blueprint that's pretty simple, and it has a variable that I want to be set to either a Texture2D or a MaterialInterface. And it works, but I'd like to narrow the assets that show up in the list when configuring it to just those two classes. I know I can set that via a blueprint meta property in c++, but just wondering if there is an in-editor/in-blueprint way to restrict that
Those are 2 very different types so I’d go with no
Is it possible to create a ui slot within a scene capture? I dont think you can screen space widgets in render targets but Im trying to figure out a way to have weapon customization ui. So the weapon is shown and the ui slots surround the weapon and can be interacted with. Whats the best way to go about this? Its done in so many games so surely theres a way 😆
I have two function delegates which are implemented identically in C++, but one of them lets me create an event directly while the other one requires I bind an event to it explicitly. What's going on here?
oops, overlapping questions lol
DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnSwitchSlot, int32, OldSlot, int32, NewSlot);
UPROPERTY(BlueprintAssignable, Category = "Inventory")
FOnSwitchSlot OnSwitchSlot;
DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnPickupItem, APickupActor*, Item, int32, Slot);
UPROPERTY(BlueprintAssignable, Category = "Inventory")
FOnPickupItem OnPickupItem;
nvm I'm a dumbass
Forgot you need to use the details panel on the component to add the listener
You mean in 3D?
You want the UI shown in 3d space?
Have you tuned the cmc settings ?
I assume the fps mostly drops during movement ?
Yea, I've tuned quite a few of them but I'd love to hear if I missed any
@fickle lichen ideally in order to have the weapon display within an inventory, the slots for attachments would need to show in 3d space of the render target so they can draw a line to a socket and move as you rotate the gun
whats your target enemy count ?
Does someone knows how to make localized fonts? I made it but when I swap languages the font doesn't changes
Around 30 at a time maximum I'd say. I'd like performance to be fairly smooth with 50 that's the goal.
Currently my maximum is set to 24 enemies spawned in at a time.
and they just randomly walk ?
Yea that's their only movement logic, they have other processes but they have almost no effect on performance.
Can you not just use a Widget Component?
Describes the Widget Component which is a 3D instance of a Widget Blueprint that can be interacted with in the world.
the cmc itself is only costing a tiny part of it on my end
default settings , 36 ai characters, 1 ms for the cmc
@fickle lichen they cant show up in world space and screen looks awful. Im thinking maybe there isnt a way to do it inside a render target and it would have to be done as a mesh in front of the camera
as long as slots can be interacted with, e.g dropped onto
wdym they can't show up in world space
It's more the actual naviagation than the char movement, I have a drone enemy with char movement, but it's logic is manually programmed using add movement input and 30 of those keeps around 110 fps. Compared to ai-move-to's 50 something
How are you drawing the weapon in screen space?
this is with them navigating/moving
the weapon would be a mesh in front of the scene capture 2d, then the widget components would be drawn as screen
Hmmm, wonder whats different, I'll load a seperate test quick
Why can't you also put the widget component in front of the scene capture 2d
If you're intending on having them in 3d space
cos it doesnt show when its screen space. Only world. But world looks poopoo 😆
can you try it with ai-move-to, not move to
Is the weapon not in world?
its on a scene capture. In the world, sure but not in front of the camera. The inventory is open with a render target material showing the weapon.
if that makes sense.
no difference
but widgets dont show in screen space on a render target mat
Really? I'm about to run a test as well, how many ai's is that with?
Is the widget not rendering to the render target alongside the weapon?
36
yeh the widget isnt rendering when set to screen space
with 72, the CMC eats < 3 ms
just the widget is screen space
If you dont mind me asking where are you getting the specific component breakdown?
In the component?
huh
the widget shows in the world as youd expect but not in the render target material
because its screen space
Im thinking it cant be done with a render target. But Im also not an expert. So you can feel free to say, dont do it like this.
it doesnt exist in the world
it just projects on the screen as if it waas in the world
and it cant therefore project through a render target
correct
you'd need to have it in World Space, for it to be projected through a material on a mesh plane
which then could show on a render target
the slots just look not great on world space, so Id rather know if theres a different way. How do games achieve this type of thing? weapon customization with dynamic slots attached seems so common. Whats the trick...
kinda just sounds like you've got the wrong settings
they can look fine in world space
Hmmm, I tried it out with no mesh or anim bp and did get results closer to yours, but not quite as quick still. I'll look into some mesh optimizations possibly and see if I can find any more ground there, I've improved cmc perforamance by about 33% over the last coupe days anyway.
Im also not sure I can interact with multiple widgets on a render target?
you'd need to fake it somehow
but normally
you wouldnt have the widget in the render target
you'd render the capture in a widget behind the other widgets
It's quite expensive tho, mind you
I've done 0 modifications to the AI as it is rn , 0 optimizations, no mesh removals (mesh eats up a tad more than the CMC)
I couldnt draw a link to the weapon then though could I? to like a socket.
why not
actually I guess you could if they are still in the same location it can still draw to the weapon
worst case you can use the HUDs draw function to force it
just need to know their screen locations
Would it generally just be better to not use a scene capture? Then just have the mesh there with the widgets in screen space. a spawned actor in front of the camera instead.
it seems like it would require less workarounds
some secret room in the world, where a duplicated character stands
or weapon
or whatever you'd showcase
how does one achieve the lighting overhaul for this spawned actor room? is there a way to ignore world lighting and just use separate lighting?
I believe there is, yes
that was always the main issue I had was the sun ruining the lighting of the actor
or night would make it harder to see it
when "launching character" what affects how much the push the effect will have ?
adding weight will make it push less ?
i mean when pushin hhow can i make certain units be less affected by it ?
@gentle urchin lighting channels will do it. thanks for the help. Im gonna see what I can do about getting it working decently
yea, I did some more checking and using identical logic skeletal mesh vs static mesh with 30 ai's is about a 50fps difference. Will have to figure out how to fix that.
your pc spec is also relevant ofcourse
can anyone help me with this?
you'd need something to iidentify the object with. Usually that's a trace
launch character just adds (and if override is ticked sets) the velocity. that's it.
adding weight shouldn't make any difference
you could change the gravity or simply scale the value depending on which character it is applied to
Velocity is affected by mass tho, isnt it
Not initially, but everything after
Hmm... perhaps not ...
got a fun one... trying to get a node (was rendered recently) to work properly for some bots. They can't move if seen and can if not seen (think scp 173 or weeping angels from dr who. but even when I turn around or go behind walls, they dont move. So trying to figure out what exactly rendered means here and if there is a better node to use
I've not had much success with that node in general
Id probably just figure out the Dot Product for the general 'has a chance to be seen' , and then do additional checks for obscurances
Line traces comes to mind
in theory it'd increase ground friction
also initially higher mass = higher inertia so more force needed to increase velocity
Yepp
but that doesn't apply with launch character
But we're setting velocity directly here (or adding) so
Yeah as you say it simply bypass that
is there a way to kill niagara particle effects?
Cant seem to figure out how to stop and stop showing them. I dont want to destroy them as I need to re trigger them but I want control over how long they display in BP
I'm trying to make it so that when the player collides with a box it will open the next line of dialogue. Any ideas on how?
Are you wanting to like immediately remove all particles? Or just stop it from emitting?
immediately remove would be great.
I am curious though, is there a reason you don't want to remove the system, and just spawn a new one the next time it needs to emit? You can call SetVisibility on the emitter to have it not be rendered, and you can use SetPaused to stop it from emitting new ones, and then starting from where it left off again, but if you are wanting them to restart anyway, you are better off just destroying it, and then respawning it the next time
Hi everyone. I'm trying to find out how to set the position of an element on one widget to the position of the mouse on another widget.
The reason why is that the examine item in my inventory is handled through a render texture, but I want the player to be able to identify hotspots on an item with their mouse. Issue is, the item isn't actually there, so I need to use a line trace attached to a pointer attached to a 3D widget in the item renderer blueprint to adjust the position of the pointer and then translate the mouse position on the render texture border to the 3D widget. But because of the differences in size I need to resolve the differences.
problem there is that I have ~50 or so actors that would need that every time in my case
I considered it but I have performance limiters
I feel like I'm not seeing something. Any help is greatly appreciated! I'm trying to get a shell to fly away from my rifle when it fires. As is the shell spawns, but is either invisible or is static. But when I pause editor play and adjust the scale value of the mesh inside the spawned BP_Shell, on hitting enter the shell is suddenly visible in the viewport and follows all the physics.
The outliner details for the BP_Shell after firing and spawning it. The mesh isn't visible and assumedly not following the physics.
Third image is after editing scale to 1.1 and hitting enter. The shell then is visible and follows the impulse and gravity. Note the edited scale reverts to 'near' the original, but not quite...
Trying to recycle the same BP_Shell instance for each firing, it's instantiated in my Gun class like this: ```void AGun::BeginPlay()
{
Super::BeginPlay();
FActorSpawnParameters SpawnParams;
SpawnParams.SpawnCollisionHandlingOverride = ESpawnActorCollisionHandlingMethod::AlwaysSpawn;
Shell = GetWorld()->SpawnActor<AActor>(ShellClass, SpawnParams);
if(Shell != nullptr){
Shell->AttachToComponent(this->Mesh, FAttachmentTransformRules::KeepRelativeTransform, TEXT("P_ShellEject"));
}
}```
and from the gun.h: ```UPROPERTY(EditDefaultsOnly)
TSubclassOf<AActor> ShellClass;
UPROPERTY(EditAnywhere)
AActor* Shell;```
casting to your GameState and GameMode shouldn't matter because those are always loaded into memory anyways, right? Like I'm not loading it twice if I have an asset that has a hard reference to the GameMode it's for.
Referring to the reuse of the same BP_Shell as opposed to just spawning a new one for each shot?
If so, I just didn't want to clutter my map's object tree with a million BP_Shells 😆
What does the lifecycle of a hud actor look like?
I'm using a BP to find out CineCameraA's position relative to ObjectA , and then setting the transforms of CineCameraB relative to ObjectB. Both objects currently have matching transforms as a way for me to effectively show the issue.
You can see in the video that CineCameraB lags behind CineCameraA. The faster CameraA moves, the greater the lag of CameraB. Is there a way to fix this? I need basically a 1:1 mapping of the transforms.
Wicked, I use that movie to explain a hug part of my game story and play loop 😂
I'd actually try and profile this to compare the two methods, because I think Unreal does some stuff there internally and pooling often is not worth it
it's extra complicated because we are working with blueprints which is probably an even more significant factor
so really first thing I'd do is go with the easiest method and just see if the performance impact matters at all
On a looping spline, how can I track the total distance traveled around the spline in a loop over multiple times while knowing that at point 0 it counts distance back again from 0?
Correct, but keep in mind that it's also important to keep casts to related classes as they create dependencies. Casting to your game mode from some random actor that could be placed in any level with any game mode might not be the best approach
Hi everyone, I am trying to create a grapple hook feature, I got the trace and am trying to do a check to see if it hits a "grapple point" though, when testing, I am not getting a true outcome, can someone tell me why this doesnt work?
You need to do a type check instead of an equation operation. You can get the hit actor class and convert to a soft class reference and then do an equation operation on your grapple point class
Hi good morning ,
I just need a suggestion on whether should i do visibility/creation of the whole widget on level blueprint or the player controller
I would move this logic to a HUD class
what is prefferable?
Between the player controller and your level blueprint? Your player controller would be better. You cant get a reference to anything stored in your level bp.
Thank You! So calling a class is like any actor of that type right? I am still confused as to why doing an equation check didn't work.
Correct. The equation operation is checking if the object reference A equals object reference B. So in this instance it isn't going to work since the actor you're comparing your hit actor with isn't a valid object reference
Can i make a light source ignore skeletal meshes with the light ?
You can set a lighting channel on the light source and on your skeletal mesh
I remade the whole bp to work from inside the Separate Blueprint because it could cast to BP_Third_Person_Character but not the other way around. so it gains variable information by casting to it and doesnt require it to cast to the Separate BP anymore.
Be sure to not edit those variables directly from the Separate Blueprint
encapsulation is key , exposing public functions that does the thing is the way to do it
(all variables should more or less by default be private, and only your desired functions should be public)
That keeps the intent very clear for both you and other developers what to call and what not to call from externally
I have run across an interesting issue and wondering if anyone has had the same thing;
I have a blackboard that fires properly, with a few simple tasks, Roam, Play a montage (aggro) when hit, then chase the player.
The chase and roam work fine, but as soon as I add the play montage, the chase player task breaks. the AI moveto node always returns 'fail'. when I unplug the montage task it fixes again. Any idea why this might be, and what the solution is?
edit: for clarification, the chase task itself fires properly, the result is always fail on the moveto node though
Are you finishing task after the montage completes?
its changing them but they are specific variables and cast to events made for the separate bp in the Bp_third_person_character. The way I have it is working out really good
Anyways I came here this time to actually ask
Does anyone know how to allow a Variable in an object blueprint change value globally throughout all instances of that said object placed in the world? Specifically just the one Boolean Variable
you'd want to set that up through a event dispatcher in a manager class
or read them from a common object
a singleton
hmmmm
Just so you know there is a built-in BT task MoveTo
bump
Is there any way to show StaticMesh sockets in the editor viewport?
hi, is it possible to add an event dispatcher to the is falling function?
to avoid to put a check into the On Tick event
There is on landed function already
mm this one is called at the end not on the start
Hopefully that's the answer I'm not sure my self. I thought we have bIsInAir
But for your use case that should do, maybe.
Hi there,
I am trying to create a custom 3d camera behaviour for a prototype where the camera doesnt jump when the character does but only follows the characters Z when the distance between the characters Z and the camera Z is greater than a certain value.
I managed to solve the first problem of the camera staying fixed until the character lands on a different floor meaning the camera has to move to realling itself.
However this opened up a couple new problems with the camera not following the character properly when being launched or on double jumps.
I've descriped the issue and the code in this post on the forums but I'm kinda reaching a wall trying to figure this out.
https://forums.unrealengine.com/t/fixed-camera-needs-to-follow-character-when-moving-out-of-frame/1974313/1
Any kind of help is appreciated
Hello everyone, in my previous post (New camera system | Prevent camera from jumping with character) I tried to create a camera system where the camera stays fixed and doesnt jump with the character. We managed to solve this in the previous post. Its important that you read the previous post to understand the issue in this one here Now the i...
so for my weapon what would i do
have the input stuff on the player character
or on the weapon
I have a seperate context mapping for the weapon so just not sure where the input binding for that should go interms of on which actor ?
Running a "Switch has Authority" node in a GameState-blueprint, can I expect this to always return as Authority on the server (listen server) and always Remote on clients?
is flip flop bad?
Hey guys, does anyone knows if it is possible to create a struct/blueprint where whenever you modify one variable value, other variables in that struct/blueprint would automatically adjust their values accordingly?
For context, I want to make a struct for map generation blueprint that would contain enums referencing "types of rooms" that can generate and a float in range {0:1} that would define how much % of the map that "type of room" should generate on the map
And the goal is, whenever one float corresponding to specific enum would be modified, other floats would increase or decrease accordingly, so that sum of all floats in this object would total to 1
Haven't tried to make tools/blueprints that affect Unreal Editor yet so I'm not sure if it's possible or should I just make a simple workaround
not without cpp
for runtime code you would use a setter to modify the variable, but for editor stuff you are pretty much in a hopeless situation with BP only
Suspected that might be the case
Alright, thanks for letting me know!
Personally id probably just combine their chances
instead of modifying all entries
yup, that's the "simple workaround" I meant
also, this can be done in bp, with some editor scripting
you could make an editor utility widget tho, that could serve as editor tool to modify the data and to call the recalculation method
^
but how'd you know which one to 'reduce'
or would you reduce all of them? sounds a bit painfull
Well, seems that without doing it in C++ might be a headache
I'll just stick to the workaround of combining the chances, I've done it before for this project when I was making it in Unity as I didn't wanted to bother learning making Unity Editor modifications as I was on deadlines for college xd
well, you can certainly reduce them by the amount of room types / (sumOfAll - 1)
which should reduce them equally
hmm, if you got time look into editor utility widgets, they can be a powerful tool and your task sounds reasonable for a first "project" with them
Might not be a bad idea, I should learn to make those sooner or later anyway
Alright, thanks guys for the swift answer!
Hello, I've been trying for quite some time already to get some haptic feedback for a vr controller with UE5.0 using the Oculus Quest 1 and so far no success. All the setup seems to be working properly but there's just no vibration no matter what. If anyone knows why, that would be very helpful. So far no chance on any forum I've looked into, no response from UE or Meta forums...
I... haven't seen a specific vr channel here so I'm asking here since I'm just using bluerprints for that. Also idk if newcomers have the right to post images atm.
#virtual-reality @tight moon
Alr haven't seen it, gonna ask there. Thanks !
Your localization in ue 5.4.3 works?
Yes?
No
Hi, i am currently trying to do a line trace for objects on the WorldStatic object type ,but the line trace detects one of my actor that has the WorldDynamic object type. Does anyone have a clue why?
I mean... It is.. So.. Yes.
That is, no?
good day. is there a way to make third person character backwalk only?
usually advised method (turn on "controller desired rotation" and turn off "orient rotation to movement") also turns off rotation to left or right, and what i would like to do is something like attached clip from Batman: Arkham Knight, where character can walk forward, can rotate to left and right (only character head rotates), but at the same time walks backwards.
its just a different blendspace for the anim mostly
plus some sort of different control for the head direction
I haven't done anything in Unreal for a while, so I'm a rather rusty. I'm working on a railroad track build system during runtime for the player, essentially a drag and drop system. When left click is pressed it should set the first node of the spline, and then the second node of the spline should follow the mouse until the left mouse button is released. I'm having trouble figuring out the logic of it
is there a way to rotate an animation in blendspace? so i can use the same walking animation but it was directed to left/right
It's not the animation that's rotating. She's doing the same walk left and right; and a different walk anim for going backwards. The difference is her head is looking at a fixed target.
"she" is facing right when walking right and her head is being rotated to look to her left (camera forward)
and when you press the "walk back" key she's not rotates facing to camera, she still looks forward and walks back by looking forward
but is there at least a key to an idea of implementing it?
if you move backwards orient forwards, otherwise orient to movement
Is it possible to run certain BP event graph code continuously in the editor? Sort of like the EventTick node, except in the editor so that I do not need to actually Simulate the game / PlayInEditor.
I think I've seen a hacky way around this in the past by using a custom event with "Call In Editor" enabled, and using "Set Event On Tick" or something like that to call a function. But that was a hacky way of doing it in UE4 and people have reported it to have been "patched" as of UE5, so idk if that approach will work. I'm looking for a more "official" way of doing it.
I cant figure out why this widget isn't removing from parent
yes, and the success boolean has been set to true
show?
anyone know where the setting is again for physical mat surface type to be allow to be accessed and read without getting warning
thats the error I'm refering to
hi is there any module for accessing bluetooth functionalities like connect/pair a device, send data across devices etc?
is there some node equivalent for continue key-word in c++?
no, but you just let the branch finish. Think about it.
You are say doing a loop through actors. You want to check if the distance is less than 500.
In that branch, if distance is less than 500, great, you continue on executing other nodes.
Otherwise it hits the false path, where there is nothing, and the loop increments
You don't need a continue keyword with the way blueprints is laid out
here you can see that as soon as I plug in the play montage task everything works up until he is required to move and he turns to face the player but wont actually move forward
I also removed the play montage task and made the montage play in the BP instead as a separate event and it has teh same outcome
show where youre playing montage
first image is the montage called in task, second image is in teh event graph of enemy BP
you need to call a dispatcher off completed pin then bind that in the task
and do the finish execute on the binded event
so when the montage is completed the task will finish execute. How you have it now it will just start playing montage then immediately finish execute
@rustic pollen when I had to interface with external Bluetooth (BLE) devices a few years back I had to write my own plugin, these days there are some resources on the Marketplace you can look at
I will try that, thank you!
still the same outcome unfortunately
there is something called BLE Utils V2 which is a paid plugin 😦
If I have an actor and I do an get actor of class for a different class and set a variable on that actor, is that a reference that pops up in the sizemap?
I believe you might need to need to make your tree go to a task when playing montage then make it go back to the other task, been a bit since ive done ai stuff but I believe thats what I had to do
gotcha, thank you for your help so far, ill try this next
Someone able to help with this please
@rustic pollenthere are a couple of them at the moment. The alternative is that you work on your own implementation, but that will require C++, it cannot be done with BP's
I've enabled this which I believe I need to for that error to go away
but it seems the error still happens, the sounds are working like so bit confused why that error is happening yet its still able to do what it needs to do
umm ye do u have any docs for me to look into accessing bluetooth modules from cpp itself?
@rustic pollenaccessing Bluetooth is mostly platform specific, if you are on Windows you can check open source projects like this: https://github.com/bucienator/ble-win-cpp
If you have further questions better to move to #cpp
Anyone able to help with my issue please, I'm really confused what I'm doing wrong
just show your issue then someone will reply if they know
I've shown my issue above
but bassically i'm doing that
however I'm getting the error and I can't work out wh
why
i remeber having this issue agessss ago but I can't remeber how I fixed it
if (UCameraComponent* PlayerRetrievedCamera = UCommonFunctionLibary::GetPlayerActiveCamera(this))
{
FVector StartLocation = Weapon_SKL->GetSocketLocation("Muzzle");
FVector EndLocation = StartLocation + PlayerRetrievedCamera->GetForwardVector() * WeaponRange;
FCollisionQueryParams CollisionQueryParams;
CollisionQueryParams.AddIgnoredActor(this);
FCollisionResponseParams CollisionResponseParams;
if (bAutoFire == false && CurrentAmmoRemaining > 0)
{
if (bIsProjectileType == false)
{
GetWorld()->LineTraceSingleByChannel(BulletHitResult, StartLocation, EndLocation, ECC_Projectile, CollisionQueryParams
, CollisionResponseParams);
that where the line trace is being done
#cpp anyway seen this above issue before ?
trace is probably hitting some for a second that doesnt have a phys material so probably just do a is valid check
i've checked it's hitting something that does have one but still seems to be off
see thing is I do same kind of thing with when player is walking and I'm not having same issue there
so something isn't quite right
replaced the task with one that plays the montage in the task itself, and you can see in the print string that the pathfinding succeeds but the character just doesnt move forward. Im gonna try a few other things, and update if I find a solution. Thanks for your time my friend
only difference between the footstep one and bullet impact one is one is line trace by channel and the other is line trace for objects
I AM SO DUMBBBB, I found it hahahaha
i found issue
I forgot to plug my movement state back in if the initial hit reaction montage got interrupted. Thats why he would turn and face the player but not actually move, his speed was getting set to 0 (idle)
so it wasn't on the stuff i'm hitting that has issue
I needed to in my Cpp set the return bool thing on query params
Anybody have experience altering root motion at runtime? I'm trying to use root motion for 1 montage section, disable root motion, then play another section and Launch, but launch doesn't work with root motion enabled and changing RootMotionMode just before the new montage doesn't seem to take effect in time.
bump
Good evening, can you please tell me if there is a function for rotating bones to a point? Looks like turning on a bone magnet
A) 4 meshes, each with three bones, the top bone “looks” in a random direction along xyz
B) 4 meshes, each upper body stretched to the appeared point of attraction,The others also straightened up slightly. (like the tentacles of an octopus reaching for a ball)
Please advise what needs to be googled, can it be created? I haven't found an elegant solution on my own.
Any idea why this isn't removing the widget off screen?
You shouldn't cross wires across execution paths.
This also isn't great as each overlap could cause more widgets to be created.
To portentially fix both issues, promote the return value of the create widget node to a variable. Check if the variable is valid before creating it - if it's not valid go ahead and create it. In your "Check if player has reached location" event, use the promoted variable plugged into your remove from parent node.
Sorry I have updated this since posting, the state its in it currently works so it basically means the branch isn't working
The branch would only fire when the overlap happens.
what about this?
I actually don't think I need branches
Better, but stll don't cross execution paths.
How would I reference without cross execution?
Promote to a variable
This one?
Yep
And only create the widget if the variable isn't valid.
only try to remove the widget if the widget is valid too
Yes, make sure you use a "Set" coming off of the Create Widget node.
You can also convert those getters of the variable to "Validated Gets"
What would be a good way to create a check date time range? EG: from October 5th to the 7th? I currently have this setup:
Or would I just have to create another similar function returning everything back to false after that date?
there are quite a few functions for dealing with DateTime
I would use < and > to see if it is in range
Hey, I want to hide an image in my Interface Widget. My problem is that the Casting Node messes up the commands for some reason.
When I use the Events in my Interface Blueprint it works fine, but not in my Thierd Person Character Blueprint. Does anyone one know a solution or a other way to handle this?
Thanks, I'll give this a try.
idk why but for some reason yours just isn't working.
The cast node doesn't do anything to it.
If your "Gear 4" is not valid, that means in the particular instance of "HUD2" you're accessing it is not valid.
The "Gear 4" is valid on Construct. But when i execute the "Remove Gear Event" it is not valid.
I ended up figuring it out, the physics asset and unset lod's were the culprit (mainly physics asset). I made a duplicate physics asset that is extremely simplified and in some cases dont use one at all (just use the capsule collision), assigning the higher quality one when I need to use ragdolls. That paired with lod's brought about a 40fps increase. Still not quite as good of performance as you were getting, but a massive increase. regardless.
that's a solid jump for sure
mind you im running a small powerhouse so might be the rest of the diff there
appreciate ya pointing me in the right direction, I had assumed the ai was the issue as one enemy not using it had better performance, but I neglected thats also my one enemy using a static mesh haha.
I've checked if the "HUD2" is valid. Yea it is also valid.
Why is the camera not able to look up and down
maybe this on the camera
I am setting up the visibility of a widget (wikilock) on and off . Im debugging with a print statement and even when the condition is meet (integer being >= 1) and my breakpoint go through the hidden node; my print string says is visible instead of hidden.
I did check the references about WikiLock and I have it only in this function. What am i doing wrong?
Any idea how to make a widget media source variable instance, what I have isn't working
SetVisibility. Not Set Visibility.
Still has nothing to do with the cast itself. Either something is changing your "refernece" variable meaning its no longer pointing to the same object that has a valid "Gear 4" or within your "HUD2" something is changing "Gear 4".
I checked if the variable is changin by adding a String Node to the Event Tick to check if "Gear4" is valid or not. But every frame it is still valid.
Maybe it has do to something with the execution itself?
Hello Team, i'd like your tought on this please 🙂 ! I need to find a way to link the item that exists in my inventory to the one that gets created from it into my specific socket. How would you proceed ?
Are you saying that if you don't make it editable, your reference is always found ? Because most of mine are not found
Didn't say that. When you create a variable of an object type, it's just an empty variable. You have to set its value to the thing you want stored in it. Casting is only checking if the contents of the object variable is of a specific type, and if so, allows you to access the variables and functions of the object at that level.
If the variable is empty, the cast will always fail. If the object within the variable isn't or doesn't inherit from the casted type, then the cast will fail.
MMMH ok thanks 🌟
is the same :((
You switched it out for the actual setter function? Not setting the variable?
It is variable, by default I set up to hidden and then the idea is to use that branch. I also tried setting the initial visibility as visible but is the same issue
No. I mean you need to call the FUNCTION called SetVisibility. Not set the Visibility variable.
i did but is the same issue
This works fine, but I don't want it to need a year each year, I want it to just require Month, Day, Hour, Minute
But when I break it I can't define those.
Then something else is setting it back to the other setting. Nothing will stop that from setting and updating.
many thanks for your help
Anyone know how to redo that without the need for the year?
How do I put line breaks in a public text variable?
You can make it multiline in the property settings.
Where do I find this?
Details panel. Click the arrow at the bottom of this.
I'm trying to respawn my player, but each time I try to, this reference gets broken, even if I try and reset it (add and kill hud just try and get rid of the hud)
Did you read the warning or go with “nah it’ll be fine” ?
warning disapeared after compiling
was outdated
What does KillHUD do?
Removes HUD from parent
creating & adding
it visually shows up again, that's not the problem
but the reference > Get Player Controller > Get Hud seems to completely break
Is the return value of AddHUD the hud ?
yes
So why are you not just plugging that in
that doesn't work
Meaning ?
hmm wait
Hi all. ChatGPT and Llama locally can help with blueprints really good. I was wondering if there was a way to visualize them too? So is it possible for LLMs to give out a visual output in some way?
No they can’t
what do you mean
gotta test something, just realized I'm messing 1 part up... doubt that fixes the problem though.. 1 sec
At least ChatGPT is pretty bad at UE, it’ll hallucinate solutions
it works great for simple stuff like creating an FPS character and camera
as a means of learning blueprints and some of the nodes, its great
what i need is a way to visualize their output as diagrams. they don't need to be usable in UE or anything
just visually
I’m sure there’s some dude out there that made some plugin to convert but realistically bp nodes are just text
That’s how bpUE works
Is there an alternative way to blend two montages rather than using LayeredBlendByBone"?
Currently I have a skeletal mesh with one half (lets call it half A) activating a PlayMontage node on player input with each additional input calling PlayMontage again.
The other half (call it half B) I would like to play a separate montage.
I have gotten animation blending to work in the past by caching the animation in the default slot and then using a LayeredBlendByBone along with a separate slot.
My issue right now is when I try this on my current setup, it correctly blends the animation of half A with half B the first time; but when half A's same animation is triggered a second time through the PlayMontage node while half B's is still playing, half B's animation stops entirely. If I let both finish it works fine, but I ideally would like to be able to use PlayMontage on half A multiple times while half B is stilling running its slower animation.
Is there a way to achieve this? Am I missing something in my AnimBP?
You could try speaking with the creator of blueprintue.com and see if they'd be willing to help out.
Alright, realized I wasn't updating the HUD Class, only the widget 
BUT regardless, even trying to set that using Get Player Controller > Client Set HUD and then trying to create a new reference to the HUD Class, it fails
Thank you 
thank you so much
How do you put a border on an image in a widget blueprint? I thought it'd be padding but I cant find it
you put the Image on a Border , or right click image and "Wrap with" > Border
then the image's padding will be the Border thickness
Why are you using get player controller with index in multiplayer?
Where does the function lives?
Not doing anything Multiplayer
Then why do you have an rpc?
And the plot thickens even further, working away on all my functions further.
The code onscreen runs on Beginplay, and sets the "As Hud player" reference just fine
But on Event Destroy it runs the code and the As Hud Player reference fails
Possibly have some lingering stuff from some multiplayer testing
Anyone know why my videos keep replaying incorrectly?
each video is a different length
which is why I have made it a variable delay
Hey peeps,
Dumb question time. I'm using the ball template from UE4 (now in UE5) and I got some BP code which teleports the ball if it enters like a no-go area. Problem is when I teleport the ball, the applied torque to it before being teleported is still active so the ball is still moving. This can cause the ball to instantly roll back into the no-go area. Is there a way to reset the applied torque to stop it from moving? When I teleport it, I'm referencing the player pawn and not the blueprint class at the moment.
but
Are you sure your code is changing the VideoDuration variable?
sanity check here:
"Add unique" is just an if() check to see if the reference I'm trying to add already exists within, right? Because I dont want duplicates in my instance array
I believe so, it is a variable for a delay
bit of a mess about though, having to find the videos exact time
You should be able to get the duration of the video using GetDuration with the target being the media player. That will then return a time variable which gives you days, hours, mins, seconds and milliseconds.
from that just get the minutes / seconds, convert to seconds and then set that as the duration.
get duration has nothing to connect to
Is that in the media player code?
This is the only place with the media player
AddUnique does and array find and if there isn't any copies of that value which you're trying to add, it will add it to the end of the array.
Yeah so you see where you create the widget you then drag out your media player, drag from that and get the function GetDuration.
epic, thanks
I like using the snipping tool too much XD
Nice drawing xD
Looking like this now
Good but this still might not work if the video is more than 1 minute long.
There's no harm in shoving in a print string also to see what value you get out.
You are most welcome 🙂
Nope, video doesn't play now lol it just crashed my PC
That's one powerful media player you got going there XD
xD It was because it is looping rewinds infinitely
Ah yes the infinite loop issue. It has caused many a crash throughout the years lol
lool
I'm going to try this, wish me luck
actually we maybe don't want to open source on a loop
I'll loop the delay to rewind
no you don't.
First video works perfect, everything after the first one is bugged
no crash though
OK. So now my question is, when the screen goes black and the player is back at the start, are you loading a new level or just teleporting the player?
teleporting
This is what is happening to close the widget during the black screens
Ah so now here is my question, you are removing the widget from the parent right and then when the screen fades back in, are you then creating the widget again and playing the 2nd video that way?
right
see if the video is still bugged in standalone mode
so instead of remove from parent, try remove all widgets
it's only bugged if I overlap more than one, if I move the player start to the second one, the second one works fine
Alright
I feel like I need to add a stop video playing node of some kind somewhere but I don't know the node
I like the grid material btw
It's less bugged but still very bugged
Ooops lol
Thanks lol it's definetely not the most optimized way of doing it, but it works for now
Also quick side note. This link might help you with nodes available for media players: https://dev.epicgames.com/documentation/en-us/unreal-engine/BlueprintAPI/Media/MediaPlayer?application_version=4.27
Media Player
I know it says 4.27 but all the nodes should still be there.
you do know btw there is a looping function in the media players
Thanks that'll be useful
Yeah it's already enabled
If this is what you're referring to ^
Can i ask, each video you're trying to play are they in a playlist?
or individual videos?
individual videos
dude, make a playlist
Your life, so much easier
Shows how to create and work with Media Playlists using the Media Framework tools.
you just call the playlist then set the video
Less code
more effecient
With the playlist, you literally just say "Play Index 1" and with the loop function on, it will just loop the video over. If you turn it off, it'll only play the video once.
Cannot construct object. any help?? I'm trying to construct an object of the type BP_Objective which is a blueprint with "actor" as its parent. the blueprint just holds a boolean and a string variable, and it's not meant to be spawned, it's just to hold information. Upon trying to create an object of this type i get this error in the beginplay function. any ideas?
This is in my gamestate blueprint