#blueprint
1 messages · Page 66 of 1
that is Field Notifier, supposed to be used on UMG variables
supposed to be used for the MVVM on UMG updating
interesting
@remote meteor happy new year, thx for all the help
Happy new year!🎉🎉🎉
🎉 🎆
MVVM is kinda a new stuff, idea is UMG and systems doesnt need to have direct reference
so updating can go through a subsystem. goal is able to swap the "frontend" without changing the "backend" and vice versa
like a Material Param Collection ? but 2 way
So, Get all children is returning the value of 3 (which is correct), but for some reason it only executes twice. So instead of removing all 3 children, it's only removing 2?
Reverse For Each Loop
As you destroy Child A, Child B becomes Index 0, and gets skipped
classic "Don't change an array inside a For each Loop" problem
Oh yeah, that makes sense facepalm. I'm so glad none of my Uni Lecturers will see this
i use to do all kinds of workarounds before learning Reverse fixed it
Hey everyone!
Did anyone know how to change the possesed character while loading new level? I want to change the character from 3D to 2D, so I want to change the level, to be 2D, and possesed character to 2D as well. Surely I need to change the camera too.
When you hard travel to new level (open level). Every actor gets destroyed anyway
You define the spawn and posses using your game mode
In some way, yes
When I'm changing the level, possesed character spawns as 3D not 2D
It will just posses w.e you set to posses. Check your game mode and default pawn in respective level
So if I'm not wrong, I need to create another GameMode for my 2D character and then define all the stuff there?
Sure, look at how game mode spawns your character. Make sure you set the default pawn to what you want to posses as well
Depend on the rule you want to impose, it may be enough to just define the default pawn class
Alright, thank you 🧡
Let's try
yeh, sort of
Does this error mean anything to anyone?
Using an asset that uses two bone IK nodes in a anim graph,
Removing those seem to stop the errors,
Noticed the joint target and effector target that in the two bone Ik are not showing up even if setting to bone space
I am using a C++ parent class but not seeing anything obvious
Anyone have any tips?
Hello.. Please introduce a free plugin to add AdMob to Unreal 4.27 so that rewards can be implemented in it.
https://www.unrealengine.com/marketplace/en-US/product/admob-blueprint/reviews?sessionInvalidated=true
Not free, but it does what you want for fairly cheap
otherwise you could dive into the C++ SDK yourself
Hi, i'm not sure this is the way to do it but i really have no other ideas https://blueprintue.com/blueprint/88b7_i9y/
i'll appreciate any help i could get :')
I have built a "Modular armor" system that will equip different items onto the skeletal mesh. All of this runs in construct. However when I move the character its firing every time the character gets moved and changing their armor.
How might I set something up that this only fires once or when I check a bool option. What I am trying to do does not seem to work.
What's the second trigger for setup clothing? Also make a second window then make it small so you can watch it simulate and see what makes it trigger the line will light up orange
Not sure but this is what I got
Oh dear, child actor component
This one came out as two parts but the same issue hopefully it's helpful
Oh the second trigger is just some additional options I am going to implement. Not worried about that for now.
This dude really trying to "help" by entering questions into ChatGPT?
It's helped a few peeps in the meantime while we wait for peeps of better experience
This one is basically a useless, waffling answer. You get UnknownFunction in a callstack when you don't have the symbols, and since it's an engine module, you install these from the Epic launcher
Yeah I wasn't understanding that one myself, but figured it could just be me. So I wanted to try
Then why even bother? AI never comes up with perfect answers
Cause I know I hate being stuck, but if you got better solutions my guy feel more then welcome ❤️🐛. Even when I don't use copilot for help alot of the things I can recommend for fixes have way better solutions out there (I am the nubs) plus I'm BP limited at the moment
yeah, sadly i have no other idea to make this work, just trying to make weapons go into their sockets when i equip them, but i dont want to spawn the weapons in the world, I tried using a bpi to equip the weapon in the parent weapon class but no success
maybe im setting up the variables wrongly but idk
I'm not sure how using child actor component prevents "spawning into the world" since actors need to be part of a world to, you know, exist
I recall making a socket for my character in the skeleton i think and then just attaching the weapon as a component but it's been awhile and that's probably not a good way xD
And then calling that but I'd have to open it up
i meant like i watched some tutorials and most of them just hand place the actors into the world to then ray cast, that seemed to work
Why not spawn the weapon as an actor? This would be recommended as you can execute quite a bit on the weapon as well as give them each unique effects and information feedback. This is a common practice if you are going to change the weapon.
idk if you've played monster hunter before, but in the game they have a chest with the weapons, its all just ui and references, and I dont want to spawn them in the world unless I equip them idk if this makes sense
Child actor components can be fairly buggy
I noticed yeah
Yeah I wouldnt use child actor components.
But at the same time, is the SkeletalMesh value on that struct populated anywhere?
Why is it in some random struct (if it's a BP struct then expect more problems)
I would just spawn the weapon actor and attach it a socket that the weapon itself is told to attach to, which is shared.
this is the base weapon class
What even is the point of this logic
Just get the value and copy it to the same thing?
so there's master class for weapons then i create a child that sets the values for a weapon type, then another child that sets the skeletal meshes
it made the most sense to me
Yes and how does that make sense in the context of the screenshot?
BP weapon tutorials. Sucking since 2014
yeah
Speaking of most common cursed things in Unreal Engine. Bp struct and child actor component get mentioned the most
is there a clean way to swap a material instance a dynamic material instance inherits from during runtime? I’ve got it to work in the editor but for some reason it doesn’t in a packaged game
well forget that screen shot is there another way to make this work?
You want to spawn a mesh for your character? I would just spawn mesh component and attach it to the character
Logic for the weapon can go inside an object class
The mesh is just a visual representation
okay
I got mine all working but trying to get it to save I just
Bp struct is broken, just because you got it work today, doesn't mean it will tomorrow or the day after. You best move your struct to cpp before you regret it
Child actor component is also broken but I don't know in what way. I never have the need to have one so, I will stay away from it
I decided after a month of struggling to just buy an inventory system also comes with equip and merchants so all I gotta do is add new values
structs aren't that bad, you just have to know how to handle them
child actor component is far worse imho
But I just did that 3 days ago haven't mastered it yet
it's not russian roulette
For 30$ saved me over 100 hours so I'll take the w
save everything, edit the struct, save struct, close editor without saving anything else (it's the equivalent of compiling a C++ struct with closed editor)
This isnt the case anymore. This was fixed way back in 4.24. BP Structs are quite stable now.
That said, anything Cpp is always going to be better. lol
Nah that's not true at all, you can still replicate it in Ue5
Whoever tell you that is wrong
you wish
We even still have victims almost daily
Interesting. 🤔 Maybe I have just been lucky not to have issues or follow my process and not run into the issues anymore.
0r unlucky because u didn't run to the problem sooner
i guess you are just lucky
I dealt with it for years. but regardless. The safest thing you can do when editing BP Structs, close the engine, submit everything, open the engine to no Map when loading, edit your Struct, Save ONLY the struct and close the engine. Do not save other files, reopen engine, voila.
Works for me every time. 
Just helped someone with their bp struct couple days ago and he is using UE5
This was the one I made but figuring out how to make everything save outside of stats left me dying
The safest thing you can do is to have 0 bp struct imo but you do you

that is the safest yes.
anything I do now is in Cpp
but we still have plenty in BP.
does this makes more sense now? lol
maybe i make an array of the available weapons? or something
im running out of ideas :(
I use a DataTable for all of my items, which include weapons. So in your diagram above, a “GameItem” class is at the top.
Never run to such issue. R u actually running stand alone instead of packaged game?
so i create a data table out of my struct ?
The brainy people opt to use data assets than data table afaik
i have no idea how to use that
but i'll look into it
i'll start over with what im trying to do, maybe i figure it out
I'm using Data table atm cuz I'm a caveman but deffinitly gonna look at data asset for my inventory system based on what I read
is Clear and Invalidate Timer By Handle not available in bp objects? I can make a timer, but there is only the option to invalidate it without clearing it. I have a project where it worked, but for some reason in this other project the node disappeared?
One of the bad things with data table is having a hard ref in it will load everything in the data table.
So you will load all your weapon and items even tho you only need one
I think it's not the case with data assets.
You can always use soft ref in DT but data asset is probably the better choice
yeah i need something that doesnt load all the assets when just trying to get one
Well use soft ref if you chose to use DT
Hi. I’m using timer inside my blueprint dervied from Uobject. Inside Actors I can call KismetSystemLibrary’s function called ClearAndInvalidateTimer(K2_ClearAndInvalidateTimerHandle) when I don’t want that timer anymore. In UObject number of functions from KismetSystemLibrary is reduced. There is only Invalidate function (K2_InvalidateTimerHan...
Timer needs world context afaik.
That guy got to clear timer by piggy backing an actor.
thanks, i was trying to make everything in bp but i guess by design this is expected to be set up in c++ :/
You can still do it in bp like what he did
Create an actor that handle the handle invalidation
Make function there
ehhh seems a bit too hacky, id rather have the clean solution and use c++
Sure
im trying to move the X axis from a vector curve asset through blueprint. is this a sensible way of doing it? The logic doesnt work yet, im just trying to figure out how to access the actual axis - currently I dont know how to get the Curve ID
Yes, I use Soft References in all of my Data Tables and load them either async or blocking depending on the need.
beginner question regarding hit detect.. it triggers for as long as there is contact.. how can i make it detect only once when the hit occurs?
Did you fix it?
Set it false at end of tick
the 1st image is the game instance and the second is the level bp
i just found out about Do Once.. but i need to reset it once those two actor no longer touch
What are you actually trying to do?
If it's overlaps then use begin and end overlap
have some actors hit each other using physics and trigger sounds on each hit
Gate by normal impulse size
Only trigger sound if impulse > some value
ohh and impulse can even control sound volume
That's how I did this
https://youtu.be/1O05fOBfUGM?si=ufQpfXv6FgNJRKix
and maybe a delay to limit how often a sound can trigger to avoid cases with too many sounds at once
yeah that's what I want
vapor air hockey lol
do you add / average or max the 3 directions of the vector?
have you activated windows by now?
love the music choice in your latest video btw
It's just whatever working music I have going at the time lol
so I'm trying to make this health bar bigger but nothing happens when I choose the fill option?? am I doing something wrong?
Hey could someone help me out? this is my second day trying to learn unreal engine 4 and i really need some help
ive made basic WASD movement controls, but my problem is that the player character moves faster when going diagonally
from what ive read, apparently i need to normalise the vector but i have no idea how 😅
nvm I found the scale tool and it gets the job done
hmm problem with this is that the threshold would change based on where in world the hit happens and how strong the physics strength is..
because I,m using physics contorl plugin that apply forces continously
Running a circular dependecy check with a plugin ("Circular Dependencies Detector" on the marketplace) and it shows my game SoundClass objects as offenders. Is there a way to set these up so that they aren't circularly dependent or is this one of the cases for the "exclude" button?
side note, down to 3 circular dependencies from 800+, woohoo
here i'm printing max normal impulse from hit event.. value changes based on overall position because I have a force attracting the object towards the center
i guess all i'd need is a way to detect when the hit stops running.. so I can "rearm" it for next hit
Is there something like a flip flop but that fires continuously while it's on?
And it can be disabled with an execution flow input
im making a game with only one instanced static mesh for all units
Instead of creating an actor and a static mesh for each unit.
Each instance is one unit, and i will create an object for each one, that stores the index of the instance, and all the unit data, like health, xp, attack, defense.
Is this how its done? Or am i doing something wrong?
hm this could be done with a timer?
Sounds like a plan. You should use a struct instead of an object, though.
And you should probably just create an array of said structs where the index of that array matches the index of the instance.
But any kind of optimisation like this probably falls over straight away if you're using BP
Beware that the ISM and HISM remove instances different. The ISM will remove index x and then shift all the >x members down.
A HISM will swap the last element into position x and shrink the array from the end - changing the order of your instances.
(this is much more efficient, but harder to keep track of)
Is there a node that I can use to get the class of an actor reference?
(get class) not sure why I could not see it in the pin drag off, but nvm.
Does anyone know how to change the code of the water plugins BP_FluidSim "Follow Player" to where the sim preview doesent rotate when the camera rotates
im aware of this. i will make them invisible instead of removing. And then i will have a function that is a cleaner. That will fire every 1 or 2 minutes, that cleans all the invisible instances, and readjusts all the indexes in all structs.
Why use a struct instead of an object?
Isnt an object more versatile? With members functions and all.
Though i could create the array of structs as you said, and then have 1 object with functions that manage everything, thats more neat
I tried subtracting the distance of the camera from the character but it didnt work
Structs in an array is a contiguous chunk of memory. Objects are added on the heap and can be anywhere in the heap memory.
That is only applicable in BPs, though.
yeah im thinking about moving it to c++ asap
but maybe an array of structs are superior to an array in objects in cpp too
nvm instead of using the follow player tick I just teleported the fluid sim to the character constantly
How do i check for the collision of my instance with another instance, both belonging to the same instanced static mesh component?
So like instance 0 is moving towards instance 1
and when they overlap nothing happens
The mesh has collision
Cant find anything on this
Could you share a video of what you're trying to accomplish?
sure
I have created a camera system for my project and it works really well, the user can rotate the camera by clicking and dragging the mouse. When this happens I set the cursor to not visible, however this simply hides the cursor.
How can I lock the cursor so the user can drag indefinitely without reaching the edges of the application as-well as when it's unlocked the cursor is in the same spot as when it was locked.
only way i figured was to set the cursor to the center of the screen each tick
while you have to keep in mind that this should be done after you calculated the delta
Do you know the name of the node for manually moving cursor location?
no
If you can set the mouse position then you can just capture the position of the click and set to there, so it "returns" to the same spot, instead of center. I'll look through docs, that should work. Thanks.
Just hope IA Delta calculation works properly with it.
actually you can just use the inverse of the delta to set it back
The problem I'm expecting to run into is that when you call SetMousePosition it will trigger another delta and you will end up with infinite jitter, I'll do some testing.
The delta is calculated by the Input Action system currently, I may have to change the way I'm handling it.
also i should maybe mention that i did it in a widget iirc
used a screen covering widget (as it was supposed to rotate objects in a preview mode)
so i didn't use enhanced input
Yeah it causes some serious issues with Input Actions, but I have an idea of how to hanmdle it now, thanks again.
@spark steppe these two nodes handle it perfectly, combine with Set Show Mouse Cursor for full effect.
No need for resetting position and this doesn't break IA. 🙂
@eternal cradle ism collision not working
perhaps ism collision doesnt test its own instances against its own instances
If the Begin Overlap is fireing that -1 Print, try Breaking the Sweep result
is there a built in way to convert a letter character to a number?
2319 is ws
search for format
?
A = 1 or whatever ascii it is
what's the goal here?
I have a seed generator that uses letters and numbers
letters are modifiers so to speak
so if I have 1234ABCD, I want to do a operation like 1-2+3*4+A-B+C/D
I used an array to letters A-Z, and use find Index to get number
eventually you can get it as byte, and convert that to int
but idk if it's a good idea in the first place since some characters may be 2 bytes
so to see whats going on i recreated it using cubes
still no luck
can anyone make a cube instance inside an ism collide against another instance?
i tried everything
does anyone here have experience with metasounds? I am having trouble setting a parameter with it via blueprints
I'm getting this constant hiccups. I removed characters and everything. I only have landscape and sky. https://gyazo.com/66187ad4dc3c36965a7aa60bdc7f611c
I haven't tried to do this so I don't really know what's going on, but it does sound tricky. Each instance gets it's own physics body instance, so it's likely physics knows or COULD know that they're colliding, but since they're all the same component it seems very likely that they're getting filtered out based on that fact somewhere along the way. Assuming that's basically right, it might not be possible without diving into C++.
they are probably welded together
You know how to move UnrealTrace directory
no
yeah its very strange that there isn't anything or any tutorial talking about this
we can make many instances but they are useless without collision in a lot of cases
most tutorials i see only spawn and move instances around
never show the interaction between these instances using collision
another solution i thought, is to deactivate the collision of the ism
and spawn a sphere collision for each instance
then when i move the instance i need to also move the collision
though i wanted to make sure first that im not missing something here
lol - the hiccups were caused by my windows went through an update and wanting me to restart. How would I know that? lol
Does the hud know about all the user's widget, any way to get a reference to one of those widgets if so?
Yo can either create the widgets using the HUD then set a reference to them, or cast to the blueprint which created the widget.
Checked the collision settings?
yes checked them and overchecked them
from my research this is not possible
what is possible is for the instances to collide against another static mesh, and that static mesh can detect the instance its colliding against
However, you it is not possible to detect collision of one instance against another instance
try it yourself you will see no matter what you do, it doesnt work 🙂
i think it makes sense because ism is supposed to be one mesh
I use it to seamlessly loop background music (with an intro…something you couldn’t do properly before Metasound). I do set a few parameters using it.
I think I did figure out that my problem stems from trying to load new audio at runtime, and apparently that just doesnt work 😦
I was also having a lot of trouble figuring out what order I had to call the nodes in, since that isnt documented anywhere but it matters a lot
I’m glad you figured it out. What do you mean you can’t load it at runtime, though? I load my audio at runtime.
I'd love to know how you're doing that then
I am trying to load audio files into an array of waves that I give to metasounds for a randomized playlist. Unfortunately I can't get it to work at all
I am not sure if its the case but you cant save an object reference in a save game object
it will alway return nothing
I dont think they are
yea, I dont know then, sry
Depends
You can save actor ref if they already exist in the level
But for anything that is spawned at runtime, will be lost
what does that mean?
It means you can save object ref if they already pre placed in the level
So the notion it always return nothing isn't true
That's what I said yeah
okk yea
So I've a parent actor and some child actors. I interact with the child actor and set that actor to a variable as cast to its parent actor. When I toggle a variable it won't update
You'll need to show how you're doing it.
I'm trying to toggle a variable in the child actor.
ParentActor and ChildActor
IsVendor - false in parent but true in child
player->Linetrace -> cast to ParentActor
IF IsVendor pick it up and set IsVendor to false
After I drop it and tries to pick it up - it has IsVendor to true
@true valve are you not able to share a screenshot?
I found the issue. When I drop it, I'm am spawning actor. so the variable gets its default
I'm still trying to figure out a nice way to do a stats system for both the player and NPCs. I could just put everything in a single actor component but once you've got a few stats it starts to become pretty big. (especially if you have to define a min/max value and any natural increase/decreases over time) Does anyone have an suggestions?
Do you have plans to dive into GAS?
No, I have looked into it but I like to keep my projects as BP only. When ever I start doing C++ i just break stuff haha. I was thinking of using the gameplay tags though.
I heard gas companion (plugin) remove the need to dive into cpp to make use of gas
But don't quote me on that 😄
My initial thought was to have stat modules (uobjects) that get created by the main stat component. That way it would just be a case of having it create the default modules on start but gives room to dynamically add new ones for stat effects.
That way each module contains just the logic for how it behaves.
How do you access a Material Instance's variable in blueprints? I want to set "TintColor" in blueprints
From you dynamic material instance, use the set vector parameter value node.
Hello, I've ben trying to make some functional doors for some containers, and this is the blueprint i have, the problem with it is that it only works properly when the containers are facing one specific direction, can someone help me make it work for any directions?
I can't see anything wrong with what you've shown in the screenshot. Is the rotation for the doors set to world or relative? (Screenshot is so you know where to look)
its set for relative
How are the doors parented in the BP hierachy?
Make the doors children of the main container they are attached to.
It still doesen't work
What happens to the doors when the container isn't facing the specific direction?
tey rotate wrong, in the image you can see that the left container is working correctly, and the right on isn't, on the right conteiner the left door almost doesent open, and the right door opens more than it should, the doors also go kind of crazy for a little bit because they rotate rong and colide with the container itself.
how is the timeline setup?
With the doors being attached to the container, is the default yaw value 0 when the doors are closed?
this video shows what happens better
Do the doors have physics enabled?
yes
Try disabling physics.
just tried it, when i started the simulation everything i had in the level with physics activated just went into chaos and it crashed
Disabling physics on the doors wouldn't do that. It sounds like you might have another issue. It is odd though.
the containers also had physics activated
that was the problem
so in the plueprint i think i should deactivate the physics of the conteiner and then activate again
Why do you need physics on them?
because i wanted to try to make a monster in the game that can throw containers around
I would swap them out for a different physics actor when they pick them up. Physics actors can be a little unpredicable at times.
That is a good idea, probably also better for performance
Well, thank you for the help
no problem. Glad you figured it out. 🙂
Can't find this node
I believe thats from the CommonUI stuff, specifically for the numeric text box.
ah okay
If you're not using the numeric text box, you might need the interp to nodes.
thx
got a bit of a problem here, so I was following a car tutorial ... and somehow when going into play mode, this happens:
it's a chaos Vehicle car
basically not even the throttle works, steering tho does
seems it was a model error, wheels haven't had the right origin
As a guess, I would say you're inside a macro.
hey guys how can i connect this way the code,i tried with sequence but it does not run well
i need both reverse input connected to end overlap
You shouldn't be starting a timeline from the update exec output of another timeline.
Also where you're looking for is a sequence node. You can use this for you're issue and the one I highlighted.
i thought like this but it does not make what i want
Do this, it'll fix the issue as it's caused by the first timeline telling the other to play normally.
yeeees,nice
Does anyone know how I could get UI like this to prevent the game world from detecting mouse input? (WITHOUT setting input mode to UI only - I need game and UI)
as you can see, the box behind the UI is recieving input currently.
Just have a canvas panel and make sure it's set to visible
Or you can place a transparent image or button
Anything to block it
How do I choose the default camera actor??
you can toggle the Canvas Vis when you mouse over the Window
If you still need to interact with the box
What's the context? Normally we just posses a camera that our pawn has
I have problem
I use als (advance locomotion systrm) package
By defult als dont have camera and when i play game, unreal spawn a camera actor at 0 0 0 and then camera move to player
But i want at the start camera actor spawn behind player
""Sorry for baddddddd english""
Don't know how als do it or which version of als you are using. You prob should check the camera manager
use als v4
How can I get player controller of the player who took damage to disable its input?
Get the controller of the pawn in that bp?
I've heard that casting should be avoided at all costs because it demands memory
what If I have 3 casting nodes that all cast to to the same BP, is that the same amount of memory as only having 1?
what about "spawn AI" nodes?
if I have a spawn ai node set to an "AI spider BP"
will this demand a reference to the AI Spider BP in turn causing a demand for more memory?
Getting accessed none from this. How can i get the component
show the GetInventoryComponent graph
and ensure that the newPawn is valid, and the component ofc...
there's pretty much no checks in here, so we don't even know what is null
Casting in bp will create a hard ref that in turns load the object to memory.
In most cases you cannot avoid casting. Casting in cpp land is free and doesn't come with the overhead that the bp has.
Using interface isn't really the answer to go around bp Casting.
If your game is bp only, you probably should live with the overhead. You can do further optimisation by loading the heavy parts like materials, textures, audio etc on demand
it's bullshit, casts are kinda cheap
as long as the class is loaded in memory
Like how? Get player controller node is only giving me Player controller 0 which I can change but how can I make it the controller who took damage?
Get owning controller or something like that
Not get player controller
The one who took damage is the bp where event any damage is, isn't it? I don't use unreal damage system but pretty sure that's the case
Running through a library
Well its sadly not working like that
This isnt disabling input
Not like that
Cast the return value to your controller then disable input from there
Look at your code , player controller remains empty. So don't expect it to work
you never check oldPawn/newPawn
like this? It worked somehow lol
in second pic?
Thanks
in the first
But only works in server
no just player controller 0 in player controller target
Pretty sure it can be shorter but meh.
I'm still new at multiplayer my self
Yes cuz event any damage only run on server
Game is multiplayer so
its local anyway
then... are you destroying the old pawn? WHAT is NULL in the error?
this was a reply to the other guy
@frosty heron @spark steppe
im making an rts game (4 factions, each have around 16 unique units)
probably 50-60 unique units.
i was thinking of doing a data table of all units.
which I think would be fine if it was just basic variables like (health/armor/speed)
but I want each unit to have an array of sounds somewhere that holds all their combat dialogue.
thinking of putting that as an element in each instance of the data table.
take 50-60 units all with lets say 8 lines of dialouge and we have got a shit ton of references.
so if every unit BP references the data table, that seems really inefficient,
at this scale, would it be considered a gigantic overhead for memory.
(what if i wanted the games recomended specs to be 4GB ram?)
Player controller 0 will yield diff result depending who's calling it. Eg dedicated server, listen server, or client
I mean I fixed the multiplayer damage problem so client can kill server now, and client can disable input of server. But server player cant disable input of client...
works for me
put each units voice lines in it's own data table and do a soft reference on the sound datatable in the other one
and/or make all sound references soft references and load them on demand
Data table shouldn't hold any object reference. You will end up loading the whole game from referencing the data table.
Use soft ref to load what you need from the data table
how would i do this
IsValid check on them before using them
This is only disabling controller of server
I suggest to read compendium on multiplayer channel
i have tried with listen server and dedicated. still works.
U shouldn't use that for multiplayer
@frosty heron @spark steppe
i'll look into this but my feet are in a bit of the deep end.
i dont have much experience with data tables and only just started looking into soft/hard references last night.
any advice / resouces you can point me in the direction of?
You will get unwanted result, get player controller 0 will just get the first controller
Demystifying soft reference video by epic should get you started with soft ref
Check their YouTube channel
interesting because i copy pasted this from epics project
Does anyone know whether having a empty skeletal mesh is ok to have in a master blueprint? I basically want to have a master enemy blueprint with both a static mesh and skeletal mesh and just check which one it has when needed in the children because not all my enemies will need skeletal meshes, but now i'm wondering whether a empty skeletal mesh still takes up performance, I assume no but..
not the first pic tho
They prob do but I won't worry about it 🤔
then they probably ensured that those are valid before calling the method
and didn't do weird stuff
hmm if so I may aswell use a different method
What sort of method
If every character gonna have a sm or sk what's wrong with having it in parent
Just spawn 100 of empty one and check your fps. Or profile if u want
I guess so, i'm just worried about performance if I want to have many enemies
yeah I guess I could just do that to check
My sk is quiet heavy somehow. Having 20 characters already half my fps
Yeah I hear skeletal meshes are heavy on performance
My old project is fine, I had around 60 npcs going around and it's still clocking 140 fps
Can't say the same with UE5, I'm still figuring out how to increase my fps
Even something like 100 rotating coins is going to be expensive unless you use something like vertex animations.
Yeah vertex animations sounds like the most performant method(sadly lol)
Source code: https://github.com/PendingKill/Tutorial_RotatingActors
Today we're discussing different ways of rotating actors in Unreal Engine 4 (blueprints), profiling the performance of each method, and analyzing the results to find out which one you should use in a given scene.
TABLE OF CONTENTS
00:00 Introduction
00:42 Rotating Movement (BP...
the old one isn't valid but the new one is
do enhanced input trigger inside uobjects? (assuming input has been enabled on them)
Edit: Nm, 'Enable Input' requires an actor input so UObject doesn't work.
then don't use the old one...
i need it for unbind event
what do you want to unbind from when it's non existing?
@dark drum Hi, so I swapped the true/false for this branch and it actually made the correct UI to appear when talking to the NPC.
However pressing Good or Bad don't cause the conversation to continue furthur.
True needs to return and have 'PassThrough' as the state. False should update the UI and return state 'Updated'.
For context, the Dialogue Progress keeps track of the options the player has chosen. If a value is found, it should move on and 'not' update the UI at that stage and pass through the function (do nothing). It's not until it's unable to find a value in the Dialogue Progress that it should update the UI and return updated.
When I start interacting with NPC, it starts by saying "That's good" Instead of "Hi! How are you?"
Make sure the default value for the Dialogue Progress var is clear/empty.
I can't set it to 0?
Sorry for the late response but I have made it visible yet it still doesn't absorb input (when I click on the wooden box it creates the circle in them iddle of the screen)
Not sure how you do it, the canvas panel should take the entire background space
Can always block with invisible button too
That var is populated at runtime and should be empty. The only time you would pre-populate is if you're loading the players conversation progress from a save, even then, that's still at runtime.
hmm i see ok I'll try that
Now there are 0 map elements. Is that okay?
Yea, that's how it should be. 🙂
The "Hi! How are you" is still skipped.
show the start of the conversation.
Did you change the 'Add Dialogue' function back to how it should be? Also check to make sure the Dialogue Tree index is 0.
Is the dialogue tree index set to 0?
Yes.
What is displayed when you first interact with the NPC?
You'll need to add a break point to the switch on int node at the beginning with the Dialogue Tree Index connected and step through to see what it's doing.
I have an invisible canvas (that is set to visible), but it does nothing to stop detection. FYI I am doing world mouse interaction with line traces, may that be the cause of the issue?
And what happens when you step through? It should go inside the first add dialogue node and show you which branch it goes down.
how would I pan the camera while respecting current ~~ camera~~ pawn (which is the camera) rotation? what rotation value do I need access too? I can't figure this logic out T_T
You need to keep stepping until it goes inside the function and gets to the branch and see which way it goes.
The steps took it to here.
Start again but make sure you're pressing the button in-between the green and red buttons at the top.
Wat r u trying to do here? You want to stop tracing?
Is this doing a for loop in the background and binding the event to each item in the array?
I have an inventory menu, but my player can also interact with actors in the game world. I want a way so that while the mouse is over the inventory menu, interaction with the game world is disabled
but only mouse interaction not keyboard
I blocked game click using invisible button
Because the button would consume the mouse click
No idea with your trace tho that would be irrelevant
U can always disable the trace if the widget is being hovered
U gotta define the rule when to trace or not
Hi, I'm doing some post process stuff when the player gets into a low health state, one of the things im having it do is play a looping timeline which lerps the players vignette between CurrentVignette and NewVignette values
The problem I have is that health state can change while these timelines are playing so for example:
- player goes into low health state
- the vignette timeline starts playing which lerps the players vignette from 0.4 (CurrentVignette) to 0.8 (NewVignette) then back to 0.4 on a loop
- the player heals which plays the ReverseLowHP event which stops the vignette timeline, gets the current value of the vignette and sets CurrentVignette and also sets NewVignette to 0.4 then lerps once from whatever the CurrentVignette value got set too, back down to 0.4 (NewVignette)
- while the ReverseLowHP timeline is playing, the player goes back into low health state again which stops the ReverseLowHP timeline, NewVignette is set to 0.8 again and CurrentVignette is set to whatever the current vignette value is
- it then starts the vignette timeline but the current vignette value is stuck at whatever it got to while it was reversing back to 0.4 so the loop then goes between that value and 0.8(NewVignette), and that value can be anything between 0.4 & 0.8
Essentially what I want it to do is smoothly transition the vignette properly when changing health states which each do their own post processing changes, they should all take one another's current values into account so there is no jumping in the effects because they're changing immediately
So you can see in the vid that when i hit 10 health i enter low health state and it lerps fine between 0.4 & 0.8, but then when i heal and while the post processing fx are reversing i take damage again which puts me back into low health state its only lerping between 0.71 & 0.8, how can i make it in a way that will smoothly transition it that takes into account other timelines doing post process fx?
Personally, I wouldn't use timelines for something like this. I would just have the desired values that are used in the PP and have the PP update on tick using the FInterp node to update the values from current to desired. If you change the desired values, it'll still smoothly lerp to the new values.
How can I check if it's being hovered? Just have that set on enter / leave on every widget?
Enter and leave is a button trait I think
You can probably do is hovered on every tick instead
Assuming your UI widgets are in a main widget, you could just add it to the main widget, it'll trigger if you over over any of it's children.
yeah that's what I'm gonna try right now
hey,i just did so the door opens when i overlap with trigger and it closes when i exit the trigger,but i notice if i try to enter from other side it also opens at -90,how i can do so it determines from which side i walk into the door
i need help, im making a chas player task for my ai behavior tree but i need to replicate the player index, how do i do that
If you are not doing local multiplayer then you have no business with the index
So you're wanting the doors to be able to open 90 and -90 depending on the direction?
right
Player index is there for local multiplayer purposes (non network game)
I would probably just have two collision boxes for the different sides then you can handle each overlap begin/end differently.
how do i set it up for a network game
Read the compendium in #multiplayer
technically
BTT only exists in server
so you technically can use the indexes to get the correct PC
question is
how do you differentiate between them, for the ones you want
timeline has a direction node,can i use that for detecting?
not node,output
pin
When it goes inside the 'Add Dialogue' function, keep stepping and see what it does when it gets to the branch. If doesn't go to the 'Update Dialogue Text' node then it means it's finding the dialogue index in the dialogue progress.
That's just the direction the timeline is playing. (Forward/Reversed)
what are the other ways to do it,having only one collision?
Hi! So I need to get a variable from a Widget Blueprint, so my question is: how do I cast to a widget blueprint?
Why so you need to cast? Just get a ref to the widget
I would suggest to look at how to use variables
Hard to make a game without understanding them
what am i looking for in the compendium, im a little overwhelmed
But tldr, promote the widget to variable when you spawn it
Then you can just get a ref to it
Go step by step and slowly
All of it. You literally have to understand all of it to make a multiplayer game. Also it doesn't even cover everything.
Not sure why do u need replication in that btt tho
U r the server
Just pick the actor u want the a.i to go to
BTTask only exists on the server
as AIController only exists on the server for enemies
@frosty heron Hi,how can i rotate the door depending where is the player ,cuz now it opens only at -90 ,i want it to open 90 when i walk from other direction
I dunnoe, I would probably have 2 box collision that determine where the character come from
Don't use level blueprint for this. Make a bp actor for the door that will work anywhere in any angle
because the AI only chases one player it cant track other players in the index
id want it to go to the closest player idealy
Then just find the closest actor that is owned by a player?
you are the server, you have everything, if you want to find the closest player regardless of distance
get game state->playerstates->for each controlled pawn->compare distance
assuming players will always control a pawn
i suppose a better use would be finding the closest player in its pawn detection radius,
then you will want to setup AIPerception
yeah i know,its a part of the course ,i practice now the level blueprint
or atleast have somesort of your own iimplementation, then at the task, get the players that this AI has already sensed, get closest
What course 👀. If they use level bp, I do stop watching it
don't bother. there isn't any practice needed for the level blueprint, you won't use it enough
i have one of those set up
Ain't no reason to make door blueprint in level bp
Anything teaching you that fossil should be ignored immediately
the only thing is it cant track any player other than player index 0 and i dont know how to make it the nearest player instead
its a good course,better than nothing)
don't tell me it's a gamedev.tv one
I used level bp when I need to grab stuff exclusive to that level
It's not a good course though, and it isn't better than nothing
btw,do you use ))) in your country as smile emoji?
first thing you probably want let the task to get the sensed actor from the AIPerception
I'm more familiar with it being :) rather than just )
usually we achieve this using a Blackboard Actor value, the AIController will set the correct target from the AIPerception
i started learning things in here so its good
Ah a random Russian link, what could go wrong lol
no, just because you're new doesn't make learning bad things good.
It makes them worse
the course is even worse
You would need to check the overlapping actors location against the collisions location to determine the angle they have overlapped at. If this falls with a 0 to 180 it's one side, if -180 to 0 then its the other side.
Pawn Sensing was replaced by #gameplay-ai Perception, and for good reason
what do you mean
just because he used level blueprint to explain the logic of blueprints for begginers?cmon
Perception is better
Oh i see
That's actually pretty bad. Why not do it on actor so it can be reused
precisely that.
Not clicking on a Russian website link lol, that’s how you get malware
that's called teaching someone bad practice who doesn't know any better to spot the bad practice
The reality is it sets most beginners on a bad journey of using the level BP which increases overall work and has many limitations.
In the 10+ years I've used UE, i've only ever used the level BP once and that was for some level streaming stuff.
We r trying to help, but the idea of doing door in level bp is just fundamentally bad
the first thing to do before learning the language is understanding the context it's in
Door bp , u don't want to use level bp and you don't want to hard-core anything
thing is idk how to use AIperception :p
This way u can reuse and have a modular door
i know i can make an actor and use it as many times as i want in different levels,i already made it,now im following the course
Tbh no point arguing with people that think they know better when they just started and refuse to listen to advice. May flies like these are a dime a dozen
i don't have to watch the whole thing to rate it.
I just know that someone is teaching a new person something fundamentally wrong with the engine.
you don't need to watch it to know that's bad
Many of us redo our system over and over because we always find better way to do things.
If your first introduction to driving a car said "don't worry about the gear stick, it's not important" it would be an objectively bad driving lesson
Learn. Go to #gameplay-ai and watch video on 4th pin. And if you still struggle after that ask us about it in there
ok thanks
Refactoring is life 😀
In my case I just start over with a new game 😢
My bp only project is beyond saving
Happens. New one will be better
New year, new project. 😄
How come, bp corruption or just too far gone ?
too hard for me now)
Countless bp structs, spaghetti and 0 soft ref
Fix your camera?
Open viewport on BP charachter or third person and move camera ye
Just ask ChatGPT to remake it in cpp, then, ignore everything it tells you, and start a new project 🙃
If using BP to adjust camera mess with your angles
How it feels being a nub and trying to setup inventory systems 
I did a few tutorials on setting up doors. You might find them useful. I haven't done one that's specifically what your asking but it might give you some ideas. They do use a line trace based interaction system (seperate tutorial) but it shouldn't be too difficult to modify to use an overlap system if its what you need.
https://www.youtube.com/playlist?list=PLcwVLBaUNnHpXuMLCwYFB1PiPcTD-7HT0
I haven't given any context indeed, basically I am making a spaceship with a walkable interior, using
a simulation of static physics. The idea is that when entering a ship, the player is warped inside
an static replica of the spaceship, replaced by a dummy which imitates it's position
And then I attach the camera to the dummy
Everything is working but the camera, which I'm trying to tweak so that it matches the ship's ground
So, any ideas?
Adjusting angle by approximate 40* to the left or setting the component to adjust after worp, whatever clever just needs tilted and maybe reset to be behind your charachter if using BP instead of just moving the cam. I myte not be understanding also wich is ok
The thing is, the ship might be constantly moving and spinning
At a guess, I would say your using the third person template which means the camera using the control rotation. You would need to first un-tick this and then manually fetch the control rotation and combine it with the ships rotations. You can then use this new value for your camera rotation.
alternatively, you could do a trace for ground and get the impact normal and use that instead. This might not be ideal though as you'd need to use custom collision channels so it only hits the ship and not other objects.
You mean, that of the spring arm or the camera itself?
Both it seems indeed
Alright I'm gonna try that
It would most likely be the spring arm actually, I always forget thats on there haha.
I haven't done the second part yet but it seems to me that I have to tweak both components
I just plain tested tweaking these two values and the camera matche the rotation of the ship when both are disabled
How would you use the impact normal in your second advice?
you can use the 'Rotation From X Vector' to get the rotator of the normal.
Can I simply do a get up vector from either the ship or the character?
The up vector of the ship might work.
What does this return exactly?
I don't really know what to do with it
In terms of, to what component do I apply this rotator
you would combine it with the control rotation and then use it to set the rotation of the spring arm.
You get it from the controller.
So with use control rotation enabled for both the spring arm/camera boom and the camera, I've got this code:
And it doesn't seem to be doing anything
The world rotation is correctly set (I've just checked with printing the values before and after)
but there is no impact on the way the camera is rotating
i need help im trying to attach the item that hits the line trace to the pickupattachpoint so it moves with the character
here you're setting the parent to be the variable of the object that you seemingly haven't updated
oh wait a sec
might have misread
yep soo
Try using a print to display the object you've hjit
Yes?
when i turn on physics it doesnt work
Are you hitting it with physics on?
yes
Use control rotation needs to be unticked on both. Otherwise it'll use just the control rotation without the modification.
My guess is, although that's probably outside my current skillset, you should maybe disable the physics of the object when you successfully detect it
i tryed that but it still dont work
That could be it but I'm not really that skilled yet and I don't have all the context
same
Now I see a change but it's not the expected result
physics objects should have the mesh as it's root not a scene component.
ok
what does it look like?
I can move around...
I wonder how players would react to such gameplay
anyway, idea?
trying using right vector instead of the up vector.
What about if you use the forward vector? You might have to use the line trace though.
The last image is with the forward vector
what if I set the opposite of the up vector?
nah same
The thing is, wouldn't the line trace give me a vector going down?
That is opposite to the up vector?
Why on attaching the ears mesh to the head, it moves to another position? Is there some way to retain the position?
I exported all the meshes relative to the center point.
You can manually set it
Because it attaches it by resetting the pivot point
If you see what I mean
So you have to move the ears back to where you want them and they'll stay attached
does that make sense?
just selected and accidently pressed q 😭
Just do CTRL Z ?
nah not working
It doesn't go to the Update Dialogue Text node.
yea though I've found this option, seems like a better approach than manually placing it
Thank you
tq
Yep, also a way, this means that upon attaching it by code, you don't move it
This is pretty close, it just flipped though lol.
Hey that's nice, I'm applying it to my situation
Doesn't seem to do the trick
Should I try a line trace?
Ah, well, if you don't mind spending some more time, if you explain your reasoning ...
Maybe I could add, on each camera input, the difference in rotation between the (ship) and the current camera?
removing the yaw seems to be better.
Can't we just get the rotation of the ship and combine it? Also why are we getting an up vector and making a rotator where that's the forward vector? I don't see how that's helping
That's a good point, just combining the rotation of the ship would propably be enough.
Converse to the rescue.
Alright! Good evening then! Finally, inner peace
Just remember to make sure your ship is orientated the correct way in the model or it might be offset.
how do i get the last digit of an integer.
for instance 1234, I want 4.
I tried to convert from int to string, get character array from string, get last index and get the character in that array at that index and convert back to int. however i am getting 0s...
Maybe try #visual-fx
Which part is failing when you debug?
i figured it out using a divide function in the end
a lot of hit and miss
int divide by the 10
ty!
Im having trouble pulling item info my array. Anyone able to see what im doing wrong? ive tried it two diffrent ways and im just not getting it
Is that an array of bp structs?
How can properly call my function to spawn my BPCar2? In the first image I created a function dedicated to it but I can't seem to access the flip/flop if I call the function from the level BP. As a temporary workaround I copied the code directly to the level BP and it's working but I would like to learn how to solve this please?
Don’t use level BP.
and use what?
Anything you want. Player controller works
so my items are store in the s_item info
it works fine in my equip items function. There is something important im overlooking
Bear in mind that editing bp structs at runtime can cause all sorts of problems as they are broken af. Cpp structs is the way to go for that
So what's actually happening? Are you getting any errors?
I just bought a c++ course so ill proably look into that soon. Im just trying to do something off script from the tutorial i was following and hoping understanding the logic in the future would help
no error's It just gets a 0 value I added a print string to see.
Add a break point to the set and see what it's setting it to. It could be that the index is out of bounds but I guess that would give a warning.
Hi everyone, i was wondering if anyone has any experience with creating custom landscape brush blueprints and if anyone knows a good tutorial on creating them.
I'm looking to create one that just scales the landscape in the Z-axis to solve other problems. Was wondering if this was possible.
showing all zero in the items array.... hrm
however it did validate something was in the slot
It could be the items aren't being added correctly.
hrmmm i see something
My Mouse Trace under Cursor is not accurate for some reason ? If I draw a debug shape on it, it's not always exactly where it should be, and i sometimes see a transparent shape of my world or objects passing in front of it. Is this a scaling thing because i'm doing this in viewport ?
is as far as i was able to see the boots. do you know how i would correctly oull it from a slot like this?
Hey guys, could i get a bit of help with implementing a cooldown onto an ability?
It's hard to say. I'm not a fan of structure based inventory systems as they tend to be messy and difficult to follow lol.
how do i make it so that if the key is held it will continuously make line traces
as you can see here the trace is waaay off (should start from my character), and my Camera shifts to the right EVERY time I have a debug draw, wether it's a line trace or debug shape
it's so weird, as soon as I shoot any debug my camera changes aspect ratio
how can i do this
just so i know if i understand this correctly
this Cast to " " actually just tries to create an instance of that blueprint
right ?
like creating an object in c++ ?
and this "get player controller". what does it do ?
does it serach for the associated playercontroller selected by your game mode ? and it returns reference to it ? so the Cast to BP_PlayerController can make an object out of it ?
It returns the parent PlayerController and you casting to your actual player controller is exactly what you want to get to your child class. And yes, this is like a C++ Cast.
i see
so it accessed the Parent class and then derives an object that is casted to your actual player controller ?
like converted ?
Slight correction. It actually returns the parent object, which you can then cast to the derived object as you did.
i see
so what is the parent object in my case ?
just the original blueprint class named PlayerController ?
this one ?
Yes, it’s APlayerController
I see
The real name is APlayerController. This is the internal C++ class name with the Unreal Engine naming convention. All actor classes start with the letter A.
One more thing
i see
than kyou
what do those two do internally ?
I never used it but:
https://docs.unrealengine.com/5.3/en-US/BlueprintAPI/Pawn/Input/AddControllerYawInput/#
Sure there is but I’ll defer to others as I still use the old Input System and there is an Enhanced one that you should probably look at.
yeah im using the old one too
new one seems more complicated
i have a question
does "casting to" something means we are checking if its THAT something ?
like using casting when overlapping with a pickable object
to check if its the object we are supposed to pick up
If you are using the old input, just set up the Mouse Input in your project settings and then add that red input node to your Blueprint.
MY CHARACTER MOVEMENT COMPONENT JUST STOPED BEING VALID PLZ HELP
how can i do this
Well, you want to cast when you know it should be a subclass.
wdym subclass
yeah wdym :d
Subclass is a class that inherits from or extends a parent class.
For example when you create a blueprint and select "actor" you just made a class that inherits/extends actor And this that blueprint is a subclass of actor
On my viewport, I have a horizontal box (item 1) and I also have a border with widget (item 2):
I am attempting to add an image (item 3, which is a widget of its own) using "Add Child to Horizontal Box" to both item 1 & 2
My code will add item 3 to item 1, but will not add item 3 to item 2.
The goal is to get rid of item 1 once I have item 2 working. I have confirmed there is a reference to item 2 at the time of execution. The item 2 is a copy+paste from the item 1 horizontal box. Not sure what could be wrong. Do I need to somehow refresh item 2?
Inherits from
Got it, thanks 😅
why this doesn't return bool to check if the fname was find correctly?
it returns the index
I think a failure is -1 returned
alternatively i can check for identicals
so i need to check if int == 1 ?
-1 and yeah
array contains 10 names
Ok?
-1
Test it with a known bad item to see what it returns, I think it's -1 tho
how can i make it so that when this is pressed it will make line traces until it is released
Enhanced input system makes this a breeze for ya
Just change the action trigger to hold and you're golden
i cant figure out were i put in the key to press for it
Hey team so im trying to call the PickupItem Event from a BP_Item that contain Pickup interface. Im wondering how i can get the actor who trigger that interface from the BP_Item. Without casting to a specific character type?
Huh?
It's a plugin you should enable
Check the official docs to see how to set it up for your project
it is enabled
Did you create a input context assets?
how do i add this in the editor? I closed mine
yes
i just did
it still doesnt work though
cant i just do it without enhanced input
The old input system is depreciated so you should use the enhanced input system. Plus it has significantly more benefits. There's plenty of tutorials on how to get started with EI and should only take 5-10 minutes to get the basics down. (Mimic the behaviour of the old system)
1: created input action.
2: create input mapping context.
3: add input action to input mapping context and assign input key to action.
4: in either the player character or player controller, get the enhanced input system and add the context mapping.
5: implement the input action as you would in the old system.
that what i did and it doesnt work
is there a way to do it without the enhanced input system
run it on tick, with a boolean
Then you've done it wrong. A quick search on YT will give you a 5 minute tutorial to follow.
And yes, you could do it using the old input system but it would be more complex and converluted. It would be far quicker for you to watch a 5-10 minute tutorial to learn how to use enhanced inputs than describing an alternative method using the old system.
thanks
you should rather use EI
get sure that your project/playercontroller are set to use enhanced input
using an old system just because you can't get the new setup is just plain ignorant
and will most likely bite you in the butt later on
even if it takes you 2 hours of tutorials
I was pleasantly surprised with how easy it was to be honest. At least to mirror the same sort of input setup as the old system.
for an existing project it's sadly a bit more work, which is another reason to start with EI right from the start
That triggered pin does everything he's wanting lol.
hallo friends
Is there for blueprints a function to take controll over the sunlight?
I want when my player has passed a certain point on the map that it suddenly becomes night
(weird I know)
Hello, Im having a problem with the GetParentActor node, not returning the Parent Actor but Unknown.
Assuming you're not using some fancy day/night plugin and just the default setup in the level templates, you can just rotate the main light.
maybe the other one doesn't have a parent?!
ahhh ok i look for a good plugin but anyways it will be enogh for me to take controll over the rotate is therefore a function??
parent actor is actually an actor which another actor is attached to
It probably doesn't have a parent. Afaik, it's for child actors. (Blueprints inside a blueprint)
Just set actor rotation should do the trick.
I used them once for a while 5 minutes before removing them haha.
Class Is Child Of
hmm. that seems to be what im looking for then
trying it out
thanks guys
Was messing around to add an emitter at a hit location. I happened to choose one that loops forever.
-
I recognize that I could use a different emitter, and also there might be a better way to end a looping emitter easier. I haven't looked into this as I want to understand issue 2) first.
-
I expected this to keep the context/stack of the return value from the spawn emitter such that all my emitters would get destroyed, however only the last one is destroyed. As long as they are created slower than the delay, this works fine.
So i'm trying to expand my understanding of delay (or my combination of nodes in this case) and where/when it's safe to use or how to use it, since it appears as those things that were created in the flow up to the delay, in this case the return value of the emitter can get overwritten if it's executed multiple times before the delay ends.
I'm making a procedural chain for a portfolio environment following this tutorial: Populating Meshes Along a Spline | Tips & Tricks | Unreal Engine and I want to add a new mesh (hook) at the end of the spline, but since I'm not a programmer or a technical artist, I'm just an environment artist trying to learn a little technical art to make my portfolio pieces, I'm having a hard time putting this into practice. I know that I need the last piece to have this hook whenever it's in the last index, but I don't know how to do that. Can anyone help me?
you can compare the index to the last index @empty arrow
or just check for the specific index
and use a branch
how would i check if my camera is facing forward?
how can I do this compare?
Get the dot product of camera dir and your "forward"
thanks!
If it's near "1" then the camera is facing that direction
Hello,
I'm dipping my toes into procedural mesh generation and am working on a system that needs to append 3 arrays to another 3. I found that this step in particular wrecks my frame rate and am looking for ways to curb this impact. So far the only thing I can think of is just adding a frame delay between each append job but I am not a huge fan of the time cost this incurs.
Is there a more efficient storage option than appending arrays? The "BakeMeshData" will be plugged into the "Calculate Tangents for Mesh" later on so I do need it in an array at the end of the day.
Sidenote: I heard a passing comment that nested loops are "disgusting" but couldnt find any reason as to why. Are these costly?
Have you looked into Geometry Script? It's its own thing, but with it you don't need to work directly with arrays like this.
Anyway, the array input to the for each loop macro will be called I think twice per loop body execution (1st to compare length, 2nd to get the Element), so it might be faster to save that array as a local variable first.
I'm having a problem with my camera system. I have several different camera types, and when the player enters a trigger volume, it assigns the camera type for that area. The problem I'm having is that for the start area, it doesn't seem to register the OnActorBeginOverlap event when play begins even though the player is within the volume. I have to leave the area and then come back into it to get the camera assigned. Any ideas how to fix this?
Is there a way to tie a SoundCue's volume on a curve to my movement speed?
Hey I'm having issues where i have setup my custom mouse cursor widget and it seems to work fine but once I switch levels to a new gamemode and player controller the mouse cursor reverts back to it's orginal state and I'm not sure why
You will need Synesthesia for this. https://docs.unrealengine.com/5.3/en-US/audio-synesthesia-in-unreal-engine/
Wait. You mean e.g. if the SoundCue's volume goes up, the movement speed goes up? Or should the SoundCue's volume go up, if the movement speed goes up? In the first case it's Synesthesia. In the second maybe an audio component where you can set the volume.
figured it out i used a remove all widgets node
I'm trying to make a wheel that I can grab and rotate by using a circular motion with the mouse or analog stick. I also want to have end points that are a min and max for the rotation. Does anyone have suggestions on how to do this?
is there a way to prevent walking off ledges?
Easiest way I could think is just add colliders around the edges?
I could but it brings about a lot of issues
like collision management
in the character component you can toggle a boolean "can walk off ledge" however it doesn't work
Inside function how to make that if THIS PIN is empty, and doesnt have any data connected to it from outside then - do some other logic?
If Length <= -1
Or if LastIndex == -1
Is it possible to create an instance of a Primary Data Asset in blueprint? I know you can do things like Make Literal Enum/Struct, etc. but I don't see the option for a data asset
Edit: I don't think its possible at all. I can't find anything on the internet and I searched discord. No nodes come up either if I type "data asset". Also I learned that setting values in a PDA will actually make that value permanent, kind of like a saving feature, but I won't be using it for saving since its apparently bad
hello, noob question: i have a blueprint with 2 static meshes. one is the ship, the other the rotor (like a helicopter). when i put this code -> everything rotates, not just the rotor mesh itself. what is my fault?
That's because you're rotating the owner of the rotor which is the main actor it's in. Pull from the rotor var and use set relative rotation instead. You don't need to get its parent to rotate just the rotor.
It does work. It will stop the character when the capsule centre is on the edge of the ledge.
Not if you have hundreds of ledges. Lol.
When you interact with the wheel, enable input on it and use input actions to control the wheel rotating. When you're updating the wheel check to see if it's new rotation will hit it's min or max value. If it does, don't actually update the rotation.
Use the 'is empty' node and connect it to a branch.
GUYs im really stugglering to find in depth blueprint starter to intermediate on learn.unreal anyone can sugges videos only one i found is this one https://dev.epicgames.com/community/learning/tutorials/bJbd/learn-to-code-in-unreal-engine-with-blueprints
Just keep practising? Once you know oop try to make your own system and see how others and epic sample project does it
I only tend to watch short overview videos these days so I can't really say but I have made a few tutorials myself you might find useful. They tend to be more about how to setup systems you could probably use for an entire game (with some tweaks) as apposed to something that only relevant for the tutorial your watching.
I have an interaction system which isn't a bad start with some follow up tutorials for doors (same process applies to other interactables) and if you need it there's a dialogue system as well.
https://www.youtube.com/playlist?list=PLcwVLBaUNnHra8G8ZBUkzPNu7qDM9OmZe
Anyone familiar setting up DLSS in UE here?
You just download the Nvidia's fork of unreal afaik
I got the plugin installed etc., but find it a little bit unclear how you set it up properly
I want to enable/disable it using a checkbox, but cant really see any change in fps when im using this setup
This might be a silly question but does your GPU support DLSS? I believe it needs to be a RTX 20 series or newer or it wont work.
Hey wondering if any1 could help me out. Im confuse why my On Key Down doesnt work when i click anywhere else within the UI except when clicking on the children?
Brother, I am watching this series of videos. I think it is pretty good. I think blueprint learning generally consists of two parts, one is C++ and the other is blueprint nodes. However, it is difficult to learn these two separately. You can’t learn C++. If you understand blueprint nodes, you don’t know which nodes to use to implement functions. If you learn blueprint nodes, you don’t know what is done behind Unreal, and you don’t have the thinking of a programmer to implement functions. This series of videos is a good fusion of the two. aspect, I think as a beginner it’s a good place to start
the one i posted?
because only the children are hit testable. (The visibility settings)
yeah
Do you know what is the proper way of implementing it then?
You don't need to know any C++ to think like a programmer. Blueprints and C++ use the same skills, they're just different languages.
Ultimately, its boils down to how well you understand the individual steps that are required to achieve what you want. As systems grow, this gets more complex. A lot of people struggle to think past a handful of steps unless you've trained your mind to break things down.
A great exercise you can do is write a list of steps required to make a cup of tea (or coffee). Most people will probably include between 5-10 steps. The reality is there's closer to a hundred, most of which we do without realizing.
select the canvas panel and change it's visibility from non hit testable to visible.
I'm trying to make an upgrade system for an idle game so i want to have many upgrades, most of which are recurring upgrades. Is there a way to organise large amounts of data like this that is writeable and preferably has a way to execute unique code for the upgrades?
Data Assets and/or Actor Components
Hey, is there anyone here with knowledge about SimCade Car Physics and willing to help a beginner?
Can data assets execute code? I thought they couldn't
The Primary Data Asset can
Can i dynamically make variables instance editable like with switch nodes in materials?
Hi
Anyone know AI for Blueprints?
Most AIs can give feedback on C++ code. Can we share the BP code and get feedback as well?
im not aware of any specifically for blueprints.
Because of focus
You can make invisible button for the background and on hover set the focus to that widget
Hey everyone!
Is there a way to access variable in two different characters that not exist at the same time?
I have a game that has 3D part and 2D minigame
I want to check in 2D minigame if player wins the game, and then in 3D part of the game if he wins the game already, disable the minigame
You can’t access a variable that doesn’t exist.
But you can keep the info in GameInstance and refer to that instead.
Soo in order to get this in two different characters I need to create the variable in GameInstance?
If your character does not exist then yes
So before you destroy your 3D character, you can save the info to GameInstance first, then access it using the 2D character.
That said
Based on your description
Your 2D game is the minigame?
Then in that case you should check your 3D char before even loading the 2D minigame since you want to disable it
@dark drum Stepped through the code and it doesn't go through the Update Dialogue Text node.
That means it's finding the dialogue index inside the dialogue progress var.
Is that what it is supposed to be doing?
It is the intended behavior so you need to find out why it's finding it before the player has chosen an option. Before the first 'Add Dialogue' node is called, print both the Dialogue Index and the length of the Dialogue Progress. The Dialogue index should be -1 and the Dialogue progress length should be 0.
The dialogue progress length is 2 and the dialogue index is 0.
You need to make sure the dialogue progress is empty by default. Check both the base and any children. If it is, it means you're adding progress somewhere when you begin play.
Hello 🙂 could someone help me with how to replace foliage instances with their corresponding actor bp? I dont want to make a foliage component for every possible interactable object I might have, but for groups like trees, rocks, etc. So f.e the trees are children of the master tree, witch each having their own unique properties. But I have no idea how to tell the foliage to replace itself with this exact child.
Are you referring to swapping out specific meshes for an interactable BP version when the player is close enough to interact?
yes
The instanced static mesh kinda needs to know what actor bp belongs to it
I would use a sphere trace to get all instance meshes in range and then get it's static mesh and use it in a look up table to get its corresponding actor BP. (Probably a map) Then it's just a case of getting the transform of the instance and spawning the actor. When done, remove the relevant instance indexes from the instance component.
You'll need to keep track of actors you spawn and check if they are no longer in range of the player, have them be removed and an instance readded to the relevant instance component.
Iam already using a collision sphere on the player to check for interactive foliage. The look up table is probably what I need. Something where I can compare the static meshes of the instances with the ones in certain bps
solved ok have a question: i have master BP and 3 children BP's of it, how can I check difference between children BP's? if mouse is on one child BP is true, but not on the other child BP? now I get always true. i get info from hit results under mouse
I'm not sure what you mean by compare.
yeagh was afraid of that 😄
I don't fully understand either, but check to make sure you're setting it back to false when you're clicking on something else. Make sure the variable keeping track is on a per-instance basis
huh?
i will try to explain better 😄
Show screen shoots
solved
Why are u using get actor of class??
I was thinking the same thing.
Just get the hit actor and cast it
Or run the interface on the hit actor
U don't really need to check if the mouse is over other instance, though you can do that simply by storing the info (current selected actor)
Actually you should
Store the actor you hover over and when your trace hit a new actor , you want to run unset mask on the actor you stored
i feal like the get actor of class gets the first one ?
and you should use hit actor
solved
If I understand it correctly you are just doing custom stencil. Like outline or w.e overlay material.
In this case you can store info of the actor you hit. And when the current hit actor != the last actor, call unset mask on the last actor
solved
Well w.e happens using get all actor is already fundamentally wrong
U will just get the first object of the class in the world
that makes sens
i attached a component that is hoverable got it from a tutorial
Question, how would I go about displaying a health color? Like I have a box that represents your health, green is good and red is bad. How can I fade between those colors with a value, lets say 300 health?
yep! it`s an rtx 4070, so it should support it, right 🙂
how would I readd an instance to the relevant instance component?
yeagh I did bit different, because mouse hit result is running on tick, i just reset mask to none on begining of tick, that fixes my problems
As far as I know, it should do. It was worth checking though. Until recently I was still rocking a GTX 970 lol.
Assuming you store a ref to all the actors you spawn, check if they're no longer in range, if not, get the relevant instance component. I would imagine the spawned actor would have a static mesh that's the same as the one used in the instance component so it'll be a case of looping through them and finding the right one.
From a performance perspective, you might however need to come up with a better way to keep track of the data you need so you're not having to do large loops.
I dont get how to get a reference to the relevant instance component.
You could store a ref to it, when you spawn the actor BP and clear the ref when all other actor BPs have been removed.
You'll have lots of lists lol.
you making me feel like, what Im trying to do isnt a good way of swapping in and out SMs and Actors
It'll be fine. I've made my own instance managers before and they worked pretty well. When you use the landscape mesh paint tool, it creates an actor that has multiple instance components inside. You could try get this actor and check the components for a match.
how do I get this actor tho
I would imagine when you do the sphere trace to get the component, the actor on the trace will be the actor it's inside.
if I use a collision object and collide with an instance, does it give me the actor of this instance?
ah yeah
Both the actor and hit component.
so I could cache the Hit component from the overlap, remove the index/spawn the bp, and on endOverlap get the chached component and just add an instance to ith with the transforms of the bp and delete the bp
yea, something along those lines.
could anyone help please? I'm trying to figure out why when I click on the cube to spawn characters they don't move, but when I drop one in the level they do? Thanks
Having one dropped, it triggers on event begin play. But if already playing does nothing, cause cant trigger begin has passed id guess. On clicked could try adding the AI move to🍀🐛
As a guess, the NPC you spawn doesn't have an AI controller. In the default settings, there's an var that controls when it should automatically create and posses with an AI controller.
#materials message
How do I make the physics/surface material side of this? I need it to make different dynamic surfaces such as "sticky", oily/slick, bouncy, etc
I meant the overlapping area stuff, not making the materials themselves
Make the physics material apply to only where the shapes intersect, think splatoon paint/ portal 2 gel
thanks! got it working now