#blueprint
402296 messages · Page 622 of 403
get forward vector
or get up vector
or get right vector
whichever once suits
hm.. getting forward vector return value in meters?
*float or *int
Unreal units are in centimeters, so just multiply by 0.01 to get it in meters.
Nice! Thank you, friend
i Have my weapon (sword) blueprint. i attached it to component in my player blueprint
on sword i have box collision
how can i make it to ignore player that have this sword?
Hello i am having an annoying issue where i press to move forward yet add movement input keeps going even tough i let go of the key
did you solve this yet?
ok so i added a print string and apperently add movement input is always running ?
meaning nothing is stopping it so how do i make it so it will end?
@drifting rapids not sure; try setting a breakpoint on a node and stepping through the execution. Be aware that dividing integers will truncate the result (no decimal). Your "× 100" makes me suspect your all-integer math lacks the precision you're expecting and you should probably do the division with floating points (convert int to float, divide, multiply by 100 and then Round the result if you want to convert back into int)
yeah it is at 0.0
ok so if it's at zero it means no further input are applied which is good
fixed it
notice your pig only starts moving forward after an initial input so I'm guessing it's its inertia which makes it moving
my breaking friction was at 0.0
so nothing was there to stop it
once i started moving oof
(: oof kind of dumb that i spent so much time looking on google when the answer was right in front of me
lel
Hey guys, just need a slight jump start on how to efficiently create loot to float to the player when near proximity. anyone got suggestions?
Looking for something where if its further, the drag is slow but gets faster the closer it gets to the player
Maybe an overlap box check around the loot and acceleration towards the player proportional to the distance from the player @daring depot
Need some help on a project I'm working on.
I'm making train tracks (spline mesh) wtih track switching. From my train actor I'm doing a sphere trace for the track actor objects. What I would like to do is get the angle between by current movement direction (I get this using the "get location at distance along spline" node at current distance and current distance + (arbitrary value)) and the hit spline (the hit result). From here on I can't seem to find a proper way to implement this. Any help is appreciated
For small splines i can just get the hit result actor spline direction and work with it (dot prod with my movement dir), but when the splines are too large/curved this can't work.
I'm pretty good with that stuff I'm sure I can help you, I just need to understand what problem are you trying to solve
Hey
I have code like this
But I want to set z value different
How can I do that ?
basically you want to be able to jump between spline when they cross each other if the angle allows it?
Exactly
Unhook your vector, right click on the pin, split it
@plain flare right click on a vector input or output pin and "split", or use Break Vector / Make Vector nodes
hmmm ok, thx.
I haven't. What if the spline is reversed? Or i'm travelling in the opposite direction. could this still work
What to you mean by reversed?
you could check this to see which direction of the spline is best suited to your path
OK im travelling on A, but in the reverse direction. Could C still be a prospect for track change this way
If you were on B this would be ok but if you are on A(going up)this wouldnt be right
Well when you found a second spline that might be a potential new path, you check the direction in both direction near the intersection with you own spline and this if the a small enough angle to consider switch
@dull tree Not sure if you solved this, but your sword's owner variable should probably be set to the pawn weilding it. Then you can just use the owner variable to check if the hit/overlapped actor was the owner or not.
I get what you're saying but whats good for changing towards the left is bad if its the end of a changed track on the right. But they will both give the same angle.
But maybe I would additional two traces to check if its on the left side or right. Could work
hi, when I add a value to the blueprint structure and remove all widgets and then create widgets again, the default value is set even though I added when creating the widget to have the current value. please help
you can compute an additional with right vector of the spline to see where it's heading
you need to of already created and applied the widget before you can change the values.
thank, i was thinking about it
course it may depend on your case usage for the widget... if its not just a screen widget. (i.e.widget containers in a inventory)
cause... if your adding widgets inside widgets, and those widgets have construction events, they could very well be applying the default value to the display before you are changing the value, so your always seeing the default value rather then the current value.
but the values are not stored in widgets, but in structure
mine are in structures as well...
what do I have to do so that after returning to the widget on which the value is displayed, the previously set, not the default one?
How do I get a ball to stick onto a surface of an object but can still roll along it?
let's say for example the object is a rectangle mesh with a simple UCX collision that has the same dimensions as the rectangle mesh itself.
the face of the rectangle that is facing towards the camera will be the surface the ball sticks itself on.
the rest will be ignored
as a example (i.e. inventory slots), this is what i do, Set Item is a interface call that tells the widget to set the values for display:
The ball never flies off no matter how steep or slant that surface is
btw the ball uses physics
yes you could say that
btw I should tell you it's a pinball like game
I was thinking the last resort is to add an invisible collision ceiling
of course gravity is not based on just spheres
if its a pinball type game, a invisible collision may be your simplest solution.
Splines can be facing in the reverse too. If i fixed the directions this would be cakewalk
With two traces on both sides I'm left with two dot products(negated and actual).
If the camera direction is your basis for gravity, then you can disable gravity and add a component to anything that needs your custom gravity, then in the component, on tick, you "Add Force" in the direction your camera is facing by using the camera's forward vector. Planetary gravity plugins do exactly this, by disabling gravity and using their own custom force in the direction of the center of the planet.
Any object that needs normal gravity can leave it enabled and not include the new component.
Which is better for performance? Even for a little bit?
A. Having a variable node and rerouting it to every input it is needed
B. Having several nodes of the same variable at every input
I can make a clean blueprint with either of these, but would like to know which is better. Is the result the same once it's packaged? I guess reroute nodes don't play any role then right?
@trim matrix I think when the BP gets compiled a lot of that "styling" makes no difference
if it's ultimately getting the data from the same source in the same fashion
Thanks seanny for the help again!
Then what is the reason people say Blueprint coded games are not as optimized as coded?
If you're connecting pure functions to many nodes vs connecting the data output of an impure (executed) function to many nodes, there is a functional (and potential performance) difference there... But otherwise getters and non-C++-function stuff doesn't impact BP performance much at all
The main source of performance drain with BP acc'd to Epic engineers (from what I've gleaned in talks without being a C++ programmer myself) is executing C++ functions in BP — the transition from high level code (BP) to low level code incurs some sort of overhead.
Oooh I see!
I don't have an exact sense of it though. If you're really curious, you can make your own benchmark test BPs that do something 10,000 times on tick or w/e and see what game thread times you get
Thanks for everything, you're the best!
I need the equivalent of:
class AttributeModifier {
public float value;
public float roundsLeft;
}
class PlayerAttribute {
public string id;
public float value;
public float min;
public Array<AttributeModifier> modifiers;
}
But I don't understand how to get this structure when using blueprint variables. I tried using a Map for the PlayerAttribute but that doesn't work since I don't have the same type for all properties.. Can someone give me some pointers here? 🙂
hrm.. wierd... i use the same structure for all the attribute modifiers for player stats, guess that simplifies things. pluses / minuses calculated when the player equips / unequips a item, that way i don't have to worry about having different structural makeup for each attribute. course it may depend on what you mean by attributes, I think of that as things like, health, stamina, weight, melee. others think of it like things like traits.
I found what I was looking for, structs (and enums) 🙂 I will have simple attributes as well, but the example I mention requires a bit more than a simple value since they can be modified at different points so I need a little bit more info on each attribute.
so this is like your pre-calculation routine then
I used a simple struct for that that holds all the basic values that can be modified, then a simple enum passed to tell it what type of attribute it needs to calculate the values for 🙂
course mines solid bp, no cpp, you probably have better control with cpp
What do you mean by "can face the opposite direction"? I don't see how it's relevant
Both of these will be equivalent if I use the spline direction or its right vector.
But only the right one makes sense for changing
I'll make an example for you
Is your train supposed to turn only when there is a branch right?
yeah
Is there an easy way to filter out struct properties without having to split the struct and then using the property you want?
how so? What do you mean by filter out
I want to get the id property here without having to split the struct in order to get hold of it, because I have quite a lot of these and splitting all of them will get messy..
use a break node
(This is before the split)
then once selected you can removed in the detail panel the one you want to hide
or click Hide Unconnected PIns
I looked at using a break thingy but I don't know which one it is, what's the full name of it?
Break + name of your struct
just drag and drop from your pin it will highlight the right one if you have Context Sensitive enabled
like this? (I'm only missing the fact that it never turn left)
Thanks. I don't think this will solve the issue though.. Basically my scenario is:
- Take an Enum value as input
- Return the correct struct that has the id property that matches the Enum value
Any ideas how to do this without making a real mess?
Maybe some sort of switch or something?
Not an array. I have a struct with nested structs like this
Do you have to check against the whole struct that you're returning or do you know that "this" enum value will always be "this" struct
Not sure what you mean exactly but take the image above as example. If the input is MyEnum.OneHanded it would return the "Player Stats One Handed" struct.
the input enum?
yes
Then what? 😅
connect the player stats to it
Hi guys! Is this the appropiate channel to ask a question related to blueprints ? It's relatively a silly one but I can't figure it out
@undone salmon yes
Hey, I feel really stupid asking this but it's been months since I last used unreal, I need the player to press a button on the keyboard and have it toggle a light actor and have no idea where to start
I'd have to split each struct though don't I?
The Input object is responsible for converting input from the player into data in a form Actors can understand and make use of.
just plug PlayerStatsOneHandled into the OneHanded pin at the top
So, I have a build system and when I spawn an object, I want to be able to delete it too, but it destroys only the last actor placed in the world
Create an array for SpawnedObjects
How does it know that it needs to compare to id in each struct? 🧐
An overview of Blueprint Arrays, including creation, editing, and use.
I don't understand your question. You may have to explain what you're trying to do at a higher level
Are you trying to destroy the item under the mouse?
ohh I'm so dumb xD, thank u I'll look into it
if that's what you want I can send you the project
I have tracer and it destroys the object the trace is hitting
If I connect "Player Stats One Handed" to "OneHanded" in the select, I'm comparing an Enum index to the struct, and not the Enum to struct.id, so the select will never be able to return the correct struct... or am I misunderstanding how select works?
you're misunderstanding
if StatID is OneHanded, it'll output the thing plugged into OneHanded
Hello sorry to interrupt, so I have multiple skeletal meshes and was trying to make it so that all of them can follow the animations of one skeletal mesh. I did this but it ended up acted weird and only showing one or a few skeletons when playing. Anyone know why? The white nodes are joined and it does the other picture
Ohhhh
It ends up looking like this without the wheel looking things
Now I get it. Thanks! 🙂
Do they all use the same skeleton? Also, try calling this on begin play
Begin play does the same thing, and no, each of them has a different skeleton
Looks good. Just the code will suffice
Well that's why
They need to have the same skeleton to be driven off the same animation
oh ok, is there a way to merge skeletons or anything?
I'm not sure. I would ask in #animation
ok thanks
Is there a reason your car is a skeletal mesh?
RIght, I wasn't sure what parts of the car would be animating
Oh, I just need to animate it tilting when turning (it is a hover car), and offsetting the center of mess wasnt so pretty
Hey everyone. I've got a problem with a reloading. For some reason the MaxAmmo Variable is acting strange like updating with a random numbers during the shooting (pic rel). The second thing is that if I'm reloading with ammo status 0/30 (0 ammo in the clip and 30 left) after reload it's changing to 0/0 without option to shoot
BaseCharacter: https://blueprintue.com/blueprint/gwztzxwz/
UpdateAmmo: https://blueprintue.com/blueprint/6m_5wk0e/
just copy paste this in a blueprint
Hello I have a gamestate were I want to store variables but when I change (from GameStateBase) my game doesn't work at all, I think event begin play isn't called, can you help me please ?
Hello, I have a function that runs to open a door. Im trying to use a lerp to open it but found that timelines cant be places inside of functions. What an alternative?
Yes because when a function runs, ALL other game execution gets halted until the function is completed. So there cannot be any delays or nodes that take time inside of functions.
Where can I find Get Floating Pawn Movement in the blueprints (UE 4.26)?
You can have that function call a custom event. And have the timeline start on that custom event
I got it. Thanks. I dont know why I though a function could do that 🤦♂️
so i ahve some of my ai getting stuck on one another so for a fix i have a overlap collision box in front of my enemy to check if there is another ai in front of it. If there is it stops moving until its out of the way. This works great however it sees it self as an actor in the way so I fixed this by checking if the other actor is self to ignore using BP. Is there an easier way to do this like a setting on the collision box to ignore its parent actor so that i dont have to call this function constantly?
I still can't figure out the inputs, any similar examples I can draw from for keyboard inputs toggling light actors?
How have you programmed your lighting to work? Does it have its own BP?
i have a world location vector, how would i add an offset to that vector in the direction that it is facing/rotated?
hi , i have some questions regarding getting system time from player's gps location
@crystal tide you need a normalized vector representing which way it's facing. A world space vector on its own faces away from the world origin (0,0,0) but I'm guessing you want a direction other than that...? (If it's based on an actor, you can GetActorForwardVevtor to get this normalized vector.)
Once you have your normalized vector representing the direction you want the offset go, multiply the normalized vector by the desired offset distance and then add that to your world space vector.
@tight schooner sounds great, i'll give that a try now
If whatever vector you're working with isn't normalized (i.e. isn't length of 1), then you can use a Normalize Vector node. But for Get Forward Vector and other such "normals", they come already normalized
jfyi
any guide on how to setup a system like in puzzle games , that have like 5 lifes , each level they play one life reduces ,their lifes regenerate with device time -not the game instance time
@tight schooner that worked a treat, thanks a lot - i used the forward vector of the actor that supplied my original start world location vector
also really useful to know that a world space vector faces away from the world origin.. i wouldn't have assumed that
@tame mist I can't advise which node to use, but UE4 has a whole lot of nodes related to time; some of which get the system time. In lieu of a better answer, just check out what UE4 has available
Yep, lots of date time nodes to play with.
any way to get like internet time , cuz system time can be changed anytime a person wants so , just need some specific suggestions
I wouldn't recommend using system times though, since it can be abused (just change local time to skip cooldowns).
yes
You might be better off making a simple API on a web server to just return its server time.
Wouldn't even call it an API, can just be a php script like "echo date("Y-m-d H:i:s");"
can i get the time from like web pages like google?
If you don't care for player cheating the time system, then use the built-in date time nodes.
Probably
Check out this site: http://worldtimeapi.org/
World Time API: Simple JSON/plain-text API to obtain the current
time in, and related data about, a timezone.
alright i'll brb
anyways , i have no ideas about implementing APIs now , i am a beginner
I'd choose only one timezone to use for everyone though. If you went off IP, there would be inconsistent times for someone that travels.
Or uses VPN
yes i also thought about that
@proud hull any suggestions where to start off in ue4 to get this working
As for implementing that, you make a call to that address and read the results.
in c++ , or there is node for doing it?
There is a free plugin to allows this
Can't think of the name of it right now, heh.
Found it
Then, something like this: "http://worldtimeapi.org/api/timezone/Etc/GMT"
And you get a JSON printout that you can parse to JSON in unreal engine and pull out the info provided.
can I add a collision box to a specific bone socket
Of course you can.
Click that magnifying glass by parent socket when you have the collision box selected. It must be a child of the skeletal mesh.
Ty!
you mean like the paragon characters?
ALSv4 has a good example you can dissect.
You would compare players forward vector on XY plane to camera forward vector on XY plane and decide to turn based on the results.
"by the time you learn how something is done in ALS4, you can build it yourself"
take a look at one of the paragon characters as well for the animation bp, they are alot simpler to follow for the turning.
Start by unchecking use controller rotation yaw.
So the character doesn't turn with camera rotation.
Then you can compare the two vectors like I mentioned.
heh hense my statement on it 😉 yeah als4 isn't for beginners for sure for learning
You can have multiple thresholds depending on animations you got.
Like 45, 90, and 180 degree turns.
To find left vs right, you then need to compare right vector.
yep they are all free downloads from the epic free list in the marketplace
i think their animation bp's are easier to follow then als4
very basic blueprints
you get the basic bp, animations, model & materials/textures.
and a simple 'test' level.
I made an example for you using the world api website and VaRest:
how can I set widget component's widget class using bps?
Basically you need to manually create the widget from its class, then add the newly created widget to the widget component. If the widget component has a default class set, it does the creation of the widget automatically.
i'll try that thank you
Hey, is there an alternative for the GetMaterialAttribute Node? That one doesn't exist in the engine version I am using (4.5).
Hey, I'm doing a Line Trace then checking Out Hit Actor for a Component I created (Get component by class). If trace fails (no actor found) then the check gives of errors: "Accessed None trying to read property". I'm doing the "Is valid checks along the way, does not help. Any advice?
didnt work, the values are correct but the code isnt firing, i dont know why, the code fires once at beginplay but doesnt fire after that
Use a select node with an int wildcard
Divide hp by whatever you want the cutoffs to be and round, that's your int
So if cutoffs are 1/4 of hp, divide hp by maxhp/4 then round, and plug that int into the select
So if you have 50 hp and maxhp is 100, your int is 2, which you might map to yellow
0 red, 1 orange, 2 yellow, 3 light green, 4 dark green
With 100 maxhp, you'd get orange from 13 to 37 or so
The default weapon in my current project isn't performing its animation. Here's how the variable is connected to the point of which it is supposed to occur:
How do I fix this?
can you explain this for me? I'm not sure how to do this
Drag off the color input and search select
Select takes a selection input and has a bunch of things to select. Your wildcard would be an int (the result of the rounding)
You guys really gotta not be afraid of google.
https://docs.unrealengine.com/en-US/BlueprintAPI/Utilities/Select/index.html
Select
nvm, just used the wrong animation lol
@golden junco This should keep you from getting validity issues with checking for a component on an actor and doing something with it.
thanks, will give it a go
Is there a way to add a string property to a camera or pawn
the color selection was not the problem, the problem was the code only firing once
//push
I'm still paying 20 bucks a month for unreal, get on my level
hmm
sadly cant upgrade :/
Would it be possible to, instead of using GetMaterialAttribute, doing something like BreakMA, saving the output, and then doing MakeMA?
But the issue is that Get and Break/Make don't have the same input rules (it tells me float is not compatible)
good night, guys! can someone please tell me how can I get axis mapping names from UI blueprint? I can get Action Mappings without a problem, but what about axes?
@cinder shell Are you talking about in Widgets? You can't bind actions or axis in Widgets.
heya ) no.. I mean can I somehow can those values in widget blueprint? I'm creating key binding widget just to how button layout
@sonic briar Material shader editor is #graphics territory. You might ask there for a better answer.
kk
Hey guys I am trying to create a pinball game.
So far I have two bumpers set up with collision overlap enabled.
the problem is that the overlap collision system isn't consistent
They should be set to block, not overlap.
Why would you need to overlap, is there ever a reason that the ball would be inside of the bumper?
to repell the ball away
In pinball the only thing I can think of that would use an overlap would be the holes that the ball falls into
Please Like And Subscribe my Channel for more Courses.
-
What you'll learn
By the time you complete the course, you will have a holistic understanding of the utility of the engine. You will start your project with confidence and a strong awareness of how Unreal Engine 4 can work for you to build an -
Requirements
*A desire to build intera...
this person uses an overlap to apply an impulse force onto the ball that enters it
Well that was a bad idea if it was meant to be a rigid collision and bounce.
First of all, make sure your ball collision is a primitive sphere and not the mesh itself, and second of all make sure you have CCD turned on
When you say bumper do you mean the things that you control with the buttons or the things that bounce the ball out when it hits them?
the latter
Overlap might work for those. Make sure you have CCD turned on, otherwise the ball will be able to tunnel past the collision sphere and will only trigger an overlap if it is actually inside the area when the frame ends
You need to enable CCD on whatever component of the actual ball is simulating physics. Either the mesh or the sphere if it has simple collision
okay I did that but it's still going through the bumpers
Hi! one quick question.
I'm trying to work the stat system for my game and i'm making a new ActorComponent "Stats" and i'm trying to attach to it, an array of actor components of type "Stat"
The "Stat" component structure is something like:
Name
BaseValue
MaxValue
etc
i'm having troubles to initializing the array "Stat" and adding the new component instances to it so i can edit the names and values :/
i'm doing something wrong with the nesting? should i try to make new instances of stat and throw them into an array and then replace with that the array of "Stats"?
Hey everyone! Anyone know how I can get the Location of the last blocking trace of a Multi Sphere Trace along the Z axis. Im trying to find the Ledge of a wall
your wall is a simple shape, box like?
yes
you can hit it with horizontal trace
add -hitnormal to the impact point
then do vertical tracefrom ImpactPoint - ImpactNormal + ArbitraryVerticalVector to ImpactPoint - ImpactNormal
basically this time hitting the very top of the wall
then you take impact normal and impact location of your vertical trace to construct a plane
and do an intersection of that plane with vector starting from horizontal impact point, upwards
I tried find the last hit in the array but its inaccurate
that intersection will be the very edge of your wall on the side towards where you started horizontal trace from
ok so Im finding a wall with a horizontal trace before this, then using that location and going up vertically here
find the wall with horizontal trace, offset impact point in direction of negative impact normal to get a point inside the wall
then do a trace towards it from above
vertical impact point and normal construct a Plane
Horizontal impact Point and Horizontal Impact Point + ArbitraryUpVector create a line
then LinePlaneIntersection of those 2 is your point
ok I will try that. I was tracing through the wall upward and looking for the last blocking hit
hello! im having problems updating my score when an my Pawn overlaps the score actor, does anyone have an idea how this is set up? my debug print string is showing me that the add score is working but not updating the widget score i set up :/
are you binding the widget value to the variable you are using to update the print?
yes i am 😮 i will screen shot my functions to the widget score
heres the widget function
ignore the none-connected ones, i was doing a bit experiment and learning
what about this on the widget?
How would I make morphing low poly clouds in BP?
that's how much i can help, i'm new to unreal, sorry jaja
@runic parrot its ok 😄 sometimes the smallest things like that can have u scratching your head for hours or even days @_@
what happens if you give that widget a default random value? just to see if the widget is displaying the value correctly.
Also, have you tried updated the widget value and then try to print that same value on screen to see if it's being updated correctly?
just to confirm if the problem is on the update or in the display
in the Game Mode Base or in the Widget function?
on the widget, go to the graph and and on begin try to update the value of that variable that you are displaying to "666" and check if you get that value on screen. if not, the problem is not on the update of the value, but rather on the widget not displaying it
odd thing, if the playerstart spawns something , that object can update the widget score, but not the actors spawning the pawns that have blue prints to update the score. does that explanation help a bit more 😮 . it got me to understand that maybe its the widget function not updating or i need to add an update somewhere
why dont you try instead of update the score, call a function on the widget "updating widget score" and just print "updating widget" and check if you are reaching to the widget, maybe you are lacking a reference on those actors
This one was actually from a Udemy course
Anyone knows how to create a new instance of a bp component inside the blueprint editor? (not with the left panel, but with instructions on the graph)
@runic parrot im not sure how to do all that tbh, im still alittle new to the whole blue print, more of making things look nice and pretty model wise @_@
issue. Im trying to get the static mesh to spawn under my character. the BP code looks right but it didnt work
basically i want it to spawn as my character walks around
@runic parrot there's definitely an Add Component node if that's what you're talking about
yeah, i'm trying that node, but can't use it inside another component, i get this error "This Blueprint (self) is not an Actor, therefore "Target" must have a connection."
i think i got it, i can use the add Component Node, select the class for the component that i want and use "Get Owner" to get the target. Then add that new Component to the component array i have.
I'm trying to make a widget that floats in a level and is fully interactable for the player just like if I would use create widget - add to viewport and both versions the floating one and the one that fills the players screen would work simultaneously and so far my solution was to put a widget component in a level, tick "receive hardwarde input" and if player holds E then camera swaps it's place to be in front of that floating widget and player movement stops but it causes a lot of problems. What would be the proper way to do it so I can actually create widget and add it to viewport but the floating level version would also change simultaneously? Video what it's like now and what I would like to achieve but with a proper method: https://streamable.com/mmt8f1
So, why not just let the player interact with it in the world?
Can you make it use the same widget instance for both? (I'm not sure, I forget how world widgets are hooked up)
Alternatively, your other choices would be to a) synch the variables between the two instances or b) if it only updates when you close it, render the widget to a render target and use that as the texture
Render target is more costly (and needs custom C++ code), but does have the advantage that you can use it on weirdly-shaped objects
What do you mean by "why not just let player interact with it in the world?" you mean why I don't leave it like it is now? Because that's kinda what's happening now. The problem is that this way it blurs the widget graphics heavily and it's not possible to create tooltips, they just don't show up if I do it in this way. I will try these two alternative methods that you talked about.
I meant like in Doom 3
You'd need to do some maths to convert from 2D space to 3D space (I'm fairly sure UE4 has functions for that built in)
Another thing you can try is to just get the user widget in your widget component and add that to the viewport.
Or, wait for someone who knows more about widget components. 🙂
Thank you for the ideas, I couldn't really think of anything more than what I did
hey guys sorry for just budging in and asking a probably stupid question 😄
But I was wondering if someone could give me tips on how to get this combo attack to work on my third person character.
https://blueprintue.com/blueprint/vip9f2gy/
Thats what I got going for me right now. I dont use jumping or anything in my project.
I experimented with alot of things but ultimately failed every time :/
i have an issue possessing a character that inherits from thirdperson character, it just freezes. my controller ticks, but the character won't tick, can anyone give me a few pointers?
It'd be a good idea to have my player character's inventory as it's own actor component, right? Would this make it easier to have a different inventory system between a cooperative mode and a competitive mode?
i'm trying to call from a widget blueprint to a blueprint actor to change the static mesh of the actor and i cannot for the life of me get anything to fire on the actor. I can get the actor to do whatever i want using overlap, but it's not happening from the widget. Can anyone help me with this please?
i have a feeling its because i'm not specifically interacting with that actor in game, but i'm not sure, google is turning up nothing. (i'm trying to create my own weapon customization widget while in a main menu, using a rendertexture2d on a level, showing the weapon actor.)
very simple line of code just trying to troubleshoot right now, this should change the mesh. I can get the mesh to change if I instead use an overlap event off the actor directly while in game. My goal is to change this mesh via a widget button while in the main menu. So far I can't even get a keyboard event from my character to fire the event for the actor though. Help please
"Blueprint Runtime Error: "Accessed None trying to read property NewVar_0". Blueprint: WBP_TestBP Function: Execute Ubergraph WBP Test BP Graph: EventGraph Node: Change Mesh"
is it because nothing on the actor is "running" without receiving input from something in game? like it can't call any events because its not active or something
sorry, could anyone quickly tell me what this node is called?
It looks like you have two events. "Set Magazine Normal", and "Set Magazine Mesh Normal". The event being called from the widget class does not match the same name of the event provided in your second screenshot. I would also advise using break points to further check what is and isn't being called.
Equals?
oh yes thanks. I don't get it why it is just one -- and not = as usual. Equal enum is the right one.
sorry, those screenshots were bad. one was from when i tried to do it through a interface. but yes even if i make sure they're the same event, no go.
i can get the event to fire only when i'm interacting with it in the level
I would highly recommend using break points. Here's a good video.
Many of you have requested a way to leave me a tip so I've created a PayPal and a Patreon.
PayPal: https://paypal.me/reidschannel?locale.x=en_US Patreon: https://www.patreon.com/reidschannel
Discord: https://discord.gg/PdvudWx
Hey! I've had many people ask me for help with my tutorials and it has come to my attention that many people don't know ...
thank you, cool debugging tool. i did already figure this was where it was breaking from print strings though. i just don't get why i can't call from the widget to the actor
How would I change a integer variable that would change for everyone?
@torpid iron Presuming you mean for multiplayer?
Ya
Really depends on what it's used for and how you need to set it. In short, you need that integer variable to be replicated, a part of a replicated actor, or part of a replicated actor component in a replicated actor. Then the integer variable needs to be set on the server.
If you want a client to change it, you need to Server RPC from the client through a client owned actor, then set that variable somehow. If the server is doing the logic, it doesn't require anything more than to just get the object and change the variable. Changing it to a new value will flag it for replication and the next tick the server will evaluate it and send it to relevant clients to update their versions of that integer.
does anyone know how I could call an event from one acter and change the static mesh of another actor? or communicate to the other actors blueprint at all without "enable input"?
help please..
Ok i will try that, also i am setting it through a ui
i've tried routing the events through player character, play controller, level blueprint etc
i'm trying to call an event from a widget blueprint to a blueprint actor, all i get in the log is "accessed none"
@severe sparrow What is the use case? To get references in other actors, you just need to decide how you want the reference. Line traces, Overlaps, area search, registering the reference somewhere easy to get like GameMode and letting other objects get it from there, etc.
i don't want to reference anywhere except with a variable reference in the widget.
goal: press button in widget
buttons task: call event in actor blueprint
Event: change actor static mesh
i want to interact with the actor while not being in the game, from the main menu
i want to change meshes by pushing a button.
i don't want to be in the level with the actor line tracing or overlapping, i want to change it via the call of the widget
is this something that just cannot be done?
Right, but your Widget still needs to be told what instance it's going to affect. How are you creating and adding the widget to screen?
i'm creating it from another widget, for bug testing i've been in the level creating it from my character
What is the object that you're trying to change the mesh of? Is it easily accessible?
its a blueprint actor's mesh, the meshes are all in the folders?
Wait, are you trying to change the default mesh of a class, or just change a single instance's mesh?
one instance's mesh
Then you have two choices. You can either get that Instance somewhere before creating the widget and then pass it into the created widget for that widget to use. Or you can put that variable somewhere easy to reach, and let the Widget get it for use.
i've tried setting a variable in the actor bp, then selecting it from the widget, but i can't call on the actor to update the mesh in anyway
i have no clue how instances work, how would i set up the instance? i'm looking it up now..
theoretically i could make a function in the game instance and fire it to the actor right?
i found a nice guide i'm going to experiment a bit with it, thank you, will be back if i can't work it out again, been at this all day 
GameInstance has nothing to do with instances. Instance is a general programming term. Consider the phrase "To Instantiate an Instance from a Class". A class is a blueprint, it's the coding, the layout, etc. An instance is a copy of that that is "Instantiated" or created.
okay i think i understand what you're saying, but even if i am in the level with the actor in front of me, and i open the widget there, call the action, nothing happens or i get "accessed none" depending on how exactly i route the code
shouldn't the 2 be in the same instance at that point?
did you ever set the variable to an instance? object variables aren't anything by default
None means that there is no object that the variable is referencing
Your explanation doesn't help, he doesn't understand what an instance is quite yet.
how do i set the variable to an instance?
hi, is it possible to cast to both objects and if yes how can i do that? Because i want to cast to my player and also object as well
"instance editable"?
@severe sparrow Consider this. Humans are a class. We're very much alike, we all have bodies, names, etc. Right? But in code, we're just a class named "Human". But each individual human is an instance. I'm an instance, you're another separate instance.
i understand the basic reference of what an instance is. i don't understand how i'm supposed to reach the instance of the actor that i want to
Well, if you move your player character to stand in front of it and look at it, you can reference it via line trace. Or by getting all instances of a certain type of class in a radius.
Or by clicking on it, running into it, etc.
How do you want your user to select that specific object for the widget to change it's mesh?
i think.. i'm getting it. i would have to have the character in the level interacting with the actor in the background to the widget, activate the scene capture and then the widget would affect the actor?
It depends on your use case. That's why I was asking how you want the user to affect it. I'm getting the impression this is for some sort of security camera style effect?
i have a scene camera 2d capturing the weapon in a level, it's being drawn in a texture render2d, that texture is made into a material, the material is drawn as an image in the widget. i want to have a selection of attachments for the weapon available, and when the attachment is selected it updates on the weapon and the user can see it through the camera capture
i have everything set up already and functioning, minus the ability to actually change the meshes i want to change
If there's only one of the weapon in the area, I would probably just do a simple SphereOverlapActors if the weapon has and form of collision on it by default. Since you're using a set location for it, it can just be hard coded for the moment. There are more elegant solutions, but it would solve your immediate problem.
If I have an array of structs, can I use "CONTAINS" to check if the element already exists? Or do I have to check against a property in the struct?
@maiden wadi when overlapping i can have my character perform an interact and change the mesh, how ever, even while overlapping and opening the widget, the button will still not call to the actor. i even tried having it call a custom event to my character and it wont even do that
it just seems like i can't get the widget to call any event anywhere
oh wow i just realized i was doing something pitifully stupid. working on it atm...
yep i got it, i was referencing variables that meant nothing, i had to reference what i was actually overlapping
i feel really stupid. but thank you @maiden wadi for steering me in the right direction i really appreciate it
@severe sparrow Yeah, like Grimicus pointed out, the variables are empty by default until populated with a specific instance of the type. Do you know how the blue pointer type variables generally work?
Do you just want to do a sphere around the actor or did you want to actual fire a sphere trace into the scene? If it is the former you can set end to what you used for start, if it is the latter, you need to construct the end point using something like the camera view direction
you should just write a function that compares two struct's properties and use that, it will save you a lot of pain. structs in blueprints are mostly copied around everywhere instead of referenced, so you should treat them as immutable unless you know what you're doing
so you want to cast across the blade? the easiest way would be put a socket on the tip of the sword and use getsockettransform with RTS_Actor to get the offset from the pivot and then set the end point to that plus the root (which I'm guessing is that r_hand socket on your char?)
though actually you will need to multiple the offset by the rotation of the hand, to get it to point the direction the sword is pointing, sorry forgot that part 😄
yeah that could work, just get the appropriate vector off the socket rotation that is the direction your sword points and multiple it by the length and add it to start, good idea @maiden wadi
the 100x, should be whatever the sword length is from the root
Yeah I've done that. But I'm kinda stuck on how to actually do the comparison. Should I use a forloopwithbreak and break if it finds it?
open up your sword model and see which axis your sword points along, use that vector function (GetRotationXVector is for the X vector direction, Y for Y, Z for Z)
I had to go check the skeleton. If I'm looking at this correctly, then you'd want the UpVector for hand_r
Yeah write a simplef unction that just compares two structs and then in your add function, loop through the list and call that function against the one you're trying to add and the loop element, if they are the same you can break and do something else or just return
I'm using a cast to my gamestate on an Event Hit. Is it a bad idea to do this?
Event Hits fire off a LOT
I tried building in some gating with Do Once but couldn't get decent logic working
@trim matrix Try this one instead.
don't guess, just look at the model and make a decision based on that 😄
This isn't enough info to know what you're trying to do, at a guess, if the gamestate is always the same, just make a variable and stick the cast into it in the class you're using and just use that directly instead of casting every hit.
how does one debug something with breakpoints if it gets created dynamic?
I tried doing that on my Event Begin Play but it was returning None
i have an issue shortly after object initialization, and im not quick enough to set a breakpoint on the specific instance
Does this look correct? 🙂
idk if you need the world context on your function but otherwise looks good
That was added by default
and i think it might help to add a simple bool to the output for success
which you can check with a branch outside of that instead of comparing first
How do you get rid of that?
usually I delete everything out of the scene using that type of object, and then if you set the debugger to not have any selection, you put in the breakpoint it will h it the first object to go thru that code. Yeah the branching approach can work too and just print debug it
the branch thing was for christoffer 😄
did you write it in C++? if it is just blueprints you can delete the world context parameter off the function if it isn't used
Blueprint only. It's not a parameter that I've created myself so I can't seem to delete it
Hello what should I use if I want an "actor" that can be used in any actor please ?
an actor obviously
world context object is implicit in actor blueprints, so if you wrote your comparison function on a different actor than the one you're calling it in, it's probably mad, maybe move it to a blueprint library or keep it in the same class as the one you're doing the find modifier call
All my functions are in the same library though
A child actor works perfectly, thanks
Also, I have a gamestate were I want to store variables but when I change (from GameStateBase) my game doesn't work at all, I think event begin play isn't called on my level blueprint, can you help me please ?
if you are overriding events in your gamestate subclass, make sure you call the parent, some functions need to run the parent's version of the function as well to make everything start up successfully. if you right click on the event node you can select 'add call to parent function' and then hook that up before your logic and see if that helps
This is the machete in my game, you can see the little coordinate display in the bottom left, you can see up the blade is up the z axis, so then you can use 'getupvector' (z is up) to get that direction from the rotation
I just had to create a "gamestate base" blueprint instead of a "gamestate", thanks
if it is along the x access you need to use get forward vector or getrotationxvector (x is forward) and Y you would use GetRightVector (Y is Right)
Is it possible to have a wildcard as a function return value? I want to wrap getting datatable row in a function with printing an error (or ideally throwing an error) when a row is not found in a specified datatable by a specified name but I have multiple datatables
in blueprints you can just return two values, so just add a bool
I tried, but I'm still getting an error
ok nvm. I made it a macros, seems to be working
Why would casting to my GameState from Event BeginPlay on my default character pawn class return None?
What's the best way to test your library functions? I'd like to be able to call a function easily and then log a serialized struct or something 🤔
get the rotation for the socket not the model
that's because you gotta rotate your hardcoded vector too
though that shouldn't be necessary if you make the value you multiply the vector by the correct length
unless your sword is some weird shape I suppose
Hey, quick question: is it possible to access Toolbar functions via blueprint?
I.e. I wonna create an animation pose via blueprint. But I just know how to access that manually
sockets have a position and an orientation in 3d space, you added a fixed value to it which would only make sense if there was no rotation, but as soon as you add a rotation, that vector no longer has a meaning in the new orientation, so you have to adjust it by the rotation or else it offsets it incorrectly
you could try drawing the socket's transform so you understand it's orientation in context to the character so it is easier to see how it all operates
@maiden wadi thank you! gotta lot of setup and polish to do now. lol
Hi guys!
Has anyone any idea of how can I check if the "ghost" of the object is overlaping my player?
I want that if the player overlaps the "ghost" of the object to not be able to place it.
I tried to overlap with every possible component of my player but I can't figure it out.
The object I'm placing has 4 box collisions for snapping them side by side.
How do I access a property on my game instance in a blueprint? I basically have a struct as a variable in my game instance but I can't figure out how to return that variable from my function lol
Thanks for this, but still not working, I've created a temporary custom event
Blueprints
BaseCharacter: https://blueprintue.com/blueprint/vl9kd7fw/
f_Reload: https://blueprintue.com/blueprint/s6-qlfhh/
this is not working. the static mesh wont spawn as my character moves
now it works. i forgot to activate the player controller in settings. LOL
Does it matter not having a return node inside a function , if i dont have outputs ?
For example my function ends with bolean and both true and false should be connected if return node existed , but without it would unreal do the job ?
Sorry what do u mean by that will return , yes it has node after it
I have created a blueprint for a save system that I plan on using in multiple locations on a map. Functionality works but the flame on each save point should be shown when the player loads back into the game if they have used it previously. These are the same blueprint but the flame only shows on the very first one I put on the map when loading back from a save. Any ideas? I thought blueprints make a instance?
If anyone can explain whats happening I would be very grateful and then I can work out how to fix it.
@trim matrix Thanks for the assistance. I did not save both as they are the same actor blueprint, my logic is if it works for one it should work for all as it should be loading a instance of the blueprint (object) so behaviour should be identical and the variables contained within each instance of the blueprint should be updated in it own right?
if anyone knows
It looks like copies of the same blueprint don't have the same variables.
does unreal have a built in gamepad onscreen keyboard?
I need to get player names but want to use gamepads alone, no keyboards
After putting in break points and prints the variable loaded from the save does not load in each instance of the blueprint. No idea what is causing this.
are you using EMS?
because if so you need to run the presave event for the actor
update the value, then on load run the preload event to set the stat to the saved variable
I ran into that issue using ems and int based variables not loading after a save load on my characters
you store the values you want in a struct marked save game
on presave
and set by ref on load
@frozen spear I am mate. I thought I was doing that as in the pic Event Actor Loaded and Event Actor Pre Save. I could have totally got it wrong tho.
I have not done a struct.
the struct BY FAR has been the best way i found using EMS to actually save and load
everything i need is saved into structs
I will give it a go. I have not used them before.
he even mentions "struct-ception" in the guide...which is to have a master struct of all the structs
Yeah I am absolutely sure it is my fault.
once you use structs you will ALWAYS find ways to use them, theyre beard and butter in code
struct on the torch where it is and bool used or not....presave set that by ref off the struct stored on the torch, event loaded grab the values off the struct and set them on the torch
doing it now mate. I will let you know how I get on. Thank you.
Hello, I am trying to load animation blueprint with TryLoadByPath, then cast it to an AnimInstance, but the cast fails, what am I doing wrong ?
EDIT: I think i found a solution.
I'm looking for a practical solution to this:
I need a Blueprint that can be placed in the level, and with 2 points, defines a line. Ideally, the 2 points can be individually selected within the level editor, and moved around.
Is this even possible? Is there another way to have a line that can be edited from the level editor?
Yes, theoretically i could have 2 blueprints placed, and use an ID or something to "bind" them and consider them the vertices of the line. But i would like it if i could skip having to copy/paste some string or number between the two, and also visualize that line in the editor.
I have a question a little off topic, do you guys think it would be cool to have a game that multiplayer, and the host character is a adventurer with a sword, and your friends can join you as either a wolf or a eagle to help you through the adventure...but friends joining can not play as a hero character? do you think that design would be interesting? they would have thier own set of special things they can do to help the hero
(Yes I think it would be cool Zeth, I always prefer a MP game, even if sometime the game design doesnt allow it, so this kind of alternative needs to be more popular)
the level editor...you mean ue4 engine level editor or an ingame level editor
i meant ue4
(and it should be made in a way where player 2 can literally walk in and out at anytime just by touching a gamepad, without making P1 go throught a menu or anything)
thats what i thought, i realized my main focus of the game was single player story and a lot of the scenes would be weird having 3 other players just standing there being spoken to like a main character
mrchip what function do these 2 points serve?
I think i just found what i need. apparently Vector Arrays have a "Show 3d widget" option, where it lets you select and move them individually
yes
and you can just add vectors as a variable to the blueprint
and check thier "show widget" button
if it needs to be able to create curved paths youll need it on a spline
which is why i asked
if that's not much more work to do, it would be a welcome feature
the purpose was to manually define "cover" areas, for AI to use. center of the line gets a linetrace to the player to check if the cover is valid, NPC can place itself anywhere along the line, and if it needs to peek out, it can move to a vertex and assume that'll give LOS to shoot
then you would be able to find points between the 2 points that are on the line
the curve is determined by the rotation of the start and finish points
i'll check that out, thanks!
It seems that if Simulate Physics is off on a mesh, it ignores collision regardless of it's channel settings. Is this expected behavior?
@frozen spear I get the same result. Only one of the fires ignite? Have I got it correct?
by the way, how do you get those 45° snapped blueprint connections? looks neat
ah damn, thanks
Each blueprint does work as intended providing I only have one in the scene at once.
Yeah that would be really cool
I have spent so much time trying to work this out. It would be far simple to just do auto save.
I will take a break from the save and do some other bits. Thank you for your help @frozen spear. For context this is what I am working on. This is my first attempt at a game. https://www.youtube.com/watch?v=gHlJwUtShfQ
Is array of structs copied completely when I am passing it as a parameter to a function? Or will I only pass a pointer to array's 1st element?
Your pin paths, is that new in 4.26?
In the function input section you can choose pass-by-value or reference
I would imagine the engine does const& or by ref if you specify that
@unique harness marketplace plugin probably
looks sexy as can be
And what about exposing array variables on spawn? Is there any way I can mark them as "pass by reference" too?
Morning All. I have a gun and pickup system that spawns a skeletal mesh and attaches it to the players hands. That all works as expected. My issue is that the pickup item is using it's correct collision box, but that mox appears at the player's knees when its attached. Any idea why and/or how to fix it?
If it's moving it from origin (purely guessing) to the hands, why would it not bring it's collision with it?
@high frost pass-by-ref only makes sense as function/event inputs... Expose on spawn sets variables on the class being spawned. At least that's how I understand it
Well from an OOP point of view spawning an actor is basically calling it's constructor which is also a function. Unfortunately we can't directly specify constructor parameters :\
Yeah. You can always call a function/event on it after spawning
That's what I am planning to do but am still curious about how are arrays of structs are passed when spawning an actor or widget
Ok, I have been at this for days now. I am trying to get my slider to increase the gamma within the game which I have never done before. I have looked online as much as I can and nothing appears to work. Can anyone see where I am going wrong?
@sharp lintel dunno. "Accessed none" means there's no data, so your GetAllActors must not be finding anything?
Ok, I stopped those errors as I didn't have the BP with in the main menu level but it still isn't functioning.
Ive noticed that if you have a BP that applies an impulse to one of its components on BeginPlay but when you SpawnActor from another BP you use the ReturnValue to set the mesh of that component to something else it doesnt apply the impulse. I had to put the impulse in its own function and call it after the SetStaticMesh (this isnt an issue as much as its an interesting occurrence I wanted to share)
Hey guys, is it usefull to AsyncLoad a Primary Asset of Type World before doing an "Open Level" ?
@frozen spear You are a legend. Thank you again for your time and patience. 😀
I'm trying to have a walk animation I've done which includes root motion for an AI
I have speed done as above
then my Blendspace 1D
and the walk animation with root motion enabled
however when I play the AI jitters as it's speed never goes over 10 so next transitions to the walk animation. so I have a jittery robot which slowly slides aroung ??
why i press to button in Widget, my mouse button release?
for example, i press to right mouse button -> open widget -> click to button in widget -> right mouse button released called
@sturdy notch what is the root component of the item?
It's assigned to the arms mesh.
Does anyone know if it is possible to check for overlap if the object isn't placed in the world yet? (overlap the player)
I'm trying to get the velocity of the ball every second so I've placed my ball onto a slope that is slanted at 7 degrees.
I've implemented a blueprint script that I thought is supposed to do that but it won't print out the velocity per second
Here is my blueprint diagram of my ball
when I tried to run a simulation of the ball going down the slope within the 1 sec timer event function, it only reached the branch node.
why can't I get the execution to go beyond that?
delta time is very small. it is the frame time, so won't ever equal 0. maybe try using a timer?
on begin play set a timer that loops at 1 sec
or set tick to 1 sec
Hello!
ive been screeming at UE now for a while trying to figure out whats going on. All the bools and the Get Physics Angular Velocity In Degrees before the set Rotation Allows Sparks says Variable not in scope when debugging / watching the value. What does this mean and how do i go about fixing it?
This is the blueprint https://blueprintue.com/blueprint/1tatp3jq/
you talking about this node?
that would work, you need to type in the exact function name, or you could use timer by event and plug in the red square to your event you want to fire
I'm doing the typical hurtbox setup where trigger overlap events is turned off by default and I turn it on via a notify state in a montage. It works but only if the other actor is moving. I'm betting I've missed something in a collision setting or something, but I can't work it out.
This is the notify end, but the begin is the same with enabled true
nice thanx @analog perch
sorry @proven mason. I thought you were done
👍
I wasn't bothered at all @undone quiver
besides it happens all the time
you just gotta know when to cut back in
This is the event where overlap events is toggled
and these are my collision settings.
Can anyone see why my health bar isn't going down when the enemy takes damage? I have debugs and tested that the enemies health does go down but for some reason the health bar won't move
I'm not sure I can help, but I would suggest letting the widget events handle it, and just setting a variable in the widget.
how would i reference the enemy inside the widget?
It depends on where the widget lives, but you could do basically exactly what you are doing except instead of setting the widget % value directly, you would set the health value in a variable contained in the widget, and then set your percentage value there. I'm not the best explainer
I'm not really sure, but it sounds like it might be something to do with it going to sleep. Maybe try CCD or the custom sleep threshold?
Thanks. I'll try that
I tried what you said, health bar still won't move
is the cast successful?
hello all! I'm following character along spline with FindLocationClosestToWorldLocation and SetActorLocation and the result is bad, I can't smooth it, tried Lerp and VInterpTo but nothing is working... Any ideas? The character is following spline in a loop. Thank you for any help.
are you lerping the rotation as well?
this is what i have now, both come back valid but no health bar movement, i also tried using the variables in the widget its self like suggested before that also did not work
where does world location come from?
i have never actually used that node, im guessing that does the same thing as get look at rotation
if it is getting a location directly below you that might cause it to snap
what do you mean bellow? bellow the character?
oh thats a spline funcion
yep it is calculating every tick the closest location and rotation of the character to the spline point on the spline and it is in the loop
if I'm not using rotation at all only location it still jittering
and if jump on the obstacle almost parallel it's jitter less and opposite if the angle is bigger it jitter more so it's kind of fighting with previous direction of the character with the direction of the spline while character is moving by it
is use controller rotation input on?
I'll say by experience that splines aren't jittery (I mean, unless you deliberately make them jagged) and I suspect there's a deeper issue with your wiggly rotation
that interpolation can only bandage so much
yep the rotation is on for both sticks (using PS4 controller)
yep I agree the character is follow spline smooth unless I'm trying to change the following, by default it's just moving along without intentional direction of the spline, but if I need to follow it and calculating it start to behave such way 😦
yeah i think for that you are going to have to calculate your own rotation
the only one idea came to my mind is feeding to the main character BP to alter AddMovementInput while moving along spline
I have an issue with a static camera, and for some reason it moves without any commands given, any idea why?
it should not happen and it only happens after a while when I leave the game open
idk if it's any help, but i was messing around with a skater a while back. there is a link to the bp for how i set rotation there https://www.youtube.com/watch?v=9SplcTs8hJ8
Thanks, but my issue is that I have one camera static with no movement at all and for some reason it moves after couple of minutes
it's locked
thank u mate I will study it!
i am directly setting the controller rotation, that way it should also replicate in mp
i was limited to 90 deg with that tho
looking at the bp again, i would also investigate the value of Grind Direction variable
update on health bar issue, i am now doing everything inside the widget, the goblin ref is valid but health bar still won't update
you shouldn't use widget binding, you should aim to create an event drive UI
Learn how to optimize your UI elements by driving updates through the use of Events.
i did a dirty trick to rotate the character on the spline, if the direction of the character is opposite to the spline, because otherwise char is moving backwards...
prob not the best way to do it, but it's just simple 180 rotation
what happens if you change the coordinate space for the rotation to local?
in Local char is just flying from the spline to the middle of the map
won't using set actor rotation fight with input if use controller rotation is enabled
rotation only, not location
nothing changes 😦
maybe try just using set actor location? or disable controller input while grinding if using set rotation as well
the worst part the effect is so minimal when the bp window is open, so it is fps dependent... damn
yep but I didn't changed anything, it's how looking when window with spline BP is open, when I close it and push play everything is jitter
Is there a way to have Event Hit not continuously fire off a million EXEC messages when collision has been detected?
don't want to disable controller because you can jump off the spline anytime... or you mean only rotations for the controller?
Set Use Controller rotation yaw bool
do you want controller rotation input while grinding?
i completely removed controller and it is still jitter, i think the calculation of the closest location to spline in the loop is approx that's why it steps... and interpolation is not working because in the loop it is already feeding to the character current approx location...
get ai controller return null on client side
but on server side it return correct
i want to set value on blackboard on client side
if those ai's are on the server you probably wont be able to get them on the clients
i never worked with replicated AI but i assume the controllers are on the server aswell
so theres no way u can get them in the client i assume
so how to set blackboard value as object or bool etc on client?
make an actor that replicates and the ai can change it
i think that should work
i dunno man u need to be more specific
Hello, how can i check if a variable has changed and how long ago?
Why are all my data structures duplicated when I am making a new data table?
You can either bind it to another and watch that variable or you can just make a break whenever the object is actually changed by an blueprint
like somewhere you set that variable, just put a break on that
Add the pickup actor interface to that bp and use the Interface Drop event
Trying to carry widget info around and everytime I need to make a widget (or recreate it from an array or drag and drop) I need the class info - not the object itself. I don't know why this doesn't work. What nodes do I need to use?
hey guys idk EXACTLY know how to ask for help but I've run into a couple of problems I'd like to ask for help on the first and major one is the fact that I have a dash ability using launch character works fine it's input based however I realized that when you dash in air it would send you flying way too fast. so I originally used a branch to check if the player was falling and then tone it down which fixed the issue until I realized that if the player dashes off an edge it will, again send him flying. if anyone is able to help I'm a little embarrassed to show my blueprints since they're is so much I'm more than likely doing wrong but if I could get a helping hand that would be great!
okay so I want to understand this node
Event Hit
it has a vector called Normal Impulse
what is that and what does it do to a physics object such as ball
Editing the Tick Interval on Component doesnt work with Collision components ?
And is it actually possible to activate/deactivate Collision components after BeginPlay ? I tried a lot of ways but it dosn't seem to deactivate
There's some node to set collision query off
like Set Collision Enabled or something
@tight schooner Yeah just remembered about it. When 'No Collision' is ON, does the component still ticks ?
Generally, how would one go about doing a note collection system? You find a note, and it gets added to your inventory. You open your inventory and you get a list of all the notes you picked up and can selected and read each one. I'm not looking for specifics, I'm just curious on how it would generally work.
I guess what I mean is generally how would I do that
its electronic nodes plugin from market
Hi! is there any node to Try get a component from actor? want to just try to get the component without casting (may be diferent actors) and want to stop the flow if cant find component
Get Component By Class
yap, i did it with Get component by class + Is Valid to confirm i got something, thanks!
anyone know of a quick solution how to populate a Enumeration with hundreds of values?
yea thanks, thats what im doing right now
oh
you sure?
well, it's 350 actually, i thought enum would be good as its fast and cheap to compare
but the data shouldn't be polled too often, so i might just go with a data table
or prepopulated array somewhere
well i'll go with the prepopulated array, the values are only used to populate a list of 20 on each character
then it's just some small operation to compare two arrays, which does only happen on interaction start
so i should be good with that
I'm still trying to learn C++ but maaan... the amount of errors in each compile is overwhelming. It happened I itched my nose an error appeared.
hmm..
i don't know if Unreal is a good choice to start learning c++
the engine adds complexity on top of all
Exactly!!!
I watched a lot of C++ tuts on Youtube but ue4 code as if nothing like what I learned
I think i'm doing ok with Blueprint but the temptation of C++ and how others talk about them "C++ definitely better than blueprint"
depends
nativized blueprint isn't that bad perfomance wise
unless you do bad stuff in it, but same applies to c++
Plus the famous words "C++ will be useful elsewhere" blah blah
it is
good knowledge in c++ or other object orientated languages also helps to get better Blueprints
because you have a feeling for whats going on behind the curtains
That's why it's worth trying to learn it
I have been 3d/2d artist for years I decided to learn programming to be somewhat self-independent dev
hey anyone have some ideas on methods that don't use launch character to make a dash? I seem to be having issues with it specifically in the air?
unfortunately, coding is time consuming (hours become minutes) unlike blueprint somewhat faster , you don't have to build everything from scratch
You could try a timeline?
I'm so extremely new to ue4 that I have YET to figure out how to use them or even when to
I only have one thing that uses a timeline and I'm still not exactly sure what they even do if I'm going to be honest
For how to you should check out a tutorial, I think Matthew might have one.
As for when: Use them when you require to advance a value in a timeline.
for timelines? or the dash? I have the dash working how I want on the ground the issue comes along when dashing from the ground and coming off a ledge tbh
ahh okay okay
what's his youtube name? or do I just look up matthew?
Matthew Waddestein I think, just search UE4 HTF series or WTF series
awesome! thanks
tbh I don't know if a timeline would be the best way to do an air dash, but it would be a way.
does anyone know how to get the location of a particular static mesh?
I wanna find a static mesh instead of my player character
see idk what went wrong with my air dash I had it working exactly how I wanted it to
then out of no where it started launching the player way too far
Friction?
I believe I went through just about every setting and tried to up it and it never helped
unless I missed something
but I know I didn't tamper with that setting the issue started coming up after my ue4 crashed and the last save got corrupted
You should decrease the launch character force when in air
I did it I added a branch to check if the player was falling and a decreased launch for it but now the issue is if the player is on lets say a ledge and dashes off of it
the moment he stops touching the ledge he'll be sent absolutely FLYING
talking about this actually if I decreased the friction of the ground then decreased the launch amountcould it fix it?
ope would that be in character movement or project settings? I'll try out both to see if I can get a fix
But I am not very good at thinking
aye I can get behind that I can only come up with solutions for things if I talk to someone
Physics property of the character I guess
AYE that fixed it
I had to set it up to 7 to get what I wanted but it's exactly how I want it
now I just have to fix my various other things like the weapon on the alt fire mode rotating too much after each shot. or just turning into a beyblade
👉 😎 👉
I am still having trouble grasping casting, so could someone please tell be how to get this cast working? Its to an actor. I need to get a reoccurring check for overlap with the actor I am in and the one I am casting to. It's so when a condition along with the overlap it sets off an event.
I understand if is not as "clean" of way to achieve my goal, but I just need to get it working for time being if possible.
As a wise old man once said: Two idiots banging their heads on a wall will eventually break it.
@north mural A cast takes a more generic actor reference and checks to see if its class is X, and if the check passes, it transforms that generic reference into a class-specific one. A cast node that isn't being fed with an actor reference won't do anything, because it has nothing to work with. It doesn't know which actor in the game world to check.
You need some way to make one actor aware of another and there are a lot of ways to go about doing that. An overlap event for example will spit out an actor reference, and you can use a cast node to check if it's of a certain class. You can also save actor references into variables (right click on a data pin and "create new variable") for later use
I get the logic behind casting (generic to specific), but I keep coming up at a lost for situation like the one above were I have to get the object in manually. 😔
Cast requires an input, whatever object you need to be used as Color_ShapeChange_Fixed needs to be passed to the input
If it’s the actor’s graph then pass in self reference
Any dumb reason why a save game would return null when i try to access any variables in it or even get its object name at runtime? BUT when I run Does Save Game Exist? it returns true : /
bleh think it might just be a corrupted save
Does changing actor time dilation affect how often tick is called or the delta seconds it sees?
I want to add hitstop by changing local time dilations, and then after a tiny fraction of a second change it back. Like slow it to 1/20th speed for a a tenth of a second maybe.
Should that be controlled by tick?
Hello, I'm pretty new to Unreal and looking for a good resource for programing an AI to go to a specific point, without having a scripted path, and being smart enough to move around an object that may be blocking a direct path?
look up A* pathfinding
in unreal there are built in options, look up ue4 navigation
Ty 😄
My best guess would be the save game class changed after the save game data was made, this would cause the save game data to fail to deserialize.
Since the file still exists, “does save game exist” will return true cause that’s probably all it is checking
@magic oak ya something like that. I guess i'm still a bit confused because i thought the save game object is the one set here, but actually if I want to set any variables in my save game i need to load the saved game slot and then cast to my save game?
so then i have to do this
Not sure why i'd even need the intial save game object created when i initially create the save game object
It needs an object to serialize, you don’t necessarily need to write it to file immediately
cool, i'll play around. Do you happen to know if i can load a save game slot in construction script?
That can be tricky in editor
i just wanna access/get the variables in a slot in the construction script
Construction scripts can run at editor time so you could be borking your save data whenever it runs
but if i only get how could i bork?
i wouldn't modify any save data
just read it
or can i maybe read the data without even loading in construction?
I suppose thats fine yeah
Hey there,
Working on a teleportation mode in our game and wondering how i could detect all levels that are currently streamed and unload them without having to include every one of them in a BP manually
Try this:
1)Get all actors of class and select "Level", you will get the levels in an array
2)make a Loop where you link the index with a "get" of the level Array
3)Unload
4)Profit???
Found this on google
yeah that i found too but im not skilled enough to implement that solution without any further explanation
I thought up an easier to do but I think worse in the way it works
Create an array
Every time you stream a level put it in the array, every time you teleport use the array to unload and then reset the array
ill try that, thanks
Do tell me if it works or not. 😄
i will,i just have to implement some other stuff before i can get down to this issue again
Hey, there. I have some standard macro problem. So basically I'm triggering some Do once node on tick, but ... it isn't doing once even when I'm not resetting it. What could go wrong?
Some things shouldn't be done on tick. Delays, do once.
I tried do once on tick sometime ago. Didn't go well for me
DoOnce is meant to be, well as the name says once.
Tick on the other hand runs every frame. You couldn't be more opposite than that
okey, thank you. I'll just simply refactor my code, but this made me curious that something isn't working as It should. And in other class I also triggering do once on tick and it works properly.
It depends on your setup. I didn't say it wouldn't work. I just would not recommend it. Depending on your setup it may cause some logical "fallacies", pardon my English
When I want to get a UI-widget, what do I need to use as the target? 🤔 This is in my player blueprint, so self doesn't work.
I believe its should be GetPlayerController
not for certain
For some reason my BPI isn't receiving the event message...
Doesn't work, it says this.. But I can't get that reference when I search for it. "CustomHUD" is the UI widget that holds all UI widgets.
Both objects have the implemented interface set correctly in the class settings. This is the projectile which calls the event when colliding. The event is recieved by the player.
Hi guys
What's the best method/the method that works best for you to show text on screen? Like the narrative in majority video games.
Most likely you would develop a dialogue widget which gets shown any time a character plays audio or maybe it toggles the window if you physically go talk to them.
Is there a way to fire off an event to multiple blueprints in a level, but in the editor (Not during gameplay)?
Context: i have a helper BP with a bunch of points, that draws lines connecting each point. This works so far. The problem is Debug Draw Line has no way to clear specific lines, you either clear ALL lines in the entire game, or don't, which would leave trails of outdated lines when editing them.
The problem with clearing all lines, is the last instance of that blueprint you edit will be the only one with visible lines, since the construction script for it updates, clears all lines (both its own and the ones from others) then draws its own lines.
I don't mind this being hacky and redrawing every single of these instances, it's only a tool needed in the editor.
So i was looking for a way to fire off an event that would tell all other instances "hey, i just deleted the lines, please draw them again".
The only alternative i can think of is to make a procedural mesh, and that's starting to be on the limit of what's reasonable to create for this feature
Hi, Is there a way to update a variable from a Parent_BP, but to be able to change that variable from Child_BP, while still keeping the update script in Parent_BP ?
WOW this channel just buries all questions doesnt it?
the worst part is if you ask a question, answering others buries your own question, so its a dilemma
Same kind of question that I had on Friday, with a slightly different flair: Why is it that UPROPERTY UWidgetComponent is automatically being added to the scene? I would sort of have expected needing to call CreateDefaultSubObject -but no, it just happily gets added into my scene as a child.
Only issue is its a detached child -it exists at world root, not underneath my actual component.
The UPROPERTY is on a USceneComponent btw.
I thought "Ok, its as easy as calling ->SetupAttachment(RootComponent); in the constructor, but this fails out
Because of course the widget I am trying to Setup isn't actually set yet.
Head file:
UPROPERTY()
USceneComponent* RootComponent;
UPROPERTY(BlueprintReadWrite)
UWidgetComponent* WidgetComponent;
Constructor:
RootComponent = CreateDefaultSubobject<USceneComponent>(TEXT("SceneComponent"));
WidgetComponent->SetupAttachment(RootComponent);
I know I am probably missing something like CreateDefaultSubobject for the WidgetComponent, but when I do this, my blueprint-set value gets erased (set to default) each time I reload.
Just call the update script from the child.
Hi I am here because I am having a problem, let me explain myself, I am working on a fighting game project and I have set up collision spheres on each hand to inflict the damage, everything works but I would like to know if it there is a way to recover the speed of the collision sphere before hitting the character in order to inflict more or less damage
You could store the positions of the spheres each frame and calculate the speed from the delta of the stored/current position
Hi, I'm trying to create an an instanced mesh from an editor-callable custom-event. However, everytime I change a parameter, it dirties the state of the created Instanced mesh, and removes all the instances. How do I work around this?
@astral citrus The spheres are attached to the socket of my hands, so they are in constant motion, is that a problem?
Wouldn't the motion depend on how fast the hand is moving?
Create the component in the construction script
Thanks @astral citrus, that'll cause it to update everytime a parameter changes, Ideally i'll have control over when to execute the function as it's very heavy
Not sure how it works behind the curtain, but adding a component like that registers it differently to you manually adding it as a component. Anything created like gets trashed when you make an edit
@astral citrus I recreated a gang best type physics so it depends on what the player is doing ^^
If you get the distanced between the current sphere position and it's cached previous position, multiply it by deltaseconds then you'll have it's velocity
@astral citrus ok I'm going to try ^^ thanks for the help :D
Yeah pretty much
Hey everyone I got an interesting predicament... Without using something like steam subsystems is there any way to get the player controller of a person who created the session that everyone's joining
I'm trying to make a game where the host of the game plays the main character, and any friends that joined him join as utility characters that are unlocked by the main character during story
But I can't figure out a way to designate the person who actually created the online session.
I should state im using open level, not server travel, and im losing the player controllers between moving from main menu to firstlevel map
@untold rose maybe Get All Actors of Class (or otherwise build a list of relevant actors) clear all lines, and call a line-drawing debug function on each of the actors?
Hmm, mayhaps, I'll try that
If it gets too heavy, maybe you can do a Sphere Overlaps Actors so it only updates the nearby stuff.
Hey everyone! I'm back again with a performance/which is better question!
This time with custom events/functions. Which is better if I want to reuse a line of blueprints inside and outside of the actor?
A) I know that if there is time involved, then the custom event is needed
B) When a return is needed then use functions
C) If I want to cross between functions of course custom events can tangle into each other in the event graph so thats a factor
But in terms of simple things, like resetting values, firing other stuff are they the same? (Just the factor of clean code?)
Do functions have a "quicker" runthrough if no time is involved? Like they say that it's suppose to happen intantly?
(My knowledge is limited but I heard about processor thread differences as well, maybe that?)
Hey seanny! Helping everyone as usual, what a saint
And yeah if there is a function without a return and you try to override it it comes as an event so that may be a giveaway
(Is this what "CallInEditor" good for?)
I think @maiden wadi tried to benchmark this at one point (doing a giant loop with some simple math inside) and found that functions incur a slight performance tax, but unexpectedly so did macros and collapsed graphs. (I wonder if that was just play-in-editor as opposed to standalone / packaged...)
Personally idk what to think, lol. If you really cared you'd benchmark it, but events/functions/macros/collapsed-graphs are also important human organization tools
I wouldn't sacrifice intelligibility for a notion of something being infinitesimally more optimal EDIT: I meant to say "wouldn't" lol
Call-in-editor is to make an editor-only function
Making your own editor only functions really helps in level design if you find yourself doing repetitive tasks
like copying a bunch of data from one place to another, or arranging actors in some procedural way
@trim matrix
Wow thanks for the info!
@trim matrix Your A and B points are the only important thing in all of that of Events vs Functions. C is an issue because you shouldn't generally be doing that in most cases. If you need two events to do the same things, make another custom event/function to call just like you would in normal code by writing small helper functions that keep things tidy. The only basic differences are that functions can terminate early in things like loops with a return, they can also return in general. Events can have latent nodes. Calling either one incurs the same overhead penalty. But it's worth noting that this is so incredibly small that if that is a real performance limiter, then you've reached your blueprint limit and need to consider C++. It takes hundreds of thousands of those calls in a single moment to register a performance spike.
Oooh! Thank you I've learned a lot
@tight schooner @maiden wadi You guys are so kind helping everyone! I hope you guys are doing well in life!
Functions can also have local variables (variables that only exist "in the box" and are effectively destroyed/reset when the function completes) so that's another factor to consider
in where any bit of blueprint script should live
Local variables inside of functions can make certain things tidier
Yes that is an important factor I forgot you are right!
Hi all! This is SpotLight.But this projection is circle.How do I turn it into a rectangle?
I'm not sure exactly but you need to use light function material
Question. Its sorta UMG, but maybe Blueprint so I'll start here since the UMG room is hit or miss. I'm trying to figure out why my umg blueprint event doesn't seem to catch when then event is fired from cpp. Is there a weird thing where cpp subsystem fires an event but the blueprint umg isn't there yet? And is that why it says my subsystem isn't in scope?
when my player touches the box collider it is suppose to call the open function but why isnt it working?
it's a bit sketchy to call get actors while editing the object, but as i said, that's not a concern. i got it to work with this, thank you! 👍
@untold rose yeah if it's too heavy an operation for construction script, make it an editor only function (and/or make an editor utility widget) to refresh it manually at a button push
that's an option
i'm using interfaces to call a "redraw" function on everything that may need to redraw that kind of stuff, so changing it to behave like that shouldnt be too hard if it turns out that's necessary
You can just host it yourself. you'll have to setup the networking (firewall access to the port)
Call it in the event graph
what is the object you're trying to put it in?
Async Load ASset
I could try but it requires soft asset link
It does not take a string in
And I do not know how to build them
Is there a reason you can't select it from the drop down?
StaticMesh'/Game/Meadow_Environment_Set/Environment/Rocks/Meshes/SM_Rock_01_Cut.SM_Rock_01_Cut'
In C++ I use StaticLoadObject it's fine but surely there's a BP equivalence
Hello everyone, is an event existing like : "Event Session Joined", where the host of a multiplayer game can be noticed and collect all the information of the character who just connect ? (Sorry for incorrect english) Thanks a lot
It seems your actor needs to be an AEditorUtilityActor
Ah I see so it wont work in cooked game
looks like no
yes in your gamemode object
The host's gamemode ?
in multiplayer, the gamemode only exists on the server (host)
I found it ! Thanks ! I'm just trying to create a lobby : open server for 4 players, split in 2 teams
I recommend reading through this http://cedric-neukirchen.net/Downloads/Compendium/UE4_Network_Compendium_by_Cedric_eXi_Neukirchen.pdf
If I'm using a ThirdPersonCharacter as a playable Character, I need to recreate the Player Controller ? I see they didn't have one
Hey everyone! Hope everything is good wherever you are in the world! I have a quick question and I'm not sure it's Blueprint related but thought I'd ask. Is there a way of controlling the cameras lens and it's distance from an object? Keeping the actor the same size in the frame? Further back you go the camera turns into telephoto and then the closer you are it turns into a wide angle.
New to all of this so apologies if this is quite simple.
right now it's probably defaulting to the PlayerCharacter class
This is why I couldn't reach him in the content Browser ! Thanks again 😄
You should be able to use a spring arm and control it that way. You will probably have to do your own vector math though. I don't know of any built in functionality to do this
do you have any example of what you are trying to do?
Yeah sure, I have a mock up that I built using a different program if anyone is open to DM's
the PlayerController class to use is also set in Gamemode
I worked it out using xpresso through cinema 4D with matrix manipulation and trigonometry but wouldn't know where to start with that in Unreal Engine
So there is an unique gamemode for the entire multiplayer project ?
you will most likely want to create your own gamemode class
Ok cool thanks a lot
Hope it's cool to post links in here to the reference, but it's basically the old fashioned dolly zoom from Jaws but I want this to be automated so I don't have to keyframe both the camera focal length and the distance
#Jaws1975 #JawsVertigo #JawsCameraZoom
One of the most legendary dolly zooms in cinema history.
Basically camera fixes onto actor or object and then the camera knows the distance from that object and in turn sets the focal length. I've built it before but I don't know UE4 well enough to build this in Unreal. Any advice would be awesome.
@unique harness If I'm connected with 3 or 4 people, and in the gamemode I decide to open a new level, will the level be open for everyone ?
I've actually just found some documentation on this effect, thanks all!
There is a default map in the project settings
Haven't woken up yet, brain not working - can someone confirm, if you want a random item out of an array, you need length minus one right, and use that for the max of a random integer?
that's the one I couldn't remember, thank you
Im so dumb... my old Asset loading function was working fine, I had a crash bc I had re-enabled Goblins which werent ported
Will i mess something up if i convert a pawn to actor?
I wanna use enable input but my bp is currently a pawn
Hey, I'm trying to add a dropdown enum-style public variable to an actor that can be set once the actor is in the level - what kind of variable should I use here? Enum doesn't do what I expected :S
Can i get child actor variables to its main actor , without adding the child to the map
Or shd i say can i get variables of something that isn’t added to the map
Is anyone good with animation blueprints?
Hi guys! i'm having some troubles adding an array item of structure type.
My nesting is like this
StatSystemComponent -> Stats {array of type stat Struct) -> Modifiers {array of type modifier struct)
and this is one of my attempt to add a new modifier to one of the stats withing the statsystemComponent
i can read the elements of the modifiers{Array} without any problem on that same setup, but for some reason the add wont work, i tried with insert also.
Do you have to set the members, can't you just add them from the make modifer_st directly?
What do i put in Object?
the object that you want to cast to AnimNotifyState_Trail
I tried searching for Attack1 which is the montage it's attached to but nothing
What error are you getting?
And can you drag from the add and make a modifier that way? disconnect the pin on the add and drag it and see what the context menu brings up
try doing the add in the loop body, after the branch
no result : ( it's weird because i tried making a random array of ints and on that same loop, try to add a new item, works like a charm
no result when you took out the boolean logic?
because it should definately TRY to add, even if it doesn't you should get an error in the output log
i tried without the branch, still the same.
wait
what does your loop body actually consist of @runic parrot
put a watch on, well, everything
i'm looping this array of type "Stat_ST"
my goal is to look for the stat_st of type "health" and add a new modifier to it (STAT_ST has an array of "modifier" struct)
at this point i removed the health filter and want to just add a new modifier to each element of the collection
what doe it say when you put a watch on everything?
Once you resolved this could you try and help me with the Anim
never used watchs on unreal, let me check
you are using breaks right?
f9 on any node that gets executed, like the add or even the loop, then step through it and hover over it
i didnt know you have debug feature on the blueprint editor, that's nice. i'm going to check more on this later.
i added a watch (not sure where i can see the info) and a break to the loop node, i just goes through the 3 elements of my array and executes the ADD function, still the same result, no element added :/
bool UWorld::EncroachingBlockingGeometry(const AActor* TestActor, FVector TestLocation, FRotator TestRotation, FVector* ProposedAdjustment)
I found this baby
I might even get a better baby yet
👀
if (ComponentEncroachesBlockingGeometry(this, TestActor, PrimComp, CompToNewWorld, ProposedAdjustment, ChildActors))
I think I should be able to use this from the engine code
ok im trying to do something like right click my inventory slot and it will create a drop down menu that has "use item, drop"
So is there a better way of doing this
maybe a switch for firedamage and with each case you add the proper trail
so later on you can expand and dont need 9999 branchs
use your inventory slot event "onClick"
After setting a value in BP how can I set back to it is prior value?
@fossil peak save it before setting. Unless you mean reset to default on a property that you've changed in a subclass.
@faint pasture Thanks for the quick answer man how do I save it?
Are you talking about changing it at runtime or when you're actually making the bp?
I have a linetrace for shooting but the client's shots are offset and I cannot figure out why.
The server's is correct, the offset is consistent wherever the client aims
The line trace is done on the server
code is here
Hi everyone! im working on a dissolve effect after an enemy dies, but the problem is that im also using ragdoll with push and looks like when the character flies away from ragdoll the sphere that makes the mask to the dissolve effect dont move with the actor, so as it is away from the sphere it just pops out without the effect, do anyone have a fix for this? or a better way to do it