#blueprint
402296 messages Β· Page 892 of 403
no I'm actually well aware of everything. I'm using the gameplay framework correctly to my knowledge. still very spaghetti-ish.
there is Find in Blueprint
thanks for this. didn't know ctrl+shift+f works here too. will be useful
its like a tab itself
it searches for anything related you type
also on any nodes you see in the graphs
you can right click them, find reference and it will seach on the current graph, then there is a binocular icon on the right side that will search the whole project
kinda more clicks
hahahha yeah I hate clicking on this stuff. very used to a workflow without a mouse
it's fine though. I can't complain too much. Unreal's APIs are actually solid for the most part
and I love the gameplay framework
the only thing about developing in bp that is not mouse dependant is ctrl + p for asset window
π
yoo I'm glad this is there too! i was awlays ctrl+spacing to open the file lol
I cant imagine bp'ing without a mouse
alt+shift+f while selecting a node to find reference
I think there were arrow key /wsad navigations through one of the bp workflow Plugins
But also think it was for exec pins only so when you get to pure nodes you have fun
but all in all, I think we should figure out how to make this work in our favour
I'm very pro on core systems in C++ and BP for asset referencing. super duper fast workflow!!
if you ask me for a few handy things in bp
Iteration should be faster in bp ;p
ctrl + left click to move existing pins
alt + left click to instantly disconnect pins
But if you dislike visual Scripting and plugging tons of nodes cpp might be your other option
Bp is very readable when you don't do array stuff and a lot of event based flows and async stuff
If its not, either you got serious c++ speed, or i just suck at it
Then again, 5 years of bp vs 3 months if c++..
both got its perks π
a lot of my code is event based stuff and arrays π’
every time I have to do an array operation in BP I cringe a little inside
it's so painfulyl slow
why do you think so?
also the more you spent time in bp, the more you will think "why the heck dint epic expose these function in bp"
it should be blazing fast imo
Any header change means closing engine, compiling , and opening again
^
what about .cpp files? i'm sure that doesn't involve closing and opening
and how long does this take realistically? 10 seconds?
Highly depends what you do
Live coding adds a lot to iteration in Cpp
If you change declarative structure you sure are having a bit more fun
But then you may also have in BP because one BP randomly broke because you didn't save all π and you have to rewire stuff
8 out of 10 times i need to do it on cpp files aswell
i have to restart the editor no matter what
even if hot reload says its updated
depends on your project size
for mine it takes like 40 secs
The time I change a BP is mostly equal to a Cpp line if it is code
Asset changes ofcourse are faster in editor
15 sec for compile, 15 sec for opening ?
unity literally takes 10 seconds too when compiling a script without asmdefs. like 5 second freeze when u save script + 5 second to hit start game
So 30 sec each time ?
No one uses hot reload
And if you do you doom yourself
i understand that
Yeah, dont use hotreload π
π
But 30 sec for each variable i add, or each iterative change i make, is 30 sec wasted
but why is compiling c++ taking so long
i just restart editor when i need to change something
Doing it in bp saves me this
why is the editor recompiling the whole engine?
Only if you know what you do and use assemblies
Otherwise big projects can take like for example 5mins as well
true
is this a VS problem? I wonder what compile times are in Rider
Unless you force rebuild
compile time is the same
then why 30-40 seconds? sounds crazy
And same applies for ue source
A monolithic module will Link and compile slower
it depends on the msbuild thinggy
Thats about normal for an editor restart and a c++ compile
15 sec for the compile, and 15 sec opening engine ?
Ive seen way worse
Yeah seems reasonable
It gets worse if its a big change, or affects a lot of files π 15 sec is like best case
what is taking 15 sec to compile when the diff is a 1 line change in the header file?
is unreal recompiling the entire source?
If you think compiling the source takes 15 secinds thats really funny
well I'm sure it's not
Sounds like a lot of stuff in your code is dependant on one singular file
Which is in general a cause for big compile times ..
The source takes like 9000000 years
if you want to know how long you will need to recompile the whole ue4editor module with a modern 16 core cpu i can help π
I have not optimized anything about it, so could be some default setting causing more to recompile? I got no clue really
I mean don't blame the engine for compile times when you change EngineTypes.h
Hehe
header includes
I think c# is quicker cause like bp, it gets translated to a virtual language
Surely im not changing enginetypes or anything alike
30-40 seconds sounds insane. i didn't know compilation takes that long. What project size is this?
my project is literally like 7-8 small actors
Forward declare as much as possible
Avoid single big defines of lots of structs in one file ( if not used together )
A 15 secomd code compile is normal on even a console project in native c++ when you start making header files
Compiler boot up, windows interruption and also linkage take some time and are all external influences
Windows indexing and security can conflict with compilation
Memory consumption of other stuff can hinder compiler thread boot up
Just some examples
But like
If i reduce it to like 5 sec
Its still a 20 sec total for a compile + restart
Restart depends where you restart
20 seconds, where i can instead use 2 seconds to make a bp variable
Wlecome to unreal engine where projects take time to load
Gyms help as well ( minimalistic levels to test a feature )
source code says hi π
Obv one tries to bulk changes, and not restart every single time you make a variable
wtf.
Source code hurts my drives !
What did ya think it was gonna look like :P
huuuuge
But yeah Cpp takes compile time
But i guess you save that time to not think about very granular BP structure so you are not locking out other team members on BP stuff
bp is totally faster if you want to do like delays and timers in a chain for gameplay scripting and such
1 simple node for latent actions
Yet you can define custom async nodes in Cpp to use in BP to work even faster
Are compile times faster with Rider for unreal?
its the same i believe
Both the same fastest is not to have a ide open
You are missing the point of major time being loading back up
the only thing rider differes is the convenience in typing code and such
Hmmm, does unreal have to load the editor back up? Can't they explore something different?
i heard hot reloading was a fail though
But only due to memory and if you have more than say 6 to 8 threads available and only 16/32 gb ram
I mean ye you can leave the editor open, but you also get to risk corrupting everything irreversably
Only when you hot reload
Ye thats what they said
You can live compile .cpp changes, but header changes need a restart
Not entirely but most of the time yeah
For peace of mind id still do it outside of editor tho
your best workflow imo is gonna be to use bp for all of the more simple things, and then make structs, nodes and large subsystems in c++
Ue5 can Reinstance header changes
But i would just follow the deal:
- Bugfix / test .cpp code use live coding
Anything else just close the editor
and then use your said structs nodes and large subsystems in needed blueprints
also get used to seeing your new favourite terms
UPROPERTY() and UFUNCTION()
I think one of the ue streams showcased a good balance between BP and cpp
Think it was something with basic interactions
I mean lyra is also a damn good example
Combo of bp and cpp is surely the best
But initial iteration is ime best done in bp
Then move functionality to cpp when you wanna optimize etc
id only start porting things over if performance seriously worsens
It always does :p
but for really large stuff id say start in c++ so you dont have the pain of rewriting it
cause i hate rewriting big stuff
id rather have the editor crashes than to port those things over
If you know the big stuff already
But often you dont
Or atleast, I dont
Thats the iteration part
Sculpting this big system
Or core stuff
At least have a base class readily available
Or core systems like quests inventory scores etc
Basically anything you would call system xD
yeah your stuff like your
MMORPGSubsystem -> DoStuff();
I would just start in c++ as bp doesnt really have a nice alternative
without bloating other classes
plus that stuff would take forever and a day to translate over and im not sure i fancy doing that
I just ported a BP only project as I followed what squize said till now
But when you switch you basically break everything
And then switch everything over
I would say when you are new to Ue-Cpp this can go hellish wrong as you don't want to lose data
And this gets tricky or you have to write code in BP to fix / move your BP data into new native data
Like followed the move it later approach
Trust me it is not that easy
ye im also more used to debugging c++
so for large things i would be more comfortable debugging them in c++
i dont like the bp debugging tools
they feel icky
Just to add
It only took me two days though
But still was a fun experience
"Moving some stuff to cpp"
May work well for single functions but once you want to revamp some BP structs and enums and so on ..
ive heard the horrors of bp structs, although i have never encountered them myslef
i just make mine in c++ now
saves the trouble
Yeah had some back in 4.16-4.18
its horrible
Then started to always define structs in cpp xD but it is better as I experienced in jams where we usually do BP only stuff
Maybe some cpp plugins
moarr p's
CeePlusPlusPlugins
time to make the best programming language P++
where the start of every word is a p
pIsLooping
enjoy declaring your
pstatic pint x;
ΓΆ++
pint pGetNumberOfPees()
I have great success with this so far, just injecting a new cpp parent to my bp class and go from there
Nothing breaks, i get partial progress, and can stop whenever im staisfied
anyone know if it's possible to convert a string to bools/enums? I'm trying to make a map of various values, so I'm converting them to string and then storing them. Now I need to convert them back π
string to bool just check if string = true or false
why not store them as it?
wym
Why store a bool as something != a bool
You can always make your own parser for it but seems like a lot of extra
wait i have a question is it possible to download a string from a site with no extra plugins or c++?
because it's an array
you can have multiple maps, yes
but it overcomplicates something very simple
I have rooms that have different types of puzzles, and need to store the info for those puzzles as keys and values
i.e., the elegant solution would be storing them as an array, and parsing them back out when loading
like a json object
I'm going full jank
I will now go enum -> int -> string
and string -> int -> enum
π
lmao it works
this is idiotic but I thank y'all
can I use a for each loop node on event tick
If its heavy (and necessary) move it to native tick
Seldom is it really necessary tho
Wdym a string is just text
Not to be confused with FText
Finally got to use this GIF lol
Oh god tick array looping
What could possibly need frame by frame array access
Other than a really bad sorting algorithm
movement
Event Tick -> Get All Actors of Class -> For Each Loop
Read the tool tip of the function
It literally says don't use on tick, there are better ways
no u

