#blueprint
1 messages ยท Page 61 of 1
From what I've seen though, even if I did finish a whole SP one, I probably wouldn't be able to turn it into MP.
No, indeed.
Have no notions of converting your SP project to MP.
Just do it for learning the concepts.
The PSA for structs applies with single player too. Fortunately you need to know 0 c++ for it. Previewing the header for your BP struct basically gives you the code
It's a progress
Game Dev takes a while. The learning process alone will take months and years
True, but it will become easier and less often required
And your problems will become more devious!!
Hello. How can I make it so that physics water volumes do not automatically affect the character movement system? I have a ship system where the player can walk inside the hull. Obviously I don't want the player to float / swim while in the hull. However, I can't find any way to manually enable / disable the physics volume? Well I have found a way to disable it, but it seems to auto replicate so when I disable it on one client, it also disables it on all clients no matter what.
yeah like encountering compiler bugs!
no you're code doesnt build for no reason ๐ฅณ
I probably should've started with this young lol.
how old are you if u don't mind me asking
- Not that old but I'm just thinking in terms of risk/reward
I'm 32 and just started pursuing my dream to become a game dev
I would abandon any idea of making a multiplayer game where cheating matters. For now at least
Multiplayer games where cheating matters need to be ran on dedicated servers. They take money to host, and you need to ensure you have enough players to make it fun, and afford the people that will keep banning players. It's a nigh on impossible task for an indie. You can get publisher funding, but you're no longer an indie then.
Listen servers are great, and where most indie multiplayer titles go, as cheating does not matter there.
Even if you can afford the servers, and the development, making a dedicated server competitive game requires you to have an active guaranteed playerbase, as your players need to play with other people. And the only way to guarantee that is luck based, or takes a ton of money
Maybe I"ll just do it as a side hobby from time to time and maybe learn slowly like that over the years lol
well if money is the goal then I dunnoe. I suppose only a small portion of the community actually ends up making $_$ from working on their game
motivation is probably very important too, I don't see my self doing something else so I'm still around
yeah game dev is a high risk high reward field. you either make it or dont. and if you're in it for the money well it will take a mental toll on you
The good news about listen servers is most games can be adapted to fit them.
If push comes to shove you can release the dedicated server binaries and have your game community hosted, but again, you lose control of cheating and whatnot :P
Let's say that even with having worked with UE since 2014 or so, having shipped titles like The Ascent, I would not tackle an Extraction Shooter or Arena Shooter alone. Arena Shooter maybe if it's a fun friends kinda game, but nothing competitive.
Yeah I would absolutely make an arena shooter if it's just a silly little fun with friends game, like a 3d version of worms or something
oh nice, I played that game actually. really fun.
I loved The Ascent!
I appreciate everyones insight on all this. It definitely changed my perspective on things for sure.
Maybe I'll make enough money with something else to hire devs to do it for me ๐ . I just always thought owning an extraction shooter would be really fun. Because I have good ideas and good eye for detail so I'd actually make sure the game works properly and its fun to play. Hopefully I win the lottery one of these days lol
Winning the lottery is always a backup plan.
Glad you enjoyed it. Had a lot of headache with all those abilities hehe
Definitely a great one to have on resume ๐
There should be a pizza place in one of the cities
With Panda Logos
Doubt anyone knows what that's about
Does the pizza come with extra salt?
Only salt
Salt pizza ๐
The pizza is also free
But the drinks aren't
We had to install locks on the bathroom cranes
Just make sure you don't make it a Chinese takeout place, and get sued into oblivion by Panda Express :P
Now that I can get behind
By the way, your happiness manager needs a promotion, he's even managing happiness outside of the workplace, very cute dog :P
That worked thank you
Hello does anyone know how can I use an lod as collition for a skeletal mesh?
I told you yesterday, you don't, you use a physics asset
He was originally the lead of HR.
Or maybe he still is. I don't understand a word he barks.
Any idea why this line trace is going straight ahead xD, Im trying to follow a youtube series but when I do what the video does to get straight line traces they fire out to the left like this
This is the bp for the line trace, I noticed that if i replace the "Get Forward Vector" with a "Get Up Vector" it does shoot forwards but Im unsure if thats going to come back to bite me in the backside later.
i think you could rotate your socket inside your Mesh
but , if Up vector works , you can leave it
Anyone?
I dont think ISM can Simulate Physics
every Instance has to have the same material , but you can change Params in each Instance if needed
Is there a way to unbind all events from the current blueprint to another blueprint? Rather than unbind all events to a specific dispatcher. I have a class whose children may or may not set up different bindings, but generally always with the same other observer object. It would be handy if I could just unbind everything from this current object to that object in a simple instruction.
I dont know how many bindings you need to do , but you could set up a Function and pass Delegates thru it
I'm a bit stuck in the thinking on how to do this. I want to be able to pick from an integer array with provided weights, can anyone help?
iterate over the array(s) and use the weight to decide with a weighted random bool if the element is picked
Picking randomly from the array of integers, I found this https://www.keithschwarz.com/darts-dice-coins/
trying to implement that, if I manage I'll post it here
@fallen glade Roll a random number between 0 and the sum total of all weights you have
Then iterate over each option. If the roll is less than the cumulative total of weights so far, choose that option:
do this in a function and make sure things like the selection roll and selection weight so far are local vars
Thank you all I appreciate the help ๐
out of curiosity what are you doing with this?
cuz i was just making this for myself like 5 minutes ago and i have a debug log to flag if for some reason nothing gets chosen
so just a print
I see thanks
here is my version
Grab a random Index, check to see if it passed the Weight test , If so return matching Int
Found Index default is -999999
in your sistem weights have to be normalized into the 0 to 1 range though, I'm not that diligent : []
ahh, that throws a wrench in it...
hey guys, trying to use IgnoreActorWhenMoving function but it doesnt work, still hit event fires when spawn actor, how to avoid this? thanks
what are you trying to do?
i'm spawning an actor and dont want it to collide with the instigator only, but collide with others
Beginner question: What is the fastest way to copy variables from one blueprint to another?
If there are many that I have created. I didn't find any copy or move options. I started to create them again one by one but it seems it's not logical like this.
You can use custom channels? I'm using a plugin to stop actors from interacting with each other but maybe things have changed since then
What is your end goal? Do you nind elaborating a bit
Mind*
I think that's what you have to sadly, hope to be corrected
okay, thanks, so channels seems to be the only option (apart from plugins)
copy paste to new blueprint, right click and crate veriable
as far as I know, yeah
you should basically never have to copy paste variables from one bp to another
if you find yourself doing this, something is wrong with your design
same for copy pasting code
it can happen if you're prototyping
eh...
I created one class, for example landscape chunk. There are ca 25 variables (size, noise variables, materials, etc)
Then I created a new BP class, for example landscape, that will create landscape from landscape chunks. I need some of the same variables from there, but not public, just same kind. Does that elaboration help?
yeah struct
because these are not properties of the landscape chunk generator. They're inputs to a particular chunk
Thanks, I will go learn about struct and see if this is what I need.
structs are bundles of data
Do I understand correctly: In my initial BP class, I create a variable which type is Structure, then put my list of variables under this Structure type. And then in my other new BP class, I use this created Structure type with my listed variables inside? And both can be private lists, not accessible from outside of their classes? Correct?
public / private is kind of a nice to have. They don't actually do anything in blueprints. It's just... there to help coders organize things in their mind.
You have two classes: a generator and a landscape
Don't make a BP struct. Save yourself
Well you can make it, preview the header, and then paste that into your cpp file
Presumably the generator can make more han one type of landcape.
Then you are immune to the project destroyers
so it really depends on how you want the generator to work. If you, say, wanted to be able to generate 3 types of landscape chunks, you might give the generator an array of landscape_structs and then choose which one you want every time you want to make a new chunk
Yeah I've had issues ion the past too with structs
Hello, I'm currently facing a problem with my blueprint in Unreal engine 4.27. I doing a crowd for a personal project I'm working on. I found and modified a blueprint on youtube that help me populate my scene
I am really happy with the result
But to get an animated crowd i'm using VAT and when i put a meshes with VAT materials it turns out like the last picture in the BP but look perfectly fine outside the blueprint
If anyone has a solution or ressources that can help me
Thank you ๐
I made a 3D Object (its own BP) for a mock/temp reticle. It is positioned where I want it in game. Should the HUD be doing this or is it ok for it to be a NoCollision object? (obvioully, I will change it to something that looks better and doesnt take up so much real estate)
Hey does anyone know why my interface is not accessible and says its not marked as "blueprint callable"
Any idea how to fix foliage.DensityScaling removing trees but not their collision box?
Anyone got a way to do some pathfinding on the landscape but in the editor, not during runtime? Ideally without using the NavMesh
Example going around building and adding spline points on the way
Edit: Or is it possible to use the NavMesh in the editor?
I have two Subtle Camera shakes that are triggered by the Left and Right Movement input. Both shakes do the exact opposite, so to avoid them from overlapping or jittering when pressing the Left/Right buttons quickly in tandem i have set up a Branch. Im currently using a Branch to determine wether there is already a shake playing by setting up a Boolean and Setting and Unsetting those accordingly. Are there smarter ways of handling small subtle codes like this, to prevent them from counter-acting eachother? I have a feeling like i could improve my BP skills and i was hoping on some tips on how im dealing with this problem.
Would anyone be able to help me to set up an action that will happen every .5 seconds while holding a particular key press?
Would I use the timer function?
Is this the right idea?
Yes that's about right. You probably want it to be looping too because it's "every" .5 seconds
I'm not sure how blueprints cache data though. You probably want to promote the timer to a variable and use that variable for the "clear and invalidate timer by handle" input pin
Thanks, let me try that, it's currently not working
It just doesn't seem to actually call the event yet
Do I need the event too after that?
Can anyone help with this please?
Seems to work now
What's the function of the red wire if I still need to call the event
You don't need a delay there, things happen sequentially. You're also switching between world and relative location, I would use one or the other.
the red wire indicates that dig trace should be called when the timer is done
by adding a call to dig trace after starting the timer, you're telling digtrace to happen without any relevance to the timer
That's what I thought, but without the dig trace after the timer node it didnt call at all
And having it there seems to work, it pulses rather than happening once or endlessly
Nevermind
It works now
I must have not held it long enough
Thank you!
well for one you're setting the "relative location" with "world coordinates" so I'd expect some chaos there
is it just going to some nonsense location or is it doing nothing
I guess this would work, though its not HUD
not sure where to ask this but I have this gap in my robot mesh. I'm wanting to kind of do it where you shoot that part and the mesh in that gap would go as in broken and you can get to the central bit
would I do an extra bone for the piece for that
or something different ?
How can I fix this? The variable doesn't display correctly
How can i disable animbp debug actions. So annoying
i think ur looking for format text, not append
append means ''add after''
Hey guys, i would like to : in blueprint, when interacting with a bp (table) (already configured) find the nearest scene component (target for motion warping) of my bp (table), from my player character. Any node or suggestion way ?
format text is the best node in all of blueprint
What is the actual way to cycle throught scene component transform and compare it to the current transform of my bp character ?
hiii is there anyone who can help me about the footsteps
Get all the scene components you care about
Loop over them
Calculate distance
Choose the closest one
what node do i need?
Format Text
I have a different vehicles that have different blueprints with different WheeledVehicle Component settings.
Im trying to change vehicle at runtime so i though Set Skeletal Mesh would work.
But it gets messed up because the WheeledVehicle Component settings are different, so the wheels are messed up and the torque etc is different.
So set skeletal mesh isnt enough, what should i do instead?
Hi everyone, I enabled a jumping sound. But when I hold spacebar instead of playing the sound 1x, it plays like 500x making it sound horrible. How do I set the spacebar to only allow the sound to play once? Thankyou very much in advance.
You probably want to store the settings of any particular vehicle and load them into the WheeledVehicleComponent. Maybe use a data table to store the values including the mesh to use per vehicle, and when swapping to that other vehicle, read the data table row for that vehicle, and populate the component and swap the mesh as needed.
how do you trigger the sound ?
If you're using an actor that is based on the Character class, there is an OnJumped event you can implement that triggers only when the Character successfully jumps.
yeah, i wonder if i could just swap to the other blueprint
but i guess that would require destroying my actor and spawning the other actor
Yep
But your idea is better because there is also BP_CarAI
and they need also these settings so it would suck to just create the same blueprints twice
better to just load the settings on the vehicle component
though the vehicle component doesnt seem to have the wheels exposed
I trigger the sound like this
try started instead
that wont work. maybe it needs C++ ๐งโ๐ญ
Except it'll play the sound every time you press the button, even if the player is mid jump.
No more strategy game?
i burned out 3 weeks ago, its almost finished, took a break to make this little easy game, this one is finished too. will get back to the other now
my brain was fighting it a lot, so its best to just take a break for a while and do something else
right?
Taking break is important
I would be burnt out too if I had to do strategy game ๐
thats what i want to do https://forums.unrealengine.com/t/find-nearest-scene-component-for-target-motion-warping/1543697
but i dont know how to do it in reality like how do i gather component and put them on an array (never used that) and i know i could use a for each loop but then how do i get the th transform and compare it ? i m a bit lost on how to make it concretly
Hey guys, i would like to : in blueprint, when interacting with a bp (table) (already configured) find the nearest scene component (target for motion warping) of my bp (table), from my player character. Any node or suggestion way ? 1 Player โ Interact with the table (Already setup) 2 Compare distance target scene component of bp_table โ return...
You should start by understanding array if you never used it. It's unavoidable to have array in a game
You can call GetComponentsByClass on an actor
start there
get components by class. That gives you an array of all components on an actor, and you can specify "Scene Components". You can further refine it by using Get Components by Tag which you can then use tags on the components to only retrieve specific ones. When you're looping, you get individual references to the component currently being iterated on in the "Array Element" pin.
From that you can get its world location.
am i tripping or why doesnt this have authority? its the character blueprint btw
@frosty heron @faint pasture thx for all this help i try all of that
heres how im calling
and then im just calling the TryAddItem_C on a widget when dropped
and what happening
the event isnt happening
The TryAddItem in the Server event never triggers
The authority check is redundant.
i mean if i dont have it ill just crash since in the function itself im checking so it doesnt get called from the client
You are already on server, what's the point of authority check
does the try add item c fire on the client? does the try add item s fire on the server? does the try add item fire?
Im not thats the thing, Im crashing cause in the function im doing check(false) if its not the server
Run On Server events means you want the server to execute it, which the server would always have authority.
I don't know what you are talking about, Im just agreeing with what datura says. That your switch has authority check is useless in this context
you will not "crash" by checking if you have authority on a client
As i said its to prevent me from crashing cause in my function i have a check(false) if it isnt the server
if (GetOwner() && GetOwner()->HasAuthority() && Item)
{
}
Check(false)
If the actor wasn't replicated (ie. spawned by a client) the run on server would execute as if it was executing on the authority anyway which would be the client.
But the server always have authority anyway
so running server rpc then doing switch
makes no sense
redundant or does nothing
yeah but i just dont want to crash again since everytime i do that i crash because it doesnt have auth
thats what im asking am i tripping or what
You don't crash by not having authority. Something else is causing the crash.
have you considered that a crash you are experiencing is not caused by what you think?
ah wait i might actually see it hold on 1 sec
it's hard to crash with blueprint anyway, even accessing null pointer is forgiven
yeah but the main func is in c++
Item needs to be replicated to be able to pass though the RPC no?
pass WHAT through an RPC?
a pointer?
a struct?
a name?
#blueprint message
The param Item in his case, so i guess an object pointer
Hello, I try something like that
doest it mean that i take my vector, that i convert to a linear color
i change the H, S V from that Vector, (In Out) and after put it back on the Set Color Parameter?
No. Promote your converted color to a variable, then you can set it using that Linear Color Set node, then you can feed in that variable into your set color parameter node.
thanks
ok, but how can i control the Vibrance?
if i do that i can't control the vibrance and that's what i'm trying to do
If you promote the output from this to a variable, and feed that variable into the "In Out Color" on the "Linear Color Set from HSV" node and into the "Param" on the "Set Color Parameter" node then it'll modify the variable and set the variable's value into the color parameter.
I'm not sure what "Vibrance" is. HSV = Hue Saturation Value, and if you mean the "V" value from HSV, then what I've described will work.
so what i did should work
What you did previously would not.
The node I screenshotted above is considered a "pure" node, and is recalculated each pull. So you'd get one pull attempting to set the value back to this pure node from the Linear Color Set from HSV (which won't work), and you'd get a second pull from the Set Color Parameter which would pull the original value from the vector you're pulling from.
ok thanks that's the reason it doesnt work
but if i put it on a variable and use that variable into that linear color set from hsv, like you explain and use that variable to the param that should work because the variable will not be recalculate before the node Set Color Parameter
good to know
Correct ๐
Hi does anyone know a good tutorial for a true first person camera preferably with a spring arm i don't know if that is possible i tried searching couldn't find anything.
Just start with the 3rd person template and tweak it
attach the spring arm to the mesh at the head bone, make it really short, go from there
any advice on why this input key for remapping my IA_Jump only works AFTER game is restarted?
foreach for tmap?
?
asking for whether such thing exists
no such thing
if you want to iterate through it, use an array
in cpp land you can use iterators, but you aren't in cpp land
Is there a way to bind a combobox to have different values on construct
sure
Why is an array involved? What do you actually want to do?
have a combo box widget template so when I add it to my menu widget I can specify "index" and it will populate the combo boxs accordinly
The index is an index into what?
that's not how you add option to combo box
try to find add option node
is there a way to change the height of the sky box?
so the clouds start lower
and is this the right chat for this
Maybe #level-design or #ue5-general ๐คทโโ๏ธ
wrong way
Got it nvm
Is there a way to make the number a round number?
As it is 0.0 and not 0
so basically i need a round number
Got it, it's literally just "round"
ye there is a node for all of that
If Iโm using BPs to make an infinite runner type game how can I procedurally generate a piece that fits with the last piece?
guys i want to compare world location to find the nearest component and set it as a component how do i do (i know its probably obvious but im stuck)
Use a Distance (Vector) node. This will give you the distance from one vector to another.
Hopefully you have your code above in a function, as then you can use a local variables.
You will need to keep track of:
A) The "Closest" component. Create a local variable to store this called "Closest Component" of type Scene Component.
B) How "close" it is. Create a float local variable to store this called "Closest Distance". Set its default value to 9999999999.
Check if the distance of the current component in the array is < "Closest Distance" . If so, set the distance into "Closest Distance" and "Closest Component" to the Array Element of the loop.
On the completed of the loop, your "Closest Component" should now have a reference to the closest component.
How would I be able to change my blendspace value based if im idle, walking or sprinting?
This is how i setup my sprint
i did this alone but i dont know how to set the closest component when its endend also tell me if its ok i didnt use distance vector node cause i saw ur message after but the logic look the same, actualy it doesn't return the good component
You're looping through an array of components.
You're checking each component's distance. If the distance < currently saved distance store the "Array Element" from the loop into a variable.
When the loop is completed that variable will contain the closest scene component.
MAn its working and i understand i love u
Hello, any suggestions for how to define a point on an actor through an actor component? In this actor component, I want to be able to define a location on the parent actor. (Another system will than grab that location to draw a target reticle at that point on screen space.) Or perhaps other ways to define this point that the system can look up? Example attached
You can add a scene component and position it on the actor or add it as a child of any of the other scene components of the actor.
Got it, ty! So probably my actor component should just be a scene component to define its own position - seem reasonable? I'm probably overthinking this . . .
idle, walking and sprinting are reflected in your speed
That's the easy way, if you really need it to be an actor component you can have some sort of data like I do with my system.
Actor
SceneComponent
Socket
LocalOffset
You probably want to just subclass scene component though.
Alright, thanks for the insight - much appreciated!
is there a way to rotate a line trace with the rotation of an actor that doesn't have a controller?
found a lot of info on using look direction etc
I have a support check for a building system that traces down, how would I rotate it to still be tracing 'down' in the same direction as the actor rotates?
basically have the trace act as a local location so it is always tracing the same direction away from the actor as it rotates
very simple trace for when its sitting at 0 rotation, but need it to rotate when the actor rotation changes to always trace in the same orientation
How would I make so my stamina bar regenerates only after the player used it all?
TraceEnd = ActorLocation - (ActorUpVector * Distance)
this is why i ask
that is super simple
thank you very much
next question is about starting the trace - is there a way to rotate it based on the actor as well?
for this example if the building object was a long board and i wanted to trace down from both ends
then you change the ActorLocation to the desired points you want in the mesh
can use either socket location or some manual offset
trying to use manually entered since socket is a UObject
so if the point was for example 100 units down the board
TraceStart = (ActorLocation + Offset)
TraceEnd = (ActorLocation + Offset) - (ActorUpVector * Distance)
just struggling with doing it in local space then rotating it if the actor is rotated
ah
then you would need to translate the offset from local to world
you can use Transform Location on the Offset
im using this to set a text variables text in a widget, but it doesnt work
youre an absolute legend
the text is always text block
are you calling, SetupText Function ?
yes
it goes trhough the function and the variable has text to it, but the textblock doesnt
well, it should work
yea, but for some reason it doesnt
Detect when it hits empty and full, and set the regen rate then
Probably a nearlyequal check vs 0 and 100 after your clamps
try restarting the engine, some times it fixes
Yeah do I also need to disable sprint while its regening?
up to you
didnt work
i tried bindning the value to a var but it shows None
dont bind it, otherwise it wont work.
it doesnt work either way
List View uses objects to populate, no? Didn't think you could construct a widget and add them to it.
The object you're feeding in is that same widget which isn't what it is expecting. The widget class needs to implement the IUserObjectListEntry interface, and it's supposed to retrieve data from the object you're feeding in.
You've implemented this event in your widget class?
The "item" you feed in this node, is the object that is returned in that above "List Item Object"
So it's kind of strange to have a widget class that implements this interface and then feeds in a different copy of itself.
Anyone can help me with this one ?
Hi,
Could anyone help me with animation?
I have an ant character, I have 3 turn animations (45,90,180) for left and right, I want to make the Ant stop->turn -> move. I am having trouble with the logic and how to implement this.
If you have a CustomGameInstance made in Blueprint mode, can you edit it in C++ and add some functions that way that aren't available in blueprint? Or if you want C++ code inside the CustomGameInstance, you must first make a C++ one "CPPCustomGameInstance", and then in blueprint add one with parent being "CPPCustomGameInstance"? (if this is even possible)
//Edit: I made it now, and yes, you can create a CustomGameInstance in C++ , then in your blueprint CustomGameInstance set as parent the one you made in C++. If you override in C++ Init event, don't forget to call in blueprint Parent:Init
I've looked up what blueprint interface does, and what event binding/listening ecc does
But can't blueprint interface do everything that the event binding/listening do? What's the point?
Hi everyone, I ran into an annoying problem. I want my caracter to hear the sound of water when nearing the water, and when he walks away I want the sound to dissapear as the caracter gets farther. I checked the attenuation but it doesn't give me any sound when I play. I have read online that it could have to do with the camera ? Could someone help me out. Thanks in advance!
Fixed frame rate means that it cannot go over it, it can still to under that number
Hey, how can I achieve the player bouncing back to the gameplay space after falling off a ledge without teleporting them? Image for reference.
How do I check if the player is in air with the character controller?
Do a raycast
Might even be a bool for it already
Yeah
flying or falling
thank you
The thing triggering a dispatcher doesn't have to know or care about what is listening.
If you were to use an interface, you would have to store which objects to make the interface call on.
A dispatcher does that for you on bind.
and that's the only difference in terms of functionality?
guys how I can set position of widget on screen ? i am trying set position in viewport but not working ๐ฆ
hi, Can making a first-person view be added at the end?
Would it be better to do it right away, at the very beginning of the game's development?
Is this for a game where you can switch between 3rd and first person?
I'd prefer at the very end, as I'll have all the mechanics ready for the third-person view
yes
but to answer the question, the camera is the literal first thing any project needs.
espeically with multiple views, you'll need animation sets for each view, as well as making sure everything you do looks right in each perspective.
your game might be wonderful to play and perfect in third person, but in first person it might look totally wrong
ok, so.. it's better to create for 2 views at once
I have a question about save game it seems to perfectly work inside of the editor but as soon as it's packaged it seems to no longer work at all?
The error you have here I don't think is in reference to this bit of code. Click on the "Branch" link within the error message and that should take you to where you're encountering the error.
it takes me in the IsValid Node
Have you tried restarting the engine? I tested a similar set up and never received any errors with this while leaving the New Var variable empty.
Output:
DamageCauser is probably the one at the AnyDamage event
hi guys, maybe you can help me with this please. I have an key input that when I press it does something and also adds a sound which is looped (so as long as the key is hold the sound plays). My problem comes deactivating the sound when is released. What I've done is using a spawn 2D sound and activate it and then deactivate it on release and this work correctly in game but I still get an error saying that "accessed none trying to read property", any ideas please?
Accessed None == The thing you're referencing isn't valid at the time you're accessing it.
You have something that is conditionally being created. If this path goes false, you're then trying to access something that isn't there on the lower execution path.
yes, the error been there for a while.
Can you show the event that starts this logic chain?
but I don't understanding it, I am doing the same for a VFX, basically it is triggered when you press the button and set to activate and then is deactivated when release the key. The VFX stops playing (also the sound) but it is only the spawn sounds 2D what gives me the error that it can't access it (even thought it did as otherwise stop wouldn't stop no?)
using blueprint splines is it possible to change the static mesh at a point of the spline?
Without seeing more of the setup, I wouldn't be able to tell you more. You have two potentials:
- You're not actually creating the sound because the branch before is running false, but the lower execution path is still attempting to access the return value of the Spawn Sound 2D node (which was never set!) and therefore you'd get an error.
- The Spawn Sound 2D may have a managed lifetime and is destroying itself when its finished (which I think it does), and that means if you're happening to trigger the lower path after the sound has destroyed itself, it would be invalid.
Your best bet is to promote the return value from the Spawn Sound 2D node to a variable.
Before attempting to deactivate it, determine if it is valid or not by getting the variable and converting it to a "validated get" and only if it is valid attempt to deactivate it.
thanks for the help, this is the actual code
How do I remove it? I'm trying with "remove item" and "remove index", but when checking the array the actor seems to still be there
what if s1 time dilation is false ?
you'll be trying to get the sound that didn't load
I have an actor object reference that either is set to the player character or an AI character.
I need to find a way to get the reference to cast to its actual type and see if its still valid in the world.
how can I do that?
I have an object reference but its just a reference, so how can I know if what it is referencing is still existing
any ideas?
If you want to check if something is still valid, you use an is valid.
However, using an is valid immediately after a cast is pointless. The cast would only succeed if it was a valid object.
ok I was wondering if that was how it work.
I thought of a system where each AI has an int64 id number and when they die its removed from a big list of all id's
that way if an ai needs to know whether an ai is existent or not, they can just look up the id in the table.
does that sound like a good way to do it?
Probably not. You can use references to the actors themselves.
aparently not because casting to a reference still passes as true even if that reference no longer exists
If an actor is destroyed, then any references to it would no longer be valid.
I mean there's more differences but they are not at all the same thing
In the one use case of "Communicate from one thing to another, with the reciever being able to do whatever it wants with the info" then they can both do that.
interpret this as pseudo code, (I dont know the exact C++ functions well enough)
x = (original reference to character)
isValid(x);
will be false if the character is destroyed
y = x;
isValid(y);
will be true, even if x is no longer existing
so how could this be solved?
That's not how it works.
ill show you
In BP and with unreal's pointer types y will be invalid as well
they aren't just raw pointers
perceived actor is the original reference to the character the AI sees
perceivedActorRef is an additional reference to the same character
those both will be invalid if the actor goes away
null the 2nd one then
When using datatables, if I got row by row and read the contents of each row, the data will be pulled into memory.
Once my loop is done, is that data gone?
Should I use soft references for all textures for instance?
I think my issue is that the variable for whether or not the AI sees the character, is the same variable as to wether or not the character still exists
Is this for a ThingISee vs ThingIUsedToSee system?
I can't understand why this border color is not showing up on run-time. (the red part)
I'm switching the vertical box it is inside to visible and hidden in blueprint but I don't think that should be the reason?
Especially since the text inside that same vertical box is visible. Border is set to visible etc. can't figure out why.
(in screenshot it's not in vertical box, but tried that too)
some what let me explain
In your usage, what's the difference? If you can't see it, you can't do things that require seeing it. If it no longer exists, that's logically the same as not seeing it.
what does it look like at runtime?
if Ai looses sight, they will track the target
but they also track the target after they kill the target.
this is the issue
I see all the image stuff on the left just like it is, but only the text next to it on the right.
AI needs to know wether or not the target is still alive
Then there's more to your case than if the target exists, you need to check if it's alive if alive is a state.
does the target dying make it not exist?
Like this for example
show the switching process
so you need to check Deceased as well as if it's valid
you only track things that are valid AND !Deceased
if (Thing && !Thing.Deceased)
Tracking logic
damn, that right, because the AI isnt actually dead. its just an illusion with ragdoll and no capsule
Tried deleting Border element and inserting a new with all its default settings (white background). Does not show up either.
print string and see if it triggers, i am guessing it fails
dont know why i cant think of this stuff as I program
Which part? The text inside vertical box is being shown/hidden of hover/unhover
You might need to test if you need to do 2 branches though, because reading Thing.Deceased might throw an error if Thing is not valid
Might be able to use the validated get node to get 2 birds stoned at once
indeed
the hover/unhover
it may be that you aren't registering the hovering
I would probably prefer to bind to an OnDeath dispatcher and just null the pointer on death vs the 2 layer checking
unless you want it to track a deceased thing it doesn't see and then when it sees it again, observe that it is deceased. That might be intereseting
How would it know the thing died around the corner until it sees it
Both hover/unhover fires fine
damn, thanks for this.
I see what you mean now
could it be your scalebox?
cast instead of that class to string thing
you mean the damagetype?
Not sure what you mean, so maybe. How can that have influence?
or at least do something else that isn't the name to string
the DamageType never gave me issue, the issue that been happening was even before I added the DamageType check thing
well it's a parent, so if the parent has issues, whatever the child does is irrelevant.
i am wondering if there is an inheritance issue or the parent is collapsed or scaled to 0
It's not actually inside the scalebox
the issue is with the DamageCauser
@dawn gazelle
one more thing
here is my list of components on an AI
on death, they go ragdoll and destroy their capsule/AI Perception Component/component for making AI decisions
since the mesh / movement component ect ect are still technically existing.
would this cause 100's of dead bodies to cause massive lag?
i just get the feeling that the AI dead bodies still have so much data / computations attached to them after death.
if I simulate a 30vs30 with 150 dead bodies on the ground, i fear it might grind the tick rate to a halt.
any advice / insight on this
I think you can turn off the movement
and probably sleep the skelmesh, although that should happen automagically.
Solve that problem when it becomes one.
You can stop physics simulations / destroy components that are no longer needed / stop components from ticking that you may still need / destroy the AI controller, etc.
ah mb, didn't see it right. so it fires alright but the visible to hidden is not working... if you make it uncollapsed by default and hover makes it collapse, does it collapse?
the overarching root component still has the AI controller class that must still be running.
any advice on how to target this to destroy it?
i suppose this is the node im looking for?
Not sure if hidden is not working. Would say setting the "visible" is not working.
But even then, it works for the text inside same vertical box?
try collapsed instead of hidden?
Your problem is that you're attempting to access instigator when the damage causer from the event node may not be valid.
would be more optimal anyways
5.0
You can just use get controller on pawns.
This widget is a "skill node" inside a skill tree in case that matters.
doing a test
But I'm checking IsValid in the select node
Top level for skill tree is "Overlay" -> "Canvas Panel" -> "Skill node we are talking about"
You're checking if the instigator is valid, not the damage causer that you're pulling the instigator from which can be invalid.
Oh I see now
My bad. I'll fix
No wait I'm already checking before setting the damage causer
The BP is Barrel that can explode and will carry and pass the damage causer or instigator to the explosion actor
I just tested it using a button and a border inside a horizontal box in 5.0.3 and it works as intended with the same visibility settings
Damage Causer > Pulling Instigator > Checking if Instigator is Valid
What if Damage Causer isn't valid?
Right, thank you for testing.
The issue happens when 2 or more barrels explodes at the same time. 1 barrel is fine.
@young meteor I would redo it and test it each step of the way, something in your setup is potentially locking the size or visibility
You're right, I shall try
@young meteor what you can also do is print string each parent of that to see each visibility
could be that a parent is not visible
So all parent elements could influence it right?
Am I looking for anything specific? Guessing visibility settings, and opacity/alpha?
Maybe size/scaling too?
yeah, scale, size, fill, visibility
otherwise there is no bug in 5.0.3, so your tools are fine
somewhere in your hierarchy something is doing something wrong
make a copy
and delete or reparent elements
until it works
if it doesn't work with pure text, it's the text
and so on
oh they are fun but they are strict with hierarchy
protip: collapse will unload it
so out of your 74 limit of widget before performance is impacted, they won't count
Nice. thanks for the tip ๐
https://docs.unrealengine.com/4.27/en-US/BlueprintAPI/FileUtils/FindFiles/
It says there's a "Find Files" function in the documentation for 4.27 but I cannot call it in the blueprint graph anywhere? Anybody know what im missing here?
Find Files
you have to enable the plugin
@dawn gazelle
worked, thank you
I'm working on a body cam visual effect, with a timer. The problem is the timer widget seems to be messed up, and overlays twice? I'm not sure whats happenning here exactly to be honest, but its rather silly. Any thoughts?
Hey everyone:)
I find myself wanting to do a certain action (call a sound even, could be anything for this matter) in a loop, and have each loop be of a different length.
I wanted to make a BP function library that uses "set timer by event/function name" to play the sound event with varying timer lengths, but I couldn't make it work.
So I'm wondering - Is there an easy way to work with setting timers in a BP function library?
Thanks!!
tyvm
What's the actual use case?
Is it sound primarily?
Yeah, posting a Wwise event every X amount of seconds with variance
ah so my issue and solution was that both the client and server were applying the widget. by checkign for authority before constructing the widget i've solved the issue.
I'm using an input selector in my widget to remap my keybindings, everything works but the changes only apply once I restart the game, how can I get this change to apply during runtime?
anyone got any good videos etc on optamising a level
I have this small citiy kind of thing going on and you can see that in the distance some wierd stuff going on with shiny walls etc
I have to turn off dynamic shadows for literally everything else if I didn't it ran at like 5 fps
How do I get individual axis coordinates of a world location?
Everyone on your team should be able to gauge the performance impact of their work. In this session, Unreal Engine Evangelist Ari Arnbjรถrnsson uses the new built-in tools of Unreal Engine 5 to find nasty performance traps and bugs he deliberately planted in his demo project before the presentation.
Weโre excited to bring you sessions from Unrea...
Break the output pin
How?
Right click
Oh I had no idea that was a feature.
Thanks!
You can also drag and use the break vector node if you want
Noted, it'll come in handy down the line, thanks again!
Can anyone tell me WTF is happening here! , I have an actor component that has these 2 transform values here! when ever I try to enter 90 and 90 in the Y & Z On the holster transform it keeps changing to this . Im either being stupid or my engine is bugging out
same here If I put 90 in the Y it put these values in the X & Z why?
Don't do that, check for if locally controlled or something to that extent
Otherwise standalone won't work.
I was previously doing this and hard setting them on begin play But I wanted to just edit the values from the actor component settings instead, they are just empty transform values so I dont understand why they wont respect my input
Something doesn't seem right here like the building I would have thought should be going in and out if I can't see them or will it only do that when actualy in PIE ?
nothing really, it is just a bool placeholder to let me know when the key is pressed (but I don't actually need it so I am thinking to delete it as it is just making a bit messy the code)
WTF, I just make a new struct with a transform varible, and added to an actor. when I go in and try and enter 90 In the Y it also polulates X & Z WHAT is going on here?
My AI doesn't seem to be able to detect the navmesh that I have placed in my scene. Any ideas as to why this might be the case? Here's my debug code I have, it keeps coming back as failing to reach its target
0,90,0 == 180,90,180
Try this this task instead
Ok, I'll give that a shot, thanks!
or this
I can't find that Execute Ai event, am I about to feel really dumb?
sorry I was dinning, I re-read your message and it worked perfectly, many thanks for your kind help!
Dont forget to tick sucsess on finish execute or it will never finish and leave task
why is this an infinite loop?
because of the while loopand your delays on the end arnt doing anything
what would I do instead?
what do you want to do ?
Its a footstep sound system thats dynamic to walking and sprinting
or supposed to be
does your character have animations?
not as of now
you can put a Notify in the animation to play a footstem per foot landing
I don't have animations
thinking
I'll try something else rq
Still not great... You'd still be accessing it on the bottom and it could be invalid. You need to check if it is valid or not when you're going to use it.
but the error message is gone and the sound stops
isn't the is not alid fixing it while doing nothing?
It doesn't matter. You're accessing a value of a variable when you're not checking if it is valid to use it.
sorry the first screenshot was actually wrong, this is how I made it
Better ๐
Now the only thing you may need to worry about is ensuring that bool is set false... Better to move that before you're doing the valid check.
do you by any chance know any way to by pass an extra input element? meaning that when I execute it in short it makes the time going slow and when I release the key time backs to normal. However if I press any other key between (space for instance) code is stuck and time gets slow until you press it again
oh you are right many thanks for that
it was inititally in teh beginning on releasing the key
What I showed you was a Behaviour Tree Task, Not a feature Of an actor BP
Ok, cool! I'll start researching behavior trees, then!
Try something like this:
Every Step Length that you move , it plays a FootStep Sound
You could change the sound and Step Length when you Sprint
Not tested , but i think it could work
Yeah You said Your AI! ,, if you are wanting to use AI unreal uses ai controllers which control the ai like a player would with input. and behaviour trees and black boards for AI
Ok, I see! Sorry for the miscommunication and thanks for pointing me in the right direction! I've been slamming my head against this wall for the last 2 days
AI is a fun subject to learn, https://docs.unrealengine.com/5.0/en-US/artificial-intelligence-in-unreal-engine/
Awesome! Thanks! Gonna dig in now!
trying multiple variations of how to do it, off-topic question, how did you get your blueprint lines to look like that?
I love it
Any idea than?๐
Does anyone have the knowledge or time to help me with behavior trees? I would really appreciate the assist, I've been stuck on it for weeks and am fried. Im using the Cropout Sample from Unreal and trying to learn how to edit the behavior tree to do something else.
I'm using an input selector in my widget to remap my keybindings, everything works but the changes only apply once I restart the game, how can I get this change to apply during runtime?
If you're using the context at the time that you're changing it here, you need to update the binding within the enhanced input subsystem too.
I'm not very well versed in handling bindings with EIS but I'm fairly certain that changing the binding how you're doing it probably won't work in a packaged game as I'm guessing you're referencing the IMC data asset directly and manipulating it which you can't really do in a packaged game. I don't have the answer as to how you should handle saving input bindings correctly as I haven't really messed with it much myself yet.
Ok I'll try that
does anyone know if your able to add force to a projectile without enabling "Simulate Physics"?
So I have this which rotates the mesh fully to the target when one is sensed
any ideas what I need to do to set the mesh back to be facing direction of movement ?
hmmmm this is how I fixed it
I'm gonna package it and test if it works realtime in a standalone version
how did you solve it?
I was wrong I didn't ๐ฆ
Think im close tho...
this is wrong becasue its trying to get the keys bound to an action, I instead need an array of the IA_NAME
are you using that so you can change your keybind ingame?
yes
it works but I can't find a nice way to switch which IA_NAME is being changed, don't know how to get that value
I could copy this BP for each input unless I can find this node...
How to make Widget "invisible" for mouse clicks?
Because overlapping widget steals mouse click event from another widget.
maybe is focusable?
it's already false
set the vissibility to non hit testable
dunno much about WWise but what are you actually trying to do, play ambient audio with random looping?
Hello, Hopefully this is the right place for this. I'm trying my hand at a tile spawning system and I'm getting overlapping tiles (Image 1). If i adjust the collision handling override on the spawn actor node to "Try to adjust, dont spawn if still colliding" I just end up with two tiles spawned (Image 2) I was wondering if anyone had ideas on how i might fix this issue?
I have a data table, it alwayss resets when I close the game and I will have to reimport it
how are you changing the data table value?
by nodes or just clicking?
I'm not, I just set them and that's it
What do you mean by reimport tho?
It gets reset everytime I close the engine, doesn't happen with other data tables
u are importing csv file?
normally the asset don't get saved when they are not marked dirty afaik
Due to this happening. I exported the data outside so I can reimport them whenever the table clears.
when you import, just hit save
I do, everytime
it should save the changes
It's the only data table that behaves like this
I remade the struct and db but apparently it doesn't like it
try making new one?
Yes I tried before, didn't solve
If hitting save doesn't save it then I don't know.
The only time my data table isn't saving is when I change the content with a node but didn't mark it as dirty and saving the asset
me working on some blueprints
Use reroute nodes and tuck them with comment box.
Is there any way in all heck to know if a virtual joystick is pressed? It only registers when you actually move the joystick, but I just wanna know if a finger is on it
Any plugins to recommend to improve all that twirling?
Not really, other ppl say they will move it to cpp for anything complex because it's more readable. But to me as someone that's learning. Both are unreadable when it comes to reading other ppl code
I mean currently if you go on Sequence for example and the nodes are in different heights, some of the lines twirl and it becomes hard to tell which output went to which node
Would have been easier if they used straight lines instead of twirls
Try your best to not overlap each other with reroute nodes.
this is probably the best I could do with blueprints. I don't know how other people do it
electronic plugin made things worse for me
maybe i'm just too used to vanilla
Tbh I like vanilla just fine, nvr felt the need to try electronic
100% me ๐
but tbh I refactor most of the stuff these days
felt like I can hide the ugliness under the rug
and just have some nodes in the bp to drive the gameplay
Yeah, I mean with sequences you can just spread the outputs out so the wires donโt overlap each other. Or rather than using a sequence, break stuff into events/functions and call them
would anyone know how to add forward movement while making a turn for a quadruped character? Like arc turning/turn radius?
If I have something travelling along a spline path and I want to say have a door along the path to where if it's open the thing travelling along that path will just move right through it, but if the door is closed it will bounce off the door and go back, how would I do that?
hi, im back again. does anyone have any good tutorials on how to async load. and is it possible to async load an actor
Async load is just one node away. To see how it's used
https://www.youtube.com/watch?v=K0ENnLV19Cw&t=2056s&ab_channel=UnrealEngine
This week Christian Allen will provide an overview of Hard & Soft Object references in Blueprints, why the differences are important to know about, and how you can utilize Soft Object references in your project to help with memory management.
Watch Inside Unreal live at twitch.tv/unrealengine, Thursdays @ 2PM ET
DISCUSSION THREAD
https://forum...
go back in what sense? like fully retract back, then I don't know but for bouncing, just use physic instead of animation
Hello guys, in this quick and simple tutorial we are going to make a physics door in Unreal Engine 5.
โช๏ธProject Files: https://bit.ly/GorkaGames_Patreon
๐My New Unreal Course: https://bit.ly/UE5_StealthCourse_GameDevTv_GorkaGames
๐ฅDiscord: https://bit.ly/GorkaGamesYouTubeDiscordServer
Amazing FPS Shooter Course: https://bit.ly/FPSShooter_Virtus...
what I mean is, I have a drone that's supposed to just patrol back and forth as a guard, and there's a door in its pathway, the player can open the door, wait for the drone to go through then close the door behind it and it will then be trapped in there. Maybe I can use a different method than a spline to do the patrol that's just the first way I figured of setting it up but if there's a way I can do this with a spline that would be appreciated
I mean spline or not has nothing to do with opening the door when something goes through it right?
Check the video and see if that's what you are after
no that's not what I'm going for.
Have you ever played the talos principle?
I have not
https://youtu.be/79oWcUyWOe4&t=706 so I've copied the relevant timestamp, you see how they use the yellow thing to open that forcefield, then the ball enemy goes through it, then they remove the yellow thing and the forcefield comes back and the ball can't go through after it's closed? That's what I want to do
Level Specific Notes: This level is the introduction to the game, and is mostly straightforward puzzles that introduce mechanics.
Side Note: The 3 Stars and 3 Messengers I have during this video even though I had found none are because of the Sigils of Elohim minigame that can be found on Steam and other places that can give you more of these.
...
I see, so that's what you mean by "door" ๐
can't offer any comment tho, maybe try #gameplay-ai channel
Why don't you have a master BP that contain those widgets?
If you have to make that many widgets, imo the design choice is flawed :3
Technically that's the master BP lol
The project was kinda passed down and we don't really want to spend too much time rebuilding the entire system
Ok but if itโs barely legible, itโs only going to keep slowing you down
I mean itโs not that itโs illegible, just that the lines are kinda hard to trace
Yeah, thatโs what I meant. Code is hard to follow
The majority of that seems like smelly code anyways. If you keep repeating the same thing over and over, you can just make one function, call it 21 times and just change the widget class each time
Wouldnโt rly take you guys that long to fix
It doesn't really sound like something that's needed to be created at run time too
You mean Add to Viewport and Set Visibility?
but why tho, why not just drag and drop it to master widget and se the vissibility to collpahse/hidden
it's pretty much the same thing
you should create widget for things that get spawn at run time imo
These are things that get spawn at run time
yeah but Help display doesn't seems like it's spawned at run time. I mean what you are doing now is the same as drag and drop and set it to collapse
this is my main menu widget, it contain setting widget
Our project is a lot more complicated
straight ref, don't need to create widget or set the variable
if you don't need it to spawn it at run time (eg for things that is fixed in number) I would just do it this way.
The only things I spawn at run time are stuff like Items, or icons
Hello!
I have a model of a robot with two cannons and animation blueprint.
I want him to shoot projectiles with both guns, or even flipflop between them with single shots.
How do I assign the point on a model as an origin point of a projectile?
I'm really new and failed to find solution/or maybe I found one and didn't realize how to adapt it to my situation
any advice on how to tackle this/where to look?
if I just assign arrows in viewport of an actor blueprint, they stay in place, not moving with the guns while the anim blueprint is working
But another concern is that if we were to rearrange everything into a master widget now, the display may go haywire
Plus we will need to dig through the entire project and redo all the references
well not something I can comment. I mean, I leave my old project spaghetti as it is, even still using bp struct
it's just not worth the time for me to fix them
You can use socket as the origin point of the projectile. Make one for each cannon
Thanks, I'll try that
I have something that I'm not sure about the best way to implement it.
I have three possible string inputs:
"\ae"
"i"
"u"
I want each of them to have information connected to them. Specifically, each of these strings would have three floats.
For the strings, do I use an enum? And then what do I do from there? Do I create an array for each one of those enum entries?
I only have three strings now, but it would be expanded to about 50 or so entries.
hello, i am making apickup system for my game
when you pickup the item, it attches to your hand
when you drop it, it drops
when you pick it back up again, the code behind it runs, the branch prints as true and it all works but DOESNT attach back onto the hand
can anyone help
printing all comes right, the code behind works, the attach comes as true, you can pickup another tiem again but not this item again
its a local-multiplayer split screen
Map variable of string to vector. Vector gives you 3 floats in a neat package. You can look up and add to the map based on the string at runtime.
Oh perfect, thank you
Smells like enabling physics on drop but not disabling on pickup
show more of your code
Not necessarily. You can use the player controller to have inputs that aren't specific to the pawn they may be possessing like opening the pause menu, or quickloading & saving, but inputs that are specific to the pawn they are controlling should be within the hierarchy of their pawn, like jumping or movement controls.
I'm trying to play a certain sound every x amount of seconds (lets say, a creatures idle sound that should fire off every few seconds). It does'nt really matter what the action I'm trying to do is imo, I just want to set a timer in a BPFunction Library, it can really call anything, but in this case, I'm trying to play a sound. I'm just trying to understand how to setup a time in such a case๐ \
You probably can't since a timer is stateful
Hmmm... bummer... If you have any other idea's on how setup a re-actionevent in a BPFunction library I'd love to hear it๐
How can you reference PlayerStart? So that when you die it spawns you back there?
not destroying actor from world. Teleporting them.
Just get actor by class? lol
That should work
Or if it gets destroyed for some reason, you can store the value somewhere like in GameInstance
Yeah that should be fine
Long as thereโs only one in your level
Yea I did get by class and tag
Zero reason to destroy actor from world/scene when I can just "kill" them by disabling controls and teleport char
Hello ๐ธ
I'm having a problem regarding arrays.
I have a list of enemies that are the same type of actor, however when I read through the array they have both the same name "SnakeEnemy_BP0" which seems to cause me further problems as to try to detect each enemy individually within the array.
How should I instanciate the array properly to have different actors of the same blueprint?
Right now I set up a class array and set up them manually as at some point I want to randomise them, should I have directly actors array?
I'm using this method as to spawn actors I have to use "Spawn Actors From Class" node
Thanks in advance!
Hey in practicing the nodes from a course and there is explained multi gate and i dont get it why it does not print all actions 0,1,and 2?Because it succeded and it finished?
it prints the first return execution pin
Also i dont get the reset,created a custom event reset and connected it on begin play after the first custom event
isnt it supposed to print other action strings?
a multigate is like a diverter, everytime the execution passes this node, it will go to a different one
in the non-random configuration, each passes though the gate will go to 0->1->2 respectively
the reset is to reset the counter back to 0
so for all 3 execution to be executed with this muti-gate, it would need 3 execution passing through the node
the other node (probably closer to what you have explained, is called a Sequence node
once pass through this node will have all its output pins executed in order
can you show the blueprints for these? (randomizing the class to spawn, and adding the spawned actor to array) i think?
can plugin blueprints be nativized ?
As for right now I'm not randomising them at all, just manually setting the values. However I'm thinking right now that maybe has something to do with the bool value that marks them as dead or not. But that would make no sense to me as I can modify their health values individually.
I set on the actor that they are dead then in the combat manager I read through the array and get each actor bool to see if they are dead. But when one of the same type dies, counts as everyone died
You can play sounds in animations so you could add it to the idle anim.
Here is how I'm checking if an enemy has died, if the final count results as the total of enemies, the game should end as victory
the first image is kinda wrong, since it getting actor of class, it will always return the same one if multiple of the class existed in the world
im guessing the intention is to keep track of what you have spawned, you should keep track of it right after it spawned.
Oh wow I get it! I had no idea, works fine like this! Thank you so much ๐ธ
Yeah thats right, but right now I'm not trying to solve this specific issue, I'm trying to make a function that will play an event in a certain interval. All of these "example issues" can be solved in a bunch of different ways, but the question I'm asking isn't regarding these specific cases, I want to make this "tool" for all sorts of different use cusses in the project:)
thx
now i have an infinite loop))
You need to set 'do the loop' to false at some point in the loop body or it ll never stop.
done๐ซก
If you only need it to happen x amount of times, you could just use a forloop.
im learning all flow control nodes now
guys can someone help me for
marker location is wrong on map
i use rpg toolkit from ue5 marketplace
if i set max zoom it is in right place
whereas if i dont zoom it puts wrongly
hi guys, i do have a set of boolean and I was wondering to store these in an array so I can use it more efficient rather than using six booleans (i have to do 6 times meaning otherwise i end up with 36 sets of bool), is that possible?
Get class default can be used to get the value of an INT as part of your class, is there someway to do that with instance editable values?
"Get instance defaults?"
thanks for your help, I am just trying to get 6 boolean and set it to false
Did you copy paste it from other project? Check your project setting action mapping as suggested by lucian
yeh I exported the level
ok. will do
Fixed. Thanks
Hello! I'm very new to UE, so expect stupid questions ๐ I'd like to be able to shoot for example a static mesh prop in my level and have the prop be modified over time. For example simulate physics for five seconds, then turn off collision and finally .
I've tried having the projectile handle the interaction, but then I have to keep the projectile actor alive for the whole time.
I then moved on to parent blueprints with children and blueprint interfaces, but I'd have to manually create a child blueprint for each of the hundreds of meshes I'd like to be able to interact with.
I can get the whole "converting a selection to harvest components or make child actors" to work, but then I'd have a tricky time rearranging my level.
Any ideas?
Also tried on BeginPlay attaching all meshes with a tag to a parent blueprint in my world, but I'm having trouble casting to them
hey,why when i remove the 2nd index ,the last 3 names dont print?
Because u r removing 2nd index on each iteration
What r u trying to do?
i am watching lectures from one course and now i am at massives (arrays).the author just explained what every node does .I am trying to remove the 2nd index and print other ones
No reason to use for loop then. Just remove index 2 then do for each loop on the array and print every single name
nice,i feel the progress
i added this one and it is printed with last index
can i add it to a specific index?
U want to replace the index?
set array elem?
An array start from 0 and it has end point
U can use set array element but that will replace w.e index that get set
There is size to fit option on set array for element if you out of bound
for example i want to replace Marinela with Vasilisa and it replaces the 0 index but it does olso add one more Vasilisa at the end
Hello, when I use the Possess node, my Character is teleported to another position. Do you have any idea where the problem comes from?
Got it working! Setting the parent as owner for the tagged actors, I could call the event. ๐
Glad you got it working!
Look into message nodes -- in Blueprint you don't need to cast to interfaces, it has the ability to handle that automatically.
A message node is those marked with a little envelope icon and it's tantamount to an automatic cast and interface function call.
Convenient!
That way you won't need to set the owner.
Just other->HitProp (message)
Actually hang on, maybe I've become confused.
I see what you're doing. A bit unorthodox perhaps but if it works it works! Owner is primarily used for networking but assuming you're making a single player game there's probably no problem.
the description does imply Owner is primarily used for networking but there is also another important things that the engine used it for, networked or not.
however i do recommend learning to differentiate an Owner to an Instigator, and what they should be, they can be very helpful when it comes to managing actor relation in a game
Yes, I think I'd suggest having the "hittables manager" be passed into the projectile when it's spawned instead, since there appears to be only one.
So create the manager somewhere where it's easy to get a reference to it, and pass that reference off to the projectiles so they can easily interact with it.
That way there's no need to set the owner, and in fact no need to Get All Actors with Tag either.
(unless I'm completely misunderstanding the logic flow here!)
The add node will add a new element to the array. Naturally it will be added at current last index + 1
in this particular example, there is no need for anything, if he just needs the mesh to do something when it got hit, the Hit event should be placed in the static mesh
if the static mesh should have reaction when it got hit, it shouldnt be a plain static mesh anyway. it should be wrapped with a custom blueprint so you can have its logic there
Loop through the array check every single name in the loop. If name is equal to target name then set the array element to new value using the set array element. Don't forget to feed the index too.
Tldr loop through an array , find the one that match the name. Grab the index and change the value
@random pulsar
Yes, fundamentally I agree that the hittable objects should be actors implementing their own logic for being hit.
But I conceded to the idea that there was a desire to simply be able to tag static mesh actors.
you can make use of that to add runtime components to those static mesh actors when they got hit, and do the logics there either
that way, they can stay as normal static mesh actor
Fair point.
as long the hit target has the tag, adds the component to it
for different types of behavior, you can separate the tags
have manager to know which component class you want to add
but at that point, its just more or less equal amount of work compare to making custom blueprints
Indeed. The most flexible solution probably.
And to convert the existing meshes in the level, a blueprint utility script would suffice.
I forget the proper name for them.
Actor action utility or something.
Thanks you two! I'll try to learn about the methods you mentioned
Yeah, you'll figure it out! Seems you have a pretty good grasp of the core concepts.
(โค๏ธ message nodes โ๏ธ)
The best way to learn is to rewrite your shit a million times after all!!
(well, for me at least!)
Hi fellas! Is there any way to save the state of the level, including all actors with their variables, physics actor locations, etc. and load them? Basically looking for a sort of quicksave feature
Not out the box no, you can set something up to do it but save systems tend to be pretty complex.
Sad
The issue with the save everything approach is it causes save files to be bloated and significantly larger than they need to be. I know you used to be able to do it in UDK (UE3) and it was aweful lol.
Once you understand how to use Save Game Objects and creating a manager of sorts for actors you want to save, it's not too difficult to setup. It'll just take some time to figure what data needs to be saved.
We use this:
I have no real complaints about it; it's free, and the license is open.
It's designed around the classic streaming volume framework but apparently also works with level partition.
It not only allows you to quick save but also automatically handle saving and restoring actors when a sublevel is streamed in and out.
Very easy to get working, although save/load functionality can by nature be a little tricky.
It should do everything you want.
(and it's usable both with C++ and Blueprint)
hey guys... my name is Suchit, i really need help with something... i was searching for a long time about a dinosaur turning anims, can anyone help me with that? when my dinosaur turns, it turns instantly i need to set it smoothly
hi, its me yet again, i watched that youtube video about async and it was partially helpful but im still stuck. this is what i came up with. it works and does not work. i have this setup in a loop of sorts. but it only spawns 1 mesh.
im trying to async spawn a lot of actors then set their static/skeletal mesh after wards.
all correct node connection are actually connected, this is just the nodes i use pulled out for visual
Thanks, this is exactly what I've been looking for! Have a great day!
set the collision handling override on your SpawnActor node to always spawn ignore collision, if you spawn all of them at 0,0,0...
quite possible that the 2nd collides with the first and therefor wont spawn
how do parent and child animation blueprint works?
do child inherit anim graph and state machines?
cuz i don't see it anywhere
Hi, I am having trouble installing it, says it is using a different engine version? I am using 4.27
Ah. Hm, not sure when it was made. We use 5.3. Are there any branches?
there is an older ue4 branch, but then I can't vouch for it with certainty!
Thanks, sorry for my cluelessness, I sadly do not have a lot of exprerience with github
Hi, quick question. Is it possible to make event nodes with a bunch of parameters collapsible, so the node takes up less space?
For example like the line trace by channel node that is collapsible.
Id look into the engine source to see how they did it for things like event hit.
It's definitely possible and probably something in the UPARAM
(
Not in blueprint. In C++ you can use this in the UFUNCTION() declaration:
UFUNCTION(AdvancedDisplay="<insert comma separated list of param names that should be hidden by default>")
So if you had a bool property called "bIsABool" and a float called "FloatyMcFloatFloat" you'd do:
UFUNCTION(AdvancedDisplay="bIsABool, FloatyMcFloatFloat");
I think it might be because I don't have visual studio installed, will do that and try again
Projectile hit. Very fast projectile, single player game.... short line trace fromprjoectile, or standard collision detection?
"very fast" screams line trace to me
I was doing a box trace so I could hit crawling things (top down shooter with various height enemies, but want all hit with shot regardless of height) and when projectile is fast, box draws with gaps and "misses" frequently.
What's the use case for soft references? Would you use them whenever possible as it takes up less memory? Or is it a very specific usecase
(for context, I'm making a text-to-speech vocalizer)
I want to take a single string like this:
{ae}iu
And separate it into three distinct strings:
{ae}, i, and u. This will be sent to a string-to-vector map in order to send it to my metasounds, one at a time.
How can I convert that single string into those three pieces of info? Letters that do not have curly brackets will be read out one letter at a time, but the ones with curly brackets are all one single phoneme.
They're golden for many things.
The reason you want to use them has to do with how Unreal loads assets.
If you reference an asset using a regular hard reference, whenever the asset doing the referencing is loaded for some reason, it will also load the hard referenced assets.
(what a clusterfuck of a sentence)
But a soft reference means it's only going to load the referenced asset on explicit demand.
For example: imagine you have a data table with a bunch of inventory item definitions, including a static mesh that will be used to display the item.
If you reference that mesh with a hard reference, whenever the data table is loaded, every mesh referenced within it will also be loaded.
Whereas if you use a soft reference, it won't load those things until you ask for them.
So in essence it's a way to decouple assets from each other and reduce load time and memory usage, both in editor and at runtime.
I'm sure there's some nuance I'm missing, too, but that's the gist of it.
Ah right that makes total sense. Is it good practice to use them as much as possible inside of actors as well? Or are they meant more for stuff like datatables
I guess it depends a little on the use case.
Soft references can cross level boundaries (i.e. reference things in other levels that may or may not be loaded)
But hard references are easier to work with because you can be relatively certain they're already filled when the game starts, assuming you've filled them in the editor!
Gotcha. Learned about the proper use of them just today and started looking through the size maps of my character for example. Found out it's at 10 gigs. Is that a normal number for a relatively big game or would you say that's way too much
Gigs! That's quite big.
PLEASE HELP - Rotating room with moving doors inside
I have made a room that rotates. It works by having a blueprint in the centre of the room that rotates, then every actor in the room is linked to this blueprint and rotates with it. Everything works fine with no errors.
Problems occur when I add moving objects into the list of objects linked to the rotating blueprint. for example I have a door that opens and closes fine, but bugs out when it is rotating. Once rotating has finished and I re-walk into the collision box, the door updates and returns to normal. This wouldn't be an issue if the rotation was part of the door BP but its instead handled by the external room rotating BP.
My question: Is there any way to have the door open/close correctly while the room is rotating?
Video: https://youtu.be/HNqPD6yJGxE
Is it loading much more beside the model and textures? Perhaps you could take a picture if it's not secret? :)
I'm not an expert by any means but I could take a look.
The character is a very common place to accidentally reference a bit too much.
Hmm. From your picture it seems you're dealing a lot with absolute world locations/rotations.
But if your doors are attached to the rotator it might be better to try to work with relative locations.
ill take a quick look if i can share
So for instance make sure that your door BP slides left and right relative to the root component of the door.
Then it will work in arbitrary rotations.
so instead of the door setting world location to open it sets relative location?
yes, exactly
Relative to the actor root.
thanks ill try that now ๐
@dry sleet You legend that works!! Such a simple change but I was so confused thank you for the help ๐
Yippee! Happy to hear it!
Yes, looks like you're loading most of your game!
yep ๐
And that's a very common trap to fall in!
It's quite a shame I only figured out about soft references until this late in development
Yeah, very classic. Live and learn!
I think some things there could be architectural issues, of course.
Definitely
Could be mitigate by using interfaces to have the player interact with items without having explicit knowledge about what it is.
Generally it's common that many things reference the player, but the player doesn't necessarily need to reference them back.
Makes total sense
If you can manage to have your references be of type Actor you reduce the mess, and then you can use interface to talk to those actors without needing to be aware of their type.
My design philosophy is that the player should kind of be stand alone. It can reference a few things, like Inventory Components and other tightly coupled features -- but doesn't need to know what a BP_PowerSocket is, for instance!
The philosophy part being: trying to create aperson with as few hard dependencies as possible.
Then if I want to interact with a power socket, it happens when I hover over an Actor that implements InteractibleInterface, and calls OnHover on that actor without needing any knowledge of what it's hovering over.
That type of thing!
"everybody knows BP_Character, but BP_Character knows no-one" :)
Yes makes total sense! Thanks a ton for the detailed explanation
Too late to go back now and change everything out in this situation, but we're planning on starting a pretty big game later so will definitely implement that design philosophy for the character
Anyone know what I might be doing wrong here ?
I'm trying to have it so the enemy picks up the player which I have working
For sure haha
then throws them with velocity away from them
currently I seem to have it where player ends up off somewhere in the world and not where I would put them and no matter what I set velocity they just seem to get thown way off
I've disabled collison on player as well so it can't be conflicting collision
hey guys can u make an enum to do a list of socket and set it and use it like this cause it actualy dont return the name
Convert the enum to a string first, then to a name.
thx i saw the same on the net rn should have searched before
Also in the future, can you please use proper sentaces to write questions?
I had to read your quesion way to many times.
lmao godzila had a stroke sry english is not my nativ language
so, if I wanted to have a drone with a vision cone, and to draw a circle of where that vision cone touches a surface, is that possible? If so how? At current I just have a cone coming out from the drone that's translucent but it doesn't look too good
it's supposed to basically be a searchlight but I want it to be clear where the outer bounds of the searchlight's view on the ground is
maybe u can trace the transform of ur cone and move something on it ? im a bit nooby @hoary junco
Firstly, you are not disableing collision on the grabbed enemy at all, you are disabling collision on its skeletal mesh componet. Half the time in games, the skeletal mesh componenet doesn't even use collision. Id be more worried about disabling collision on the enemy's capsule component instead.
Second, your formula for calculating velocity seems odd to me. Multiplying the Z by 150 does not sound like it would give you intended behaviour. It may do nothing, since your character may only be able to have XY forward vectors. It may servery mess up your calculations.
// What if ForwardVector = (1,0,0).
ForwardVector(1,0,0) * LauchAmount(1000,1000,1000) * ZAdjustment(1,1,150) = LaunchVelocity(1000,0,0)
// What if ForwardVector = (0,0,1).
ForwardVector(0,0,1) * LauchAmount(1000,1000,1000) * ZAdjustment(1,1,150) = LaunchVelocity(0,0,150000)
so the Z is to push enemy not just horizontal but some upwards
I'm disabling actor collision is that not the same thing ?
Outlined above is why multiplying it will not work, if you want a slight push. Use addition instead.
it's working for me when I don't include the attacha and detach
it's when the attach and detach is put in it sends player the one being grabbed off elsewhere like as in once detached
but from what your saying I should be getting player mesh and disabling it's collision at least for the attach and just after the detach after the launch
?
Is using re-route nodes for visuals bad performance wise?
No they are completely compiled out. It has zero impact. Compliers are smart and will not lose performance to simple things like that.
Maybe blueprint editor window performance then 
nah thats fast af
also @trim matrix what you outlined in yours is actually what I did in end for launch bit. Just remembered now
but you saying the main issue for me is I'm not actually disablling collision on the player mesh even though they should really be conflicting collisions
Im saying, im not sure you are actually disabling collision on the enemy. From the provided code screenshot, you are disabling collision on somethings mesh component. I assume you are disabling collision on the enemy mesh component. What about all the other components on the enemy that have collision??
You need to disable those as well.
Unless you are disabling collision for the players mesh componet? Same goes for that, there are other componets on the player that have collision.
The calculations I outlined are exactly your code yes, its pointing out why it wont work.
Someone told me one time. Plugin to make bp wires look different (theme like)
Anyone know?
Theres one called electric nodes I beleive that is popular
gracias amigo
hm. looking for it
thats the code
Like i said, you most likely are not disabling collision fully.
Thats what it looks like in the video to me also.
Or your launching the wrong character?
and then the second video is with this code
the only thing I've changed is the attaching and detaching so it's something to do with them which is causing some wierd issues
if it was collisions I'm not disablling some where I would think I should get roughly same result both with attach in or not, if that makes sense
No
You are not properly disabling collisions
player character is whats being launched
I don't understand
That robot animation is cool lol
how else am I meant to disable collision i'm literally disabling the player collision
No you are not
so please explain
Im saying, im not sure you are actually disabling collision on the player. From the provided code screenshot, you are disabling collision on somethings mesh component. I assume you are disabling collision on the player mesh component. What about all the other components on the playerthat have collision??
I just changed the words to player this time