#blueprint
402296 messages ยท Page 951 of 403
that's not what casting is. Once you connect the level BP stuff up to an event, you'll be able to use that reference variable because its value was set previously
hey guys, just started messing about with UE blueprints coming from a programming background - is there any way to create a local variable or something similar for storing a dynamic value? hitting my head against the wall trying to do this without having to make loads of duplicate nodes... eg having a public bool determine whether a value should be inverted. I could make a new private field and then set it as the result of a branch, but i wont need that value anywhere else so must be a better way?
So casting is basically creating a globally-usable variable
it's not
Someone please shoot me
casting tries to convert object reference types
eg this - i want to modify the axis value input based on the branch before it reaches the gthan/lthan
you were able to set that value because you had a reference to an instance of the player controller BP. You got that reference by casting a more generic one to a specific reference
Hmm okay
But somethign still doesnt work for some reason
The target location isnt the cars camera
yeah, how's this supposed to do anything? you need an event
I suggest beginplay with a small delay, just to see if it works as-is
Thats what I was wondering too
It doesn't get those values until they're requested. So it looks like it's immediatelty used but it's not.
okay cheers
So if you use those values after the branch, that's when the gt/lt gets evaluated
it works
just seen you can make local variables within functions, so looks like my best bet is to make a function for the inversion check
You could, but you don't have to. It's good to know that
it does
is there another way though? I mean, without duplicating all the follow-up nodes?
the value stays set. Referencing a variable doesn't consume its value or anything
I'd have to see more nodes and understand what you mean by duplicating
maybe im just having trouble visualizing how this should work, but without being able to set the result of the inversion, the logic can't progress to use it.. or something, hah
this is the next bit
so i really just want to swap the value of the float between positive and negative based on the public bool
yeah a select node seems better here
aha
Takes a bool and two values
that sounds like what I need indeed
thanks guys, thought there would be something simple hehe
was thinking too literally about branch as IF
But it is
it's more that you don't need to execute to perform the check here
yeah, I guess I mean that there are more appropriate nodes for some things, rather than using branch every time the logic involves an IF
which i think is what I was originally doing hehe
a select is definitely the most common, but there are dozens of nodes you can use in as many scenarios
I suggest reading about BP flow control nodes
makes sense - it's just my lack of awareness of the node options available I think. Could have achieved the same effect using branch and setting variables, then getting them again but it would look way too messy for something so simple
Sharing this for future reference. Not all types have a select node.
So it's good to know how you can make your own
I've come to realize that every time I think I'm doing something concisely, there's a better function or macro that's existed since 3.0
If you don't input an A or B wouldn't it just be null?
default 0.0
It'd be whatever default you set
True
Whenever I have weird getters that get awkward and duplicated I make a simple function like this.
Anyway, speaking of functions... I am looking for a way to make my own delegates for blueprint functions
Like the "Completed" pin when loading assets async
my new rule is if I ever have to do something more than twice I make it a function to save my sanity
(Without using c++)
I use the rule of three, so we're not far off ๐
Maintaining 2 locations is ok, 3 becomes a pattern. 4 means you like the feeling of pain it gives you
That and I collapse everything I can. Sweep it under the rug and the event graph looks pretty
I find managing data in ue very unintuitive to do
I mean, I got the structure and all, but something like sqlite maybe would be nice?
got a question what place is the best place to put global variables in?
A manager class, whether that's a custom actor or one of the UE4 framework classes like game state, game mode, etc
Or an ActorComponent on such Class.
Or a Subsystem.
I mean I got a datatable to load
but its on the plugin
don't wanna mess up the main plugin core structure
I want something that'll load/change that data table when my level loads
by default it'll have its own datatable
but in the main project I need a way to override that datatable
also what loads first?
actor or the level blueprint?
So I'm following this Epic tutorial and in the blueprint to activate a door from a pressure plate I need to call Get Component By Class. Only it never returns the component. I'm trying to get back a BP_InteractionComponent in the door's BP which exists on the pressure plate, but the debugger shows it never returning.
Show what you have
Show how you're trying to get the interactioncomponent
That's pretty cool that Epic is doing interaction by components, I like that approach
Not doing it correctly ๐ญ
Whoah that's weird, so you interact with the interaction component but it just does an interface call on it's actor instead of doing some OnInteract event. Interesting
or wait
Are they trying to cram every possible way to accomplish BP communication into one actor?
This is just a single way, right? Pressure Plate has the BP_InteractionComponent and the Door gets the very first instance in the component list?
This doesn't look very scalable either.
But I also haven't finished the tutorial.
So where does it break?
The very first image I posted, the print statement
Failed.
GetComponent by Class returns nothing.
Even though in the debugger you can see Pressure Plate has the component
I assumed Trigger was being set by GetCompnentByClass
Why would it do that. The first thing you're doing is checking if Trigger is valid
It's not
it's just a null pointer to an actor
But GetCOmponentByClass set the component?
That is getting TRIGGER's component
Trigger isn't anything
you probably just set it in the level editor
saying "hey door, this is YOUR trigger"
Okay, I must have missed that in the tutorial and it makes a WHOLE lot more sense.
But in the editor if I click on my door instance, I don't see trigger as a variable I can set.
I had to set that guy. But that is definitely not set in the tutorial.
Set it on the actor instance in the level
Welcome to tutorials, hence my name.
you have to make sure you're understanding the what and why, not just monkey see monkey do
@faint pasture Yeah, that's why it has taken me hours and hours to get through this hour tuturial. I keep stopping to examine what happened. Only in this case I could progress no further.
Thanks a million and this makes soooooo much more sense.
Is this a normal way of doing communication between actors?
@faint pasture do you know why i cannot set variables via viewport
I put it as instance editable but cant do it
cant remember
nvm it works now ye idek\
It's one of many
There is a YouTube stream of epic games about blueprint communication pinned to this channel
It should give you same more info
@surreal peak Cool, thank you very much.
Did you have one that you deleted
With that name?
Otherwise check the actual folder on your drive
I mean, maybe, but that must have been several reboots ago
I don't like cleaning in general
Like a good UE dev does after deleting moving or renaming
But also I don't know what that means
UE keeps redirectors around
Rightclick the content folder in the browser in the editor
There is a button to fixup redirectors
Did that
Can also be limited to subfolders
Waiting now. It's cleaning
If that's not helping then check the folder on your drive if there is something hanging around
Redirectors should possibly always be cleaned up after deleting moving or renaming referenced assets
also i am still confused on why this doesnt work, my tick event only prints 0s while the bind prints 3
Maybe it's a mac os + ue5 combination that doesn't work well
It's always needed
Is there a reason for it?
Or just one of those "shut up and just accept it" types of things
UE keeps redirectors around that point to where the asset was so that not everything just outright dies
You can utilize them to point to a new asset for example
You can even visualize them in the content browser
And open them
As assets
With the filters
So that's just an editor-performance thing then or something?
Probably unrelated but don't destroy an actor if you are still using it afterwards
Worked.
Ah
"that are not currently loaded"
That's a good point
But then, it's a redirector to trash?
Eh nm, I'll just go with my "shut up" version ๐
thats my playercharacter
You can't have binds like that inside a widget
the variable thats being set is in my ui, the actor that was destroyed was a coin
Also don't store your inventory in widgets
That's horrible
Widgets are not for gameplay purposes, only cosmetic
the bind doesnt work either
hello everyone i hope you're doing well, so i don't know how to make a character look and aim at a crosshair in the screen and i would appreciate any help . Here is a picture to more clarify the goal. Note: the position displayed on screen is the impact point of a ray shot from the camera to any object hit by it.
Print a string in the end of the addition
0,0,0,0,0,0,0,0,0,0,0,0,0,0
and if I press my bind
its 3
also you can use settext in widget lol
you said I couldnt
No I didn't
?
well you could put them in but they shouldnt fire normaly
Since widgets dont have any InputComponent
Hi, current floor's hit results from Character Movement always return the Default Surface Type, no matter if I Override the Phys material, The static mesh, or anything
OnLanded?
Hey I got 2 issues I wonder if anyone could help me with, they are probably pretty simple as I am new.
Actually, this has somewhat changed
You're allowed to setup / listen for key inputs
Because you have disabled "Return Material On Move" in the capsule component. Current floor trace is just the return value from MoveComponent function in UPrimitiveComponent
ooooh that was this, thanks!
Thank You so much!
So you can route inputs through the PC to widgets?
Or what do you mean? Because input bindings go through the PC and inputs in widgets goes through slate
How to deform plane mesh in real-time when ball collides
There is a free plugin available this month for that. Reverse engineer it ๐
Name? Let me check it
That's great
I have used this already
But when ball collides with bed metris. Metris should go down and when ball passes it should retrieve original shape
Kindly let me know how can I achieve the effect in the video as you can see in 8 sec. When ball is rolling from metris
3D Animation for mattress and pillows production company from Berlin, Germany.
Kindly check the video
You can have a widget become the first target for the input routing. So i guess it has its own input component? Listen for Input is the node
Hm, you're right. TIL. It creates its own inputcomponent and add it to the stack when you run that event, otherwise its nullptr.
You could do something with vertex shading (World Position Offset) in the material graph. If the material has an input (worldspace vector) for the sphere location, it can use that to push the nearby vertices away from the sphere, thus achieving the illusion of soft body physics deformation.
On the blueprint end, you update a dynamic instance of that material with the sphere location on tick. (Or write it to a material collection parameter if the need for that arises.)
it listens for input on default
afaik
Can I see any example or tutorial related to this. I will be really thankful to you
Nope I just came up with it lol. You can learn about the material graph, world position offset, and dynamic material instances separately
Yea, from slate yes
Not the inputcomponent
what is slate?
"Slate is a completely custom and platform agnostic user interface framework that is designed to make building the user interfaces for tools and applications such as Unreal Editor, or in-game user interfaces, fun and efficient. It combines a declarative syntax with the ability to easily design, lay out, and style components that allows for easily creating and iterating on UIs."
All UI in unreal is driven by slate, even the editor.
ic
Hey guys, I'm wondering what's the trade-off between using a save game object to store data when changing levels vs just keeping that data in the game instance? Is there any benefit to either approach?
A save game is a file on disk so it persists between sessions
Game Instance only persists between level loads
Yeah I would use a save game for persisting between sessions, but for changing levels, does it make a difference what approach i use?
Not that I know of...
Not sure what answer you're expecting
Cuz they're not entirely interchangeable. You could keep data in game instance until the player wants to write something to file e.g.
I guess loading from a save might take time?
Depending on the device?
I never benchmarked it or anything
But I wouldn't try loading and getting data on tick lol
But you can retrieve data from game instance on tick no problem e.g.
Save game can be fine for that too as you can reuse the same functionality
logically, end level 1, begin level 2 is the same as end level 1, quit, start, begin level 2
It's just that atm I'm keeping a lot of the data in the game state and I'm trying to decide if I should move it into the game instance. I suppose youre right that it would be quicker to keep things in the game instance instead of saving it to a file ๐
What kinds of stuff?
Essentially data relating to the party of characters in a crpg
I'm guessing you have a nice concise struct representing them?
No but it's in the plans ๐
Hey fellas!
How do you manage the ESCAPE Key to close the in game menu since Listen for input does not work when the game is paused?
Also Setting Time Dilation to 0 has some issues
Question...im using set capsule halfheight node which shrinks the char capsule towards the middle, anyone know the math to find the relative location of how much i need to move the mesh to put it back where it belongs (bottom of hemisphere touching the foot instead of in middle of char) ?
Its either very difficult or so easy that my brain cant figure it out
Hi. Is there a way to load only specific Character Blueprint skeletal meshes when that Character is only used? Currently when ever I open a project it loads all the assets and project goes into GPU out of memory. Even though in the level those characters are not present.
Hi, I have a blueprint with instance editable parameter. But when I duplicate the blueprint and change that parameter, it applies to both blueprints ? What is wrong
Variable I mean *
Half of the adjustment ?
If its 80 and you reduce it to 40, you'd need to adjust it by 20 to keep it at the same location
erh, so for halfheight, it should be the same as the adjustment
40 reduced to 20 adjustet by 20
Are you editing the default value or the instance value?
I'm spawning in two actors, one that can pickup the other one. The problem is that when I spawn them on top of eachother, there is no overlap triggered, sรฅ the one that can pick up the other doesn't know that it is there. Even doing a Is overlapping actor check doesn't return anything. This is done from the leve blueprint.
Only moving outside the pickup sphere, then back in makes them overlap.
I think calling the Is Overlapping Actor later works but doing the BeginPlay of the level blueprint it doesn't.
the instance
you can see on the right
medi aplayer and media source
I'll try half of the difference between the original and new size and see if that works... The capsule reduces in size towards the center of the character... So it's not as easy as just adjusting by the exact amount...
It should be
But you are aware that crouch handles this?
@gentle urchin it's not, and I'm not using it to crouch... It's being used in an anim notify state... Crouch can't be used as it only updates on movement component update cycles... Which don't happen during anim montages
Ill set up a test in a few min,
Okay set your capsule to 94 and reduce it to 35... Let me know what you find
Yeah it's just a regular character capsule
It can even be on like third person template character... The capsule needs to start at 94 for the half height... And when it's being reduced reduce it down to 35...
I got a project for it ^^
You want bottom to stay fixed, right?
Just making sure i got it right
Right it's basically the same as it was crouching how the capsule stays down by your feet
I just can't use crouch because I'm doing it in the middle of a montage
I have this camera movement system set up (see Picture above). It works fine, but when the camera gets to the second position, the lighting in the scene flashs. The settings on both cameras are the same. Anyone know why its doing this? The exposure is set to manual. I wonder if the exposure doesn't adjust until the motion of the move is finished and that's what's causing the flash. Its like I need to find a different way to move my camera.
and calling crouch during montage wouldnt work? surprising , didnt expect that
It's because it only happens on movement component update... You can call it and it basically queues up for the next update cycle... Which happens after montages
So +60 in z?
hey. has anyone got experience with construction script unable to fill array? im trying to add vectors in array. works fine in blueprint's viewport, but it doesnt work when i put the blueprint in the scene
Ok, can i see a screen of the math for that adjustment
It would appear so ๐
hello. I am trying to find similar functionality to "Is Playing" and "Get Play Rate" but for a Niagara system instead of a skeletal mesh, and also get the total time a system loops for, does anyone have any ideas on how to achieve that?
No worries
Nothing here causes UI to show. You should breakpoint the very last node calling AddPartyUnitToHUD, if that runs, then you issue isn't in this screenshot.
what do you mean?
Click the very last node and press F9. It'll put a red circle on it. Play the game and see if it freezes and breaks when this code is ran.
it didnt break or freeze, but there was no ui added
Then your code isn't reaching that point. Which means either you have no input in this pawn, the overlap was empty, the cast on player controller failed, or you have no units on the world deriving from PartyUnit.
You'll have to keep breakpointing backwards to see where the code runs and where it stops.
how will i tell it stops?
It'll pause the game and focus on the breakpoint.
If it doesn't, that means it didn't reach the breakpoint.
hello, have a question, a turret is a player, so i created a character blueprint , add ability rotate left-right , and upside- downside by mouse. no problem with left-rifht rotate, but when i rotate upside-downside, that whole mesh is rotationg. does it possible to make rotate upside-downide only red part of mesh ?
as Squize said, you can only do that with separate meshes
(joke)*
haha
ok, so i can do it with skeletal mesh ? means i need animation on bones ?
it stops right here
Personally id make it two meshes but..
ok, it not a problem to separate mesh on parts, but i would like to make rotate blue part right-left by mouse at same time when red one
ok, it not a problem to separate mesh on parts, but i would like to make rotate blue part right-left by mouse at same time when red one
how could i parent ? you mean in blueprint ? but if i parent, i will get same problem. blue part will rotate upside-downside
blue part should rotate left-right side only
So make that the parent component.
Moving it will move the red
Moving red will not move blue
scene root => blue part => red part
the pawn shouldn't inherit the pitch/roll and you "copy" them manually on tick from the control rotation to the red part
ok, will try, not sure if i understand, but i know direction where to seach
or rather, add the input directly to the part instead of the pawn
how does it possiible ?
idk how you actually handle input, one way would be an custom controller for the turret pawn
another way would be to handle the input events in the actual turret blueprint
Now take this one off, and put on on the ForLoop.
it doesnt break there
yes
I would hazard a guess that your cast is failing then. As if it succeeds, that should most certainly break on the for loop
well how would i fix it then?
Find out why GetPlayerController isn't returning the controller of that type or a valid controller. First to make certain, try putting a printstring on the failed part of the cast and breakpoint that or see if it prints.
If that fails, it means the GetPlayerController is either invalid, or not of the type you're casting to. Given naming, I'd consider renaming your controller to something a little more project specific as there is already a class named "PlayerController"
After the rename, double check your GameMode or World settings, to be sure you're using the correct controller.
doesnt work. bottom part still rotate upside-downside.
i tried, but still whole 2 meshes rotate upside-downside
search for control rotation in the details panel, there are options to check if it should use the control rotation
you most likely want to disable that at least for pitch
got it, will search
doesnt work
there is no something like Control rotation
on static mesh
on details
was any of those checked before?
no, it is a default stuff
did not touch it
how would i do a printscreen?
PrintString, not printscreen. Just right click the graph and write Print, it should show up in the list.
is that the controller or the turret?
also have a controller
would i printstring under cast failed?
Correct. You're looking for debug info to know for certain that the cast is failing.
turret i guess
should i still f9 it?
If you don't want to watch for the printstring in the top left, then yes, otherwise it doesn't matter. Either way will give confirmation.
@fading wren honestly i have no idea why your stuff applies pitch at all
it did printstring
it shouldn't from my knowledge if you haven't enabled to use the control rotation for pitch
it because an event graph
what? that code should add pitch to the controller, not to the pawn/turret
Then your PlayerController is either invalid or the wrong class, and given where this is running, I would wager a wrong class. I'd strongly advise renaming your project's PlayerController so that you can easier differentiate it from the engine level PlayerController.
well i changed the playercontrollers name to battlecontroller
ah ok
it still failed
Did the cast in your code change names to CastToBatttleController?
What about your GameMode class? Does it now have BattlePlayerController as the specified controller?
it still has player controller
Change that to your new name one. Your project is using an Engine level controller and not the one you intended.
when i press the interact key it changes controller
Not following?
the code is initiated when i press the interact key
when i press the key it changes controller to the battlecontroller, but the ui fails to show up
Are you talking about the cast?
yes
is there any helper method to get the correct rotation for a character to look into a camera?
as FOV and such make it impossible to use the camera location as reference value
You don't ever actually change your controller. The cast is just allowing different access levels. GetPlayerController returns access to the PlayerController class. Your class inherits from that, so to access the things on your controller, you cast the same pointer to the new access level which allows more access. It's still the same object though. The issue is that you're not actually using your BattlePlayerController. And so your cast will fail when trying to cast to that. To fix that you have to change the GameMode's spawned player controller class to your BattlePlayerController. Then GetPlayerController will return a BattlePlayerController at the access level of PlayerController. Which you can then cast to BattlePlayerController to gain access to it's functions and properties.
i did that and ran the game and the camera went chest level and the ui still failed to spawn
wait nvm
Does the cast still fail?
What all have you done in this PlayerController class?
I'm not really aware of controllers affecting camera views like that. Normally the character has a camera on it that is set as a view target for the CameraManager.
Does the pawn you're using have a camera component on it?
how can i check that?
Do you have a default pawn class specified in the game mode?
yeah, its the character i move around with
Open that class up, and check it's hierarchy in the components list in the top left. It should have a camera somewhere in it.
Over here. Something like this.
Is it in the correct location you want it to be, when you look at it's location in the viewport?
this is how i want the camera to be
but for some reason in the battlecontroller it changes to be in the chest
That is certainly odd. Creating a new controller class should not do that by default. :/
yeah idk why its doing that
First thing I'd try is disabling the spring arm's collision test setting. Maybe it's derping on another component.
Yep
now run the game?
Yeah, see if the camera is behind the pawn now.
What camera class is that camera?
idk, how can i check?
Hover over it, should show a tooltip.
Weird. I'm out of ideas. Supposedly older versions had an issue with cinecameras not being able to be used by default. But yours is not a cinecamera. Only other hint at this issue is virtual reality plugin stuff messing with things. I've never experienced that bug personally. The only time I've seen a camera do that was when the camera never existed on the Pawn, or if the CameraComponent is disabled.
wait
would there be a way that battlecontroller is messing with the camera?
None that I'm aware of. Not if all you've done is put a create widget on beginplay.
would this option on the camera might be the issue?
You could try changing the GameMode's controller back to the default PlayerController. If that fixes the camera, than it has to be something with the controller, but I can't fathom what it would be.
where is this option?
It is under cameras, 2nd pic shows where. Not sure if it help, but I see it is turned off by default.
but in what blueprint?
I want to say your turret.
???
oh, shoot. I confused what pictures where yours.
oh ignore me, I thought this was the turret question
no lmao
this is horrific
holy spaghetti code this is going to give me nightmares
At least it's all in one blueprint. The real horror is when this kind of thing happens in multiple classes.
jokes on you, that controls all the classes...
@maiden wadi would there be a way that i could get the ui without needing to mess with a controller?
because i can get the camera working, but not the ui
Potentially. But if subclassing the base controller is causing problems, I would debug that. Controller is a pretty core class that you'll need in most projects.
how can i debug it?
Dunno. Trial and error mostly. I'd start with changing GameMode's PlayerControllerClass back to the default PlayerController. If that fixes the camera. Create a new PlayerController, do nothing in it, and set that as the GameMode's controller. If that doesn't mess up the camera, then something in your first player controller is messed up.
It's also much easier if you have access to C++. Breakpointing in engine classes to see why the camera is not where it should be can be easier sometimes.
im gonna copy the blueprints from the battlecontroller over to the newcontroller
see if that messes things up
sorry, it is me again. is it possible to switch off YAW only on this mesh ?
ok so changing all the blueprints to be the same sort of fixes the issue
just the ui doesnt fully come in
hey, what node is this?
Looks like a Get(Copy)
thank you
Is there a quick way to automatically point a camera at a moving actor? For example, I have a car going by my camera, and I want the camera to keep the car in the center of the frame
get copy or get ref
I did that by making a simple pawn class with a camera. Spawned it as an AI, and SetFocus on the thing you want it to follow, and setting view target to that camera. For a camera attached to the player's pawn though, I think you're basically stuck changing some settings to make the camera use control rotation and setting the control rotation on tick to the look at rotation from camera to the target.
haha thanks, anthaer said samething, both right
is there a way to call a rep notify in another blueprint?
a what now ?
sorry multiplayer stuff
It's hacky. But if you just want to run the OnRep, you could set the object's OnRep variable to what it already is, that should run the OnRep. Only works in BP. Alternatively, move the logic to a new function and make the OnRep call that and then call the same function elsehwere.
replication! i was wondering what rep was standing for ๐
good ideas, will be trying those
I have basic pawn character, how can I force it to rotate in specific direction (with default rotation speed and animation as well) without moving it?
@maiden wadi it worked, but my ui is kinda fucked
it doubled the ui for Arthur for some reason
I found some nice code for this
Looks like you added it twice and didn't clear the old stuff before adding.
Not sure. What does your event that you call to add ui to screen do?
where would i find that?
It looks like something you created. It's after the loop.
wait
i know what happened
one of my npcs was a spawn of Arthur
is there a way to show mouse cursor with blueprints?
the node "set show mouse cursor"
i want to start the game without showing the mouse cursor
Hey yall, if im creating a system that randomly generates medieval weapons out of blades and handles and stuff like that, and i want the weapon to function differently and be able to respond to the same player inputs with different in-game actions depending on what kind of parts are present (like a weapon with a cross guard handle would guard on right click and a pole handle would thrust on right click) how would i go about assembling those collections of abilities from different behaving parts into a single wieldable entity?
Ive been watching tutorials that deal with similar things like randomly generated guns from typical looter shooters, but those just involve randomly getting different skeletal meshes from an array and sticking them to sockets, but i really wish i could just make these weapon parts blueprints in themselves and just stick them and their meshes together and let them call common events from each other
I dont know if that solution is possible or viable or how id even do it
have you already started doing precedural generation?
Ive been trying to learn about it from videos, but no im not too deep into blueprinting it
if you have, have various types of weapons, like swords and spears, and catagorize them as such
then have different categories do different things
thats how i would do it
My want would be to do this without having to create explicit weapon classifications
I get the idea that classifying might limit what is possible?
id honestly just work on the procederal generation for now
because thats going to be the hardest part, besides animations
What would be there to work on if i wasnt implementing their functionality? :o cause i already get how to create sockets and randomly put skeletal meshes together
You could tag the peices and then based on the tags the weapon ends up with you can categorize it's behavior
how do i set up that node only during combat?
Back when i was working with unity I had it figured out. You can tag prefabs in unity and can get components from game objects with specific tags. So i had this plan where i would randomly pick the parts and then have those weapon pieces only need to call common functions from eachother that would be the same across all potential parts, that way i could have the function calls be very generic and not need to KNOW what is attached to them
But i just do not know how to do this in unreal terms
Thats why i wish i could have each of these parts as separate blueprints with their own blueprinted-out behaviors
I'm not at my pc to check, but I'm pretty sure you can tag the mesh assets
But it could be just the components
Assuming you're using a datatable for the weapon peices, you could include the tags there too
In your player controller there's a variable called show mouse cursor
yes i know that
im wondering how i can change that variable when im in combat and only in combat
Branch combat variable then set
Get a reference to the player controller and "set show cursor"
Start by thinking about your item definition
Think about a struct that could represent your item
You could either have something like
Handle = SpearHandle
OnRightClick -> Handle.Action()
Where SpearHandle.Action() is a stab
Or
OnRightClick -> Switch on Handle.ActionType -> Do Thing
Then your item definition includes the handle. And the handle definition includes or otherwise drives the moveset
Sorta like if MyGun.Shoot called MyChamber.GenerateProjectile and passed it to MyBarrel.SpawnProjectile, or if MyGun.Shoot just inspected data on itself to accomplish the same result
Make the ability part of the item definition. Sort of like a weapon tells the character how to animate when holding it. It includes the animations for handling itself.
like this?
Can structs store collections of functions?
Sorry trying my best to understand the explanation lol
So i would infact make these parts separate communicating actors?
In C++ I believe you can define functions within the structure for accessing data within it, but that's not exposed to blueprints, so in bps they're just a predefined set of data container.
Ah shoot so i gotta type up that part?
My best guess is an array of structs where the structs contain all of the qualities of the part, but its a shame if i cant easily include the unique ability that gets used in their array entry
What's the use case?
how do i make it if battle ui is on it changes if mouse cursor is on?
i cant connect it to the branch
I guess so i can put the ability on the part itself
How wild do these abilities get?
Are you reinventing GAS?
Whats GAS? lol
Im in too deep and im gonna be real with you, this is about guns, i was just afraid someone of a higher skill level would see me not able to do something and then be able to realize something im working on faster and better than i could
If it's guns then that's fairly parametric
What i want to do is create different parts that use ammo differently and fire different projectiles
So barrel governs projectile type and the body dictates how ammo is stored and used (i.e fire rate, ammo capacity, any unique mechanism like the rotation of a revolvers cylinder)
My first plan for this in unity was with a default basic revolver. The trigger and hammer were separate parts that recieved input from the left and right mouse buttons, and then they communicated to the barrel and body to do their left-mouse and right-mouse functions
Like hammer rotated the cylinder
But i want this functionality to be variable and not just apply to operating a revolver
So how many parts total?
In one gun? Probably 3
the barrel the body and the grip
Thats why i wanted them to just be different blueprint actors that talked to eachother
what is utility editor actor component for?
Maybe i shouldnt use sockets at all maybe i should just make separate actors and then spawn them in separately at designated points in space on the body
I am just wondering how you got the BP connecting lines to look like that rather then curved and wavy.
are you looking to do something similar to the Borderlands weapon system?
I'm pretty sure their weapon parts are skeletal meshes on one base weapon object
Yeah :o except with a greater emphasis on like, inner mechanisms
Yeah but i might not be able to take the same approach because their guns function widely the same
Not to discount their loot variety
Oh i see
you might want to do something more like making the parts components, because they could run separate functionality
Can i make custom components?
Do these nodes not do what they say? Theyalways return true, doesn't matter what I put in there.
yes, and it's incredibly easy to do so
Oh that would be excellent then
AAaaaah fuck yessss
I might suggest that you make one parent component to hold the most basic stuff, like the mesh used, and then use children of that for individual functionality
So the bits of functionality would be child of the mesh rendering component?
I'm still undecided on if MeshComponent + Code is gross or not.
That kinda smells like it should be an actor
I think i might feel the same
Like what's the difference between a MeshComponent that has some extra functionality or an actor with a MeshComponent that has some extra functionality. Get's really weird.
That's where I like the Godot model much better, it's all just scenes in scenes with no split between actor and component
I kinda thought actor components could have components attached, but I could only imagine the mess that would create if so
Like what if you want a part that's a skeletal mesh, do you make another one?
Actors are probably best, now that I've looked at it
Hmm
See switching off of unity i was considering godot as well as unreal funnily enough
Now im wondering if this would work better in their model
I like some Godot concepts but if your goal is to make a great looking game with the least amount of BS then Unreal is the place to be IMO
I'm super happy with UE after getting into it, yeah
Yeah i dont want to jump around too much and im committed to learning what im doing here before going anywhere else
I dont want to leave this behind without giving it a real shot
everyone said to do Unity because it's "easier" but I couldn't imagine a better workflow than UE
Cool cool
So should i make the gun parts actor components or actors themselves? Assuming that my root piece of the gun will be the body, the middle of the gun where everything gets attached to
I'd do actors themselvese
assuming the parts have independent logic
if you're going really object oriented with it
They will yeah
If a part is just a mesh + some data then you can do it a different way
Yeah very object oriented very literal
Trigger tells barrel to request ammo from body and such
You could see how a long barrel revolver rifle could be
RevolverBodyActor
LongBarrelActor
RifleStockActor
OR
Gun:
BodyMesh = Revolver
FireAction = Revolve
ReloadAction = MoonClip
MagSize = 6
Caliber = Pistol
BarrelMesh = Long
BarrelVelocity = High
BarrelAccuracy = High
BarrelRecoil = High
StockMesh = Long_Wood
StockRecoilReduction = High
With chunks of stats coming in structs
So these are my two big options as far as designing this system?
I think it's the two main flavors of doing it. Data driven or just making actors
We are doing our weapons as a SpecificWeaponTypeBP + StatsThatCanApplyToAnyWeapon
so sort of a mix. We have a BP_1H_Pistol_Blowback but can swap the mesh and all stats out.
Hey , I'm facing some error in my BP code
Oh are you making a similar kind of game?
Dedicated server?
Client
More like a Diablo type shooter roguelike
Is your server dedicated or listen?
Thats pretty cool
listen
Ah i didnt get the second flavor you described but after reading through it a few more times i think its starting to make more sense. I think the first form would work best for me. Ill focus on getting these parts to communicate before i worry about making them appear together as one gun. I can probably concern myself with that later. I really appreciate the time and help that you have offered me
Just have Body or Gun spawn parts and attach to Self, and you're in business
I do the same with vehicles, vehicle spawns parts and away it goes
You'll still want a struct, it might just be like
Body = X
Barrel = Y
Stock = Z
I just imagine they will need to have a saved place relative to the bod to spawn, and thats what made sockets useful :o
You can still use sockets
Will the struct save the gun composition so i can store it in like an inventory later down the line?
Oh ok cool
Ok ok awesome this is great im excited lolol
Attachment can optionally use sockets. Just author your meshes such that the sockets are ligned up. I'd have the origin for barrels and stocks and stuff be at where they should attach to socket so they can just snap
Any help ?
so body holds sockets for things, which can hold sockets for things, ad infinitum
Ye while trying to figure this out i already stuck some sockets onto a revolver body skeletal mesh
We author all our weapons so they can just snap to our weapon hand bone just like a socket, same idea.
Ye i did infact set the origins on the example gun parts i made so they can just stick without clipping in
socket for muzzle FX, socket for case ejection, stuff like that. Socket for ADS if that's a thing
Socked for ads like a scope attachment?
Socket for camera location if you want
Oh wait i get it yeah
Ok cool good idea
So when i eject a case i can spawn the mesh at that point
you'll want that to be a particle effect prolly but yeah
Ah ok
you can use bones too if they're all skeletal, depends on how you wanna do it. Just keep it consistent
attach to x at socket will also take a bone name
I mean i put bones in all the parts so that all the meshes are skeletal and i can animate them if they have moving parts
But will bones help with attachment if they already have an origin and the body has a socket for them?
yah just have a bone for attachment points if you don't wanna mix it all up.
Will it be fine if id rather just stick to model origins and body sockets for attachment? I dont know too much about bones besides they will be used for animating
You can treat a bone as a socket
its' basically a socket that can move
and bring parts of its mesh with it
Just keep the same name like BarrelAttachment or StockAttachment across all your models, and things will just snap together
Gotcha
BarrelAttachment is where a Barrel would attach, and it would have a Muzzle bone or socket where FX can spawn, etc etc
I see. I still think id prefer to reserve bones for animating moving parts and use sockets for attachment and particle effects? I dont anticipate that creating any confusion and inconsistency
I think thats everything i need though, thank you
I got a curve table but trying to figure out how to name my curves. No luck.
Is there a way around Get Overlapping Actors not working with complex collision only meshes?
Not working how?
If you use print string on the overlapping actor does it show up?
Nope.
Can they overlap in the first place? Check collision settings
They can - works perfectly fine if I set it to use simple collision
Maybe your complex collision isnโt as you expect? If you enable it visually on the mesh does it look intact?
Yes
Does it have to be the complex parts overlapping? Can you add another collider in the actor somewhere?
It's a trigger box and an actor with a static mesh
I honestly don't like it. For example, you can't tell which line is which in that screenshot
To be fair that was really bad organization and I just threw it together
Shouldn't be a problem. What does the collision detection part of your BP look like?
This is a more sane example
This is all I'm calling
Works fine with simple, doesn't work with complex
Ironically, if the ownership area is build after the complex collision item, it will work. But if you place the complex collision item down after, it doesn't.
I find this rather hard to read to be honest. Too many nodes for what is going on.
That's fair. It's me heavy prototyping so it's getting converted to C++
ComponentOverlapActors worked ๐คทโโ๏ธ
how would i get an npc to turn towards the player with a button?
Rotate to Face Entry in blackboard
I would use focus personally.
Either works. Depends on your NPC setup. Focus sets the control rotation of the AI to a target. Very useful for aiming at stuff with or without weapons.
Do AI controllers have control rotation?
Learn something new everyday if so.
ControlRotation is a Controller.h value.
Property^
You can set focus to a location or a specific object, really stupidly useful for AI stuff.
If you're more curious, look up AAIController::UpdateControlRotation. Is the major function for that.
I really like making my pawns such that they are completely agnostic as to whether they are AI or Player driven, this is awesome.
Makes testing a breeze too, just possess and drive them around
Now we just need AI to be able to call input events
To be fair, you could do that pretty easy with a pawn base class. Simple inheritance events like "UseEquippedTool", etc. Just make an AI tree node that calls that same as a player pressing left mouse or something.
Make it like Jump I guess. Where it's called locally, handle all networking internally to let designers not blow things up worrying about server/client calls.
Hi, does anybody know of a way to have a blueprint class work like a static class? I am trying to have a certain array of structs be always easily accessible from everywhere
I believe you're looking for DataAssets.
I made an empty game state class that inherits from AGameState (which in turn inherits from AGameStateBase), and when I use it in my game mode nothing works. There is no gravity, I can't control the character or camera, its all broken and I don't know why.
The previous GS was GameStateBase, so I don't think there should be any config problems.
I am not sure how to fix this, so any advice or help would be welcome
I tried making another class that inherits from AGameStateBase, and that one works, so I guess I will just do that
GameState has to match with GameMode. GameMode/GameState and GameModeBase/GameStateBase Cannot use GameState with GameModeBase for example.
I had no idea. I saw that the GS had some multiplayer stuff in it, I assume that GM does too then, and that is why they need each other
Ah alright, thank you, I will look into them
how do i make a second camera object that follows the player?
A very good plugin when you learn how to use it best.
If you're gonna use reroute nodes all over the place anyway then it isn't really even saving you any time
Just get electric nodes, darker nodes..
Its automatic with blueprint assist. This was just one hotkey
Im lerping my units between 2 different transform/position. But sometimes the destination is too far away, and that makes them go too fast. How do i lerp them so that they go always at the same speed everytime regardless of the distance?
I made that before using Set Timer event, and a float that increased consitently in the alpha.
But with timeline i get quite confused.
Timeline length รท distance -> set play rate
nice will try it ๐ thank you
but wait. All instances have different places to go to? So how can i do that?
Oh actually get distance * .01 first
If your timeline is a length of one then it will move them 1 meter a second
Lerp inputs are your start and end points. Just update those
sorry i dont understand. Where do i put that?
maybe i should use event
So to reiterate
Distance (start,end)-> * .01->
speed multiplier/output of the multiply-> set play rate
If you set speed multiplier to 1, it'll move at 1 meter per second
Speed multiplier set to 2 will move 2 meters per second
Every time you want them to move you just set start location (A of the lerp) to the current and end location ( B of the lerp) to the destination
Not cheaper?
Barely if at all
well just lower the timer tick, right?
Nah, if you're gonna tick you should just tick or use the update off a timeline
More expensive and it'll still only update on tick
It'll just run a few times between updates and then do it all at once
okay got it
so i will have to use your technique above ^
But here is what i dont understand. when you mention:
You don't have to, but it's pretty straightforward
Distance (start,end)-> * .01->
speed multiplier/output of the multiply-> set play rate
this. I have like 80 distances
im lerping a group of instances
Aren't they all moving about the same distance since they are in a group?
Its just to calculate the amount of time the move should take.
attach another camera component to it? you can set the components active or inactive to swap cameras. There are also camera actors, which a controller can view target
But each one has his own destination.
they are a group
but they could be going to very different places
depending on the tactic
in the set timer event, i move them by percentage
So worst case using an average distance the ones going further will hustle a bit
so they will arrive first and just wait?
thats good
thats whats needed
Thats basically what you're still doing, you just need something to base the playtime on
Nah if they all run on one timeline then they will all arrive at the same time. So the units going further will move faster then the ones going to a closer spot.
If they are all going to their own destinations at their own pace then it'll take a bit more consideration
ok so maybe i should simplify it and make it work even if they arrive at the same time
I did this to make them attack in a natural manner
but its spline
a bit yup. but its al dente
Is there a way to compress a group of nodes in BP so that they don't take up so much space?
@cyan bone you should try a math expression node to reduce the amount of float links
yes
yup those are great
Ah, thanks
apparently they're much more efficient, as well. I keep forgetting to use them
ah really? didnt know that. I heard in a podcast yesterday that whats expensive about blueprints is the connections.
@tall swift if you find yourself doing the same thing in the same BP multiple times, you can try collapsing to a function instead
... But does that also apply to pure connections?
pure in the sense that it doesnt have the white execution connection
I get the impression that math expressions are baked in when you finish editing or something
they have the non-editable graph like BPIs do, and I think that's because there actually isn't a graph being used. That's just there for the user's viewing pleasure
no I believe it uses C++ for that expression or something
obviously BP already uses cpp but it skips the extra layer of BP fluff
i wish bp was just as fast as cpp. one day they will come up with something ๐
Its generally as fast as c# but it will never be able to match c++
The way the fundamentally work makes it impossible
so its always as fast as unity at least ?
98% of the time yeah
awesome
would anyone know how i would approach getting 2 unique random data table rows with a specific column/category?
for example 2 random rows in the "Assault Rifles" category that arent the same
Make array out of all rows, shuffle it, get first 2 elements
was thinking of the same category/column though
so 2 random rows with the "assault rifles" category
I meant out of all rows that match whatever criteria you have
Ditch the timeline,
Set path -> VInterpConst on tick, calculating your own speed if theres any acceleration involved
I've been saying the same for days lol
Its the way to go for this^
Along with updating rotation
Basically a custom move component i guess
@faint pasture i know this is the wrong approach, mind helping me out real quick? ๐
Make a function ...
With array input, and number of elements to add
Internally clamped by array length
Hi guys. I've made two separate Widget BLueprints, one with a layout for the interior of my car, and another Widget BLueprint layout for the exterior scene. By clicking a UI button, the user can switch between interior and exterior camera.
Whenever the user selectes the button, I also want to switch between the two UI layouts. I've got a custom event setup that should hopefully toggle between the two UI's
I'm having rouble casting the data though on button-click
The first cast is for the camera switch (that works) the second cast for the UI switch
I'm not sure what to input as an Object input for the cast
Because that is a HUGE mess. I have widget switchers within widget switchers
No biggie
Also, it didnt work
Like, the UI switch worked, but then when I switches from one UI back to the other, the buttons didnt work anymore
Sounds like something was done wrong tbh
Here I am switching between the two main UI's. Each UI already has a widget switcher in it because the exterior UI has a "Folder" for the different car paints, a sepearate folder for the rims etc
This was the only pproach I could think of
its a mess, but best I could do
Holy..
Atleadt it looks clean :p
Ignore the buttons on the interior not workingl, they are not hooked up yet. But when the user goes back to the outside, nothing works
Yeah I have a bit of a tidyness tick I suppose lol
I can slap together something i guesd
Gotta wait til after breakfast tho
30 min perhaps
Sure thing no worries!
I mean sure, if it works Im down
I tried, but it just didnt go well, probably because I overlooked 100 things
Toggle interior view -> set switch 1 to 1
Toggle exterior view -> set switch 1 to 0
Toggle folder1 -> set switch 2 to 1
Etc
Actually 3 switches is enough
Need them animated?
Sorry, was cleaning the kitchen
Animated in what sense? like a fade? I was thinking of adding one as a transition between INT and EXT UI layout
But thats something I can add myself
I need to head off to work in 20-30mins, so feel free to just ping me when you have figured out a way of making it work and I'll take a look at it this evening when I'm back. I really appreciate the help!
I want to print the string by the array index order, it's in order but printed all index on my screen. How to make it print per index?
You dont need the Get
the ForEachLoop macro returns the get as the "Array Element"
Great, so how to make the string printed one by one per index?
What exactly are you asking?
Did it print in one single print text?
wanna print it from first then second instead print all index
if i implemented in on set static mesh it always read the last index instead of 0
This is printed one at the time
Nah... what i need is print the string from index 0 - last one by one instead print all index
the print stack is correct
the first printed index is at the bottom of the list
if you want it reversed (For your eyes pleasure, not for engine iteration) you'd need a reverse for each loop
agree... but if i change the string to static mesh array type it always read the last index
Further, wrapping it in a simple function, makes it easy to hide it again
Adapt names to your choosing
this is the hierarchy
Very sloppy naming but its just a mockup
I'll try
last vid related to this.
It doesnt, It always works the same way..
Iterates over the array elements first to last
when using the ForEachLoop macro
When you print a text the newer text goes to the top
Because priority of new data
why dont u just invert the array?
has the instanced mesh thing always been there or did they just add this?
whats actually the difference between instanced and normal mesh component?
Iall instances of an ism is one drawcall
Copied in the gpu or smth
While a regular mesh is 1 draw per mesh
ok so basically its better to have instanced meshes instead of normal ones as long as they dont need to change individually?
ISMs won't have individual collision either I think.
They do
Oh? Neat.
๐
Basically use ISMs when the only difference between meshes is its transform
And you have a lot of them.
Hi all, I think this is the right place to ask this. I have an actor that when spawned, procedurally generates instanced static meshes to create a "dungeon" and I have a nav mesh in the level already. The problem is that when the actor spawns all the instanced static meshes, the nav mesh doesn't recognise them. If I move another object (in simluate mode) it rebuilds the nav mesh but still doesn't take into account the instanced static meshes. I've been messing around with this for a while now trying multiple different things. The only method that works is to start the simulation and then move the actor within the editor viewport of the simulation, which then takes all the instanced meshes into account and rebuilds the nav mesh correctly. Any input or suggestions would be greatly appreciated ๐ (all done with BPs)
you need to turn on navmesh generation at runtime
The engine supposedly auto instances now tho. A feature that xcme in 4.26 or 4.27. Havnt seen it in action but..
I've tried switching that to dynamic. I believe that used to be a tick box but now is a drop down with 3 options, from looking online anyway
ok so basically its just for legacy support now?
its some setting that you have to enable in the .ini
I use it all the time , but i might not have to
[/Script/NavigationSystem.RecastNavMesh]
RuntimeGeneration=Dynamic
bForceRebuildOnLoad=True
bIsWorldPartitioned=True
[/Script/NavigationSystem.NavigationSystemV1]
bGenerateNavigationOnlyAroundNavigationInvokers=True
bAutoCreateNavigationData=True
bSpawnNavDataInNavBoundsLevel=True```
thats what i put in my DefaultEngine.ini
Ok, looks like I already had the first 3 lines of that in there, have just put the rest in now and restarted the editor (just in case) and now I appear to get no navigation generating
The ism comp, is it set to a walkable nav type?
The last line states only around invoker
Meaning you need to add a nav invoker to your char or to the dungeon generator
I haven't seen that setting before. It's set to "can ever affect navigation". if that helps?
ahhh ok, thanks
There should also be some nav class or something
bGenerateNavigationOnlyAroundNavigationInvokers=True
``` this line *
this only works if you use nav invokers
basically it generates nav around everything that has a navigation invoker
its an actor component
Ok so I found this when editing the static mesh the ISM uses, but it is under the box collisions array which I have 0 elements in. I do however have a simple box collision on the mesh
I've just added a navigation invoker to the actor that generates the ISMs and I'm getting the same behaviour as before. A couple of manually placed objects for testing have navigation on them, but nothing on the procedurally placed ISMs until I move the actor in the simulated editor
I've also placed a test actor that has a ISM too, this behaves the same way in that it only has navigation generated on top of it when I move it, and this actor is just adding a single ISM on begin play
i think there was some setting to regenerate it in editor or something
Hello guys - how can i Lerp between two points at an angle?
Instead of going straight, we go at a curved angle.
I can't seem to find any resource on this. Any links / names is enough to get me going.
Cheers!
The weird thing is, I've added a print string to the OnNavigationGenerationFinished event, and if I move other objects it is rebuilding the navigation. It's just that it won't take the ISMs into account until they themselves are moved. thank you for the input so far though, it is appreciated
no idea how to get aorund that, maybe just move them a little after spawning lol
haha, I've even tried that. If I move them using SetActorLocation it still doesn't rebuild. It's only if I move them in the editor manually. I'm just the "problem child" I guess haha
Any give angle you want ? Or just some angle?
Bezier curve is probably what you want to work from https://gamedev.stackexchange.com/questions/157642/moving-a-2d-object-along-circular-arc-between-two-points
Yes this is exactly what i was looking for. Thanks @gentle urchin ๐
hello there, can anyone tell me why isnt the mesh showing in the viewport?
did you get an support NFT?
sorry i didnt get you
support from who?
anyone has leads or tutorials to add flying characters?
Is there any built in blueprint to make line traces bounces, or do you have to do multiple line traces like this? https://forums.unrealengine.com/t/line-trace-based-on-reflection-bounce/304286
I have a shoot mechanic that launches a physics ball that can bounce on the level collision (it is basically the FPS template ball). In relation to this I want to create a preview of the bounce trajectory. The idea is to use the trace to let the player know what direction the ball will bounce, before he actually launches it. Later I will switch...
Multiple
i mean you can just make a function no need to have it built in
This happens if you set the color in BP to something else. Make sure to disconnect that node unless you know it works.
hi all I am adding widget to the viewport after adding it i cannot click on the object on my map
anyone can help please
We solved it in #ue5-general . I turns out it was an old reference for which the construction script was setting the mesh scale to 0,0,0.
Hence the disappearing mesh.
is unreal removed the floor in the new update ?
i can not edit root without the floor
Seems like you've removed it, I've still got floors
how to add it ?
Try the 3 lines, next to the perspective button, sometimes it under that, and then Show floor
If I have a door that saves whether it's open or closed when last played, how do I make it so I can set what the door should be at the beginning with states in a way that it won't continuously oversight the saved status of the door? (or is there an alternative?)
The question is, how you can use the saved Open/close state? As like, if the game restarts, then it would use the open/close state from before the restart? Or?
If the player saves it, then it should leave it at whatever state it was at the point. Currently, I think something's going wrong due to 'event begin play' setting a user defined 'Switch on' state.
It changes the original state of the door once, saves that but then it won't change it again after that.
yeah inside preview settings thank you
Are you using the SaveGame function for saving it?
Hmmm, that's a good point can't find one, I'll try that.
How are you saving it? ๐
A blueprint interface, never did it this way before. XD
Wait, when you say 'SaveGame function' does it have to have 'Save Game To Slot'?
WAIT there is one
That is the function yes
Ok yes I found it
Custom event - > save game to slot
Referencing the SaveGame Obj
And get class defaults.
Something like this, for saving and editing:
Thats why I prefer coding
Where, Find Buildable is a function in the save game class, where we check if the save game contains an object on the location
Ah, thank you, I don't have this part so it seems I'm probably missing something, I'll see if I can add it in, thank you. :)
I'm saving and editing plenty of stuff this way, so just ping and I'll be there, if i'm not at work ๐ตโ๐ซ
Ah, thank you very much, I appreciate that immensely! :D
i don't even have source control but i get this error while trying to save
@distant token oh I completely get it. If i could learn to code I would be switching for sure on some things.
Yes you should learn some c++
Sorry I'm sure this is basic but I can't figure out why I am getting this error!
I am trying to use a Timeline to animate something when hit, and it works the first time but then fails. I get this error for each instance.
PIE: Error: Blueprint Runtime Error: "Accessed None trying to read property Timeline_0". Node: Timeline_0 Graph: EventGraph Function: Execute Ubergraph
I added a timeline node by right clicking and adding Timeline, then I added a track with some keys. How is it null?
anyone know how can fix this after packaging I got this error
LogSkeletalMesh: Error: Material with missing usage flag was applied to skeletal mesh /Game/Kintsune/Mesh/SK_Kitsune.SK_Kitsune
Anyone knows a good resource about this node https://docs.unrealengine.com/4.26/en-US/BlueprintAPI/AI/Tasks/MoveToLocationorActor/ ?
I can't open it to look at the C++ behind it for some reason
Move To Location or Actor
Depends on what you've done with it and how you refetence it
Mark the material for use with skel mesh
Seems to be related to calling it from a Cosmetic function ๐ค
If I play from Begin Play it's fine
where? can you give me more detail?
In the material , property or details panel
How can I get the hit point a certain distance before the actual hit point on a line trace?
Hit loc - (hit Direction * length)
hit direction being the Direction between Start and End?
it is already marked for use with skel mesh, so ? any idea?