The joke
βοΈ
π¨
Any tips for condensing stupidly big blueprints? I've put what I can into functions and enums to clear a bit of space. But this blueprint is covering multiple scenarios and values so has thicc chains of branches. Or is it just a case of organising everything into neat comment boxes and waiting 5 hours to scroll from one side to the other every time?
C++
@icy dragon
.
functions, functions, functions, functions
My C++ isn't good enough to save the time it would take to finish this blueprint off.
Ok, fair enough. I'm trying to mash as many functions in as I can.
Pretty sure you can also collapse graphs
Nah lol
π
At least i hope not
Yeah, this entire blueprint is one giant tick. Takes an hour to run.
Lol i hope its not π
but i suppose with proper flow control
you can get away with it
I'm a bit OCD about ticks, so don't have many of those. It's the biggest blueprint in the entire game, but once it's up and running I shouldn't have to tweak it that much. Just a pain to work on due to all the scrolling. Can only zoom out so much. Nvm.
cheers guys
Or am I?
hides event ticks under the desk
||nah jk lmao; you gotta know BP to make that joke||
Functions and multiple graphs
You can collapse nodes, but personally I found it less intuitive to deal with
Like I wanna get raw data from a site
and just feed it into the string
Yes
i mean if you can make ur own server and send a request for it, there may be nodes for it
Http request exists in the engine.
Whether it's BP accessible or not... Who knows. Someone probably wrote a plug in for it.
Bc I make mods for games but I canβt add custom c++ or plugins
if you make game mods, then fetching website data seems a tad unnecessary
Well itβs public mods and like I want to do checks for versions and other strings such as news or updates
Was dat
Message of the day.
Search for http. If nothing pops up, then no.
As in ue4 source or internet
Search for a BP node, that is.
Ok
any way to cancel a delay node?
i have a self destruct delay, but i would like to cancel it if i call the initialize event for example
hmm
like elapsedSeconds float and maxSeconds float and do it manually?
You could add a bool and check if that bool is still true when the delay ends.
shrug
π
yeah i thought about that, but it is possible to be reset multiple times in the delay's time
when you try to destroy it initially you just set a bool "ToBeDestroyed" to true
then after the delay you check if its still true
on init, you set that bool to false
The other way is as i mentioned a timer
instead
Which you can clear on init
thanks for the help π
i also just remember that i have to be able to reinitialize during the destroy animation as well, so simply interrupting the delay won't even work
damn you using shit i haven't seen yet π
setting lifespan to 0 resets the kill timer
lifespan is basically a kill timer
this will call DestroyActor() tho, so nothing you can react to there, specifically
so you'd call this
and instantly call the DestroyWithAnimation
then if you init, the destroy anim will still play along, but the actor will remain alive (unless you explicitly destroy it)
how you want to display this (cancelling animation, instantly hiding the mesh etc etc) is up to you π
i'm still watching π figuring out what i want to do
if you play a new animation, the one that is already playing just gets cancelled right?
Depends. If you're just playing anim sequence, it'll overwrite the entire anim instance the skelmesh is running.
If it's a montage, I think it only cancel out any montage in the same slot
wait shit i said it wrong
widget animation
π
yes this is all a fucking widget haha
but thanks for the answer π
Does root motion work for characters only or for pawns as well?
sooo
it does not have it
but i think i might have a work around
how can i fix this, the ai sould play the sound once it sees me but it just spams the sound instead of playing it once, maybe i can somehow make it that once it plays the sound it deletes or stops it?
create sound and then off of that do play
you can do a play with loop to
nvm ig
weird
have you tried using a 'Do Once' node?
any idea where i can find documentation/explanation of what this timer handle structure can do?
right now i think this will work (if the clear and invalidate node cancels the timer and makes me able to reuse the set timer node at least)
It executes the event after the given Time.(and initial delay etc)
Clearing it will simply stop it from executing
i think you can't use the node if the timer is already active?
so that means invalidate should hopefully make the node recallable π
I believe you can but have not tested this
Set Timer clears any previous timer from the handle you use
iirc
So calling it again essentially resets the timer
So that means it starts going from 0 again i guess
Yep
You cant simply extend or shorten a timer then ^^ nice to know
You can if you get remaining time from the handle before you change it :)
Yeah you don't need the handle unless you need to cancel the timer or do something else with it
Right, but then youd need to do remaining time once, and then update it to the new rate π
Using this for a auto-fire on a gun
Where you can get upgrades in the level increasing rate of fire
That's what we do alot but in C++. Shall be fine.
Hello im trying to make my AI while on air (getting K.B) to stop going forword my character. tried to disable movment or set movement mod but all it does it making my AI freeze in air. any other solutions?
Hello ive been trying to use a mesh from one of my datatables to attach to a socket. but i cant since its a static mesh and it says it needs to be an actor or component. and i cant change my datatable as that would stop me from pre selecting what mesh should be used. Is there Any way around this?
it works perfectly as far as i can test it π
Add a static mesh component and assign the static mesh from the datatable to it
do u mean inside the datatable?
No
You need a static mesh component to assign the static mesh to. Then you can attach the component to whatever. "Create component"->"set static mesh"-> "attach"
yeah my ai doesnt work if i put in in
I'd like a mouse click to start a ray trace but if the player moves the mouse before they release it, then cancel the function. Is there a simple way to check the player hasn't moved the mouse after its been clicked?
or do I have to get world mouse location and verify
Bool and a branch. Check the axis value for the mouse x/y are 0
okay
I'd do between .1 and -.1 so that a slight twitch won't cancel it but that depends on your use case
On click, save the current location?
Compare to actual location , and act accordingly?
That being?
sequence [1] -- Do Once -- Play Sound
[2] -- 'the rest of the code'
try something like this
Has anyone worked with a procedural mesh component? I'm trying to generate n-gon plane, but triangles facing the opposite way, is there any way to flip them?
What I did when I did this was pre-check the normal of the first triangle. If it pointed the wrong way, I would flip the index order of every triangle.
ACB instead of ABC.
You can check that with AB cross product AC
Assuming all your triangles use the same winding direction.
Thank you, will try that
Hi all! I'm sorry to bother you all... But I need some help π
I started to develop games in unreal about 1Month ago and I'm now making a mini game where you control a ball that breaks cubes for points.
I made most of the things work but now I'm stuck at a mechanic I want to make, I want to create a semi random cube placement... basically I created an invisible object that would act at a set location where the cube could spawn, I duplicated that object and placed it everywhere I want my cubes to spawn, I managed to make the spawn randomly on those spots which is what I want... the problem I have is that on occasions 2 cubes would spawn at the same place and be inside each other... is there a way to prevent this to happen? I just need a name, word or video to put me on the right direction... I don't want or expect you to write the code for me since my goal is to learn... but I'm simply stuck :/
Cheers
Right now are all of your CubeSpawners independently choosing whether or not to spawn? How are you getting overlaps, are the spawners close together?
Well I have a seperate actor for the spawner than the cubes and I make the cubes chose a random spawner to spawn at... and sometimes the little sh*ts decide to spawn at the same one π
I pull the spawners from an array, how do I make it so that the cubes don't chose the same one?
is there an easy way to find all the children of a widget with a certain class or does it have to go through every child and cast?
hello,
Is there any way for BPs to inherit visual components from a parent?
As in, I want to have a button prompt to appear when player gets near an interactable object. I am using Billboard Component for that. I just want to know if I can make this inheritable which I can use in all the BPs which need this Billboard Component.
is doing GetAllChildren > ForEachLoop > Cast To X better than GetAllWidgetsOfClass with top level only disapled?>
you can make a blueprint inherit from another but any visual aspects from the parent can't be changed on the child is what i found
Oh, if the locations come from a pre-determined list, you just remove them from the list as you pick them. You start by duplicating the primary array into a working copy of that array (e.g. a local variable in a function) and then use that copy to pick from, and remove the chosen element from the working array as you go. The choices narrow as more locations are picked from the array.
hmm, I was afraid that was the case, Guess, I'll have to make the functionality inheritable and put the component separately on each BP
So I basically destroy the spawner after it has spawned something?
the would solve the problem... but since I want the cubes to respawn indefinitely I need the spawner location to still be active and not destroyed
oh, so after a cube is destroyed, it can re-add its location to the pool of possible spawn locations?
it seems like you need a manager actor
that manages lists of free vs occupied locations, and the cubes talk to the manager as they're created and destroyed
I will do research about Manager actors and come back if I'm still stuck!
Thanks a lot!
it has a list of all the spawn locations, and a seperate list with all the spawn locations that are valid spawn locations
I'm not referring to a particular class btw... I'm just saying an actor that behaves like a manager
when you want to spawn a cube, you tell the manager to do it, it handles spawning the cube at the location and then removing that specific location from the list of valid locations
and when you destroy that cube, another call is made to the manager telling it to add that specific location back in
yeah as seanny said, a manager actor isnt a specific actor you can inherit from in unreal, its just a way to classify an actor with a cetain job of managing other actors
I will try to make it work then... π
thanks
no worries, I'm not super experienced with unreal myself but i went to uni and work with the engines still, so a lot of the base theory of how to build systems is still there haha
so ive been trying to attach this static mesh to a "Attach Component To Component" node, but cant because its a Static mesh and i cant change the static mesh from the datatable as that wouldnt allow me to preselect what mesh should be used. is there a way to convert the mesh to fit in with "attach component to component"
hmm if you only have 1 mesh
you can SetStaticMesh() on the mesh component with the mesh asset you have from the data table
I haven't used data tables before, but I assume that the "out row" from that node doesn't contain a reference to an actual, spawned component?
if that's the case, you can't attach something that doesn't physically exist, so it has to be spawned first. Maybe "Add Component by Class" node with your player character as the target; idk.
anyone know where is the config file located ? it says Engine but the project/Config/ folder has no Engine.ini there is a Project/Saved/Config/WindowsEditor/Engine.ini file but that doesnt have any lines that would look like my variable
Is there something different about the animations notifies in UE5? I tried to create on montage and in the animation blueprint it cant find it?
i was able to do it with this
hmm yeah that works
the reference in your data table is an asset reference
so you are updating the mesh component on which asset to show
by default it will also use the material assigned to the static mesh asset
you can also modify that in blueprint if seems fit
How can i make a copy?
In the ue4 launcher clone it
Does anyone know if it's bad to have a switch with a lot of cases? Like 20+? I'm making an upgrade system atm and you can pass in a String:Float map with a stat name and an amount to increase the stat by, and I've got about 23 cases so far and that doesn't include if I add more stats later on, it's only called when the player selects an upgrade on the level up screen but I'm just wondering if I'm going about this the complete wrong way haha
Shuffle array, use X% of the Items
For loop on array.length/2 or whatever
Just copy paste the project folder. Delete intermediate and saved
Switches are cool :) no worries about a small number of cases like that
Generally not much to worry about anyways
Okay nice one thanks, I was hoping that was the case saves me having to redo loads haha
In the future I'd parametrize it, the stat to modify is just a parameter as much as the amount to modify it by
Anyone happen to know if there's a way to see if any subclass of a particular blueprint have changed a variable's value in their defaults without having to open each individual subclass and looking at it?
Maybe property matrix if you can get the subclasses easily
How would parameterizing this change it tho? The parameter ends up in the switch , and the amount is.. well.. amount
you could do something clever with inheritance, add a check method to the parent class
Yep, prop matrix works great :) I can select all of the ones I want, prop matrix them, then pin the value column
If you had a map of Names or Enums to Floats or Ints
Key = Strength
Value = 20
it'll then show each individual value as a column even if there are multiple different values across the whole selection
for the set focus function is there a func that sets stop focus
is it clear focus ?
True that, using find and adding the stat. Maps in bp's are not my favorite in general :p
The most worry you'll have is dealing with spaghetti.
Switch to a bunch of ints isnt the worst spaghetti I've hear about :p
Could use a select and increment by reference instead i suppose
If selects allow string... it probably doesnt
Try switch with 60 cases :P
One of the worst decision I make for my side machinima project for predetermined character stats, now I used data tables
Hehe well 60 stats, id probably toss it in some container at anything above 10
hail GAS 
Yea it's already seeming like the worst part, at least once I've finished I never have to look at it again haha
I have yet to dive into that. Theres just so much about it π
Haha my own botched ability system go brrrrr
You have to make some decisions about savegame stuff if you use GAS
Effects and abilites don't really have anything for that out of the box, so if you want to save... something to think about
Hey, is there a way to migrate a specific asset instead of it asking to import the whole dang content folder? haha
And at least in 4.27 the blueprint GAS apis are basically a joke for the most part :P
pretty much have to use c++ for gas
since the attribute set has to be implemented in c++
References my dude. YOu need what the asset references as well
Aye for sure. Especially for things super ingrained. Just a bit of a headache having to deselect every stinking folder I don't need.
That'll teach you to couple your stuff like crazy lol
You can just export and import if you want it to be busted on the far side
Example, I want the VR hand imported to my project for example. Why does it want me to migrate audio files that aren't even associated with the hands haha
Because in the vr hands theres a reference to a thing that references the audio files
Or a ref to a thing that ref a thing thah ref the audio
Along those lines :)
Reference viewer will help you out
I understand the reference thing guys, trust me. However there are things the hands aren't even linked to that it still asks me to migrate is all I'm saying
what would be the proper way of keeping the left hand on a weapon because i have used FABRIK and normal IK for the left hand and it does seem to reduce the left hand movement from the weapon but it still moves away from the weapon
Error?
it does the same with me when i migrate stuff when it has nothing to do with what i migrate i just leave it do it's think because i tried un-ticking the things that have nothing to do with it and it ended up breaking when i looked at the migrated version
LogScript: Error: Script Msg: Only EXR export is currently supported for PF_FloatRGBA and PF_A32B32G32R32F formats.
What's PF_FloatRGBA?
Kinda contradicting imo. It wont pull assets it don't use
I can understand your view point. Perhaps I just had more refs to things with that one asset than expected
Just change the Texture Format
RT Texture
You are using the wrong one for a PNG
Ok that works for my render. Now I'm trying to draw on that render and export that instead but it's exporting as a blank image
is there a way to setup buoyancy (or making fake buoyancy) so it would be possible to make a ship move in the water? It don't need to be very precise because the boats will be seen in an top down way... I would really need some help
That's how I'm drawing
If you open it in Photoshop or bring it back to UE, does the RGB channel has something?
No. It's just blank with an alpha layer
What usually happens is that the RGB channel has something, but A channel has nothing but 0 value. It's a problem even when using render target texture in image widget without going through a material
The material from the render target has the drawing ontop of the camera render.
Here's what the material shows
and here's the draw on render target
turn off deh alpha and check again
I did that in gimp and the exported image doesn't have any color
It's just an alpha layer
I've been in the same situation. Some crazy asset being pulled that cant possibly be used by whatever i tried migrating.. π but turned out it was a long chain of refs leading to it. Madness π€£
Any idea if there's some secret content browser filter for parent class that actually checks the full inheritance tree? Eg. if you have Main->Child->GrandChild, and you do ParentClass=Main, it will not find GrandChild because it has one additional level of inheritance
Well the statement sorta implies it doesnt it
"Show me who has parent class = main"
I found a workaround for the rendertarget issue. but there's still a bug
It does, but oftentimes you want to find all the children and not just the immediate ones
I stopped scene capture for drawing and exported the scene render with drawings directly on that instead
You can see the pixels I drew
t he color is off tho...
Hey guys, is there any way to make a development only function in Blueprints? I know how to do this inC++ using function specifiers but not sure if and how to do this in BP
like a function that only gets called if its packaged
I believe there's a hotkey
Yeah, I found an experimental feature which lets me mark a node as development only but in that case, I'll have to mark each instantiation of that function as Development Only.
so it only executes if its packaged?
See, Second one is where I created the function. Even if I mark it as disabled, when I am calling that method from another BP, it runs.
I tried a bunch of things like child, parent, extends, subclass, but doesn't seem to exist sadly
.
It must be possible to some degree, due to engine knowing this when you create a new class ?
I haven't packaged it and checked. But see the thing is that I am using the Disabled feature, which is another feature beside, enable always and enable (development only).
So, If I mark the node where I am calling the function as enabled, disabled or enabled on development only, it works perfectly. But I don't want to mark each call of this function explicitly. I want it to work just like how PrintString Function works.
You can see the entire hieriarchy there so... but perhaps its not directly usable in thr content folder like that..
see i had the same issue i just made a check if it was packaged for distribution
i make mods for games and i have to recreate stuff like C++ or bp thats not the same and it would error in editor but not the game so thats what i do
I just want to make a few utility methods to help my team in the development phase but should be disabled in shipping build. I think this function will do the job
Thanks a lot. You are a life savior
Has anyone ran into a weird problem where attempting to place actors into your level always puts them at 0,0,0 and you can't move them?
Tried to restart editor and still keeps doing this...
Maybe the actor has some code in its construction script that sets its location?
Oh. Nevermind. I somehow had managed to enable a 5000 unit snap for the grid snapping :P
I wonder if there's some shortcut for changing the snap number because I definitely didn't click on it to do that lol
Might have fat fingered something
does anyone have a good resource or video on why and when i should be replicating and when to use the various switch authority functions?
im trying to understand the 'why' behind why i see things done a certain way
Network compendium pinned in #multiplayer
Made by one of the mods here iirc
Very good read
Has anyone come across any solutions for automatically re centering a skeletal mesh or animation? I was just handed a large library of animations from different libraries that have very inconsistent center positions to fix, and I was trying to think of if there is a way to correct them via code instead of manually adjusting all of them so they're centered.
Just get in the mindset of thinking "What is the minimal information that needs to be synced for everyone to see the same thing happening?"
Is there any reason this would only return 0,0,0 in my project not sure what i would of modified to break it but in a blank project i can use this just fine.
You sure you're just not in the negative quadrant?
How do you know it's returning 0?
because i made it draw a circle around the camera location and it draws it at 0,0,0
using the same code in blank project
it follows me
Show the rest of your material. Also this is a #graphics problem.
ah okay my bad i was looking for shaders or materials channel.
and just gave up and did blueprint.
thats a good tip adriel
im thinking i might make like a test/learning project
where i have a bunch of actors and have widgets that show their variable info
I'm trying to spawn a bunch of an actor in a 3d array and I'm using a transform array to do so. Does anyone know why I'm getting this random actor at 0,0,0 at scale 1?
i have been learning by ripping apart various unreal assets i bought off the marketplace and it has been good
I've tried a branch on the spawning loop and it still comes back
is there a good guide for debugging? i would love to be able to select actors during game play and see their data
Gotta see some code to have a good guess at it
Is this an ISM? If so, have you added a default one that you've forgotten about ? :p
quick question but for some reason the posses blueprint doesnt exist when i look for it. Anyone know a solve?
What is the "possess blueprint"?
what i would use to make a pawn active
this (it doesnt seem to show it at all for me no matter where i go )
This is the code. For now i've gotten around it by scaling the spawned actor afterwards. I just have a duplicated 0,0,0 actor but for what i'm doing it doesn't really matter. More interested in why this is happening than needing to fix it.
does anyone know how to reduce the amount of digits on a float?
as in the decimal place?
i remember on a spin box you can set the amount of fractional digits, i kinda wanna do the same for this float
"Easiest" way to limit precision on a float is to convert it to text and then back to a float.
Is there a way to check the struct type of a data table?
anyone have a good tutorial they liked for making multiplayer drivable vehicles of some sort that you can enter and leave?
or a good marketplace asset that i could rip apart?
Would anyone be able to assist with gaining some info from these logs?
LogPlayLevel: GI_Buck_Hunt_C /Engine/Transient.GameEngine_2147482624:GI_Buck_Hunt_C_2147482584
LogPlayLevel: Function /Game/BluePrints/GI_Buck_Hunt.GI_Buck_Hunt_C:HideWidget:000A
LogPlayLevel: Warning: [2022.04.28-20.07.10:873][128]LogScript: Warning: Script call stack:
LogPlayLevel: Function /Game/Widgets/Settings.Settings_C:BndEvt__Settings_BackSettings_K2Node_ComponentBoundEvent_17_OnButtonClickedEvent__DelegateSignature
LogPlayLevel: Function /Game/Widgets/Settings.Settings_C:ExecuteUbergraph_Settings
LogPlayLevel: Function /Game/BluePrints/GI_Buck_Hunt.GI_Buck_Hunt_C:ShowMainMenu
LogPlayLevel: Function /Game/BluePrints/GI_Buck_Hunt.GI_Buck_Hunt_C:ExecuteUbergraph_GI_Buck_Hunt
LogPlayLevel: Function /Game/BluePrints/GI_Buck_Hunt.GI_Buck_Hunt_C:HideWidget```
I'm trying to just get my back button to close down my Settings widget and load my Main Menu again, every other button doing this works fine, just not from the Settings menu π¦
Says accessed none. So your "widget in" reference is null when it's called
Feels backwards to read resize followed by insert. Why not just 'add'?
This is the event that's being ran when calling for the main menu. It's really odd that it's working fine everywhere else, just not from my Settings menu
And surely I'd have thought that if it was a failed 'Widget In' reference then my 'back' buttons would be failing everywhere?
If it's isolated to the settings menu then I'd check and see what's different there
π my blueprint logic is very rusty. I have a use case that I'd like to pick your brains on.
In my scene I have some houses, and I'd like to be able to disable the roofs with one button press. My first thought was to add a tag to the roofs, however most of them are children of a house actor, and as such they don't get picked up by GetAllActorsWithTag. How would you approach this feature? (Thought I should ask here rather than general)
Isn't there a get component with tag also
Yes but that requires an actor to search on
So get your house classes and search them.
Or use an event dispatcher if you always want all roofs to toggle together
Is there a node for opening a file-browser (and selecting a file(s))
Some reason pause game is also pausing widget animations. Any idea about preventing that?
Currently if I pause before playing a widget animation, the widget does not change visually.
I can click on the buttons but if the game is paused animations will not play
if i have a bp variable with repnotify how do i get the old value?
Hey, I've got a question, when I try to add and integer to my Integer array it changes the integers to 1, 2, 3, 4, 5...etc instead of storing the 20, 60, 2, 4 ,10... etc
Is that normal?
Show your code
no, show your blueprint
No, show your link profile
i dont even know what that is
you are adding the index to the array, not the actual value
How do I add the value then? π
depends what you want the value to be?
a random value between the available number
Well I tried make a system that would let me chose a random spawner and then not chose it again until it's free
Shuffle Array exists
Shuffle the array, use the first X however many of the results
Verry sorry, I'm pretty new XD
But I have more than 1 object that I want to spawn
You have like 100 spawners and want to fill a random 10 of them. Shuffle array, spawn cube at the first 10 of them
You're trying to spawn things at 10 out of 20 possible locations right?
and I don't want 2 spawning on one... AND they have to be able to respawn without spawning on the already existing ones
Yes exactly,
Shuffle the array of all possible places
then just iterate through it spawning things
you'll never spawn at the same one twice
until you run out, then just reshuffle if you want or whatever
But I will it be random?
Say your spawners are 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Shuffle it
now they're 4 7 14 3 10 6 15 5 2 1 12 13 1 8 15 9 11
Now just use the first 5 of them
and the next thing to spawn is at the 6th index, etc etc
Thats what shuffling is
randomly reorder an array
Ohhh, okay
and how do I make the cubes pick one spawner after the other?
Also, how do I tell the code to reshuffle once it ran out of spawners?
Sorry for asking so much :/
I'm unable to change the emissive value of a dynamic instance material at runtime.
For loop
Show your setup
is the spring arm the only way to stop camera clipping in walls and stuff?
@faint pasture
The functions Event Start Glow and Event Stop Glow are getting called,
I did a draw debug string at the end of it
And the name parameter name is correct too.
I'm creating the dynamic instance at beginplay
I don't see you assigning it anywhere
You're making it and talking to it but it's not being used anywhere
Just a material off on its own with no mesh to apply to
Where are you saying what mesh uses the material?
Try it
What's the function for it? Set Material Instance?
Set it in a mesh usually
how come if I set my collision to block the camera for a mesh it still clips through the mesh unless I use a spring arm, is there anyway to block the camera clipping in walls without using a spring arm?
Does anyone know of a smart way to link a keyboard key (enter) to a widget button's on clicked event? I'm trying to implement keyboard navigation in a main menu.
Hello, looking for someone who can help with character mouvements/run please
How do I change the movement speed of another BP actor when the player presses a (keyboard) button?
But in a way that's gradual. So like, as long as the F key is pressed, increase the Actor's speed by 10, or so.
Within your ThirdPersonCharacter blueprint, you have a movement component with a bunch of variables related to movement and run.
I never used unreal engine
and I donβt have it
does your current project include any starting templates? You could look there if you picked something else than Third Person
Is under development, just taking some advance to find someone who could help for commission π₯
What type of gaming are you making?
notetoself
AAA
Realistic more like Monster Hunter World
So you need someone to code characters or something?
Yes and probably other stuff too
How would I know if something is in the red area pictured here, I know how to get the distance but i dont know how to do the area thing
nah, he only wants the 180Β° covered
Sphere Collision + Dot Product?
so cross or dot product, forgot which one does the job xD
Yeah dot product for determining whether it's within that "sector"
and by distance just to see if it's outside the desired radius
If it's 3D you could just use the overlap as a is in radius factor
Sphere overlap would be super easy too tho. For that you could just compare if you have overlap, and if the point's Z is higher than the center point Z :P
Support the channel through donations. Crypto accepted!
PayPal: https://paypal.me/reidschannel?locale.x=en_US
Patreon: https://www.patreon.com/reidschannel
Bitcoin: 1JFwWHr4X6uAeoZadukzqKjzFBj3Qjy7Sk
Ethereum: 0x2B2Bc108F1Cc0fF899959dEF3226637787d8C3dE
Dogecoin: DNQ33YnhpWoTBokBNVkZP5ub8KTLkpyjpv
Join our community discord!
Discord: https://dis...
Me too, I need moral support and pats on the back
you see i have this UI right? i need it to disable inputs when the UI is up, so i disabled inputs when the UI is up, problem is i need to input left click to close the UI and start the game
is there a "disable specific inputs"?
it cant be a collision sphere as these objects move
and mroe reasons than that but yea
dot product makes sense i think, i just need to find the right ranges
Why would them moving be a problem regarding a collision sphere?
then distance check
you can attach collision spheres as component to actors
so even when moving, that works
its not that they move, i prolly shouldn't have even said that
and its not all actors
can be meshes, events, etc
i need to be able to check on the fly
2 points and radius
are you trying to implement AI vision?
no
if you get dot(up vector, direction to point) it should mean it's always in the above 180 sector if the value is >0
actor location + other actor location nvm
Well, you need to query the data somehow if the other point is an actor
Not sure what you mean check on the fly, what's the second point basically
more like forward vector and direction to other point (normalized)
is this blue rectangle considered keyboard focus on a key or if not what is it called?
i think i might have been overthinking
if its z axis is higher and its within the range....
its gotta be within the semi-sphere above right?
or did i smoek too much
That would be correct yeah
Yeap
hello sorry
ive tried a couple of methods and i still havent figured this out
i have an overlayed UI on my game im doing, but because i dont disable any inputs the player can move before a race starts
disable inputs is a bit broad, is there a way to disable a specific input?
you cant really disable specific inputs
but you can make sure the inputs doesnt reach the movement nodes by having condition checkings
i see
i apologise would it be too much to ask for a small example? should i show what i have so far?
i found a solution! its slightly scuffed but this will do for now
Hey guys, fairly new to UE, question, if my character controller has a camera, and I want to position the mesh, can I get somehow the Camera's view in the blueprint editor?
No. Camera preview is only in the level.
You can use orthographic view in the BP editor to line it up pretty well tho.
After removing an index from previous frame, any reason this doesn't work (if it's actually hooked into the get)?
Removal part:
Cheers!
Also, in the First Person template, if I replicated the player, and the client picks up a rifle, it wont shoot. I tried to search in the blueprint why, but couldnt figure it out :c Any idea?
Also when I crouch the client becomes choppy in movement and the speed isnt set to crouch speed :c
Has anyone gotten the Data Validation BPs to work? Made a forum post if anyone wants to take a gander. https://forums.unrealengine.com/t/bp-data-validation/543062
Alright - I solved it - you can read the forum post to see the answer.
Hey all,
I've been dealing with this nasty bug that's been causing a huge ruckus for my team. I've been working on a boss health bar, and it's functional in the editor. It goes down to 0, it uses a widget blueprint with a progress bar and functions the same way a normal health system would. (all values are floats)
However, when packaging the project, the health bar doesn't go down and it literally doesn't work at all, it only works in the editor. It's such a weird issue.
Do you guys have any suggestions or tips on how I could go about this?
Why the hell is the function not being called?
On tick
You clear it every frame
Add it to beginplay instead
When you call set timer you clear it if it already exist, and start over
Doing this every ~15ms will surely make the timer ignore the 1 sec delay
Oh thanks, but why isnt this working?
It has to have a value?
Why set one timer that only executes once to set another timer? Why not just set the one timer you need?
what i want to do is to call a random function repeatably
This wont work.
Yea im finding that out π
Cause if I set timer by function name on loop from beginplay it will always choose the first function from the randomized array....
Have your function call a new random function
If you want random intervals you add a random bool in front of the switch
Or a random bool condition, a float with some percentage
Thanks that looks much easier....but I donΒ΄t really understand how a bool can make it execute at random intervals? such as each 2-7 seconds....
Pretty sure the timer node has already a random float included
Hi everyone, could anyone please point me in the direction of undersating sweep and sweep results in Overlap events? I don't understand why the only one that fires from sweep is the root of a BP, and I don't know if this is something that can be set up in the engine in any place or way, I have a problem with arrows, due to I have a general sphere collision as a root, and I want to get the impact point of the arrow using its static mesh, but from sweep is always false, so sweep result data is always "null", and the only way I found a sweep was true was making the collision with the root, thanks
But what is the "start random timer" function? like this the functions are not called at random intervals but at the interval first choosen at begin play:
Isnt that just initial start delay and random start variation thingy? Ah perhaps thats it
That's not how it works. If you set a timer, you're setting it for the defined Time. So even if you're inputting a random time, it is only setting that random time once.
Extend the node
Their Screenshot is different from yours. You call a start a looping timer with a random interval. The interval is choose once. Datura calls a function to set a timer (non looping) with a random interval and then calls the function again when the timer fired
The start delay variance still doesn't make the timer fire at random intervals, unless you repeatedly call the set timer node.
Yeah, honestly I was pretty confident that it also had an interval variance parameter but I guess not
So in which case would that work?
So hence my question: what is the "startRandom timer" function? what does it contain?
Its the event starting the timer
It's just a custom event.
Litteraly shown in the screenshot
Oh sorry yes offcourse!
It starts a new timer with a random interval. The timer will fire once.
So how does the random parameter input work then π€π€
The initial start delay? It delays the first call but does not touch the interval itself
iirc
Is it ment like a variance between multiple instances ?
No, it's to change how the timer behaves initially...
Basically time slicing
You are basically offsetting the calls by initial start delay
Or frame spreading or whatever term fits
Spreading the workload across multiple frames basically
For multiple instances
So if you have your timer set to 5 seconds, then add an initial start delay of 10, it should fire after 15 seconds for the first tick, and if looping, it'll keep ticking every 5 seconds after that.
If you then include a start variance of 2, then it should fire between 8 and 12 seconds for the first tick, and if looping, it'll still keep ticking every 5 seconds after that.
@dawn gazelle @gentle urchin Thanks so much for your polite answers to such a noob as myself, I finally got it to work π You are the best β€οΈ
Exactly! π thanks
So I started refactoring some of my blueprints out into a blueprint macro library to simplify some code, but I cannot find any of my macros. Do I need to do something to attach the macros to the blueprint that needs to use them?
So if you were to write a function within a blueprint, and then a macro within that function, all functions contained within the parent function within that blueprint could also call that macro?
Edit: A quick read of the link below, and a few other google searches, show my above statement to not be how Macros work. Just didn't want to spread any sort of disinformation in the form of a question.
Γhh π not sure if that'd work
A few weeks ago (engine 4.2) I added 2 homemade macros into the StandardMacros. The first one is a For Loop with a βstepβ entry pin that takes any int (+ or -), the 2nd is the same thing with a break entry exec. I added them to the StandardMacros because I know it is something that I will use often in many projects, and because I never created a...
Guys, where is the best place to store the Equip animation of an item? If you store it in the weapon itself, then in order to get access to the animation, I will have to spawn the actor, but the thing is. What the actor should spawn in his hand only after some time after the animation starts, for example, when he brings his hand back. You can create an item under the map and when you need to attach it, but I have an option that when I receive damage, the timer should stop and if at that moment I have already buried the item underground, but have not yet had time to attach it, then how will I remove it?
i made a homing projectile to go towardsa and enemy but its going towards the feet of the actor . is there a way i can change where on the actor is homes to ?
Any way to change the collision channel this event fires off of?
I want to use a custom channel since sometimes the interractible object wil be partially obstructed by foliage so visibility won't do.
if I change it in player controller I need to further change other stuff
nvm, something else is broken... I have this forest and top-down camera. I have a material function implemented in all foliage materials that hides anything between the player pawn and camera. So far so good. The problem is that results under mouse cursor don't work properly & invisible vegetation is preventing me from clicking on actors under it. Not sure exactly where the problem lies π€ Any thoughts?
I think you can Get Bounds from an actor and maybe get the bounding box origin from that.
i followed this tutorial where would i set the bounds here
@undone surge omfg that's such a bad implementation, just find another tutorial from someone that actually knows how to use the engine
ok ill see another video
@undone surgeAs for your question/problem. There's many ways to do it, but a more flexible way would be to have a base class actor that is "targettable" by the homing missile. Then add any scene component to it (collision sphere/target point/empty static mesh/whatever you like). Parent it to the mesh & move it wherever you want each actor to be hit by the homing (head/torso/wheels etc). Derrive all your targettable actors from that class and you have a flexible system regardless of what/who the target is. Oh, and when getting a target, get the world location of that socket/scene component and aim for that instead.
i see. that makes sense. although would there be specific homing logic if i do it this way ?
Hey all, i think this is an easy one but i'm just having a brain fart. I have two nodes set up to randomize the colour of a character's shirt and pants however i also want to do one for skin and hair colour. obviously i don't want bright blue skin for a human. I was wondering if anyone knows how i could swap the random unit vector to pick from a list of specific colours.
I think it makes much more sense to have a HomingGoal component that you attach to any actor and use that as the target. Rather than having a Targetable actor class that everyone must now derive from.
@undone surgewhat do you mean by specific homing logic?
like what would i look for in a tutorial that shows the thing homing towars the scene component
or are there bullt in funtctions for it
Realized that after I wrote and that's why I changed "most flexible" with "more flexible" π Yea, ur right. Just an independent scene component asset would be way better probably
You're doing the homing in generally the right way, just that you are checking for actors with tags which is not a great idea in this situation. So you want to be much more specific about what to check. It is going for the feet, like duke said, because you are choosing specifically the scene component (probably). Try checking where the scene component is on the actor you're shooting at and see if its at the feet.
i made a tag component which has a list of enemies and actors etc. would that be a better idea. i use that for ai sensing and stuff
Yea, I said it's a clumsy implementation because of the actors checking, the extra useless vector math instead of using built-in *distance to * function which is faster since it does all that in cpp etc. Hence I said "someone that knows how to use the engine". So many tuts out there from ppl that have little idea of what the engine knows on its own
ok ill try to change this to check dsitance using the function and the tags thing
yeah, also (unless you're doing it somewhere else) it would be a good idea to set 'closest distance' to 9999999 or something at the very start of the function otherwise it might not consistently work
yea i set it to a huge value
you set it every time? or you set the default value to be huge?
default
I'm pretty sure that the closest distance from the last time the function was fired would be used the next time then. So it would only actually work if the second projectile's target was slightly closer. Unless this is done on the projectile or something which gets destroyed afterwards
Well, as soon as the particle effect ends and all that, you can just have an event called to destroy it, no need to hang on to fixed delays and stuff, unless you want - idk, a net homing missile that holds the enemy in place for "X" seconds etc. Aaanyway π
Any ideas on how to get a trace to go through masked materials? π
Are you tracing on complex?
no. Just using clickable interface, top-down game, fkin tree leaves get in the way in the forest π
this works because there are no leaves in between
if I move around (or the forest is dense) then it won't pick it up π
I'm using boxes for checks:
What code are you using to detect clickable things? If its similar to my project then I can help
just simple component hovered
Tried changing from visibility to a custom channel but it still won't ignore the masked part of a material π€·ββοΈ
Using render target is out of the question because it would utterly destroy performance, got some expensive shaders there
I've never done it this way, but ignoring visibility collision on foliage you dont want to select doesn't work?
nope, but now I'm not sure if this or something else is causing the problem, need to check my foliage spawner bps...
What happens if you remove collision from your foliage entirely? (removing all simple collision and then setting complex to be simple)
Did you set the new custom channel to ignore everything by default? Cuz that should definitely work
Any idea why the begin play event isnt called in my animator?
its called on my character
but not on the animator
It has no coliision
Probably should ask in #animation
Is the animation BP assigned to the player in the level?
It should fire otherwise
@tough barn do you know how to program in any language?
Yes but it's not advanced or anything
I can only code Lua which isn't really anything.
U need to understand the Logic behind it, and it will need time if u dont have Basic Code Experience but if understand the Basic Logic its pretty Easy
I mean I understand some basic things.
I'm not used to writing code in blocks or a map sort of
If you know what variables, functions, and classes are you'll be fine
Not classes
I know there is an actor and other things but I don't really get it
Isn't everything basically an actor
Object. And those are classes
Well I didn't really understand basic logic when I started. I just looked up tutorials for very basic things (like movement, doors, shooting guns, etc) and tried to understand why certain things were used as I went along. I know there are better ways, but youtube tutorials (while often not giving the best techniques) can be useful to start with
I found a channel called unreal engine tutorials
I don't know if it's the best place to start
Epic has the learning portal on unrealengine.com
They have several beginner BP courses id start with
Oh I'll check that, thank you so much
I've seen some of their tutorials. While maybe not the best they at least acknowledge the existence of multiplayer in a lot of tutorials so not a bad channel to go off of
I wouldn't worry about accounting for multi-player until you're comfortable enough to make a small simple single player game on your own.
But dev addict does a great job teaching multi-player concepts
Also not in the same vein, but the "WTF Is?" series is great for learning what random nodes do that you aren't familiar with
Forget who the guy is
Mathew Wadstein π
Yep that's the guy!
He's in this discord though on other channels last I saw
Yeah, same. Epic's own BP node documentation can be too vague sometimes
Gotta love when it just reiterates what the pins tell you already
Isnt that just auto generated documentation anyways?
i'm making an entirely single player game, do i need to use GameMode and GameState cleanly or can I just don't really care and put everything in GameMode?
im trying to get the distance between my player and an enemy character in this blueprint of my friendly AI . how wouldi get a ref to that spawned enemy
Are you still doing a homing projectile? If so show the rest of the blueprint
no no im tryung to set my firndly AI to only aim if the enemy ai is in certain range
@boreal mesa single player you can just use game mode directly
i will fix the homing after thsi
nice, thanks
Well you can do it slightly differently where the player being attacked would be set in the AI's blackboard. Then you can get that blackboard value and check the distance to it using the locations of both actors rather than what you've got here
Although you may not be using a blackboard if you're following youtube tutorials
i did use a blackboard and behaviour tree but the only 2 things in that i have are gong to player if it sees me or moving to random location if it doesnt. so friendly ai follows me but i only want it to shoot an enemy if its close to me so it doesnt shoot it across the map
tree and bb for friendly ai*
Oh so you do have a BB?
Cool right well when the player is seen, then you should set the seen player as a value to be stored in the blackboard. That is when the BT would realise it should move towards the player which you could then start checking the distance to the player and when it is within a certain value it is then allowed to aim
Or maybe everytime you try to aim it does a distance check
So just do what you have here but instead you'd get the bb PlayerRef's location and 'get distance to' with the AI's location
i see
also
the BB does not HAVE to go with a BT right
or when i make one for each character then each char wil have its own BB and BT?
Each character will have the same BT and BB (if they're the same type of character) unless you specify it. But they won't share the exact same one as they'll have instances of the same one (meaning one AI might have its PlayerRef set but a different one won't unless it also saw the player)
I'm not sure what you mean by this, but I think so.
Can i make one BB for 2 behaviour trees or other stuff
I'm not an expert on AI, so I'm only giving you what I believe with my limited experience. Take most of what I say with a grain of salt
ok thanks, i will try to follow wat u said to see if i can make it work
Hmmm. I have no idea. I'd guess so but ask over in #gameplay-ai to make sure
ok
I've just checked. Yes you can.
i see
Can you use blueprints to edit specific properties of the mesh's materials?
Depends on what properties you're referring to
I think there might be some, but more advanced stuff will be in C++
Materials you can usually just make a dynamic material instance and play with the exposed parameters in BP
Ahh I see. I just wanted to use a timeline to edit the emission level of a material. I'll see if I can do it with the instance.
ty.
You 100% can
Ah, nice thank you. :)
Btw if you're in ue5 don't crank material emissions and use it as a light source. It can cause artifacts at anything above a slight glow
Need help, is there a "scroll" input?
You mean the mouse wheel?
It's mouse wheel
Mouse wheel up
and down
cheers!
I'm trying to make it so a camera connected to the player object can be moved up or down
So to get a wider view
Wow that was easy
Done that
Alright
Now
Click to move
Also
How do you create groups?
In the editor or during gameplay
Editor
I think ctrl g is the hotkey but right click on a an asset in the world outliner to find it in the action menu
I'm trying to understand how to listen to events on another blueprint object....For example see above. I have a custom GameState BP with a custom event dispatcher (Current State Updated). And I want to listen to this event....I can do it as above by casting after the Event BeginPlay and then binding to the event dispatcher and routing through a custom event...but to me this just looks messy as hell. I would like to be able to just use the event node (show at the bottom of the image) to listen...can I do it?
Alright now
I want every object in my game to "orbit" the central sun - I already have a gravity simulation implemented, now I just need to calculate the orbital velocity of the objects and then apply it
Idk what you mean by "the white box" but you can set tags for the actors you want to get and save them in an array or a map
I found out it was "comment"
Oh, lol
Anyways I'm currently trying to calculate orbital velocity and then apply it to the player - the formula is actually relatively simple from what i've found, but I'm still finding it difficult.
The Gravitational constant has been set in a gamemode, while I'm trying to set an orbit using the central "star" at the levels centre as the base.
This is currently what I have, but it's being finicky
Have you tried ticking accel change on add force?
Since you already did the mass calculations yourself
Oh no its the gamemode doing errors
Saying "type of object is undetermined" when its a gamemode blueprint
Ah
Casting requires an object that you want to cast
Aaaaah
is this an appropriate place to ask question in regards to niagara scratch pad modules?
Well for Sun that should work (and looks like it does), but how do I extract a variable from a gamemode to use in an actor blueprint?
Do get gamemode
The sun cast isn't connected to the execution pins so it isn't happening
What do you mean?
My game generates gravity using a gamemode
And in that gamemode it determines the gravity using the Gravity equation, the main component is a variable called "constant G"
It just tells how strong gravity is
In RL its like, 0.0000000 (lots of zeroes) 00098 something
Naturally its a lot bigger, around 30000000 for the game
And its a variable inside the gamemode blueprint
And that game mode is main gamemode base?
I want to tell my player actor to take that variable for use in calculating the orbital velocity they have in relation to the central "sun" in the game, so they don't immediatelly go into freefall and get eaten
It's just called MainGameBase
Cus I'm lazy
Ok. It looks like it's giving it to you
