#blueprint
402296 messages ยท Page 680 of 403
its facing the same direction in both
Is there a way to receive an overlap event from object that is also blocking the object?
which is the wrong direction
acording to me no wwrong direction just rotate your mouse
just disable the collision of that object in viewport
I mean, what Sprinting has to do with button widgets?
actualy i am making a game for android but i want when we pull are joystic up and we can sprint
@candid nest but then the object will not block ..
if we want to sprint then we have to use on preesed
so i am asking can i use on hovered
just ignore the thing from which u dont want it to be block like pawn
You can use whatever suits you .. if you want hovered, then use hovered
i dont no what is hovered that is why i am asking
It is not clear that you're asking what hovered is
Oh, never played serious mobile game before lol
I think you use On Pressed, since by logic touch screen doesn't detect if you're hovering your finger on something. Except if it's Blackberry Storm.
Or a Samsung Note with a pen , possibly ๐
what I'm saying is all other animations are facing one way and this particular animation is facing another direction
okay nut how the fuck pubg team done that thing
so when that animation is played it's messed up
reimport animation with a different rotation
Rather use Nintendo Switch for serious gaming on the go than in the phone lmao
^word
yes use blender mixamo converter plugin it will fix
Pretty sure you can do it directly while importing the animation.
yeah but we have to type acurate no.
is there no way to it in the engine itself?
You could potentially mess things up if you do it ad hoc in engine.
no but it will take only 5 min and it is bigner friendly too
does anyone know how to add a rewarded ads
During import ;
So I have this lives bar. I wanted it to decrement 1 number everytime my character dies/respawns
This is my object damage + character respawn blueprint
How do I make it so it decrements?
Save the lives in your PlayerState
And decerement them there
You can access it via the Character or PlayerController (GetPlayerState)
Ok so what should I do in the blueprint
Well, dying should happen inside of the Character.
Instead of handling the Health in your Actor there, just tell the Character via Function to reduce its health.
Once it's <= 0.f, you get the PlayerState and reduce the number of Lives
You can also do that in your current BP of course, just not as clean.
Ok I'll give it a try
Hey, does anyone know how I can "batch" the items in an array?
Basically I have, for example, 100 items in an array. Now I want to split that into 5 batches, so that I use 0-20, then 21-40, then 41-60 and so on.
I can't pre-set the numbers because the items are spawned at random numbers into the world.
well it seems like ur trying to get 1/3 of the array
so u just divide the length by 3
and then subtract that by 1
and now u know how much u need to get
@teal dove
Yes that gives me an item size of 32, but how can I use that to call the 2/3rd of the array and not the 1/3rd ?
Ah I am stupid
32 * 2
yes I just realized
too hot, my brain doesn't work properly.. ๐
But thanks anyway ๐
Hi. Can anyone tell me what this parameter (left) in the Project Settings does differently than selecting a base class to create a blueprint (right). It doesn't seem to affect anything in blueprint creation.
Hi. What's a nice way of telling if an actor was pre-placed on the world or not (a.k.a. spawned at runtime)?
guys sorry, how can I check when a determinated level is loaded, I need something like "OnLevelLoaded", right?
There's a Blueprint pin called LoadStreamLevel (By Name) that has "Completed" Output.
Maybe this is what you're looking for.
this is basically my Blueprint (ThirdPersonCharacter) but I need something that says to the timer to start when the level "Island1" is loaded
replace the PrintString from the example above with the SetTimerByEvent node
ok thank you all guys!
do you know why is giving me this error?
double check that the level name matches a level that exists
I've not done it myself so I don't know exactly what you are supposed to type there
the level already exists...
Idk the format in which you are supposed to enter the level
Maybe is asks for a path to the level?
This error means the level wasn't found. That's all I can tell you for sure
ok, I will try something to solve it...
Hi everyone! I was wondering if someone could lend me a hand in solving the following problem I am having.
Basically, I have this piece of code that updates the character "Head Look At" based on a target object. The horizontal rotation works great, but I can't figure out how to make its head rotate vertically correctly. I assume it would be based on the target distance from the player and the angle between its eyesight and the target vertical position.
Cheers!
Can one construction script overrwrite instanced editable variables of another actor? (obviously both on the same level)
I'm trying to pass one actor's location direction into another before runtime but updated via that same actors construction script
I can easily edit the first actor's construction to go get those variables but I was wondering from a functionality standpoint if the other way was possible too
Is it required to function right or can I still manage with the X(roll) value?
I have a number of arbitrary classes, that despawn themselves and spawn an actor of 1 generic class, which can then re-create the object that spawned it.
This is an inventory system: when an object (item in your inventory) is dropped on the ground, it spawns the physical item (generic class) and destroys the object (removes from inventory).
For a regular item with no data, this works totally fine. But what if i have a gun? The dropped object needs to be able to store the ammo it has left, so when you pick it back up, it "remembers" that.
The problem is: How can i store an array of arbitrary length, holding arbitrary data types and arbitrary values?
Yes i could make a hack by writing all of the object properties into some sort of JSON string, but that's not ideal.
Drop item. Spawn physical item. Create object in the physical object and set its reference, this is the payload object. Then the inventory copies the object's properties one by one into the payload object
But it's the same class in both cases right? (The inventory item, and the "data holding" object)
I'll try this, thanks.
Is there a way to determine when a BP actor is spawned - beyond searching for "spawn actor from class"? Can I go to the begin play of the actor and question and compare it to previous execution/stackcalls or whatever?
@open crypt On beginplay of the actor, if you GetGameTimeInSeconds, you can save it as a variable to check later. It's the only method I can think of.
Can anyone put a simplified and practical explanation of the uses of game mode, game states and game instance class? ?
Any tips or tricks or advice on how one might use Blueprint to find the "max dimensions " of a staticmesh/collision box/etc???
I find a good example is multiple control inputs to manipulate world/situational objects.
setting triggers and FOC functions for better optimization when areas/environments/etc need specific or circumstantial functionality.
setting up multiplayer and player selection features. Or data collection for various things.
HOW in god's name do you stop these windows from resizing as you jump through nodes -
the positions keep changing
Don't mean to step on toes here but - Anyone have any pointers when it comes to inventory inside an inventory? Like if I had a backpack, i want an additional inventory inside that. Like a container. I just can't figure out how to store the additional inventory data so it can be accessed elsewhere...
Should look like this
but the backpack inventory slots there should be a separate inventory.
so if the backpack is dropped, the slots go with it and so do the contained items
Think project zomboid but without the list style inventory
found the answer/start to my question in case anyone was curious. Thanks again!
My math logic isn't getting there, I need a comparison to give false rather than true, can anyone help me reverse the logic to get a false and connect to the AND? The goal is to have false when less than 300
whats your goal?
I need to set the Is Falling to false when distance is less than 20 for example
if distance <= 20 is falling = false
otherwise true.
Are you using character bp? that has the "isfalling" function? or making your own jump/fall script for a pawn/actor?
Thank you, got it working.
nice! Sorry I got distracted by explaining to my partner what I was working on >.< what did you come up with as a solution?
Ok so I want to get all actors of class and then get a vector array and spawn actors on all of them, how can I do this?
might be a start
@summer bolt
split the struts add the actor classes to the array param
then
Ok so I would get all actors I want put them in the actors array
I would imagine so
What is box extent
you could also, though maybe less efficient to get the transforms from the actors in the arrays and make an array of the transform locations in relative/world/local space
its how for the bounding box goes on that vector
how far*
Could you send a screenshot
give me a sec
๐
so if you have a set of "actors" of a given "class" you can use a different node to create the/an "actor array"
You are wanting to have predetermined spawn points for where these "Actors" can spawn in a given scene i take it? So using the actor array to get their bound wouldnt work i think because that would tell you their bound which you arent trying to spawn them at their bounds.
You would want to create "spawn" type class/actors. For either a key point or with the "bounds array" to set up "Areas" within the "spawn bounds" to have them spawn randomly.
@summer bolt this should give you a really solid area to start experimenting. Thanks again! Hope it helps
let me know if the screen shot is too small to read
Thank you
figured the random node for randomizing the "actors to spawn"
but not sure the arrays
ooooo
one sec
nope
im parking this little fun project for now. Please let me know what you come up with @summer bolt
๐
Hey, is there a way to "parse" the result of a pawns pathfinding to other pawns, so that use the same results?
hey guys.. is there any way to get the hit component off a sweep hit result?
Right now I always do an additional trace but that's silly
@waxen rose the stuff between Bershy and I just above here is a really good example of what those BPs you mentioned earlier are good for
Hey, I want to change FOV based on player's speed and it works, however it changes instantly and it's not looking great. Does anyone know how to make it change smoothly?
@tough fern first you gotta LERP than you gotta daedae
Use a lerp/timeline to create the transion
are you familiar with those?
not at all
one sec
@tough fern that is a method to play with that would work with LERP'n it up.
Timeline might be easier to transition what you currently have which would allow you to just make floats with an alpha so that FOV goes between 0-1
just youtube some Timeline stuff to look into that if the above idea becomes too much of a headache. Hope it all helps!
Interp to constant also works
ok thanks again ๐
Is there a good way to move an object along some path and have collision adjust that path? like adjusting to an incline for exmaple
Cause AddActorOffset with sweep will just not move the actor at all if it collides
I adjust the trajectory based on the collision but it's reaaaally slow and I was wondering if there is a better way than breaking the movement down and doing it in steps with intermittent adjustments along the collision normal
hey, does anyone know a good way of causing an event to loop/tick without just having an if on the event tick?
Guys do you know what this is and where how i can produce that on a different bp?
you could adjust the tick to a lower rate, but I prefer to use timers, you can loop them and/or cancel them
that's true, i actually completely forgot you can cancel timers lol, ty @high isle
has anyone tried physical materials? I am having a problem when I override them in the actors in the world. it just does not override, and I get the physical material associated to the default material instead (when using hit)
So .. I'm trying to create a simple system for "floating islands" but I have no idea what I'm doing.
I want the islands to generally stay in place until a player jumps on them. When the player is on them I want them to start "sinking" and once he jumps off - to return to the original position.
I tried many different ways and sadly - I can't find a good solution. I would really appreciate some advice since I am really inexperienced in unreal.
(What I have so far in the video)
And a picture of my blueprint for the "floating islands":
so far the detection sphere is not following. But I have no idea how to do it properly. I tried making it a child of the mesh but then the simulation goes crazy.
That is my BP structure.
I also tried moving the parent .. but for some reason that does not move the children ...
Hello. I'm trying to figure out when a level blueprint closes. They don't seem to call EndPlay. I'm registering some delegates in BeginPlay and need to clean them up when I back out to the main menu.
Hey, does anyone know why this Do Once isn't closing when I release the input button? :(
how can i get rid of this weird "floaty" feeling, where the camera ( im moving the camera not the plane) moves like it has a force applied to it?
hello i have a strange bug where it is refusing to set SaveMenu variable when i created it so the save menu is never shown
anyoen have any idea how to handle veriable fps and make it so perTick things don't happen mroe frequently causing verious unwanted effects?
does anyone know how to make a player and camera to rotate there nothing online that would help us so anyone with this type of info would help me out alot we are working with 2.5d game
Hi i need some help with a first person vault currently i'm the only programmer on the project and i was wondering whats the best method to do a FPS Vault.
Is there a way to hide/show input pins for custom functions?
Like if I had five pins, but I wanted to hide the last three in the pulldown tab.
im not sure that is possible
@lucid lynx No, but you could pass a struct or something instead
Hey everyone. How could I take the Yaw and Pitch inputs and use it to make a rotator to control a camera? When I Make Rotator Yaw works, but pitch works rotates along a fixed axis, so if you rotate the pitch it goes diagonal etc
One common way is to have the yaw rotate the actor yaw, and pitch the camera component pitch / controller pitch
theres a few ways to avoid/optimize ticks. You can turn the tick on and of with "set actor tick enabled" so it doesnt tick when you dont want it to. You can use a Timeline, which updates values every frame for a certain amount of time. You can add a delay of 0 seconds to run something the next frame, and loop that into whatever you want, which can be turned on/off through your BPs flow. Example for the delay method is in the image
If you're talking about the effect of your tick math changing with the frame rate you need to factor in the delta/frame time (Get World Delta Seconds node). For example, if you're moving a thing 10 units per tick, you need to multiply the input (10) by the frame time and it'll become 10 units per second regardless of frame rate.
That's why the Event Tick node has a delta time output on it. It's like, you'll probably need this, lol
Can anyone help with this? I set it to destroy component but there's a 50% chance it won't destroy it at all
If you're getting multiple pings of the "Event Do Damage" then it could be spawning multiple emitters which in turn removes the original reference to the component you're trying to destroy.
I think you're right, how would I go about fixing this?
Add a do once node before spawning the emitter
Alright, thanks
reset after the the destroy component.
or make the emitter end after X number of loops, and you can make that a parameter (if you're using Niagara... I forget if Cascade can do that)
so that it doesn't have to be managed by BP
@narrow kelp btw Im using a Player Camera Manager which wants a Location and Rotation (I believe its World coordinates). Yaw input will rotate the camera just fine, but pitch seems only to rotate in a specific world direction. edited for clarity
Mind if I ask why you're doing it though a Camera Manager?
@narrow kelp this project wants to extend the functionality of ALS Player Camera Manager specifically. There is a function called Custom Camera Behavior, where you can override the Camera Behavior Anim BP by providing Location, Rotation and FOV
Is this for some kind of locomotion plugin?
(thats why my googling turned up)
But anyway for your question - Sometimes I like to work with vectors instead of rotators. You could take your forward direction, rotate it by your pitch, then rotate that around the up axis
Then turn that back into a rotator
Quick BP question:
My buddy is trying to apply melee damage to a enemy by using this tutorial: https://www.youtube.com/watch?v=JNUik-YLWUc&list=FL7sd1TlhVezu-ZXRGfdNKEQ&index=12
At 12:20 the guy introduces in the BluePrint [Get Melee Box] "under" Variables.
But when we bring it up, it only shows up under the "third person character.
Check out my Unreal Engine 4 courses:
โบSouls-Like Action RPG with Multiplayer: https://devaddict.teachable.com/p/souls-like-action-rpg-game-with-multiplayer
โบMultiplayer First Person Shooter with Dedicated Servers: https://devaddict.teachable.com/p/multiplayer-fps-inspired-by-cs-go
โบMultiplayer Top-Down Dungeon...
When we try to apply that one.
the error message that we are getting is:
@narrow kelp Ok so Im getting the input values from the Player Controller as floats like this
@narrow kelp and I am making it a rotator like this and combining. How would I do it different?
This means your Sun Wukong BP class does not inherit from the default TP character BP class, when the Trigger Box Component is from the latter.
Either reparent your Sun Wukong BP class to TP character BP, or move the Melee Box trigger to your Sun Wukong BP.
Could you break that down just 1% more for us?
We are both reading it and got a lil lost.
Okay, so question first:
Open the BP editor for your Sun Wukong BP, and see the Parent Class name at the top right hand corner. What does it says?
Has anyone used the DMX template/plugin to change the values in the Level Sequence using BPs? The Level Sequence Actor uses the DMX Library so it seems quite different from how traditionally BPs work.
...the name got blocked by the stream UI.
Is this where we messing up?
(and he's looking at the Third Person Character blueprint)
I want to know if Sun Wukong BP is inherited from Character class or Third Person BP
Underneath where it says "Layout" is what Hoodie is asking about.
Now we need to know what it says there for your Sun Wukong BP.
Im the guy damuskinos is trying to help me out
I'm trying to help him come here feel comfortable to come here and ask for help. It's a great community that could help him.
That explains why the Trigger Box isn't compatible with Sun Wukong BP cast.
So this is where the problem is - You made the "Melee Box" component within the Third Person Character which is parented to Character. Your Sun Wukong BP is also parented to Character, so the Melee Box doesn't exist at all for your Sun Wukong BP.
You can reparent the Sun Wukong BP by clicking on the class settings button at the top center of the screen and then selecting the Third Person Character in the "Parent Class" under the Class options on the right.
Once you do this hit compile and you should be able to attach the reference from the cast to the Melee Box component, and if not, then drag from the cast, and start typing melee box and you should find the right one.
Alternatively you can bring over the Melee Box component and its functionality to the Sun Wukong BP, but this won't be an elegant solution since you would have to do the same to the enemy's BP classes.
That's because they're doing it on the third person character blueprint.
They have to be on the Sun Wukong BP to parent to the Third Person Character blueprint.
Wait, I didn't notice the error, my bad.
Stoping.
@dawn gazelle Any clue? The offending variables seem existed on the list.
That's exactly what it is - the variables existed on both.
I also moved the BP modifications he did for the attack to the Sun Character.
So now they need to replace any instances of old variables to the version that exists in the Third Person Character.
Okay, as what Datura said, delete any nodes of that variable in the BP, then get rid of said variable on the list.
You can right-click on the BaseTurnRate_0 and BaseLookUpRate_0 on the left and select "Find References"
^ This could also work (but I personally don't trust this method)
In the results, you can double click them to navigate to where it is referenced, and just do a "get" or "set" of BaseTurnRate or BaseLookUpRate where needed.
My method would be bringing in both "Get Base Turn Rate" from and "Get Base Look Up Rate" that are categorised from Third Person Character, and use those to replace the offending get nodes.
@icy dragon
Alright, good to go ๐
Wait
We didn't do it yet.
Just wanted to confirm.
You want me to copy that, and paste it under Sun Character
And re target them back in?
Ah shoot, my vision is kinda weary now ๐
You can copy both nodes to the Sun Wukong BP, since it's inherited from TP character.
Though it's safer to just summon them in the Sun Wukong BP by the right click menu.
Has anyone ever done the Udemy class by Chris Murphy? The first section of the course is the pinball game.
I'm gonna try to summon them first.
Never used Udemy, but if you want to, you can try and study the course for yourself.
Chris Murphy himself is also UE evangelist.
the ones without the 0s would be the ones you want.
I'm currently in the middle of it and running into a weird issue that apparently no one else has run into lol and was wondering if anyone had taken the course and could offer any input.
What kind of issue? Can you be more specific about it?
Hey I was able to add the Melee Box without getting an error. Thank you so much @icy dragon
So basically we created one flipper blueprint with an enum to tell it if its left or right. Starting rotation and end rotation are set based on the enum and if its a right flipper (left being the default) they say to scale it by -1 on the x so that it looks right. And all of that works properly. BUT when playing the game if you hit the ball with the right flipper it destroys the ball actor, but only if it is actively flipping. If the flipper is either held up or in resting position the ball interacts with it properly. If I remove the relative scale node and just manually rotate the flipper in game it works just fine. And the left flipper works all the time. Both flippers use the same blueprint for the implementation of the "flip"
Glad to know it resolved the problem. 
If you have any other BP related problems, feel free to post it here.
ok cool Thanks Again
TY MAN!!!!!!!!!!!!!!!!!!!!!!
This is what the flipper uses regardless of it being left or right
Only the right flipper that destroys the actor? Not the left flipper?
I suspect it's because the negative scale, but if you don't mind, record the issue in action.
(also send the recording in MP4 format so that I don't have to download the video to storage)
Yeah its only the right flipper. And Ive quadruple checked the video and this is the exact setup he uses in the course and it works. But let me get a video, one sec.
https://youtu.be/vcHoJF3BGrE I just dumped it on youtube so there arent any issues
If I was smarter and remembered to scroll the outliner down before recording, you can see the ball disappear from the list
The actor counter is enough of a warrant (usually)
Pretty sure it has to do with the negative X value you have in set relative scale in the image you provided here.
Consider rotating it 180 degrees instead of scaling it to negative values.
It is, if I remove it and manually rotate it its fine, really more at this point curious why it works in the tutorial and not here.
Just curious, what UE4 version does he used in the tutorial?
hard to say, he doesnt really ever show the version. I know its not 4.26 since it doesnt have the new project creation screen, but I dont think its older than 4.23 though
Do you know the year of the tutorial's publishing?
3-4 years ago.
I am currently in 5, but I manually recreated the project in 4.26 with the same behavior.
That would be 2018, which is either 4.18 or 4.19.
Is there a node I can use to automate the rotation instead of the scale? Or would it just be best to rotate manually when placing in the level?
Set Relative Rotation
I think that worked. I have some refactoring to do now to get the actual flip mechanic to work properly with this. Let me see if I can get this worked out. I appreciate all the help!
After going through and using combine rotators to add 180 degrees on the z-axis if its a right flipper it works! Thank you for all the help!
Is this doesn't work for you?
this is an actor component
UStatusEffectComponent is a child class of Actor component
Someone know a reliable way to remove a child widget after a certain amount of time ? I am doing this as of rn but it's not executing everytime the RemoveKill event
i just want to add an actor component
wait let me refactor that
SampleActorComponent = NewObject<UActorComponent>(this, SampleActorComponentClass, SampleActorComponentName);
if (SampleActorComponent ) {
SampleActorComponent ->RegisterComponent();
SampleActorComponent ->AttachToComponent(GetRootComponent(), FAttachmentTransformRules::SnapToTargetIncludingScale, NAME_None);
AddInstanceComponent(SampleActorComponent );
}
This is a cpp code for creating actor components during runtime, how do i replicate this in blueprint?
@trim matrix Typically I just Remove from Parent
and let garbage collection clean it up
Yeah i thinked about that when i posted my message lol
So now i remove from parent in the event construct (i did a special event so i can remove it in other case)
I've been messing around in Unreal for a few weeks just doing random projects. Me and my brother are starting our own game now. What is the best way to implement character variables, such as health or stamina. Should it be done in the character bp itself or should it be stored somewhere else?
I've done both but I'm not sure which one is better in the long run of a game
I think a component works pretty well for that stuff, since your character BP can easily get filled up with other things
Plus, if you have a generic attribute manager component, you can put it on other things like breakable boxes.
my client players spawns in as a untextured ball with a camera when i try to start multiplayer
what settings do i tweak to make it spawn my player blueprint
Untextured Ball with a Camera? Sounds like Game Mode problem to me.
Make sure your Game Mode have default player pawn class specified.
perhaps
i dont think ive changed anything related to multiplayer though
im new to multiplayer so what should i check for issues
yeah that is my player pawn blueprint class
Check if the level has the correct Game Mode...
And make sure the Default Game Mode isn't something like GameModeBase or engine default class.
how do i call the parent begin play of a child blueprint?
yeah that was it
none was selected apparently
Thanks for help
You should have this already set up in your child BP.
If you somehow deleted the node, this menu will bring it back
thank you!
Right click on your begin play function in the child and click "Add call to parent function"
hi there
is there a way for me to get the light level and use that as a float for a blueprint?
like how bright or dark the player character's location is at?
i turned this on for my third person character because i wanted the character to always be in the direction of the camera
and now when I walk backwards, the animation for the skeletal mesh keeps jittering
how can I fix this
Your best bet would be estimating the distance between the light source and the player, or using predefined lighting and place trigger volumes on the dark part.
Many stealth games that I know using such mechanics usually have the lighting baked/predefined, and the level designers put trigger areas to make the enemy ignore the player when they overlap with it.
Seems like your character tries to turn backward but that option forces them to look forward.
Hello everyone!
I need some help with movement.
I want my pawn to smoothly glide along a surface that can be tilted and angled. https://i.imgur.com/rIkH8hf.png
I hope you can see this. It's the walls on the side here in brownish.
The track can be tilted, twisted, angled a bit like a rollercoaster and the walls contrain the player. So far I've created my own thing to apply the movement and it works perfectly but it's VERY slow so I get a lot of stuttering.
I then created a custom PawnMovementComponent in hopes it would be smoother but it's janky.
I was thinking maybe I can get the physics engine to handle this for me somehow?
Can someone help me with this?
it does not manifest on going left or right though
Actually lemme fire up the vanilla 4.26, one sec
alright sure
you can see it right after you put on Use Controller Rotation Yaw on the default third person pawn though my blend space is a bit different
Is there a way to make a 3D array of integers or floats?
Struct is one way to do it.
I wanted to do a takedown animation but when I use the play anim montage node it doesn't work
When I used a regular play anim node and used the same montage asset, it worked ... kinda
by kinda i mean after the animation completed, the actor goes into a T-pose
Keep it that way, so that your character assert dominance after taking down the enemy 
Kidding. Try asking in #animation , and provide more detail about the issue.
Thanks!
Okay, it seems like the Blend Space is te one to blame
this is the blend space
those 2 circled in red are the backwards animations
the 3 at the bottom are the idle (speed at 0)
vertical axis is speed from 0 to 600
horizontal axis is direction from -180 to 180
i think the problem is probably the -180 and 180 thing but i don't know a system that works that I can replace it with
The best thing to replace Third Person template would be the ALS V4
yeah but im not that familiar with more advanced systems so im just using the more simpler stuff for now
Hi! i'm doing some save/load for the data, wich works ok. but if i try to load a level to get a blank map, it wipes out all the info i loaded and i can't set the variables.
Also, if i set the variables first, when i change the level, i lose it all.
Any idea on how to do this?
i want to load some data and change the game level at the same time
Use Game Instance to store the vars across level travelling.
I'm using player controller to handle the save/load. Would you advice to handle that one on game instance instead?.
Game Instance would be a better solution because it won't get switched around across level or when changing Game Modes.
at the moment yeah, but planning on add dedicated server functions later. Would you do it other way if that is the case?
Hi there
Kinda. Multiplayer works a lot different
If the server loads the data then you can still use the GI
does anyone know how to get an AI to rotate in the direction of the Navlink Point it reaches?
But if it's about connecting to the server or moving data between levels while being connected, then there are other and better ways
Try #gameplay-ai please
alright
ok, i guess i'm going to do it this way just for testing and change it later
Also keep in mind that making a Multiplayer game out of a singleplayer game usually means recoding it.
It's better to make a multiplayer game that can be played with one player (thinking wise).
Unless single and multiplayer are totally different of course
some single player feature and some multiplayer feature, but the multiplayer it's going to be more about updating states
doing some prototype of a game like "art of conquest" to learn more about UE4
you have some singleplayer features and some on the server side. All singleplayer and multiplayer data gets saved on the dedicated server later on
is there a way to smooth out float outcome? for instance in that situation I'd like to smoothly change FOV based on player's speed but every time i stop movement it instantly jumps (from like 700 vector lenght to 0). Is there a way to not make it jump from 700 to 0 bur rather go through all the values in between to make it look smooth?
I have this array which gives out a random weapon when it is called, but I don't want it to present a weapon that the player already has
is there a way to exclude a certain entry if it matches the gun the player has?
Array -> Find - IfFound -> Delete
@tough fern If you want a "laggy" effect, try the nodes FInterTo and FInterpToConstant https://docs.unrealengine.com/4.26/en-US/BlueprintAPI/Math/Interpolation/FInterptoConstant/
FInterp to Constant
not delete, exclude
@icy dragon i chopeed the blend space into 2 parts, one part speficially for full backward, put them both in the state machine and it worked
quick and lazy fix would be "if entry = player gun -> roll again"
@chilly jetty Maybe make a (pure?) function that outputs a filtered version of that Random Gun Array
@tight schooner how would i attach it in that situation
Again with the load problem. I transfered the function to the game instance, but my save data get wipped if i load twice in a row.
Screen Below of my function:
First load works ok and shows the info, second load (inmidiatly after that one, shows no info)
Take the current output of your Lerp node and that'll be the "target" of the FInterpTo/FInterpToConstant node. The "current" pin will be your current FOV; you may be able to "get" that data from the FirstPersonCamera you have on your graph. Plug the Event Tick's "Delta Seconds" into the Delta Time input... Or use the node, Get World Delta Seconds.
and Interp Speed is something you adjust through trial and error lol
hell ye it works perfectly, thanks a lot
Okey, so the problem with my saving/loading was that i was trying to save actor references, the process for that seems to be diferent.
The solution is just to save the actors class and variables and than load them into a newly spawned actor
I've never made a fully featured save/load system but yeah, an object reference is a pointer to a thing that is spawned in the level, and when you load a new level, all those things cease to exist, invalidating the pointers
Typically you don't want to save object reference in game.
Yeah, so i got a problem again when i load the level fresh.
if i don't load the level, all the logic works fine.
If i load the level, it doesn't restore any data : (
@runic parrot Nothing past OpenLevel will run. You should load things in places like your GameMode
Open Level is a hard block. Even if that code runs, anything it does will be ignored because OpenLevel causes everything in current existence to be torn down and removed. Then a new fresh world is created for the level you wanted to open. So even if that code is running, you're running it in this execution line, which is in the current world. Which is then destroyed a moment later.
I tought game instance was persistant after loading a new level.
Game Mode would be the right place to execute that logic?
or are you saying that to load a new level and than execute something in that way is just not posible?
I have this simple widget which has 2 progress bars for health and armour. I have a health and armour variable on the character, both have rep notify functions. But for some reason clients cannot see the bars being filled/changed.
https://cdn.discordapp.com/attachments/663019057166942238/852852915256557568/unknown.png
https://cdn.discordapp.com/attachments/663019057166942238/852852652412895232/unknown.png
Any ideas?
@runic parrotGame instance is. It does persist. But what is happening is that you call OpenLevel. What this actually does is just sets a variable somewhere. Then you load and do some stuff. No level change has happened yet. Next frame has come around. You've done your loading stuff already last frame. The engine picks up that a new level needs to be loaded from a check it makes. Now everything is torn down and recreated.
oh i get it
is it posible to open a level and pass some parameters? (the load info) and delegate the load of the info the the new level?
OpenLevel allows strings to be passed in.
You parse it with a function and separate them with "?"
Nice, so i can pass the SaveSlot Name in there
there's just too much data to be passed in that way, i'm gonna see if i can pass the SaveSlot Name and on the level init i check for the parameters and load the data
Yeah. There's a function or two.. can't remember the names offhand. They should be able to parse the gamemode's options string for those variables and return them as integers or strings.
yeah, i'm gonna check how level options work, thanks a lot!
ParseOption and GetIntOption I think.
can anyone help i want to add "next spawnpoint" here but i dont get the option
are you sure that method is within the scope of your game mode access?
what do you mean i am new to ur its my first game so
ez language pls?
Im trying to scale my soil in my project but when i 100 and 150 or 50 its good but when i do like 125 im not getting it right with the scale
this is when i do like 125
okey i got it working, i had to do a "loading in progress" float variable on game instance, if -1 there's no load in progress. if positive, it goes through the steps ( 1 = load map level, 2 = load game data, etc..)
works like a charm and it's scalable for later. Thanks for the help
can you plsssss help me
are you following a tutorial?
Can I rearrange these pins?
Ctrl-Drag will allow you to move connections
it doesn't completely move them around but it makes it easier. Thank you :))
I'm using this snippet to detect if the object at the end of a raycast has a tag. But I noticed that when the raycast hits a bsp geometry, it generates errors since it isn't an actor. How can I detect whether the object the raycast has hit, is an actor or not? Also can't bsp geometries have tags? Is there a better node/method to detect whether the object has a specific tag or not?
how can i make a bp child of CharacterMovementComponent then attach it to my character without using c++ (i already know how to do it in c++ but not in bp)
Does Add Component By Class fails you?
what I need is remove the current CharacterMovementComponent and replace it with MyCustomMovementComponent
Character Movement Component is also not a scene component, so you don't need the attach process.
but i cannot make a bp out of CharacterMovementComponent
Is the Character Movement Component inherited from Character.h?
CharacterMovementComponent is a default component in Character.h
you can replace it in cpp but i dont know how i can replace it in bp
when you create a character, this is the default components
I know the structure already, but, okay let me rephrase this:
Is your BP inherited from Character.h, thus making Character Movement Component inherited from it?
If that's the case, then you could destroy the component and replace it with yours in BP.
Or, you know, go step above and inherit it from Pawn instead.
yes
I have a character bp inherited from Character.h
but my problem of not being able to create CharacterMovementComponent blueprint still persists
is it safe to make the CharacterMovementComponent.h blueprintable?
I don't think it's safe, it would be better to just copy the code to your own Movement Component class.
Also, if you don't use the source build and used installed binary build of the engine, changing the engine code won't do anything, since you're not going to rebuild those.
ok. Thank you!
What are the dimensions of the Box Extent?
(X=156.000000,Y=156.000000,Z=1.000000)
ohhh
my fault
Thank u @unkempt musk
I edited the scale not the box extent
why it doesn't fire any event when I hit them?
nvm agai
I guess im not focused today
yeah, you can cast the object to your desired class and check if the cast is succesfull. But this is incredible hard on performance since you will be doing a lot of casting.
a more eficient way would be to implement an interface "tageable" and when you hit, you check if the object implements that interface
alright that sounds good thank you for the idea.
Say you have an enum, and you want to call a function specific to each value, is there a better way than just linking it up to a switch
becuase I need all 255 index's items from my byte xD
and well that's going to be total spaghetti haha
well, if you need one method for each enum value, you are gonna end with 255 no matter what
xD
don't drag him to that place
Its for blueprint intergration
don't listen to him
why would you have 255 diferent actions ? o.o
Its an interesting concept for sure, but I don't actually know if I want to clutter the C++ instead xD
at least in a blueprint its out of the sight haha
Moves that may continue into each other, like combo's, and direction specific moves like walking backwards jumps you backwards
combine them and you can fill 255 quite fast ๐
Input system is complete c:
but hey, the function array intresting
wouldn't save me from having to manually make 255 tho would it?
Functions
There going in and out of a complicated system ๐
that does not much care for the inputs
as it works the same remotely
You have no knowledge of it xD
I am dude
I am C:
and its deterministic, and it has a ball xD and combat xD
Nah xD
Quick question: in the level sequencer, is it possible to see the timeline in motion when playing in editor?
Will struggle to Rep 10 players with current bandwidth usage ๐
I'm just going bite the bullet and make 255 blueprint functions, then I can override them in child classes when needed
thanks tho ๐
doesn't it work with a base class ability and you handle the implementation of each one in there?
Erm honestly this is something I would love to know can you get a function to copy the params in blueprints
?
same, probably innecesarely overcomplicated, but not sure.
because I would love to update one of these and have all 255 change when
im still not sure what you are trying to do
but if you are doing something 255 times, probably you can encapsulate that concept
whenever you are repeating something a few times, it's likely a candidate for encapsulation
If you have a way for my enum to run different code for each one of the potential 255 actions, encapsulate away haha
Keeping in mind I still need a function for each one haha
Huh I think Gas does it something like that actually
If you need 255 different actions, then you will end up with 255 different functions (or nodes or whatever). There is no way around that.
Ye I think so, was more so looking for an easier way to maintain them
The important question is do you really need 255 different actions?
I am NOT integrating GAS into my system now
Also no CAP its better than gas
don't @ me xD
gas is a nice concept, just get an ability class with the basic functionality and than childs for each new one of the 255
Gas is not deterministic, it does not run on a fixed time step, it does not have a rollback system xD
your asking for me to go back to cave man times
You can also an UObject with 255 childs and put the functionality in each child
we still don't even know what you are trying to achieve, i think.
Just connecting a value of an enum into a function
in a way that is not crazy to maintain
Easy way of maintaining 255 different functions
and not all 255 will be used, (necessarily)
I think that is the best way to go then
this is how you are thinking on how to implement it, not "WHAT" you are trying to achieve
I'm taking underlying Cpp logic that says action "X" started, and the param to set it up, then I will take the X and specialize it to a function where I might play an animation or spawn particle effects, ectra
There generic, so they can act differently for different classes
sounds like an interface to me
Needs to be possible to override it in child classes
so needs to be a function
any way lads thanks for the ideas, just wanted to think about this for a couple before jumping in if there was a better approach
interface with the generic concept of your actions and than leave the implementation to each particular class
yeah, the problem doesn't seem to be soo much on how to implement it (one generic customizable ability system should do the work)
the problem seems to be the number of abilities
i don't know if there's a work around for that
I think 255 is a good maximum amount
I won't necessarily have 2 combo's for each move ๐
in an 8 direction movement setup
with air and ground specific moves
(and stationary)
i think that is a horrible way to implement a combo system, but up to you.
Air and Ground (2) x Direction movement (9) x Some allowance for combos (4) x Heavy or light attacks (2) = 144
You try replicating the moves in a combo system and pull it off with only a Byte with that many options ๐
Effective to push them into one
Quick question: in the level sequencer, is it possible to see the timeline in motion when playing in editor?
There is a LOT of network usage in my project
any saving is crazy good haha
and honestly not that complicated and its generic so it works well for polymorphic design
Just leg work man
lots of leg work xD
Some tips for optimizing the performance and bandwidth usage of Actor replication.
@trim matrix Polymorphic in the sense that other classes can assign logic to action 1 without any additional effort
if I put hit anyone in front of you the server and clients run it deterministically its beautiful c:
True xD
But no deep combo system comes without effort :/
Is capsule radius really attached to the half height?
I don't want to change the height, only the x-y axis
but I cant
Nah any changes would take fare more effort than just copy pasting, and naming 255 functions and connecting them up
They are related, but one cannot exceed half of the other
honestly don't remember which way round it is ๐
Not sure, but you can change the 3D Scale if radius ain't working
Seems weird to me honestly
This?
yeah
Then how should I delete the inherited capsule component ;-;
begin play or construct -> destroy
I don't think so. The sequencer UI doesn't share the same "replayer" with the one in runtime.
Not a good idea I'm afraid its tied VERY heavily to the character movement component
hi I am wishing to start learning UE after my exams are done, can someone send me a picture of this 'blueprint' thingy and how it works?
Your best just trying to make something simple c: download and give it a go, perhaps follow a guide
This is what BP looks like.
Overview of using the Blueprint visual scripting system for gameplay.
https://www.youtube.com/watch?v=EFXMW_UEDco
kind of old, but will do the work. The concept is quite simple and it's nice for designer to work on it, not only programmers.
This video gives us an overview of the Introduction to Blueprints video series as well as jumps into a high-level overview of the concepts behind Unreal Engine 4โs Blueprint Visual Scripting system.
@icy dragon Thanks for answering. Man, that would cool if we could view the timeline moving as we play in editor though hhaha.
wow thats a lot of replies guys, thanks!
if you have any experience on programming, you will get it right away
I do ๐
python (advanced) and a bit of c# from unity
That's a more sophisticated example of Blueprints though 
If you are familiar with unity then this will probably help you aswell
https://docs.unrealengine.com/4.26/en-US/Basics/UnrealEngineForUnityDevs/
Translate your Unity knowledge into UE4 so you can get up to speed quickly.
With Blueprint, you can do a lot of high level things, without writing a line of code. And also put it to overdrive with lower level C++ stuff
interesting
ooo thanks
Also worth mentioning that we don't use Python for gameplay programming in UE.
Python in UE is only used for scripting the editor.
mhm i thought so
so what should I do
What are you trying to do?
You know agario?
Ah yes, that 2D "metaball" game.
Hey there, guys, need some help with blueprinting: i have 250+ materials and i have to switch Sampler Type parameter on Texture Sample node on each material. Can't find the way to do that... (
Okay, sort of metaball, because of consuming cells
but the capsule component is the problem
it doesn't get upscaled and when I try to, I can't
If you want to make that kind of game, generally you don't use the character class at all, but inheriting from Pawn instead 
You can still reparent
I have a ton of work done in cpp
and hope that nothing will break
If your BP class is derived from your own character inherited class in C++, consider swapping the include Character.h to Pawn.h
THATS GENIUS
Character.h is inherited from Pawn.h (which in turn inherited from Actor.h which in turn inherited from Object.h.... you get the idea)
I guess its gonna take a ton of time compiling
jeopardy theme plays
I guess its gonna take time to fix all these errors
Hey guys, I am wondering if timers can execute parallel. For context: I am moving some tick nodes from tick event to timers, most the code was already throttled with gates as to not execute every tick, so I was wondering if timers would execute parallel or on different threads to provide some real performance gains
From what I can tell, event timers can be executed in parallel fashion (though probably not multithreaded)
@icy dragon thanks, I couldnt find that info anywhere. Any other tips for improving heavy hitting tick performance? I was also wondering if blueprint nativization shows the effect in standalone mode or only compiled/packaged game?
BP Nativization only affects packaged game, but even then Epic wants you to forget about it
Try to avoid using tick, most of the time you can achieve the same behavior with events
you can also instead of running it every tick run it 10 times a second
Agreed, I was throttling most of code on tick with gates (enter, close, delay, open 10 times a second) but I still have pretty bad performance with a lot of actors, so I was wondering if parallel executing the with timers would further improve the performace
Forget nativization altogether or forget until you package and get bonus performance (e.g. game should run good in PIE anyways)
Use repeating timers instead of the gates
The former.
Nativization got yeeted removed entirely in UE5, so that's the sign.
looks better, but probably wont really increase performance
Yep, thats what I am moving the chunks of code to, timers.
Just try to cache things, don't iterate through arrays if you don't need to.
If your checking every tick if a value changed make a setter event instead
Setter event?
Create a custom event that sets the value instead of just setting the value.
Also, another thing about nativization:
You'll get a lot of strange fatal errors when compiling for packaging more with nativization enabled.
Yeah I read up on that, some basic stuff like isValid() may fail
And call that event on tick?
no
wait, I'll show you
standing by, thanks
Hello
I need help with exposing this "variable"( i'm not a coder don't know if that is the right term) via blueprint so i can animate in sequencer. I have no idea how to go about it. Any help would be greatly appreciated.
Thanks
Enable "Expose on Cinematics" in the variable details.
it worked! Thanks! ๐
So the performance gain comes from the fact that we call intense logic in the Custom event chain which does not block tick from continuing down the execution chain (which runs parallel to whatever tick is doing) right?
No, but you're not checking every tick if something happen
ah I see
If you need async behavior tho, there are plugins for that.
'AsyncFuncCaller' is free and seems pretty good
The documentation seems kinda confusing tho
might be something I need to look into, thanks for your time. I already tried to put as much code into events but I think a lot of it would benefit from running parallel as the chunks of code are not dependant on each other and manage totally different areas of actor behavior
Yeah, just keep in mind that running stuff async also has it's limits
having 16 async tasks instead of 8 async tasks wont really increase performance on a 4 core processor
also sharing information between different tasks is not always easy
yep, may actually decrease it due to overhead, thanks, makes sense
Dum question whats the node called that does one thing and then comes back and does the next?
Ah its called Sequence
Sequence
Ty ty c:
fun fact: the sequencer will also do the next thing if it hits a latent node
Child class implementing
@trim matrix I think this setup is effectively has no maintenance required ๐
and hey its a little polymorphic
Anyway from bluprint to get the key bound to an input from the input name?
Sorry, do you mind rephrasing the question?

Basically I would like to know what key is bound to say "jump" so i can show it in the UI as a hint
Something like getKeyFromInput or whatever
Huh okay, well that question is worded well c:
its possible but don't remember off the top of my head, sorry
There is a pure node called 'Get Input Settings'
Get Input Settings
yeah Ive been messing up with it but I can only retrieve the name from the name
from there you can do all that stuff
which is arguably little useful
Like the last output seems to be missing a key pin
Action Name is just what I have input already
Expand it from the little arrow
omg kill me
lol
How would I go about lowering the characters turning speed depending on how fast their going? I tried using a curve and lowering the Z rotation rate, but that just made the character look like it took more time to rotate, but the actual rotation rate stayed the same
Are you basing from the default TP character?
yep
There is a setting somewhere in Character Movement Component that handles the character rotation
You can replace isSprinting by a float
Ah alright, il check both of these things ๐ thanks
Depends if this is single player tbh
Scale this Rotation Rate vector depending on velocity
You can make use of curve assets to have more fine tuned results
ye ive tried scaling that Z value but it seemed to just affect rotation rate visually
There initial values, not designed to be scaled in multiplayer!
the actual rate stayed same
ye its single player
Knock yourself out then xD
Screw multiplayer 
lmao
You defiantly can scale it for multiplayer on velocity but you have to do it in C++
only using replication for replays
This works in multi, it's just not authored by server
So you want the walking velocity to be affected?
All multicast come from the server
This is an input, it's clientside
If its not single player you MUST go into the character movement component
its not negotiable, for it to actually work in multi
Why
Its a very long story ๐
But there is a difference in when you press the button and when the server gets your server replication, and then a difference before other people get the multicast
Not sure how exactly ALS matching the walk speed with the rotation, but because it's free, just apply it and work your way up, I guess.
I mean... changing the sensibility works because the rotation makes its way up to the server with lower ratio anyway so it's not screwing up the prediction or anything
Meaning there's no discrepency
You just end up calling Add Controller Yaw Input with a lower value
Sure control rotation is rep by default
but sprinting isn't at least last time I checked haha
Yeah speed is
"Speed"
Set Character Movement Speed or whatever the node is
That won't replicate well I think
You need to look at C++, character movement components and add a custom sprinting flag (See "ComrpessedMovementFlags")
there are some decent tutorials for it out there
Yeah you just call it from both server and client manually to sync your speed (on sprint input), but that's irrelevant to the rotation issue anyway
The server doesnt care since it's only reading your yaw input from your client call
Like I said rotation should be fine
but starting to sprint and stopping won't work well online in a real environment unless you code it correctly
Sure but that was in the screenshot only because it's in my game not because I asked the person to implement sprinting XD
people will be gittery when they start and stop, because the server sees them as being in the wrong spot but okay, I'm off for now c: gl
Is there any way to check if an object is of a certain type in blueprint?
@serene fulcrumGetClass and == it. Or use the IsChildClassOf
thanks @maiden wadi
It's worth noting that you shouldn't have to do that very often. Most things like that are handled via parent class casting to make generic calls, or interface usage.
You do know that you can just set variables to replicate, right?
I'm doing a line trace and I want to know if what I'm hitting is a road (from a spline with mesh) or just normal landscape. If I'm hitting a road then the class of the hit component from the hit result should be StaticMeshComponent. I'm doing that every tick, would this cause performance issues @maiden wadi ?
If you don't integrate them you will have issues,
I think you could get away with Physical Materials.
Not likely. Line traces and class checks are very cheap. But what is the trace for?
To check if I'm sitting on a road
To add things up: He mentioned that the accuracy should be down to milimetres.
@icy dragon thanks for the suggestion, but if there is no performance issue to just checking the class I wouldn't bother changing phys materials.
@serene fulcrum You could repurpose footstep logic that determines physical materials it stepped on. It also needs to be very accurate to pick the correct sound.
Yep, I need to check that my entire vehicle is on the road, no part of it going outside it.
I'm not familiar with that, could you link me to docs about this?
Not in the official docs, but there are many Marketplace assets (some of them are free) that do footstep logic based on material.
Ah, thanks, but this is a uni project and I'm not allowed to use marketplace assets.
You're not using it verbatim, though
What do you mean?
It's not hard, you create a physics material, you assign it to a standard material, you do a line trace and the hit output will give you a physics material.
It already gives me the hit component too though. Why create a material I would otherwise not use when I can already do it based on the hit component?
Either way, thank you all for your suggestions!
I'll update you if it works as expected
You don't really need to, but your vehicle will falsely think you're on a road when you're e.g. driving actually through a river (assuming your river is a spline)
@obtuse herald that's ok, since I only have roads
What is the net performance cost of having tick enabled on an empty tick function?
I always see people repeat that tick should be disabled on BPs that don't use it, but it's never backed with actual numbers, just a "you should do it cause that's how it works"
and I've seen a couple people now claim that an empty tick function on a BP doesn't have an effective impact on perf
When people said that Tick should be used sparingly, it's because excessive Ticks running at the same time can tank down performance quicker than a tonne of C++ loops.
And honestly, we can't give the actual hard numbers, because it depends on the platform target and your game specifications.
I'm talking specifically about blueprints that don't use it
blueprints that have it on, but have no code in them
is there an actual performance gain to going through all of these and turning tick off?
I tried placing over 3000 empty actors with tick enabled into a level. Doesn't appear to affect performance in the slightest. So, either it's so negligible you won't have to worry about it, or it doesn't do anything when the node is empty.
why do people keep saying to disable tick on every blueprint then? ๐ค
Who said that? 
I have a lot of empty ticks running but no tangible performance drop at all.
(at least not what my crappy computery could tell me)
that would be my assumption as well, but the tech leads at several jobs have all said to disable it whenever possible lol
I remember my old tech lead would get mad because marketplace assets that had BP prefabs would all have tick enabled
it doesn't make much logic either, I'd expect that if simply enabling tick on its own would affect performance, Epic wouldn't leave it as the default
since the workflow of having to turn off tick on every non-code/non-tick blueprint gets annoying fast
If my crappy computery is really sensitive to CPU load, and does not suffer performance drop for empty tick, then that's enough of a sign.
Tick has a lot of mystery surrounding it. Largely from people who just repeat the things they've been told without understanding it. The tick function being on and implemented will cause small amounts of overhead. 3000 actors isn't nearly enough to test that. You're looking at 50,000 plus minimum, likely many many more. You won't care about this under normal circumstances. You will care about this if you have an extremely large open world and bad LOD world loading, or a very large open world server. Even 50,000 actors is a small number in these cases.
The take away. Until you have performance issues, don't care about performance issues unless you know how to avoid them before hand. Use them, learn why they're bad, then it's easier.
Calling the function. Every single function has overhead, even in written code. Blueprint's overhead is a lot worse than C++ for that.
And no, don't even think about BP nativization - it's a failed experiment.
In my personal experience, I decided to learn C++ rather than go through the pitfalls of nativization. The cost benefits weren't that amazing, and knowing C++ opens a ton of doors.
Is there a way to get all actors of a class and then populate the bp tree with them? I have a custom class that i'm trying to import into the bp scene tree.
I need to redefine my question, is there a way to add a scene component to an Actor BP?
Ty
hey how can i add an animation when my player is getting off the ground??
no i mean something like getting of the ground like jumping off it
something like thsi
this*
Hey all
I have setup a simple pickup
On which when i overlap it adds +50 health to my character
However if my health is at around 80 it will set my health to be over the maximum amount
Is there a way i can have it add health but stop it from exceeding 100
Thank you
I achieved it through a simple float clamp
I have an Automatic Light, which turns on when I enter the room, and turns off when I exit the room. But it has more functionality. If I press Num 8, it increases it's intensity, if I press Num 2, it decreases it's Intensity. Currently, I am trying to make it so that the Input Num 8 gets disabled when Intensity reaches the maximum 15000, and Num 2 gets disabled when Intensity reaches the Minimum value of 0.
Is this possible using Gate Node? If yes, how do I do it?
If No, what other Method could I use?
guys, good evening! maybe somebody can tell me why DestroyComponent doesn't destroy child components?
I mean, right now, if it reaches 15000 Intensity, and I press 8, the intensity still increases. I want it in such a way that when Intensity reaches 15000, and I press Num 8 and nothing happens
Is there a Branch node? sorry I'm new to the engine
oh yes, I just recalled there is branch node
Thank You!
Yes, I just recalled it, I learnt about it a few days ago
Thank You again
:]
And, it worked!
Is there a way to copy/paste everything inside a Blueprint's Event Graph all at once? i.e. CTRL+A to select all and copy. My nodes in my event graph cannot be selected all at once since the blueprint is too large, so am trying to find a fast way to select all.
For some reason my new blueprints no longer multicast correctly
I am calling multicast functions from the server, and it is only running my multicast on the server
alright thank you
I am having this weird glitch where when I put these two animations in they just refuse to stay and disappear completely whenever I leave this folder. They practicly delete themselves from being detected within the editor even though I can clearly see them in the files edit: I didn't solve it but I found a way around it
anyone familiar with the easy multi save plugin?
What is the difference between "remove index" and "remove item"? I still can't see how they're different. What happens to the array item once i remove the index? If it's gone along with the index, then it's the same as removing item. Is the difference between them just for contextual convenience?
One uses the index, the other has to search the array for a matching item
I think it removes all entries of that item
@narrow kelp๐ค I think now I remembered seeing something like that - silly me, I'll just check Mathew's tut on array nodes again ๐ sry for disturbing while having answers under my nose
no prob, feel free to ask anything
guys, why render to texture don't see HISM meshes?
It's just that every time I operate on arrays of custom structs, if any value in the struct has changed, i need to run shenanigan "find" functions - usually i just throw in a name or guid into the struct - to identify the items I want. Keeping indices clean already caused me more trouble than I'd like, so I'm staying away from that. I'm probably just bad at it, most programmers or smart people use indices - I'm not one of them ๐
I think in most cases it doesn't matter as long as its clear to you.
Or whoever might read your code
As long as you aren't searching thousands of items every tick
im trying to set up a volume slider for my game and for the most part it seems to work. I am saving the volume everytime it is set and then loading it everytime i open my settings menu and updating the slider value, but for some reason every now and then it loads the default volume values instead of the saved ones does anyone know how to fix this?
@trim matrixI know, it's weird. If you debug it, you'll notice that whenever the widget gets added, the slider will fall back to default values. So if you are removing from parent, there's ur problem.
ah
just make sure you take that value and feed it in on construct or something, or expose it on spawn if you fancy that, i feed 90% of my widgets like that really - idk if it's good practice, but there it is ๐
anyone know why Rinterp/Finterp nodes only work properly at 30 frames per second? At high FPS they work slower
Um, they should work fine..
objects rotate at much slower speeds at high fps and very fast at low fps using rinterp and world delta time
You mean per frame?]
per second
Are you running it on tick? Delta time is only meaningful on tick
The reason to use delta time is to scale the tick to match real time
right
Did you alter the tick rate?
but the scale is broken if not at 30fps
what do you mean broken
it speeds up at low fps and slows down at high fps per second
thats why I'm using delta time
problem is, the interpolation value only works properly at 30 fps
You'll have to be more specific when you say its not working
I have an object that rotates at 120 degrees per second, at 60 fps it should rotate 2 degrees per tick. It rotates 2 degrees per tick at 30fps, 1.5 degrees per tick at 60 fps, and 1 degree per tick at 120 fps
thats how it is supposed to work
problem is, it doesn't work like that
Are you sure you're using delta time?
Try printing your delta time
maybe share a screen shot
Unreal's interp functions work fine at other frame rates
There's nothing plugged into Current...
because I'm adding delta to the rotation
the interp is interpolating the delta angle between 0 and target
just the distance
everything works
If your target is always an offset from 0, then a simpler way would be to multiply your target by the world delta time, rather than using InterpTo
interp has an ease function built in
slows it down the closer you are to target and its faster farther from target, maybe thats what is breaking it
the ease function might use a fixed 30fps
Usually the InterpTo nodes are meant to take two non-delta values which you use to Set location/rotation/etc, rather than add an offset
I've done all kinds of tests on it, at 120fps, it rotates very slow, at 15 fps it rotates extremely fast, at 30fps, it rotates how it should
You're using it in an unusual way where it feeds an Add Offset node and I haven't wrapped my head around that
My gut says the issue lies there, but idk
I've tried multiple methods
all interps are broken, even with set actor rotation
they work perfectly at 30fps, but the timing breaks if not at 30
Huh. You're sure you didn't change the actor's tick rate?
you mean event tick?
What you describe is if you were using Delta Time in a calculation that was being run at a fixed interval
Yeah, you can change the event tick rate in the BP class defaults
yeah its at 0
do input axii tick at a fixed tick rate?
No, they happen every frame afaik
very weird, I've tried using delta seconds * angles per second and that works just fine
its only when I use the Finterp or Rinterp nodes
try the function out on an actor using control rotation as your target rotation and set your fps to 30, then 60 then 90 and watch it spin at different speeds
Has anyone run into an issue where putting a child actor in a blueprint totally stops any movement/physics of that actor? It works fine if I place it outside the BP, but putting it in as a child stops all movement.
Thanks, curse you child actor!!
I'm trying to about building characters and systems with composition in mind
For instance, I'd like for a character to have a component that handles a trait such as being scared of the light "FlashlightInducesRage"
Once logic is implemented in the trait component to the character
For this, I'd like to bind an event to the parents Skeletal Mesh component "On Component Begin Overlap"
However I don't see a clear cut way doing so without a delegate, and filtering out all the noise.
Does anyone have a classier solution to all this? or a recomendation of another pattern to use?
https://youtu.be/hTCOCfA63VY two minutes tutorial about how to apply different textures per each instance, which could be useful for randomize the interiors of a building, maybe someone will find it useful ๐
In this video I am going to show to all of you guys how to apply random texture to an instanced mesh.
The randomization of the textures using only one material is a method also used for the game Marvel Spider Man very famous for its interiors thanks to the cubemaps.
The best way to random textures or cubemaps is by using Per Instance Random No...
Is there anything I need to think about when using an AI with a manavalue? he seem to byspass my mana condition and just spam his spells regardless. Or does anyone know a good guide about this subject?
The classier solution would be using GAS.
Do you have their MP stored in their character BP? And do you use Behaviour Tree for the AI?
So instead of using GAS, I'm trying to bypass it by using Able Ability System to create and replicate the abilities.
I'm not super opposed to GAS, I just would like to see if using able can help
The main thing that I'm trying to do is decouple my code
I want to be able to create a character, and add on, or remove traits without needing to hard code or wire up any specifics in the character itself
@icy dragon Yes, I am very quite new though, but I set up his mana just as my own player character which works fine, I even tried adding a cooldown to him but he ignores that too
Can you elaborate on how you set up your AI?
I got an AI with a behaviour tree including 4 tasks, move to, melee attack, ranged attack and ultimate attack which costs mana, I set his mana to 1 in his blueprint (self) @icy dragon
@cedar coral You have to add a decorator that checks mana to prevent the task from being chosen. If you add a check in the task, it will fail, rather than not attempting it
@narrow kelp yeah I have that too, I forgot to add that I have a decorator checking aswell
do I need to remove the mana from the boss inside the decorator then or something?
No, decorators are really just for checking conditions
Maybe your behavior tree isn't set up quite right.. Could try moving your decorators around or re-ordering the nodes
this is pretty much what GAS allows u to do
Does anyone know of a workaround to have Radial Damage also cause damage to the Damage Causer? I've got a multiplayer game setup where the Damage Causer input is used to print to the screen who killed you. It works great, only that the player causing it (in this case a grenade) does no damage to them. Any thoughts?
Don't specify the character who is causing the damage as the damage causer. You can still set the instigator to the controller of the character which means you can still get a reference to the original character that caused the damage (via get controlled pawn) if you need it.
I'll give it a shot!
That works, but now I need a new way to get the type of weapon that caused the damage, as that input was used for that purpose. A problem for another night, perhaps
Your weapon is an actor on your character?
A grenade thrown by a player - I was feeding in that date, and getting the actor's active weapon (grenade in this case) to push to the 'killed' screen.
hi, I have an object with physics enabled, linear damping is disabled, but when it hits a wall, the velocity slows down
is there some way to keep the velocity the same but just change the direction
Doesn't seem like the best way - what if the player swaps weapons before the grenade goes off? That being said - your grenade itself should be the "Damage Causer" and you can set the Grenade's Owner to the character when you're spawning it. So then when you're getting the "damage causer" you can also "get owner" so then you have both a reference to the grenade and the character.
Iโll do some experimenting with that a find a better solution for getting the weapon names and the damage causer. I appreciate the help!
how can I "comment" a node in ue4? As in I want to disable it, but I want to keep it there and not totally remove it.
why static lighting inside blueprint actor not working
when i try to bake the lighting, lighting wont show any light
Sometimes you just want to Disable a blueprint node from running without unhooking the wires, this video will show you how to do this using keyboard shortcust and an experimental feature
thank you
Hi there
I have a Points integer that is used to buy stuff in the game
I want to display the number change on the ui when ever it increases or decreases
is there a way for me to get the integer number change so I can display it?
Delegates are a simple enough way
Create a delegate "OnPointsChange"
and fire it whenever your points change
bind the delegate to an event in your UI and make that visually update there
you mean an event?
no. one second
Delegate is an Event Dispatcher on BP
oh i see
hey I have a question
I have some floating objects which need to move towards an objective
how can I use the navmesh to find the closest point it needs to move to
basically they are like balls bouncing around, and they need to modify their velocity so they move towards an objective
except, there are barriers, so it needs to modify its velocity to move towards the navmesh points
anyone know why my last 2 tangents don't line up with the mesh?
https://i.imgur.com/9zdHrkX.png
this is how I create the last one: https://i.imgur.com/pqL6LKe.png
seems to me the loop close is messing with the tangents:
https://i.imgur.com/BPXZ7Ms.png
https://i.imgur.com/cG7y4kF.png
Hey everyone. In the past I approached a voxel game with ue4s build in dynamic mesh component which resulted in a quite bad framerate are there any more tailored ways to do voxel without using the voxel plugin?
Are there any ways to optimize/speed up the process? Simplify materials to reduce drawcalls and all that?
Your best bet without plugin would be mesh instancing.
Unless you're making Teardown or Minecraft clone, generally you could simply move the boxes in bulk, without voxel algorithm in C++ or plugins.
https://answers.unrealengine.com/questions/220306/closed-loop-spline-has-incorrect-tangent.html
Same for me. Had to fiddle it a little, now it lines up as it should
Ieant without the voxel plugin. It's the most common answer I got when I asked this in the past not without the dynamic mesh plugin. Also is it a better idea to do smaller chunks or larger chunks?
I'm looking to create a blocky world you could say kinda like minecraft any algorithms you can throw my way I could look into would also be awesome
guys, does anyone know why SceneCapture2D component doesn't see HISM meshes?
Is it possible to get a reference to function input variables without manually saving them again as local variables?
Should be able to just "get" them within the function.
oh, ok, you're right.. They're just not in the sidebar then. Thanks @dawn gazelle
@cinder shell it should but you can check the component settings. There's a lot of options for rendering various kinds of things
yeah, I know
I checked everything
and there's nothing about HISMs. There's only ISM
and if you ever want to change them....
@cinder shell I have some vague recollection of some things being counterintuitively grouped with other things, like "foliage". Do you have all of the things checked for rendering?
hm.. let me check
If you can get the HISMs to render with everything checked then you can process-of-elimination the correct setting
Okay guys I got a question, I have a child blueprint and I want to add on to the code from the parent, how can I do this?
I'm also trying to figure out some stuff with child blueprints
@fiery lark for events you can right click and "add call to parent" if that's what you mean
Then you can have an event that runs the parent code then new stuff
Well I have a bullet child, and all the code is on the parent, but I want this new bullet to spawn fire when it hits something. How would I run the parents code first?
Wait I see what you're saying, I think it'll work
I'm gonna try it
It worked, thank you bro!
Hello guys, got a problem with projectiles.. yet again!
@tight schooner nope.. nothing
I got a weapon which shoots a projectiles, it hits enemies and, for some reason, a player! If I look down and shoot projectile, my player character takes damage
@cinder shell sorry, I'm stumped
@novel ice You could make it ignore the player actor
That's a collision preset of my character
And this is a projectile's collision preset
How the damage is being applied
Pleaaase help
...ouch
I had collision enabled in Static Mesh
But I still have a trouble with damage
If I apply damage by line tracing and look down, player also gets damage
How damage is being applied
Do actors to ignore at the left
And try adding the player to that
So then the player will never be hit by the linetrace and can't have the damage in the first place
OH
I didn't notice that
It works PERFECT now, thank you!
I really should look at all parameters xD
So is it a bad idea to change the class of a child actor component on the fly if I also want to be able to access the functions of whatever class is currently assigned to it?
does anyone have a blue print script or know how to make one for a topdown shooter
i got the projectile spawning in front of my player but i look away it still shoots in the same direction
Create a scene component and place it where the barrel of your gun would be, and use the location and rotation of that to spawn your projectile, and of course make sure it's not just set to fly off in a fixed direction, but the forward axis of the scene component.

