Create a Dynamic Material Instance for the lights on begin play. Ensure the material has a parameter that makes it emissive or not (effectively a multiplier by 0 or 1 that you multiply into the emissive output). Change the parameter of the dynamic material instance when you want the lights on or off by setting the parameter to 1 for on or 0 for off.
#blueprint
1 messages · Page 201 of 1
I'm struggling to find out how to make a dynamic material instance
Within your material you will need a scalar parameter that you multiply the emissive output by.
In your blueprint that has the mesh, get the mesh, get the material from the mesh that has the emissive.
This will create a runtime dynamic material instance.
hi there, does someone already had a problem like this ? When i load my main level directly, no issues, but when i launch it from my menu level i get all these "cannot attach --- which is static" stuff
I'm trying to possess a vehicle while keeping the player visible. I possess the gokart fine, but I can't figure out the best way to attach the character. Attach to component doesn't give the usual transform options. Should I be using a different method to attach?
You'll want to change the rules and you might want to add a socket to the cart to appropriately position the character.
Like this (The highlighted nodes from the material are the emssive textures)?
You may want to change the name of the scalar parameter in your material to something useful, like EmissiveStrength.
In the "SetScalarParameterValue" node, you'd need to enter the name of the scalar parameter you want to manipulate (in your current set up, your parameter is currently named "Param" so that's what you'd want to put into this name on the node)
You don't want to create a new dynamic material instance every time that you want to turn the emissive on or off, so instead you'd create the instance once on begin play and promote the return value to a variable. When you want to change the parameter, get the variable and then call the "SetScalarParameterValue" node and make your desired change.
If you have a mesh that has more than one material slot, you'd need to ensure the "Element Index" is set to the correct material slot number as well.
does anyone know how to make walking the default movement in the game animation sample project that unreal released a few weeks ago? when it starts up the player is already running until you press ctrl to walk
Did you check what they do on ctrl to make it so it starts walking and apply that as a default instead?
basically it just toggles, im not sure how to go about making the walk default tho cause of all the unfamiliar stuff with motion matching
IA-walk is just set to ctrl in the IMC
Probably just need to set that bool to true by default.
ill give it a shot
I think I got it. Thank you
setting the bool to true by default applies the correct speed but the animation is broken and nothing plays when I walk im just sliding around
Well it keeps the light off but it won't turn back on lol
Sorry for the delay in responding, had to wait for the shaders to compile... Setting "Wants to Walk" to true by default works flawlessly on my end, nothing else changed and the character starts off with walking by default.
testing now
where did you set want to walk as false in the BP? mine is already false just as a variable
Sorry, meant to say set it to true. You just set the default value of the variable to true.
The code you have should work. That's how you'd manipulate a property within a dynamic material and the fact that you do see it turn off is a good indication that it's working.
Datura is on a mission to help people today I respect that lmao
is there a reference or a bluerprint that can limit camera to always be between 2 characters like in fighting games like mortal kombat . I cant find any sources on internet on how to do that
that's his mission for quite some years by now
Ain’t nary a goddamn day that goes by that Datura doesn’t help someone
(It only flickers because I hvae more in my material function that does the flicker, but you can see that it doesn't flicker at all when the emissive strength is 0)
Dropped this into #graphics before but feel it may be more appropriate here!
Hey there! I’m working on a project with some friends to create an oil painting inspired game. As part of this style, we have created a Kuwahara filter using this video:
https://youtu.be/JJZBd7Zu0Ug?si=c9_ntJv5YLgny6wl
The filter is working great, however, we’d like to adjust the strength of the filter based on the distance from the camera. So that the paint strokes are bigger in the background and smaller in the foreground.
I came across another users solution, but this throws out X3511 errors (and more).
I have an idea of how it should work using the depth mask in-engine, however, I can’t integrate it into the Kuwahara filter.
Any suggestions to fix this issue, or other approaches to achieve the oil painting style are greatly appreciated!!
This video continues to build on what we did in the previous tutorial, found here https://youtu.be/Pe3Yt3DUp04
While the video is recorded in UE4, it should work exactly the same in UE5.
The wikipedia pages I'm referencing in this video are the following:
https://en.wikipedia.org/wiki/Relative_luminance
https://en.wikipedia.org/wiki/Dot_produ...
Yo I got it thanks a lot man I really appreciate it
Anyone familiar with the 2d grid execution macro in blueprints have any idea how to use the data from randomized splines to affect the individual 'tile' instanced meshes thats filling the grid?
Hey guys having an issue with a load error,
the error was resolved when I changed the ABP in the player BP
so there must be an issue in the ABP?
this is the thing thats being referenced but I havent touched it so im kinda stuck as to why this error is happening?
is it possible to make an variable array that conatins arrays `?
Hey, I was wondering if someone could help explain the practical difference between using blueprint interfaces and event dispatchers to me?
I'm making a music system for a multiplayer that changes based off global level parameters, and will go into different music "states" depending on that. There will also be player specific additions to the music though (ex player 1 could have State A Variation 1 music, while player 2 could have State A Variation 3 music), which means I probably want to play music in the player BP's, not the Level BP. So, I need to communicate the music "state" between the level blueprint and the player blueprints
You can create a structure that can contain an array, but you can't make it contain itself or have another structure that references the same structure within it. This will allow you to create an array of that structure, therefore an array of an array.
Interfaces are used to communicate to different types of blueprints that can't share a hieararchy.
Event Dispatchers allow blueprints to listen for events from other blueprints - multiple instances can subscribe and unsubscribe from the event dispatcher and react how they need to when the event is signalled.
In which cases does using interfaces make sense?
hi do you know what they mean by box?
An interface only makes sense if you're communicating to something that you don't necessarily know what it is, or it doesn't share a common hierarchy.
ah okay thx
that kind of things alway make me laught 😄
ahh... im sorry i don't really know what hierachy means in a lot of detail
I'm kinda not really a programmer...
what
It's a structure. Namely, the size of the box.
are you talking about the offset of the player from the capsule
the camera on his head 😄
well, I guess I mean I am a programmer but like, a FOB one
I'm an audio person but I'm in charge of makign the audio implementation system in our game
When you make a blueprint of "Actor" you're creating a child blueprint of Actor.
You now have a hierarchy of:
Actor
Child of Actor
where the hell it supposed to be
oh, wait, and then like, the child inherts the methods and variables of the parent
you just mean its silly like what?😭
I guess for a fps there but it's funny to see the look of the character with that in is head
so in my case, I'm trying to communicate between a level blueprint and character bp, which I assume aren't in the same hierachy; so I should use interfaces to communicate between the two of them instead of dispatches?
is t hat correct?
no, it depends of what you need to do 🙂
oh wait... but Datura was saying that interfaces are for communication of blueprints that can't share a hierachy
yes
and I thought that Level BP and Character BP's can't share a hierachy
but what communication do you need between your level and your Bp?
that's the main question, what are you expecting to do, and communicate?µ
so I'm making a music system that changes states depending on the state of the battle in game
Interface is : I don't know who is the actor, so to all actor that can do that things, do it.
EDispatcher is i have accomplish something i will inform all actor waiting for that information
we're still in the midst of buidling the architecture, but what I thought we'd do is have the level blueprint contain all the global variables that would determine the current "game state"
and then we'd send that information on what state we're in to the player BP's that play music
you have the gameState for the game state...
oh
I see
I'm just hearing about this now lol
again, like I said. I'm not really a programmer lol
so thanks for being so patient with me
don't worry, just we don't know what you are trying to do. there is lot of possibility to achieve what you want to achieve
Yeah, let me explain from the top?
for example, if you program music, to know the situation of the real game. outside the game mode. you need a place where the music info can be share into the entire game and for that the GameInstance is the best place
there are things that musicaly you can't perform if you play on game mode level. for exemple, fade in, fade out, to load a new level
...maybe I should just do some research on GameMode and GameInstance first
what are you trying to do?
Okay, let me explain it from the top
You don't want to involve level blueprint for those gameplay elements, the communication only go one way and not reuseable
so, it's a team co-op game, and you're trying to complete objectives around the map
I wanted to make a flowchart for the music like this: https://www.canva.com/design/DAGKkyi2cZY/vU7emVXZCxJMHPcGDqs1sA/view?utm_content=DAGKkyi2cZY&utm_campaign=designshare&utm_medium=link&utm_source=editor
you can see there are multiple states in that flowchart
The thing is, there are also player specific versions of each of these musical states (for example being Player 1 could be in Location A, while Player 2 is in Location B. Both would be playing "Enemies Approaching" music, but each location would have different versions of that music)
so we're going to have to attach the music to the individual players instead of something more global, like the Level BP (I'm pretty)
So what I thought would be a good system would be for some global object to be in charge of figuring out what state the game is in (are there enemies nearby, how close are they, are players fighting, etc) and then send that state to the players', which will then trigger the correct music
of course, I'm not actually sure if this is a good way of doing it, I'm just trying to figure things out as I go
does that make sense?
RIP
rip??
it's not an easy task 😄
no it's ok, it should be simple. it's on client level. and state per character
game state will be calculated per character
allowing them to know where exactly they are into that game state
So if you define all those rules, yes, you will be able to switch music according to the situation.
oh so you're saying I should calculate the game state in the character BP's?
sorry to interrupt but I'm new to UE and I don't know if this would be the right place to ask this, but I have a character with an animation for walking
however the animation physically moves the model forward, which obviously causes issues
how can I fix or negate the problem?
but im pretty sure you will need to implement that music on game instance level
can't you fixe the animation movement?
on animation level
wait, i'm kind of lost why that might be the case?
I did not make the animation, and I don't know the first thing about animating
do u mind if we move to the pivot point vc?
there is no music outside the game mode?
Hey everyone, weird question. my player has a child actor im using for floating guns instead of a full rig, and im watching a tutorial on how to set up weapons. The problem im running into is that the tutorial suggests spawning the gun in and attaching it to component, but i dont have anything to attach to as im not using arms. I dont know how to turn a child actors bp into a specific bp object reference. Any suggestions?
this is the recommended way, but again i have nothing to attach the actor to
i don't know if there is a tips on UE level. let me know please
what?
sorry, I don't understand what you said
Why do you need game state? why do you care if it's networked or not?
Music can be handled locally
if you are still using level blueprint tho, you probably don't even have a few months with Unreal. I would suggest to avoid multiplayer
i mean it's not really my choice... I was brought into the project
it's a student project at my college
I don't know if on UE you can fix that animation issue. if you can, let me know
kinda reaching out
and I was brought on to do audio integration stuff cause I have at least a little bit of experience
multiplayer for your first project is not a good idea
though it's either been in Unity or in audio middleware
yeah... I realize that hahaaaaaa...
my second question is that I have a character that rotates a lot, it has a turn animation so I want it to play that animation before it actually starts moving
how can I do that?
i'm not that expert with animation. i'm just starting animation now, and still on learning process
but with the new feature of UE5.4 it' possible i think?µ
adaptive animation. but i don"t know how it works
I have all the animations available, it just looks awkward to have it turn while moving
sounds like you have root motion in the anim
but you don't have root motion enabled
you get rubber banded when you stop moving too, I bet
how do I do that?
what is root motion? movement on animation level?
whats that
Root animation is exactly what it says. Animation data from the root, doing so enable you to extract those data to translate the capsule component
I am not fammiliar with using that for movement, normally for attack montages, vaulting, etc.
Suggesting to just remove the root motion and let player input drives the character movement
this is for a non-player character
on animation level?
wdym
is it something to do on the animation, or it's just a button to check to remove it on UE?
root motion can be enabled/disabled in the animation asset
good to know
there is a tick box that says enable root motion
i saw on Mixamo that there is a button to remove the animation movement. so i was thinking it was on the animation level before import into UE
read the doc if you are not fammiliar with root motion
i will when i will be that far, from now it was just a discussion :à
I enabled it but the only thing it does is flip the thing upside down
you want to find out if you have root motion to begin with by selecting your root and see if there is a red rubber band when the animation gets played. Don't just blindly jump in, you gotta know what you are doing.
Atm you are giving nothing as well to trouble shoot. Just a brief statement that the animation physically moves the model forward (with no picture)
play in pie
Open console,
Type show collision.
Move forward and take a screen shoot
kk
Blend animation? For real? Will it work?
so it's define a new animation?
why not? #animation probably know more
you can just use BlendSpace for most of the stuff
don't know how much this helps
i have finish to read that page. yes it's cool ! Didn't know about that, and i can see lot of trouble comming into the future 😄
but if i understand you can activate the root motion and disable the animation force apply to the caracter
like that the animation will stay into is collision boxµ
Click your root
you are not selecting your root bone there
https://docs.unrealengine.com/4.27/en-US/AnimatingObjects/SkeletalMeshAnimation/RootMotion/
If you read the documentation it illustrate the issue you are having
there you go
reading rn
Jump to Why Capsule seperation is bad section
idk why it bugged out at the end there but
#animation for animation discussion
okay
It's not meant to be called within C++. You can use it in blueprints just fine.
ok thanks 🙂
I posted here yesterday because we had some issues with data loss on child actor components. But now even setting a single bool on a child actor component's Child Actor Template doesn't remain saved... This could cost us a lot of manual labour to replace or fix, so if anyone knows of any patterns to this bug or tricks, let me know!
howdy, a lil stuck on trying to reference a box collision from the BP_player
is there some issue when we use the constructor from a child?
the angle value, is not multiplied by -1 some time
and the distance is not apply sometime
Well which box collision are you trying to reference?
it's the constructor of my camera
one from BP_Projectile - I have GAS setup if that has any effect on where things need to be
and this blueprint is where?
player?
Hello could someone help me understand soft object and working with them? I have an actor BP_weapon that is stored in inventory, from what I understood I have to load this actor to be able to use it. The thing is I cannot use it as an object and the cast to actor fails. So I'm not sure how I can retrieve the info about it being an actor.
BP_Player is for the character, located in a player folder within content, and BP_Projectile is located in a folder within content called Projectiles
is this the projectile that you want to ignore the player collision?
indeed yes
i dont know the GAS system but i can imagine you'd need to have this node after you spawned it, or else you cant get a reference to the projectile, cus it doesnt exist yet?
Edit: but i'm not sure if it'll collide when attempting to spawn already so... hmm 🤔
or you could do all this with collision channels and just have it not block/overlap a "Player" one?
as always, multiple ways to do anything haha
this is resulting in "accessed none trying to read property BoxCollision"
Does BP_Weapon definitely derive from Actor?
Hi everyone. I have a problem with the UI: I would like to open a window by clicking a specific button, and close the window by clicking another button, without having to necessarily link an "Animation Reverse" to a specific button. How can I do this?
Have you tried this. Don't cast but just resolve soft object reference and only use it after completed?
that's what i do atm
you can probably do "is valid" too
are you destryoing the box collision somewhere? i guess it might have already collided for setting ignore
It won't let me as it says that it's an object reference not an actor reference.
Why not in the construction script set ignore while moving to the instigator from the spawn node input? maybe that could work
maybe?
yeah then its already colliding when it spawns
unattached that, but fireball still colides on spawn
Did you try the construction script thing i mentioned? or just simply:
On collision hit -> branch (is Owner/is instigator) true -> nothing, false -> call, spawn, destroy etc
i'd probably say that bottom one is the best idea
this is what the construction script of the BP_Projectile currently looks like
interesting... i just tested it too and it also didnt work like this
Yes, and unfortunately soft objects are not something widely discussed on ue forums, so couldn't find an answer there either 😄
on your collision event do this
unless for some reason later you want to be able to damage yourself. but you could always change instigator/owner later on. for example if an enemy deflects the attack
hmm, did that, the fireball still spawns and collides with the player, and the output message is "do damage"
does this mean something else is signifying it to run an event of "on component hit"?
Did you use owner or instigator?
i know you definitely set instigator on your spawn actor node
so that one should work?
owner
if you never set owner, thats why. instigator probably better in this scenario
switched to get instigator and same result
Actors don't self construct so using actor soft object references is only really applicable when level streaming (from my understanding) where you can reference an actor that would be in a sub level and might not be loaded. Loading said actor would normally require loading the sub level it's apart of.
To be able to use an actor it needs to first exist. If it doesn't you would need to create it. Chances are, you probably need to use a soft class ref and once loaded, use it to spawn the relevant actor if needed.
in my effort to figure it out, I was just thinking about this too haha. So it'd be either of these, right?
also have to remember to set the default value here
you could then get class default variables etc
Im really not sure why 🤔
Something like this.
but this would fail without a spawn transform input right? and also means this only works for things that definitely should be placed in the actual world?
Could you spare 5 minutes to jump in voice chat and help me figure it out?
I can try haha..
hey man this has been scratching my head for the last 12 hours any helps is appreciated haha
The thing is the variable I can work with are soft object reference and object soft class reference.To change it I would have to revrite someone else c++ plugin which well I'm not sure I would want to do atm. If I had an actor soft object reference I could just resolve it, but the problem i think has something to do with it being of type object.
Soft actor object references are only really for pre placed actors in the level. If its not pre placed, you should be using the class and creating it when needed.
I would have to specify a transform yes. Objects have to exist and be loaded to be used.
I have a somewhat esoteric question. On a struct array element/index, I can get a reference (not a copy) and "set members in struct" to update a value in a struct. For example:
Is there a way to do this with Map variables? Unfortunately the "Find" node only returns a copy and not a reference I can set members on
so I'm trying to find a reasonable workaround
map variables are not structs
let's say I have a map where the keys are integers or w/e
and the associated data is a struct
i dont think this will work either, blueprint structs are extremely limited compared to c++ ones
you cant even pass on a struct reference through a function
hmm yeah, the only workaround I can think of is painful
just overwriting the old struct?
Ok remade it again and this time it worked. Probably connected the wrong pin before. Nice. Almost 😄
yeah, something like copy the struct to a local var, set members on the local var, write it back out to the Map variable... Unfortunately a multi-step process I can't pack into a simple function, in my imagination anyway...
no problem!
Yeah you will have to set members in struct then assign it to the map with the same key to overwrite it!
Good evening all - Hope you are well?
New to the forum and needs some advice
I am trying to do a spawn area for actors - RTS style actors but they can spawn any where in a designated area.
I.e. - a large area where its x=1000 x y=1000
Any advice?
Tried to do a Nav Modifier inside a Nav are but not sure if I did it right or if that is the best way?
Depends how you need it. you could get actor of class and find it by name, or get it in level blueprint, or you could have a reference to it in an object that's in the same level etc
yeah i wish we had forums, but all we get is this channel spam T_T
Unreal engine forums exist
ok will try that approach
nobody wants to go to a separate forum in 2024 though, literally everyone else has the discord forums now xD
Sorry - not meaning to spam... I scouwered the forums and couldn't find anything I was looking for
Can't you just use spawn actor node with random in range of -500 to 500 for X and Y values?
or is your question actually more complex?
yeah was about to suggest the same
NavModifiers with a filter should work.
i was refering to this as opposed to having forum channels where we could actually find old topics again
Thanks for the reply Ryan. Mmm - I tried that approach on the level blue print with a random location as well as direct actor locations but did not get the results I needed.
Hence why I thought of using a designated area that I could then use at random to spawn. I am going to be bringing in PCG at some point where the actor should not spawn if there is a PCG area close by but hit a couple of walls.
@maiden wadi - Yeah I am too new to that to filter - might need a bit more info on that - But let me try Ryan's suggestion first
how can i access to this material from the postProcessVolume?
What is it you're trying to do exactly? i imagine you can get it if you get the post process struct and break it, then get the materials array and get the first index but. what are you trying to do?
Ill go and look for references from old posts as well - I literally just got in and start chatting - did not even think of trolling previous posts. Thanks Source Control
trawling or trolling? 😂
Lol - Trawling - bad wording there
I have created a Post Process Material that turn the color of the game to black and white exept for some actor.
I would like to lerp that desaturation when i perform an action.
I have apply my material to the PostProcessVolume but now how to access to that material like that i can lerp on the saturation
@proud epoch if you have nav, you can just use the "get point in navigable radius" function
You could also use a material parameter collection in your post proccess material and just adjust the value globally too
but to do that i need to be able to assign that material to the post proccess volume
but you said you already applied it?
i will check what is a Material Parameter Collection first
thanks for that new element that i never used, will see what i can do with it
they are basicaly global scalar/vector values that can be updated from anywhere and change all materialss using them
but you could also get the dynamic instance of the pp material and update the scalar value if you get the reference correctly
sometimes it can just be more hassle 😁
alternatively, dont forget you could create a post process volume actor, do what you need with it, and then destroy it when finished
hello, I made a button that spawns a sphere to destroy objects that turn other objects into collectables, but the collision of the sphere pushes them to the sides of the sphere, but I want collectables to spawn inside the sphere where the objects originally were, how do I do that?
Ahhh - o.k, did not know about that... 🤔
Wow - now I have options 😄
Right - Let me go play around a bit with it and try and figure it out...
Thank you all
you probably need to change your collision channels/responses
so they dont collide with eachother
it only destroys them with 'block all dynamic' which pushes them, and 'overlap all' doesn't destroy the objects so nothing spawns
yeah but you could put them on different channels so that the new collectables ignore that sphere's collision?
thanks I'll google how to do the channel stuff, and see if that works
thanks it works perfectly! and it's a usefull feature !!
This is probably a stupid question but would it be fine to create an interface that holds references to main bps such as character, controller, game mode ect..
I know you've already gotten an answer but with you mentioning it just being a fade to black (excluding an actor), you could just change the blend wait on the PP material. (the 1 in the screenshot) setting it to 0 would disable the effect and setting it to 1 would be fully visible. (just an alternate solution for you)
ho yes that is true.
didn't think about that
Interfaces don't hold references as you have to be implement them for it to return a specific value/object. It would return what ever value the thing that implemented it specified.
i was to much focus on the material aspect that i didn't even considere that blend value
Yeh I'm an idiot ffs, I understand now
Interfaces generally should be your last resort for anything. Over using them can result in having to repeat a lot of logic and increases the level of fuzziness regarding what stuff actually does.
It sounds like you might be thinking of function/macro libraries where you can share logic between different classes.
the objects get pushed before they can spawn the new collectables, so changing the collision on new collectables didnt work
What makes you say this "Interfaces generally should be your last resort for anything." ?
besides the statement following it of course
I havent used macros before I'll look into them, cheers
so i have my project called MYproject
and i want to duplicate him
i mean lets say i want to duplicate gim and rename him MYprojectBackup
and now if i will make changes on MYprojectBackup so that will not effect MYproject
lets say if i change the background on MYprojectBackup so in MYproject the background will not change
how to do that?
Another reason is there's a slight overhead for using interfaces (which no ever talks about), granted it's tiny but as you scale up could make a difference. Especially if you never actually needed to use interfaces to begin with.
Adding to that, their main purpose is for classes that don't have a common parent but need to have/share the same set of functions. (Granted there are some additional use cases for plugins to keep things modular) If you're using hierarchy correctly, the need to ever use an interface will be minimal. Over using them will just make project management as the project grows a nightmare.
Imagine having 30 classes that you opted to use interfaces for some functions. Half way through the project, you decide actually, I need them all to also do this in addition. Now you have to go into each class and update their individual implementations.
I could imagine.. But realistically would you want a shared parent class for both an NPC and a treasure chest if you were going to have "interact" functionality? Or is this the case where you would actually just use interfaces?
This would be a valid use case as an NPC would most likely be a child of Pawn/Character while the chest would be a child of Actor. So unless you want to edit epics actor class, you'd need to use interfaces.
However, you can just use an actor component which offers a lot more flexibility. If you're doing pretty basic interactions using an interface would probably be a good option but if you trying to handle more complex interactions then you would be better using an actor component.
Would that require casting to the actor component or how exactly would that work?
Another reason I forgot to mention regarding over using interfaces is, depending how you actually use them, you could end up making the management of whats loaded extremely difficult. (object type refs in the functions)
that said, a lot of new devs use casting all the time and have a huge memory footprint
Having a high memory footprint is more down to bad hierarchy than casting. 😉
In some ways i suppose! but when the chain gets long, its awful
Potentially, but you can use the get component by class node (which I guess is like a cast).
Interfaces aren't a replacement for casting or a means of memory management. (contray to what a lot of people think)
cast to the most generic class when possible
when it comes down to loading, you can use soft pointers
replacing casting with interface is a curse, not solution
Hi Source Control - Back again with a previous post
Where would it be best to set the spawning of the actors
Level blueprint or in its own actor class?
It will only ever be 1 actor being spawned but with a struct that will at random select different meshes and some variables for the actor
so i have my project called MYproject
and i want to duplicate him
i mean lets say i want to duplicate gim and rename him MYprojectBackup
and now if i will make changes on MYprojectBackup so that will not effect MYproject
lets say if i change the background on MYprojectBackup so in MYproject the background will not change
how to do that?\
Duplicate the project via the launcher.
thats up to you really
Does anyone have any tips on handling held item type animations? I kinda feel like I would need to have an idle, running and falling anim in the item data that the animBP can then get but I'm not sure if this is a good approach. The other option is of course setting up individual state machines for each held item but that feels like it would be a nightmare.
Right, o.k. - so this is then where I am stuck... I got the spawning in the level blueprint, that at random selects a hard coded nav volume to spawn the actor.
But I cannot seem to be able to reference the struct from the level blueprint where it gets again, at random, the details from the asset data list to spawn the actor with the details from the struct
In this case, should I then rather move it to an actor or is there a way to reference the struct in the level blue print
Ahh o.k - then how do I reference the in level persistent Nav volumes from the "spawning" actor?
yeah u can just put it in an actor if the level blueprint doesnt work
You create an object reference to a nav volume type
set it to instance editable and expose on spawn
when you drop an actor that hold the variable to the level, it will have access to the nav volume in the level that instance is in. Use the eye dropper tool to set it.
Fantastic - That makes more sense - thank you! 🙂
Let me try that and see if I can get it to work
Howdy again folks, trying to get the projectile my character fires to aim where the camera is pointing, however it only fires horizontally to the player
Im thinking maybe I have to do something with target?
Separating the animation to upper body, locomotion and stuff. If holding an item is only upper body, you can use that and have the lower half be the same walking running motions.
I have two adjacent rooms (green and red). I usually uses a volume to define certain areas. Is there a way to make a volume that is not square? Something that would encompass the green room without taking the green one?
Maybe this can be of some use: https://www.youtube.com/watch?v=3_A7WTIo9Ws
Create Custom Shaped Volumes by drawing your own brushes which can be used to create custom shaped Trigger Volumes or Navigation Modifiers and more!
Check out other things you can use Custom Volumes for:
https://youtu.be/7CYSoJYpKtU
I'll look it up
Sounds like the problem is whatever you're piping into the rotation is wrong.
Thank you @frosty heron and @limber parcel - That works a treat. Something so Simple can make your life so difficult! Awesome work!
It should be the look at rotation from the position of the hand socket to the desired target specified by the camera.
can you spot what the problem is?
why rotation?
I'm doing the same thing, it's suprisingly hard wtf
well you seem to have broken it a lot here but assuming you get your exec pins in order, yeah, you need to get your rotation right. the projectile will want to travel forward. The rotation you give it determines which way forward is.
@ionic nacelle My projectile is oriented towards the focus
but issue is since the projectile spawned in the hand, If Im too close to the wall it will hit the wall
FPS game is easy because you can trace from camera
but I can't do the same for my case
@ionic nacelle you said you wanted to shoot from the hand to the position specified by the camera. So make sure you get the correct rotation to do that
@frosty heron what exactly is the problem with this video?
having the projectile actually start from the player's hand pose an issue
it's unsatisfactory when crosshair is pointed towards an enemy but hit the wall instead
But isn't that... reasonable? I think it looks bad in your game because you have no UI to indicate that the shot wouldn't hit the target. The fireball is also very large so it probably clips on stuff a little too easily.
I know right, I managed to get a sphere collision detector to work right in regards to rotation but now im a lil stuck lmao
You get the hit location first. Get the centre viewport and convert that to world space
that could be fixed with collision shape hey?
Lyra presumably uses line traced bullets. I feel like your problem is you're using chonky fireballs that are much more likely to clip on edges along the way.
There are games that show you that the bullets won't hit iirc
Remnant comes to mind. It doesn't happen very often because it's not that frequent that your camera can aim at something that your gun can't hit.
From simple cross out crosshairs up to actually showing an indicator on the wall
yeah I've got player rotation set to be the same as camera
FindLookAtRotation(hand socket location, target location)
this is what you should be putting into your projectiles starting rotation
@frosty heron
my orientation is fine, it's traced from spawn point to focus, but when I am too close to a wall that I am faced with new issue
Make the fireballs less chonky and put the camera closer to the character.
hmm, adjusting the camera might help
your problem is that it's too easy to aim at something that you can't actually hit
not that hitting something unintended is possible, per se.
Quick question: When I add a track for a skeletal mesh inside a blueprint actor in sequencer, I do not get a skeletal mesh component and I think thats the reason why my animation blueprints fail to animate.
What am I doing wrong here?
When I add the same skeletal mesh normally (not nested inside a blueprint), it works just fine with the same animation blueprint.
Also note that in remnant, the character is aiming pretty heavily to their right. Your character is aiming a lot more "forward".
Leon here is also aiming to the right. He's very close to the camera. His gun is also almost center screen already. With small line traced bullets, he's going to have to be right at some very specific angles in order to not hit the center of the screen from the perspective of his gun.
in fact I guess we can just draw it
will try offsetting the camera
Bad zone. PLUS the width of the fireball
bad zone for leon and his bullets have zero width.
You could do some sort of check to see if there might be a block and play a slightly different anim. More of a wide cast around the obstacle as opposed to firing straight in front.
An aiming down sight sort of mechanic can help help narrow the gap between gun and target. (I believe that's what they do in Res) Plus it kinda makes sense, free shooting having bad accuracy and aiming having better accuracy. You could even lean into it a bit more and add spread if not aiming.
I feel like Im so close theres just something I'm missing
What is this for?
damn daniel, using "Get Player Camera Manager" intead of "Get Player Character" made it work
I didn't notice that
is for making a projectile aim where the camera is pointing (player rotation is set to the same as camera)
if you want the forward of the camera why don't you use that instead of the character
man solved my issue mere seconds after I solved it
Where were you 15 minutes ago hahaha
but thanks heaps
how can I make it so that after I pick up an item in my case a flashlight to hold it still when its activated so like the hand goes a bit in front and stays still
Does anyone have experience with the mountea dialogue system? I havent really used any plugins in my project yet so I'd like to know if it's a good idea or if I should stick to my own code. Does anyone recommend any other dialogue plugin or tutorial using blueprints?
I've not used it myself so I can't say how good it is.
Regarding if using plugins is a good idea or not, this can depend. They can give you access to things you wouldn't normally have if just using BP but it might hinder you moving to a new engine version if it's not been updated. You have to weigh up the pros and cons for yourself to decide if it's worth using.
As for a dialogue system, I do have a tutorial on how to make a node based one. If you like the system, there's a more advanced one that can be found in 'Project Sunrise' on the market place if you require more features and better scalability. All of which is BP only.
If it's paid, don't do it. If it's free. Try it.
ok thanks
I think everyone should check out Flowgraph. I feel like it really should be a fundamental tool in Unreal.
how can I check if item socket contains something so that if I do have somethin in it I can press f to use the flashlight if not I can't use f yet
probably just a boolean, HasFlashlight
I'm having a weird issue with a timer in my character blueprint. It's supposed to count down from 180 seconds and trigger a game over when it reaches zero. Checkpoints should reset it to 180, but it seems like a duplicate timer is created, causing the original to keep running and eventually leading to a game over.
The timer variable is stored within an actor component attached to the character. I've verified that the checkpoint only sets the timer back to 180 and this logic works fine in other versions of my game. Any ideas why this is happening?
the only thing is that my pick up system can work for any object that has an actor bp so batteries aswell which can't be held but will be added in a slot special for them
The tutorials look great thanks! Do you think the system, or a slightly modified version of it, could be ok for a project with many characters and a significant amount of dialogue? Also is it a good idea to use it to trigger events? like if I choose dialogue option A, trigger an event
so if in the pick up code I set has flashlight to true I should do it to the others as well I think
simply because I'd prefer not using plugins for core parts of my project since I'd like to know exactly how they work
I think tho im not sure if its right what I say
I have multiple rooms in a shop. Here is the example layout of one of these shops:
For note: Red is just another room and purple are impassable obstacles.
What exist and work:
-Yellow is an "interest point". NPCs in the level chose random interest points and move then "act" on these. For shops, they go shopping.
-Blue are shop's smart objects. They are things "to do" inside an interest point. So far, it's mostly just spending time there and moving around.
What exist and somewhat work:
-Green is a volume that encompass the whole shop. It is used to find out all the smart objects available, and also because player get awarded bonus points for doing certain actions in an area. So far the only issue: Volumes are perfectly square. So for a couple of shops that are not perfect squares, it cause issue. The example shop here. I'm looking for a solution to that.
What does not exist:
-Pink are clerks spots. Some specific NPCs will stand there mostly. They'll have animations if people come to an interaction spot (brown) and they'll react if someone call for help from within the shop boundaries.
-Brown are the interaction spots for the clerks. As long as a clerk is available in the appropriate spot, people will pay and leave.
Now why do I need help... Mostly in terms of logic. So far, what I've done is that each interest (yellow) spot has a "shop volume" (green) associated. So when an NPC trigger the interest point, the behaviour tree ask for that shop volume then search for every shop's smart object (blue) inside it and randomly assign one.
But I'm starting to realize that the complexity of shop's increases and I don't know how I should handle it properly. For now it's a couple of simple things, but I also plan to make a few restaurant, which mean clerks are going to be moving around and all that.
Does anyone have an idea how to better manage all that?
Yea, it should work fine but if you have significant dialogue you'd probably want the system included in project sunrise as it has things in place to better handle large amounts of different conversations.
I would have a play with the tutorial version and see what you think. You might be able to tweak it to your needs though.
how do I remove outputs from a blueprint function?
on the right side when your clicked on the function there should be input and output sections
I've been using that screen, but there doesn't seem to be any option to remove them from there (that I've seen)
i'm pretty sure it's there to the right of the output
ok thank you so much, I also checked out your other tutorials they seem really useful thank you
its a big X
I see; I guess rig graph blueprints just suck
....oh. The remover thingy was there, but hidden by my panel size
god I hate the unreal editor ui sometimes
For future reference, control rig is not blueprints. Your questions would be better kept in #animation
I was trying to figure out how to cneter camera between 2 players and always move between them just like in tekken8. but it was a disaster
anyone have an idea on how to do a better bp that accually work?
Try this
does anyone know why when I try to scale sphere collision and billboards they don't scale at all? I mean the sphere only scales between 0-1 and the billboard does not scale at all
how i can run scripts from blueprints? python or C# or C++ ?
what do you mean by "run scripts"
BP can call BP or C++ code by default, anything beyond that is getting a bit obscure
something like that but new
with what node, how?
I mean it's just the normal way of doing stuff in Unreal. What are you actually trying to do?
i want to use chat gpt to help me make some code but do it inside blueprints
maybe to create functions with what goes in and out ill tell gpt to make
You're very much barking up the wrong tree
But if you want to make your own BP nodes you'd make a BPFunctionLibrary
ok, then what i press?
Gotta say. I love NVidia's CEO's vision. "Humans will become the programming language". It's a nice thought. Like I'd love to Jarvis some games up too. It's also not realistic for many decades.
That's making a new function using blueprint. A BPFunctionLibrary is made with c++ and lets you call c++ code using blueprint nodes.
where i can get nodes that will exucute any code that chatgpt can give me?
i know that he cant work with blueprints directly for now
I mean it could. You can copy and past BP code in text form.
Will it? Probably not. Cause using GPT sucks for real tasks.
ChatGPT is unfortunately able to generate the code for BP's
Lol. There you go. Enjoy. 😂
huh? what is this ? 0o
just a simple hello world generated from chat gpt
what is "BP code"?
gl getting it to do more but ya
blueprint code
you copy it and paste it into the blueprint event graph and it will translate that into nodes that work (if it exists in BP already)
he can constract whole blueprints from that bp code?
what? really? thats insane!
To be clear, this is definitely NOT going to work. It's just theoretically possible.
^^^
But it is definitely NOT going to work. Definitely.
It's not good and won't work well lol it had 2 issues I had to fix.
Just ask chat GPT to make a free to play MMORPG and have it generate blueprints for you. What could go wrong?
your best bet would be to find youtube tutorials for what you want.
🙀
how to request this "Blueprint code" from it?
Christ why are we enabling this lol
You say "please write me blueprint code" and then it gives you unuseable garbage.
It 100% will not work.
are runtime added components not shown in pie mode?
thanks i think i get it now how this works, that cute
Shown where ?
The blueprint itself doesn’t change at runtime but you may be able to see them in the Outliner under that object’s hierarchy
pie mode, play in editor, id assume i could click on an actor and it would show me how its been modified during play, but it doesnt seem to update the components list just some values
🤔 guess not then. I thought at least Outliner details would show it
Just learn how to actually program then you won't need to cargo cult whatever ChatGPT shits out
But if you must copy paste from ChatGPT then you want to do C++, good luck, it probably won't even compile.
haha, looks like I came here at the perfect time to ask the same stupid question...
I´m struggling so much with blueprints, I´m a generalist and only started using Unreal for work about 2 years ago.
Spent most of the time learning shaders and all the other stuff I need for my line of work (linear content production for TV and commercials).
But the more I dug in the more I wanted to make my own blueprints, because its generally a lot easier than lets say maxscript for 3ds max or ANY "real" coding language.
I´m too old for that shit and also I suck at math and I keep running into logic-problems due to my adhd.
I was really hoping ChatGPT could help but of course it sucks at blueprints...
It generally sucks for unreal and it will unless SOMEONE trains a custom model on the unreal developer forum AND the documentation and whatnot, but thats also not gonna happen unless someone can profit from it I guess or epic does it themselves...
Unfortunately, its also really hard for me sometimes to find the answers I need, as a lot of the stuff I ask google is worded wrong or the same keywords are searched a gazillion times more for something different than what I´m looking for and even though there was a ton of buzz about virtual production, not that many people actually focus on the more technical aspects of it....so.
How DO you gain knowledge about blueprints, when your time is sparse due to having a full time job already...?
I even tried once to pay someone to get something to work and the results were....not very inspiring to try again...
I´d also take any tips for more specific communities that could help me or some really good courses you could recommend...
Just take a basic programming course
Do you know what a variable, function, class, instance, are?
I do know those basics.
Yeah, but its not doing the thing usually...:)
Especially when it comes to sequencer.
I´ve been struggling with the same 3-5 issues for weeks now.
I've never touched sequencer but I'd guess it's a bit different then normal runtime stuff
I'd just start getting comfy with the engine
start with the 1st person shooter template and make a door that opens when you shoot it
Yeah, thats why I´m saying: Its hard to find ressources on sequencer stuff specifically.
I have massive blueprint actor with dozens of functions already, I´m past that stuff.
But understanding why blueprint variables don´t update in sequencer or in editor or either of these combinations, why some stuff I CAN overwrite and some stuff I can´t get to work, thats where I´d need specific ressources other than the manual, which is rather sparse on some topics.
You probably want to ask around in #sequencer
Yeah, I do all the time...:)
Thanks for trying to help though, but I constantly hear "i don´t know about sequencer" from the same people who otherwise seem to be very comfy with blueprints.
And I don´t quite get it...
I mean, I get the part of unreal engine being a game engine first and foremost...:)
Like, tons of animation stuff is very specific in the way its set up for games and it seems overly complicated to do very simple stuff.
Isn´t there a place where you could book a one on one session and someone just looks at your blueprint and could give you advice?
I mean, maybe thats not high enough in demand to create an actual market for, just wondering.
You could try posting on the job board using #instructions if you’re looking for paid dedicated help
Oh, nice, I missed that. Must have been added recently? I´ve only seen the other job boards before that.
Ahaha, sorry, I misread that...:)
It’s always been there afaik. #hire-a-freelancer is prly the best spot
Its not actually an instructions-job board...its a instructions on how to use the job boards...:)
I think I need a friend...who also happens to know a lot about blueprints...:)
is there a way on timelines to set a curve during runtime? LIke basically before starting the timeline i set the curve to be used as the output curve?
Anyone used brushify? I have set up the automaterial on my landscape and added layerInfo to each material, but its not procedurally adding grass and rocks.
I dont think so , but you can have a 0-1 Float in the Timeline , and use that to read a Curve Float value
any idea why this widget is going all the way over there?
I'm using the actor of the door
Hello Guys I'm traying to make a system AI with this dynamic:
The AI have a patrol path. If it see the player start to chase it, BUT if the player is hide, cannot see it.
I've tried a lot but without success: I' have created a variable bool that is true when the player is hidden, but it doesn't work.
Im using AI perception
Please Help
I have a 'health' component on actors and characters. I need a 'die' function that each implementer can override, and I can't seem to override component functions. Am i missing something, or what's proper?
I think that makes a 500x500 widget
try setting Draw at Desired Size after you create it
So I'm trying to hide from ai perception
hey can someone help me its not displaying when I click on the asset
also I'm an idiot so its probably smth simple
The white lines connected by arrows show the order stuff happens in. You draw the execution thread to like trace by channel and then nothing else so nothing else happens
Draw the execution line from the trace to the branch
y'know what that works. Thanks!
That branch check is wrong.
how fix?
If you really want health to be a component that tells units to die; and for each unit to die differently, then the health component should try to call an interface function that the actor implements
Dunno. I'm not sure what you're trying to check. But that branch is wrong unless you're trying to test if you're hitting a very specific static mesh component in the same BP.
uh theres a whiteboard on the wall and the static mesh is the big white part of it
Right. But look at what you're comparing it with.
HitActor is an Actor. Actors contain components, they're not components themselves. It cannot ever be a component and you're comparing it with a static mesh. So that branch will never be true.
ok my code is very bad
what is the simplest way for me to check if im looking at the whiteboard
and hit click
Is your whiteboard in this blueprint? Is that the static mesh component?
Then you just need to change that from the hit actor to hit component
I think.
Also make sure that you're even getting the input with a print before the line trace.
What is a “character controller” ?
like the guy im controlling
its the first person controller from the horror engine
i know im probably doing smth very wrong but I got unreal engine yesterday
Ok so the player controller? Cause I’ve seen others refer to the player char as player controller, confusing everyone 😀
hi! so im new to coding with blueprints and im just looking for some advise. what would you guys say is a good way to learn all the different bits and pieces to coding in blueprint?
@lunar sleet
My first stop when learning a new node
https://www.youtube.com/@MathewWadsteinTutorials
ok ill give it a look, ty!
but i also need to learn things like events, casting, inheritance, etc
What would be the smoothest way to handle recoil recovery? I have my stuff set up to smoothly go up and to the side but I am trying to find a way to reset the recoil without jank.
I'm guessing games have lots of conditions like if the player moves the mouse over a certain area it won't and whatnot but I'm still not certain on what to do.
You can just make the player's input offset the recoil recovery. They're both just Vector2Ds
That mostly works, but it also doesn't seem to change my widget XD
i have weird error
i have this
and when i compile and save all seems like no probelm
and when i play the game all work exacly like i wanted
but when i exit the game so i get error
You are trying to do something to the item in the array
To avoid the error, make sure the array is not empty before Set Text
This is the situation but it doesnt work. I add a decorator in the selector of right
Somebody could help me please?
Because the first times you're running the branch you havent yet got all actors of class. so it returns none
you should be getting all actors of class before the branch
because you're using the output of it to define the output of the branch
Dumb question but does there exist a number node? Like something that I could set to a specific number like 1 and plug to an "is equal" node to verify that another integer is also 1, instead of having to make a new variable just for that?
Just use == node and plug the var in?
Just type 1?
I can't type into an equal node
Without making a variable
Which I dont wanna do
Ohhh Thanks
Ah yeah I was thinking of a add/subtract/multiply/division
Also does the select node return an integer or a bool?
Select is Wildcard, whatever you plug in it can return
In this case?
Wait nevermind
I need to plug stuff into options
I kinda get it how it works now
I didn't even think about plugging stuff to options, just realized I could do that
It will return what ever you plug to option
Yeah that makes sense
I was able to make a randomizer
Idk if there's an easier way to make one but Ig this works
Somebody could help pme please? 🙏
It honestly looks like you are not familiar with how BT's work, I can recommend you a decent youtube video for learning it
I've got this procedural mesh terrain and followed a tutorial for micro variation
but everything is applying to each chunk the exact same way so it kinda does nothing
Not that it's working in the first place
using event triggers and repeaters in sequencer, how can I use the same event multiple times over rather than having to copy paste and do all this manual placement bs? Or is that not really possible?
Create functions or events and call them when needed?
If you have multiple actor that need to perform the same logic, see if they can utilize a hierarchy. If not, you may want to move the logic into a component
its more like repeated functionality, for instance changing scale up then down then up. Seems to me, using repeaters, and offsetting them is the only way to do this?
are you wanting the same action every time? this then that then this then that?
along a timeline. Which the example is arbitrary. But on a timeline at certain points in an animation it seems to me that I have to have an event every time the functionality swaps back and cant just have 1 scale up node and 1 scale down. Its moreso 4 different events for up down up donw
Not much #blueprint can really help you with as it's more of a #materials kind of thing.... You'd probably need to use the absolute world coordinate in there as well somehow.
Hey guys, I made a notebook system by drawing on my mesh with render targets. I make a line trace to know how to draw with the position of my mouse the problem is that it doesn't tick quickly enough, I imagine that I would have to save at each line trace the position and draw between the last position and the new position but I have no idea how to make such a system. Here is my blue print and here the actual result :
yea your observation is correct
idk if there's a DrawLine method, otherwise you probably have to draw several times among the distance
I don't think that i can use drawline to draw on my target, so if i have to draw material between both line trace position this will be very expensive for my performance no ?
you have to issue several brush draws, yea
idk HOW expensive it is tho, it might be smart enough to only issue updates on the affected pixels
since it knows the size and position to draw on
Yes I'm learning
Thats why I need help here
you should NOT cross execution flows
do the cast in the event interaction
Fair enough. Rookie mistake on my part. Now I do not get an error anymore however now it just doesnt work. Am I having the biggest brainfart of my life or should this work?
Is the Cast Failed firing?
It's being super weird, I was just trying that before you messaged and sometimes it fails, sometimes it doesn't. I know its not an issue with my interaction system as it works completely fine, however I just cant get it to play this simple sound lol
If Cast fails it means FPP is not properly set when that event fires
Btw you can just use get player character
Instead of however you’ve set FPP. Unless you’re doing that already
Still pretty new to casting, only started playing with it about a week ago. I just had FPP set as an Actor Reference. Nothing else. Used get player character and it works so, thank you! Trying to get a good grasp on casting as it still doesnt fully make sense to me yet lol
You basically took a Tupperware, stuck a label that reads Sandwich on it and then tried to eat the sandwich (initially)
Watch the bp comms live training pinned here to understand casting and other methods
lmaooo fair enough. I didn't realize there was useful videos pinned here. I will definitely take a look. Thank you
You always need an actual ref to something, casting just checks if the ref is of a certain type. An empty variable of a certain type is not a valid ref
Thats what I thought, but when I watched a explanation video from some random dude thats what he did while explaining so I just assumed the variable type just had to be whatever the parent class was of what you were trying to cast to. Guess he left that part out clearly.
Stuck on a save game portion.
Made my main screen:
User clicks play:
User is greeted with 3 "slots" (buttons on the ui)
Here is where im stuck:
if they click a button, I need it to create a save game for that "slot" or load from that slot.
IE: if they don't exist in any, I need to know how to recognize that and what to call in the BP on button press
Figured code block be easier to read
How do I create the original array of game saves, and then be able to modify/save/etc as needed
you want a choice of 3 savegames to play from?
aye
I know the load button/create button/etc
I just don't know how to create the initial empty slots
on click
if (gameSlots.size() > 0) { etc etc }
so far I made the save game bp
with my save "vars" i need per slot
Im just assuming there is an array you save these to, so that you can access them lol. like gameServer->getSaves->getSave[0], etc
(made up functions btw)
How can I link the BP player in my BP enemy?
link what?
I want to access t oa variable from my BP player in another script, in this case the enemy script
for simple, I would have the Button's Text be the Save Games to Slot's name
Making a moc bp, sec
ye im figuring it out I think
I just want to access the variable
But i dont know how
Make 2 widgets , a Main one , and a Button one
Put 3 Buttons in the Main
Use the Event Dispatcher to tell the main Widget what save slot to use
barebones
Im trying to create an effect like this for my character,
Where whe part of them in the shadows is invisible.
I ahve the characterModel and material arleady made i just need to figure this out
I'm trying to create a simple logic that will detect if a player reached level 21 ( L21), and make a button open level 21 , only if the player has reached it. This is the logic I tried, in the screenshots, but it's not working.
the first screenshot is in a collision box BP in level 21, and the other one is in the character BP
Does anyone know what I'm missing?
Level 21 is basically a level that allows the character to select and play any other level, after the player has finished the game . So it should work in any level, but only if the player has previously reached level 21. Otherwise, the default main menu map will open
Is your level named L21?
Do either of the input events fire ?
Watch the pinned video on bp comms, so you know how
Yes, it's named L21
yes they both fire, but they open MainMenu, regardless if I overlapped the box in L21 or not.
Check if GameFinished is actually True at runtime
Print string or breakpoints
it doesn't, I just checked. the player spawns into the box when the level opens, is that the issue ? I'm a big noob so idk if overlap means that the character has to actually walk over it
or how can I approach it so it actually sets the gamefinished to true ?
I tried moving the box and walking into it,but still nothing, it seems that my overlap doesn't work for some reason
please help
Check collision settings on both objects. Make sure generate overlap events is enabled on the box
Not enough info, and try #materials
Would anyone know how to stop my camera from going through a wall like it is in the video?
I am using a true fps setup where the camera is attached to the head and when I get my weapon out it bends my body using the bone transform node in the anim bp so that I can aim the weapon up and down.
I know an easy solution would be to just increase the capsule size but it will end up being too large for my liking.
Any Ideas are appreciated. Ty
hello, Simple Move To Node can't be replicated?
on server works fine, but on Client not, client not move
someone can help?
i use Simple Move To Location
on Player Character
Makes no sense to call simple move to in client
Assuming it's for A.I
A.I is server only , why would you call that node in client machine? If it's a replicated actor the A.I in client machine will just get corrected again to the server position.
why the user parameter won't change? It is default to 500 within the Niagara asset
[RESOLVED]: Use int parameter not float ☠️
I want the player to go to a specific place, without the ability to control it
on the server it works fine, the server character goes to a specific place
If the character is owned by client, it would be more complicated. You gotta look at the code if you can even run move to on autonomous proxy at all.
Movement by clients are done via add input afaik
so what, I can't do it without C++?
Don't know, you gotta look at the code
You can try running simple move to as client via server rpc
If that don't work then there is probably no easy way to do it in blueprint
I checked and it doesn't work
Hehe, I did that once, took a while to figure out why it didn’t work 😅
I have been stuck with it for 2 days lmao
@tight pollen maybe unposses the character then and let server take control
Handle the camera some other way
Yeah nodes have type errors but string literal params have no idea what you’re feeding them
yea
Hi All, Probably a silly question, but I am stuck and would appricate a bit of help!
In my construction script I am listing material params to be able to be adjusted on the BP.
In this section I want to be able to adjust my UTile "offset" by the specific values listed below;
.125
.250
.375
.5
I thought I would use a Float Menu selection for this? But...
When I try to use a float menu list to set these values I get the error Map of Float (Double Precision) is not compatible with Float (Single precisions)
How can I solve this?
How can I get a skeletal meshes current bounds, so I can multiply them?
Idk what a float menu is but that error means you’re trying to fit a double into a float
Thing is, in blueprint, UE calls doubles floats (double-precision)
So either you need to make the float menu single precision
Or if there’s a Set Double Parameter you could prly do it that way
I think there’s a get bounds or get local bounds function
Hm, I can only get "Get component bounds" or "get bounds" for the skeletal mesh array, and the "get bounds" is also not giving me a bounds scale
Thanks @lunar sleet
I basically want to controll thoise UTile and VTile values in a blueprint on a dynamic material instance, "Set Double Parameter Value" doesn't seem to work either
i may be doing it wrong anyways, what I´m trying to do is to set the bounds of some skeletal meshes and they are all different sized, but bound to the same skeleton. Which leads to rendering issues (popping in and out), so they all need different bounds to render correctly. But then when I scale all of them using a global scale function, I´d need to multiply by the scale I set there, I can´t just set the scale to the same value on all of them.
Also, I can´t find a function to ignore the bounds scale for editor focus, but I´ve seen that popup somewhere...
(pretty annoying if you have a 10x bounds on a small mesh and when focusing it zooms way back out...)
Well that says double vector so it might be something else. See if that float menu thing lets you select the precision
But also
Your param name is None in that screenshot so..
Prly because it’s essentially asking you by how much do you want to multiply this
You might need to write your own function to handle the math but no idea how you’d go about this. Maybe #game-math
oof no chance...:)
All I´d need was a way to convert a vector into a float, but apparently that doesn´t exist as a node...
Well no, a vector is usually a set of 2 to 3 floats, like X, Y or X, Y, Z
You can’t convert it into one. You can multiply a vector by a float but the result will be a vector
You can get the length of the vector which gives you a float. Pretty much the distance from 0,0,0 to your vector.
Nevermind, think I found the solution and I can actually save myself the trouble of dealing with the bounds scale alltogether.
Simply check the box that says "Include component location into bounds" for all skeletal meshes and everything renders correctly.
One more question...I wanna have a variable to set the animation class from a dropdownlist, so I can globally switch between "use blueprint" or "use animation asset".
Depending on which one I pick, I then want to have another variable for the animation instance or the animation asset to use,
I Solved it 🙂
Type mismatch in MyArray of BP_Test_C - Previous (ObjectProperty) Current(ArrayProperty) in package: FObjectReader
What does this mean?
I'm trying to add a skeletal mesh component to a skeletal mesh component array.
Hello guys, It's two days that I have this issue on my Behavior tree decorator: I'm trying to access to this value in Bp player that if the player is hide, continue to patrol but if is not hide it will follow the player.
PLEASE SOMEBODY COULD HELP ME please? I dont know why but the cast to doesnt work
maybe because ure trying to cast you AI to the player char?
Ok so how can I cast my bp player?🙈
Good day - Does anyone have an reference to an old post or can help me with setting the forward vector and direction of an actor to point to the center of another static mesh in game
I.e. something along the line of; on actor spawned > then point its direction to the center of the floor at a specified height (Z axis)?
Guess this would be for World location but tried numerous methods but not getting the right thing I need from it
Got an actor moving at a constant speed but on spawn its never pointing to the correct direction and forward vector
Can you explain me please how can i do it? 🥲
find the player actor (with perception system), set a blackboard key (object type) to the player actor, retrive the value from the blackboard inside your decorator and check if player is hidden
this ?
This is my Ai perception
To find the player actor
so you have your blackboard key "TargetActor" that contains the player actor, good ! Now retrieve the value of this key inside your decorator
Yes but how?
create a variable
Instance Editable
set it in the behavior tree (click on the decorator node) (the name must be your target actor key)
then retrieve the value with Get Blackboard Value as Object
then cast to your player class
Like this?
yes
you can do a "not bool" if you want your code easier to read
you didn't check "Instance Editable" on your variable (Player Target key)
Man - So freakin simple! Thanks MaxInk - yip that is pretty much what I was looking for.
My forward moving vector though is still not correct... I would assume that is the same connection I need to set for the forward vector correct?
You mean here?
maybe your moving actor has a controller that override his rotation ?
nope, inside your decorator
click on the eye next to your variable
then edit the value inside the BT
done
now click on the decorator inside your behavior tree
you will see your variable exposed in the details pannel
set the value of the key to the "TargetActor" name
and it will works

hope you understand what you did
the player reference is inside the blackboard (associated to the key TargetActor), you just need to retrieve the value inside the decorator thanks to the blackboard key selector 👌
Yes now I'm studying it
How it know that the target is the player? because in the blackboard the key only have a Object class, not something like " player object class"
you set it in your perception system
hello i would like to create a component that get the owner. But i don't know who is the owner, and i would like to be able to reuse that component on different project, with different owner....
how can i get the owner information without casting it. if i have to cast it that means i will not be a generic component but a dedicated component.
For example the CharacterMovement, it's a component that adapt to the owner, and owner type of actor.
Hey guys. I have a problem. I have a pak file and my goal is to load the class from that pak file at runtime. So I'm using the pak loader plugin from the marketplace. It's a pretty good plugin and i'm sure that the problem is that I may not be providing the correct paths. So the idea is to mount and register the pak file so that unreal recognizes it and then after that, load my class from the pak file and spawn it into the level. So i Tried connecting an is valid class after async loading but my class was found as invalid. Again, i think the problem is my mount and registration paths since i think unreal is not detecting my pak and it's content i think. So the pak file has a simple cube that was originally in a project called NeoworlderTests and the cube was in a "Cube" folder found inside the project content folder so the path to the cube in the pak file itself is a relative path of ../../../NeoworlderTests/Content/Cube. In my current project, called "3dlauncher_mac" i have in it's content folder, another folder called paks and inside there a pak called Cubepak.pak. So /Game/Content/Paks/Cubepak.pak is the filepath to my pak file. So what paths I'm i to put inside the mount path, root path and content path? Also if i need to know anything i need to do so that the class from my pak file is found and considered valid, let me know please. I triple checked ensured the pak has the classes inside. Unreal is just not able to validate or load them for some reasons that i'm still yet to know. Also let me know what goes into the path string in the make soft class path node.
The asset inside the Cubepak.pak is a Cube.uasset so I had used a few nodes to get the Cube.uasset string as an output parameter then split that string using string functions so that i had only got the word Cube as a string then appended that to a path i.e /Game/NeoworlderTests/Content/Cube so that i had a final result of /Game/NeoworlderTests/Content/Cube/Cube but my class was still not valid after using that final result as a string path. I also tried /Game/NeoworlderTests/Content/Cube/Cube.Cube_C and it didnt work. My mount path was /Game/NeoworlderTests/Content/Cube , my pak file path was /Game/Content/Paks/Cubepak.pak , my content path was /Game/NeoworlderTests/Content/ and my root path was /Game/ . In all the places I've mentioned /Game/ i used the project content directory node then appended the rest of the path. So yeah. It's quite a read but will appreciate the help so much. It's been giving me sleepless nights. Thanks!!
Just cast to character instead of your bp character
Then it'll work for any character you put the component on
Anybody here know why my variables aren´t updated, when I change them in sequencer? Stuff like "anim class" or "animation sequence" are being completely ignored.
I can change everything I want directly in the blueprints details panel, but if I try to change it by keyframing the variables in sequencer, it just doesn´t update. Neither does it when hitting PIE
Its incredibly frustrating and I´ve tried pretty much everything I could think of...
And yes, I tried moving everything that should be animatable from construction script to event begin play or event tick.
Unfortunately not - The forward movement is set inside the actor's class - controller is purely calling the functions
On event tick, I am basically trying to move it 2 units XY from its forward vector but that is just pointing it to the world direction.
why don't you use Add Movement Input to move your Pawn ?
and here, you don't use delta time, it's not "frame independent" :/
yes - I have a work around on that - similar to Event tick with a delay node
I could not use the "Add movement input" as that is for Pawn classes only - or am I missing something 🙂
Need to use an actor for what I am building this for
if the player can "control" your actor, it should be a pawn
but if you want to move your actor foward, you can do :
(with sweep checked to true, i forgot to checked it)
Hi all, I have a BP actor in a level, that when the player enters that level gets spawned and then possessed. It works fine but ive noticed that Event begin play doesn't seem to work properly off of it. Also iv'e noticed that I don't have to put any enhanced control movement input nodes in the spawn actor at all, and yet i can control it just fine. Does anyone know why this is happening?
Thanks
That's it! Yip - its working! I tried with the world offset node before but had an issue where I just slowed down mid way through and then wrote it off.
HA! You are a hero to me @toxic nacelle - Thank you so much, you saved me a few hours of trying to figure this out on my own.
Man - I should have joined here ages ago.
Do you have a player controller?
And it's a pawn or character not just actor?
yes and its a paper zd charecter so i would say yes its a pawn
when the actor is spawned I link the player controller to the possess node
Oh I'm not familiar with 2d. And there's no input action on the character
Inputs are most likely being handled on the controller. As for the begin play, what makes you think it's not working properly?
Settings wise they are setup pretty much the same as a regular actor, just with a few tweaks to incoperate 2d animations. All inputs work on it completely fine
Ive tried to run a few events off of it and they just dont run i.e adding A widget to the screen. Instead iv'e had to run off event tick with a do once node and it works fine
How have you been trying to do it?
Try doing it on event possessed
create widget - add to viewport, like normal
Thats a good option i might try that
It sounds like you were trying to add UI before it was possessed by the player. What funky said would probably resolve it.
Are you using autopossess or possessing in code?
Im using the possess node from the blueprints
You also have to remember there's also a 1 tick delay before possession is completed. Sometimes you might need to account for it.
Ahh. that would probably explain why begin play wont work properly then🤔
Well technically begin play would be working fine. 😉
timeline are not available on component level 😢
Yes adding a delay at the beggining was the trick. Thanks👍
That's because timelines are components. You can't have a component inside a component.
that's very annoying.
is there any alternative on component level?
You can use curves and increase a float by delta time on tick and use that to get a value from the curve.
how much that solution is reliable? i mean if for any reason your delay is not long enough to correct the situation then, you will have an issue. We should avoid to use dalay for those kind of stuff no? and be sure that everything is properly set before trying to access to something.
i have a problem
in Widget Blueprint called Main Menu, i have an integer number called Currency and every time when i click a button i get +1000.
in widget blueprint called Game Menu, i have an Integer number called Score save that every time he touch Cube i get +10.
i want that the Score save will not effect the Currency. when i finish my game lets say with +80 and i go back to the Main menu so the +80 will added to the +1000 So i will get 1080.
so the Integer Score save wiil added to the integer number Currency.
how to do that?
Hey guys,
I just wanted to ask, is there a way to change the pivot point position and rotation of an object and is there any kind of way to access the modeling tools inside of the blueprints?
Thanks alot ^^
GameInstance, to communicate between different gameMode, (Menu, Game Mode 1, Game Mode 2) At the end of the game mode you sent your +80 to the game instance to add that value to the currency which is store into the game instance.
all different game mode can access to those variable througe the Get Game Instance
in game instance i add Integer called Score save
and i did that
now i stuck in how to transfer that +80 for example to the Currency that in diffrent widget blueprint called main menu
get game instance and the get the var
in the gameinstance blueprint? or in game menu blueprint?
well you want it in game menu so that I assume
you wouldnt cast to game instance if youre in game instance
i dont understand what you dont understand
this is the game_menu widgetblueprint
when the ball destoryed all the green cube so it go back to Main menu widget blueprint
this is the moeny on main menu
this number is the Score save integer the i set on gameinstce
and this is the Integer Currency
every time when i destory cube i get +10
becuase of this
i want that every time when i play the score save will add to the Currency withput change the currency
only add to the currency
everytime you play the game you want to add currency?
or only when you destroy cube?
i want
do you have a save game object?
every time when the game over
the score
will add to the currecny
i want that to work and then i will save game
becuase of that i did for test that when all the cube destoyed so Main menu will open
Is the problem that it's adding +10 for every cube making +50 when you only want +10 for game complete?
on the money widget get the game instance and get the score save and add to it and set the text?
you need to make a save game object that saves your values
can you show what your doing in money widget?>
lets say the currency isnt 0
lets say its 1000
so if i play the game and i got +20 and i go back to the main menu so i see 20
and i want to see 1020
show the code for money
is that a binding?
so is it not adding? I'm still not getting what you mean
for example
now i start the game
now i finish the game and destoryed 2 cube
and for all cube destoyed i get +10
but i want that h 1020 will show
i just want whatever happend in the game will only add to the currecny
the default value should be 0.
if i click on the present button
i get 1000 coins
but if i play the game and win so i get 20 coin
the that reset the currency instead of adding to the currency
i just want whatever happend in the game will only add to the currecny
youll have to show the code of what happens when you win? I dont know anything besides the function that adds 10
Are you getting a reference to the game instance Currency for the in-game UI display here?
whis is what happend you win
i set here that if there is no more bricks so that go to the main menu
just for testing
you arent setting currency anywhere else? and where do you call this function?
this si on game menu
but where do you call it
my guess tho is currency is getting set somewhere else tho if its set back to 0 thats only thing I can think of
Don't store gameplay data on widgets. If the widget is destroyed all the data is gone. The actual currency variable should be somewhere else.
try printing the values and see if it changes
so you add ten, it switches level, but your score save isn't set it's 0 ?
that is true if you destroy it will be reset
that work perfect to me with diffrent object
you should store the currency on game instance and on construct get from gi and set it
Just because it worked once doesn't mean it'll always work. Chances are you have you main menu widget with the currency var in it. You start the game of which you then close the main menu widget. This means currency is gone.
You can't add to the variable until you recreate the widget but then when you start a new game, those changes will be gone when you remove the widget again.
if you use save game that will not happend
Still bad practice. 🤷♂️ After all, it's not difficult to put the variable somewhere else that isn't a widget.
its on the game instance tho
he has it on widget
Score and currency are two seperate variables.
Why not make a BP_GameData and put it in Persistent Level since you're using sub-levels for the Widgets and then store Var Currency in this? You can call reference to Currency whenever needed from both Levels for both Loading/Updating and updating will be as simple as tallying your total score to add during gameplay and then calling UpdateScore function before you switch levels?
oh i c, it's a different variable thats not changing, i was just looking at the code that was sent
also using bindings are bad practice
Event dispatchers are a requirement for complex systems.
in the end i need the score integer i need the currency and i need the another integer the combine them to save them later
the text binding
Ahh... I wouldn't say it's bad practice but yea you should avoid it for data that doesn't update frequently.
so how you suggest me to do that?
put them all on the game instance ?
it persists through levels
so whats happening is your variable is probably resetting
put it on the game instance, that won't happen
and in the end i can combine them
i mean to take Score intger and Currency integer and make them lets say Final Currency?
i mean if you have access to variables sure you can combine them, but start by putting them on the game instance
so they carry over through load levels
pretty much everything but game instance resets when you do that
Hello! I thought I was being clever by putting my enemy stats in a datatable and then grabbing the data (the child class of each enemy based on a base class with stuff like movement and variables like health and movementspeed). I put those variables on expose on spawn, but when putting the enemy class variable from my struct that I grab from the datatable the variables that were exposed on spawn before are gone. Which obviously makes sense, because its impossible to know which variables to expose for a variable class reference.
How would I got about fixing this? I was thinking about an interface to setup variables like Health and Movement Speed after spawning the class. Is that the way to go or do you have another suggestion?
I'd say thats the way to go.
The reason I'm not sure is because technically for a verrryy small moment the stats are not how they should be, could that affect anything?
Or is that moment between the spawning and the setting using an interface negligible and am I worried for nothing 😛 Which is very probable 😛
I'd say its fine also if you have a base ai and childs of that you can set the variables instance editable and set for each one depends what the variables are
why can't you initialize inside the class on begin play?
Use a base class. If you set the enemy class to a base enemy class that has the health variable. The Spawn Actor node will know that what ever it spawns will always be that type or a child and would have that variable.
Is the enemy class pin from the struct of type (your enemy class base). it should work if it is.
in my example i am using my projectile base class so the pins show
Ah yes perfect. That worked. I had the struct class ref as "Actor" I changed it to my enemy base class and now the exposed variables are there! Cheers
Does anyone know if it's possible to make the 'Completed' pin on an input action event still fire if a new ICM (with an action that uses the same key) has been added with a higher priority?
Also , Instead of many specific variables , you can Expose on Spawn 1 Object variable that holds different variables per enemy
OK, now almost sure that there is this one BP, which works sometimes and definitely doesn't work the first time..
Has anyone experience such a thing? Or am I losing it.. hahaha
wdym "first time" and what part isn't working ?
like if I do some shifting of nodes and reset it, it starts working
this BP is casting and listening to boolean variables from another bp
this boolean bp is the problem
it doesn't fire sometime and other times it does as it is suppose to
thats unusual, show the code
the logic sounds like the problem
does the cast maybe fail ?
yes sometimes
and oterh times it works
haha
wait lemme get pics
its going to be hard, it is a long code
spaghetti
the BP is it listening to involves death of player
although I'm setting the "required" boolean way before it
I just got an idea of trying to add Delay
sometimes delay makes thing works
no
no for the delay?
yes
ok posting pics is the only solution. I'll get them
debugging should be your next step. Use break point and print strings.
Also stop cross pinning
Anyone got a solution to this? Thanks
yes I saw the debugging code. That's why I know, sometimes it works and then I save project reopen and it back to No go
don't focus about re-opening the project, I doubt the issue lies there