#blueprint
1 messages · Page 110 of 1
Engine version shouldn’t matter
i don't have those nodes either i don't know what they do
Those look like custom functions like you said
So if the guy doesn’t show what they do, the vid is pointless and you should stop watching that “creator”
proably get the velocity and check length
theres no point that shows him making these functions ?
No he didn't created any custom function in the video
does it show him entering it in ? what category is it under ?
Let me check
This one
I tried it and got this
i got this after turning off context sensitive
How do i input this in move forward
you want to add an axis mapping in your input
goto to edit, project settings
on left goto input
ok let me do it
add the two axis mapping
and make sure your set it to correct thing that moves character
the keys or whatever that moves it
that's what it looks he did
This
ya in axis mapping
ya the stuff that moves your character, you don't have any character movement setup yet ?
unfortunately the ue4 probably not use enhanced input
I'm using the default third person character movement
till now
Basic Movement setup
ya enhanced input
it's different
then what he's doing
you'll probably see the mappings on the youtube version it looks different most likely
he's basically getting the value of an axis mapping
like i needed to display score two times after every bowl and then add it
maybe an array of ints ? @modest garden
So i search something like enhanced input or axis mapping on youtube to understand it
ya because he's using the older version you'll notice it said deprecated
you need a way to get the axis values, or use a different way to determine moving
like the length of velocity or something
The docs on EIS are not too bad but it takes some reading
damn need some research on that now
alright will try
No, each mesh should have it's own float variable, then when you spawn the mesh along the spline, instead of using your current and only float, this is where you instead plug in the result of the select between the two mesh length variables
Should this be early in the BP when I first calculate meshlength? The number of meshes along the spline is currently controlled by the mesh length. Or is this somehow done after that? Sorry, I'm a bit confused 😅 maybe this was too big a leap too soon for my smooth brain @tired whale @gentle urchin - appreciate the effort though
Alternatively, I can make the wall mesh be the same size as the tower and just have larger segments of wall, but the wall pieces need to stretch a little to keep the form of the spline, but if I have that it means the towers stretch too and become weird. Is it easier to just have the towers not stretch somehow?
Like this:
Could you show the whole graph? Been a while since I've had to fiddle with spline meshes
I'm trying to create a swimming system but can't quite get it working. My character remains standing in water instead of doing the swimming or swimming idle animations
Hope that makes some degree of sense
Appreciate the help 🙂
So it calculates the length of the spline, and the amount of points on the spline and then fills in the segments with the meshes. But it squishes the larger mesh down into the size of the smaller mesh. The tower is the equivalent of 4 of the wall segments. I can make the Wall segments be the same size as the tower if needed, but then it just has a weird stretching thing on the tower. It would be cool if I could just tell the BP to have the tower cover 4 wall segments somehow?
😭 😂
If it doesnt stretch it can be a little weird at corners, which I can maybe deal with but if I can find an alternate solution then it'd be cool too 🙂
Well some atretching is ok, just dont go 4x to make em equally sized 😅
Hmmm
Interesting approach you got
What's in your DistanceToMesh macro?
And lastly, could you copy/paste the graph in here?
Like this?
Hey folks, is there a cleaner way to SET a struct? I'm attempting to set my structs in the first two images yet when I click on a button, it nulls out other items. If I do it like the last pic, it works as intended but is not very reusable as a function. Any tips? I also spelt cache wrong haha
set members in
that way you don't have to replug the values that aren't changed
You can even hide the unconnected pins to keep your graph nice and tidy
Like so?
If so, this would work fnatastic
So I have been using Make instead of SetMembers, duh, no wonder why my code wasn't working!
Thanks!
you don't even need to set it (hover over the set node and read the info 😉 )
The set members, as the name suggest, sets them
Rock on
I suppose I was confused with this set and the regular SET
I mean, the first one does what I need. I suppose I was just having issues with the numbers not actually setting even though I thought they were
the first one let's you edit member in the struct, the second passes the reference of a struct
like from one actor to another for instance
So I get this right, should I set the members, then in Struct Out, connect to SET?
nope, just set members
I'll give it a try! Thanks for answering
the other is used if you want to swap the struct for another entirely, while you want to keep the same and just edit some values inside
Good to know!
ofc ofc
so the swapping is just
and whichever is picked
adds the 'correct' value to the current distance
simple maths lets you (as you already do) extract the info directly from the mesh : )
there might be some boogery about the exact distance along the spline
i remember i had to tune alot on it to make it go my way when i last worked on splines
This is dark magic
the real magic was this shit
One thing, sorry to be a pain, do you think its possible to have the distance between the towers be different at different parts of the spline? Like having one tower then a gap of 4 then another tower followed by a gap of 3 or something?
for sure, just replace the "wallsPerTower" with some random variable
What on God's green flat earth is that? 😂
Its simple meshes stashed along a spline
was ment to be "people" and "goods" tunnels
between buildings
getting them smooth curves was... painful
especially since i only had 1 mesh
so the corner her
is just... 30 meshes
scaled to 0.05 or something
xD
considering what it is, it didnt look to bad x)
Well thanks for the help, I'll have a go at stealing implementing your version into my thing 
Would that suck for optimisation and stuff later on?
well it's just ISM's
so performance was pretty solid
Oh like instances?
yeah
Well if it works it works
it was a prototype 😛
even just getting 90 degree corners, no twisting etc was interesting
Appreciate all the help today from you and @tired whale 🙂 Life savers
this at the end of the "tower" chain
add some more logic to it, and you can use the curvature of the spline to define how often towers would spawn
Satisfactory, much? 😄
Hehe, inspired by, I suppose
presumably I could use something similar to this to be able to manually place them at certain intervals?
Do you guys ever get the bug where you can't delete nodes in the graph editor?
so you'd still just track them independently
disitance vs point
Could I ask, what type of variable is the segments array? An object of some kind?
its just the spline mesh components
stashed in an array so i can clear them if need be
If you're doing some sort of wall destruction you probably want some method of tracking them, and their health / status
Got it, thanks 🙂
Hm is there a way to get the current 'PIE instance (e.g. Context_1)' in blueprint?
Anyone know why my gamestate destroy event is not firing?
Hmm some weird stuff is happening my in gamestate. Replicated struct value also not firing repnotify event
I suspect something is VERY VERY wrong
Is it even selected kinda thing
show some logic i guess?
rep notify is only triggered when the server sets the onrep
When I grant XP, this logic is used
This should trigger a repnotify event
But it doesn't
doesn't look that way with Xp set to 0 😄
delay is to not create an endless loop
eh
bool LeveldUp = false;
While (CurrentXP >= RequiredXP)
{
LeveledUp = true;
CurrentXP -= RequiredXP;
Level++;
RequiredXP = CalculateNewXPReq();
}
if (LeveldUp)
{
//LevelUp Logic :D
}
Yeah but I prefere a small delay, because otherwise you get overlapping notifications
with a delay they are spread out a bit, so no earrape effects xD
It's often not really a thing to gain multiple levels
but even with overload like my code suggest,
you'd only trigger the levelup once
Yeah in my game you won't really, but still implemented it in case
I fixed it
Yeah but isn't that still frame consecutive?
multiple frames after one another still create overlapping effects
cuz they're too close together
It would only trigger one time that frame
while loop happens in one frame
so unless someone manages to level up, AND level up the very next frame kinda thing
there's only one trigger
How can you make it so that an actor is forced to implement an interface method?
You can't really without c++ intervention.
even then, can you really force anyone? 😛
I'm trying to create a swimming system but can't quite get it working. My character remains standing in water instead of doing the swimming or swimming idle animations
@gentle urchin Is this a custom node?
yeah
I mean can’t you just implement the interface and call that function on itself?
its just get location at distance along spline
before and after segment length
Alright cool, I'll give it a shot 🙂
start pos
start tan
end pos
end tan
are the pins
didnt even rename them, I'm getting lazy
It'll just not forward the event.
Oh, does it need to be messaged from the outside for it to work?
What are you expecting it to do if you call an interface function on itself?
(that isn't implemented)
On itself as in the actor that implements it I meant
But it would need to have logic attached to it
Ig maybe I misunderstood what they meant by forcing an actor to use an interface “method”
forcing it to implement it
either crash or throw big errors
Isn’t that just adding an interface?
closest force i can imagine
You can add an interface and just not implement methods in bp
If you can throw bp compilation errors, that'd be something !
can you format number to string ?
Example:
format : 000
value : 10
output : 010
format : 000
value : 1
output : 001
ty
there's a "format text" node too
doesnt easily do this tho, does it
ToText(float) also got clamping of fractional digits, which is neat
you can format it to include any variable by using "{ }" in it
yes, but not to present 1 as 001
unless you do some extra woodoo
this is cool ofc.
hey guys, i arranged these objects in a test project to select them all and make a blueprint from them so i can copy them into other projects to render out videos with changing environments. some of the objects are animated alembic and some of them are static meshes (fbx, obj). now after dragging them into the other project environment, i got an error that says "AttachTo: (...) is not static (...) which is static to it. aborting". does anyone know how to fix it? when i hit play in the project it only shows the animated alembics, none of the static objects. i'm very new to UE5, came from blender.
So I'm having trouble wrapping my mind around how you are actually supposed to use Gameplay Tags in blueprint. From my understanding if you want to be able to get the gameplay tag container from another object you don't know the type of, wouldn't every object you make (that realistically needs a tag container) need to inherit from an interface that requires a tag container? Isn't that not really that great to have a lot of your objects/actors inherit from a single interface/class? The other way I could see it working is if you could make an actor component and then on collision check to see if that object has that component, is that not an option? Thanks
that depends on your game/project...
sometimes a common base actor is a good choice, sometimes an interface is
there's no ground truth
Hello, I have an actor like on ss and simply it gets movement from a Radial Impulse. but how can I set its velocity to zero, I tried some velocity functions but didnt effected, which should I use and which component should be refferanced -or mainly actor-.. samely doesnt work for set location too
So I have an inventory system where I want items to be stacked if there's room in a slot, what's the best way to go about checking if there's enough room for every item to add? I imagine looping through every individual item and checking each slot on a per item basis is a bad way to go about it performance wise
I mean how many items are you talking about? If you only do this when you add an item and you don't have thousands of items, it's probably fine
There are more efficient ways but it won't matter
potentially like 10,000 items
okay then yes, you need a better way lol
I want to make a "transfer all" button to transfer all the items from one inventory to another
yeaaa it crashed the editor when I did it in BP the way I described lmaoo
standalone it chugged but managed it once
So I'd maintain a separate map of like ItemType => InventorySlot that you keep up to date
and then you can just look it up
O(1)
Gotcha, I'll check that out! T hank you for the help
Unrelatedly, I am dealing with a weird issue.
I have a bunch of DataAssets that contain an instance of a class that generates a GUID when it is constructed.
However, all of them seem to be inheriting the GUID from the parent, so their guids all match which is a problem.
Hey squad, quick sanity check: I switched my DataTable to use a Soft Class Reference to reference a class of Actor enemy that I want to spawn in the game, instead of using a (hard) Class Reference.
In my blueprint then I do an Async Load Asset, then cast the object to an Actor class and spawn it. Seems to work.
I'm assuming this is the desired behavior? It looks like now I'm resolving this reference just-in-time when I actually need to take advantage of this class, rather than when the DataTable gets loaded the very first time into the game? As opposed to previously everything being loaded all at once at the time of the DataTable being loaded?
That's fine
DT should never contain any hard ref
If u have doubts just check to see what's loaded with
~ console
Objlistclass=
Great, thanks for checking, didn't know about that command 👍
Right
so does anybody have a simple way to do sliding???
because I am stuck (yes I know I'm bad)
wdym "sliding" ?
I have sprinting and I have a crouch so I would like to be able to do a slide if I hit a crouch while sprinting
Somewhat similar to titanfall where the momentum can be kept and FOV goes out a bit but you will stop eventually
you can make the ground slippery for a bit and it should slide with momentum
not sure if thats the best way but it's a way
How might one achieve this?
you can mess with the numbers
it's supposed to make the character slide
or you can just use a force on the player
add to the velocity like a dash
What is "overlap"???
a collision volume overlapping with another one
WTF is going on here? The variable has a desired value, but becomes 0 when passed to the next node...?
But if I try to print those values, they do work
Does anyone know how to make it so that when the Variable "Inside" is set to true, my Enemy AI stops chasing me?
Image
This 2nd image is a BP that makes the AI lose me when i am out of its pawnsensing but the issue is, it loses me too easily so i want to make it where when i am hiding in a closet with the Variable "Inside", it stops chasing me and continue with its task and roams around the map
Image
Much thanks if anyone help, and feel free to ask me to send any UE screenshots if you need more information, The whole Enemy AI was made from watching Gorka's Horror game tutorial video
https://www.youtube.com/watch?v=QoXxNpTyuV0&t=3369s&pp=ygURZ29ya2EgaG9ycm9yIGdhbWU%3D
Hello guys, in this detailed and simple tutorial we are going to learn how to make a full First Person Horror game in Unreal Engine 5.
↪️Project Files: https://bit.ly/GorkaGames_Patreon
🔊 FREE SOUNDS:
Footstep: https://freesound.org/people/RonaldVanWonderen/sounds/110099/
Jumpscare: https://freesound.org/people/dangthaiduy007/sounds/341670/
Sta...
love that guy
Yea hes a good man
are those the only 2?
So maybe have another variable that cancels it in the behaviour tree
so it needs to be change in the behaviour tree and not in these event graphs?
This is the Behaviour tree and the task to chase player
can you call the stop seeing player event ?
idk how you would call that from outside of it
if not then i would just use a variable and switch it, then put in the behavior true to abort when it true
hmm, interesting
how would i do that? a branch?
a decorator, i think you can actually set the blackboard value if you can't run the function @lilac cipher
maybe not it's been a while since i tried ai
but also #gameplay-ai might know better
How do you
- Check camera FOV in fps template
- Change FOV
Hey folks - is there an easy way to test if the mouse cursor is over a widget or in the game view?
Context: top-down, click to move, but I want to use a controller/joystick instead of the mouse. I have the tumbstick moving the cursor around already, now I just need to make the bottom face button (A/X) simulate a client if it's in-game view or select an appropriate widget if it's in a menu/dialogue screen etc.
Eventually I'm thinking of swapping everything over to using Enhanced Input with CommonUI - but baby steps 🙂
have a print string that shows if you interact with the widget maybe?
What's the trigger for interaction in this case? Like I'm really hoping I can do this in the player controller or game mode instead of each individual widget via triggers
On the widget, you have an event called "OnHover" if I'm not mistaking
On your widget, put a button in it that has the size of your thing and make it invisible by setting it's alpha to 0. Then on that button you have an event called "OnHovered"
If you have many different ui classes that need to be hoverable, make them all the child of a single widget base class that implements "OnHovered" and sends a message to the player controller telling it which one is hovered.
is there any way to extract functionality (funcs/events/variables) from one blueprint to its parent?
do I use an interpolate if I wish to increase/decrease a value like friction or speed over time??
Don't think so and why would you do so ?
So i currently have gamestate ticking down a timer so i can swap between the different modes of play (scavenge, build, fight) however the gamestate event tick doesnt seem to be ticking down from the delta seconds. Am i using gamestate wrong?
also, just to prove i have indeed added the gamestate to the game
found out the problem, didnt start the boolean scavenge time as on, rip lmao
I have run into another snag I'm trying to figure out. Let's say that I have multipe NPCs. For each NPC that is spoken to, a counter representing the number of people the player has spoken to increases by 1. After the counter number reaches a certain number, then one last event is triggered. Basically, once all five people are spoken to and the NPC counter goes up to 5, the last event is supposed to occur. But, for some reason, it doesn't. Also, I've noticed the number goes up every time I speak to one particular person more than once, even though I put a Do Once node before increasing the NPC counter by 1 so it's supposed to happen only once.
Here's the BP I have: https://blueprintue.com/blueprint/xz9uuw44/
Well, a BP, I should say. It also has two functions.
This contains the BP for the first line by each character.
And this is the "Security Guard" function that happens when the counter number is reached.
So, can anyone explain how I can fix the counter problem as well as how to get the last event to occur?
Oh, and it's all on one widget BP.
Post a proper screenshot of the counter function. It’s absurdly difficult to read BPUE on mobile
One second.
This occurs at the end of each dialogue branch except for the security guard:
You know how to use breakpoints?
Does the security guard branch return true ?
Cause enum == seems a bit off
Yep, I’ve been using those just to make sure it does. But, for some reason, the designated objects don’t appear.
Where are those widgets being created ?
Hello guys, i'm new on UE5 and i Have a problem... I try to do this :
Those 3 things you’re trying to make visible that is @sage lagoon
And to do i do this :
But the result was that... :
He bugs on this position
How can i do to create a good transition walk/run to sprint ?
#animation is better for these questions
Oh ok thx
But I don’t think get acceleration is the way to go
I would set your transition to fire when you actually tell the char to sprint
The message widget is first created when the player comes into contact with an NPC. Then, when Enter is pressed, it picks the enumerator value based on the NPC (there is more than one entity) since they are all under the same class: Character.
On started you set a bool like sprinting to True, on completed, back to false. Transition then can be bound to that bool.
I don’t see a Create Widget
And ideally what you prly want is to Add To Viewport/ Remove from Parent rather than visibility
I did try that, but removing from parent and then adding to viewport again reinitializes the value of every variable.
Ah you’re changing their vars throughout ?
Yes. I've been keeping it open throughout the program so that it never restarts its variables and thus are easier to change.
So if you put a breakpoint on SetVisibility does it drop there?
I have put in a break point on branches going before one, but I can try to put one right on the Set Visibility node that doesn't seem to work even when I skip from one node to the next.
I'm not sure I've understood everything since I'm just starting out, but I'll give it a try.
I’m assuming you’re using an Enhanced Input Action to sprint
Hummmm.. Not the Enhanced just the Action mapping input on project settings...
To do that :
Yeah, that’s fine, deprecated system but it’ll work. Make a bool isSprinting, set it to True on pressed, false on released
Hm. I see a redundancy. The same objects are set to appear twice - one before a function and one within that same function when it first starts. I should remove the one before the function then see if it helps. But I need to run an errand, so I'll be back shortly.
And in practice it works, but it's the animation that breaks down.
It’s cause you’re trying to measure acceleration so it prly goes back and forth very fast
Only thing transitions should usually look at is whether a Boolean is True or False, like I said above
I hesitated to add it to the Walk/Run created by default, but knowing that I'd like to modify it later to make an 8 Way Directional Movement - Unreal Engine 5 Tutorial
I don't touch it
You can worry about that later
ok and for that, What should I do?
thankyou unrealengine.com for feeding me incorrect info to which I confidently wasted 9 hours for a solution to one of my problems and wondered oh so as to why stuff wasn't working
Hey. How would you guys do a world map? Like for a 4x game set on Earth? I'm thinking either a sphere or a 2d thing. Either has it's issues. I would prefer 3d, but nav on a 3d sphere is tricky
Hmmm. I'm having an idea with a 2d map. Though, wrap around nav would be tricky.
What if I actually have two cameras, and I just display one on the other side as you approach the edge?
It's true for blueprint (as long as the server calls it, yes)
false for c++
in c++ you call the On_Rep manually
Only server has authority to dictate a replicated values value
yes, I now know this, 9 hours after reading this highlighted scentence. Only if the server calls it*
You should've just asked 😛
any sources on how I can tell the server to do something from the client without the client telling itself?
I'm not sure i actually get the question
usually you RPC from client to server to initiate a thing
to be able to RPC it needs to be a client owned replicated actor
Ive been having responsiveness issues on client side, so ive been attempting to have the client do what it wants, then it can just tell the server to do it. I dont think this is route Im gonna go, Just need to do some more reading.
For example on more reading, i dont understand the RPC term that keeps popping up.
Remote procedure call
whenever a client calls a function that will execute on server
Does a "Do Once" node really make following nodes perform a command only once? Because it seems that the same commands are repeated after a Do Once.
It will unless you reset the pin
Read the pinned source in #multiplayer
Rpc and replication is the easy part.
Hm. Let's see. Every time one of five characters is spoken to - and all of their lines are controlled by the same widget and function within - each branch increases this counter determining how many people the player has spoken to. Let me get the blueprints to show you what I mean.
I suggest to start with a fresh node and test it there
I can assure you that do once will only execute the pin once
Now, for a closer look at each branch...
Ideally you don’t want widgets to control things, but rather the other way around
Yet it seems to occur more than once. But let me double-check for a moment.
Then you probably have more than 1 instance of the blueprint in the world
It does count more than once. Maybe if I used a Boolean to control that part...
Again, you must have multiple instance of where ever this code reside
I use the widget to control the dialogue part, really.
Maybe. I'll have to search each related BP.
Do once will only execute completed once. The next calls will be dropped
Never looked into the macro but it's probably just a bool anyway
U just have to check where the do once is called and see why it's called "multiple" times. Chances are u have multiple instance of the class where each instance can execute the code once
There is one Do Once node on each of five separate branches of the dialogue tree, as you'll see on the BP (I've shared a link to it just a second ago). Would that still count as multiple instances, though?
I know it's redundant and unnecessary, but one other thing I can try is using Booleans instead of a counter.
First understand what instances are
They are what's crested from your class template to the world
For example the bp player
You drop 2 to the world
U will have 2 instances
Bp player 0 and bp player 1
So, by instances, you mean character sprites?
Do a do once on the fire input in the class. Then bp player 0 and bp player 1 can fire once respectively
No
Any bp you make is just a template
The actual object that is created out of it to the level, that's instances
If you create 2 widgets of the same type, you will get 2 instances. My widget 0 and my widget 1
So each instance is any entity - material, texture, character, widget, etc?
The objects that is created from your blueprints
You mean, like, variables?
Nah, just do this
Drop 6 players to the world
In level bp, get all actor of class of type player
U will have bp player 0 bp player 1 bp player 2 and so on
Each of then are the instance of bp player
Bp player 0 is an instance of bp player
I'm sorry. I don't think I'm thinking very straight tonight. I'm trying to get a grasp of what you mean, so...you mean, like, if I click and drag a third person character onto the map more than once, for example?
Read again after you rest 🐈. I can only reiterate at this point
I've created a new version of a component for my character class, and I've set the default to the new component class via ObjectInitializer.SetDefaultSubobjectClass<T>().
However, the blueprint is still showing the old version of the component class, and it won't let me delete it to replace with the new version. Is there any way I can replace the component in the blueprint?
Wait, nevermind, found it. Had to click on the component and it brought up the class type at the top of the details panel. 😅
... oh. Unreal crashed and now the component is blank.
@midnight field #cpp is more alive and most of us here don't deal with cpp. Better ask there
Alrighty, thanks!
Apparently, Booleans won't work on my message widget, since the widget does not remove from parent. So what would be the best way to set the program to where, say, the player is called away after talking to everybody, and talking to each person counts only once? I do have an integer counter, but I only want that counter to add 1 only once and not add if the player speaks to one character twice or more.
One other method I've thought of is putting in some counter or set of Booleans or the like under the player character's BP, but I'm not sure how I could approach that.
I could try gameplay tags.
Hey is there some pre-requisite for getting the distance to an actor when using a line trace? I have some drones and birds and using a line trace correctly outputs the distance to the drones but not the birds. I get back only 0 for the birds
a line trace does not return the distance to an actor, only from the start location to hit location
I know sorry more specifically when I hit drones it returns the distance to the hit, but when I hit birds it returns 0
but the hit location is correct?
i'm assuming that you're tracing from the player in the direction of your camera, and the trace is simply just not registering on the birds?
It seems like it registers the bird is there because the trace stops at the bird but it doesnt give me a distance to it for some reason
Could it be a problem that they are using skeletal meshes?
can you take a screenshot of the trace to the bird with the debug on?
that's odd, the distance is just the difference between tracestart and location
if a hit location exists there should be a distance
One moment grabbing a screenshot
my guess right now is that the bird's collision is at fault and the trace isn't actually hitting it, which is why it's returning a distance of 0
I'm not seeing a hit
the line stops at the bird though
where is the end location of the trace?
is there a reason its not hitting it?
maybe do a multi line trace instead to check
Okay thank you ill check that out
you could also check if the hit trace end location and hit location are the same on the hit result
but I'd assume there isn't even a hit result to begin with
so nevermind that
The end location is the bird actor itself
as well as the drone itself
it hits the drone but not the bird which is weird
yea so that's why the trace ends there, it's just simply not hitting it presumably because the bird is not blocking the trace channel?
rather, I can see the trace ending below the bird
is the skeletal mesh the root component of the bird actor?
does the animation have an offset that moves it above the relative 0 0 0 position?
I feel like that's the issue
the trace just isn't aimed at the mesh
I will put my money on the bird comp not blocking the trace channel
we're starting a whole betting ring at this rate
The animation only moves the birds wings. I do not think the skeletal mesh is the root component
if it's not just make sure it is actually on the actor's local 0 0 0
i've been having a issue where the widget that suppose to be used for a split screen multiplayer game won't copy itself and attach it to the second player? it keeps saying that the player controller is not being attached to the second player yet when i tested it in a standalone game the character is moving with the second controller, yet when i tested in the engine the character doesn't move at all. so i don't really know what to do, the controller should be there any thoughts?
yep, it's not hitting. check the collisions on the bird (either mesh or root collision) to make sure it's blocking the visibility channel with collision query on (assuming you're using line trace by channel)
since you're doing traces directly to the actors themselves, i'm assuming that they're BPs and you're tracing based on "get all actors of class > bird BP"
in which case, you can see that your line trace ends up underneath the birds, so even if your mesh itself had proper collisions, it's simply not hitting at all.
anyway, if you have a screenshot of the BP's viewport, i can tell you more
though since you already know the bird actors' locations already, why not just directly check the distance between the trace start and bird location without the trace?
I've recently started learning unreal engine. I was testing out array functions and can't get the add function working properly. It executes the print string after adding but when I press the extra key for the array item, nothing gets printed. I'm not sure what I'm doing wrong here
And I get this error
just so i'm clear, you're trying to use key E to add something to an array, and keys 1-4 to get the item from the array?
i recommend plopping a print string (duration 0.0) on event tick that shows the full array contents
if anything, having this should help you debug what exactly is going on
Yes, exactly that.
Alright, I'll try doing that
my guess is that you're trying to add the same sticky bomb thing to the same array and since it's only adding it once (due to passing the "contains" check after the first instance"), the array is only of length 1, which means that it only has the single "0" index in it
though im not sure what the rest of your code is doing
The array doesn't contain the sticky bomb string in it.
It's just this, I'm using the fps template for practicing things
i see! double check your "sticky bomb" variable; based on what i'm seeing, my best guess is that your "sticky bomb" variable is just an empty variable.
that's probably why it's getting past the "contains" check and yet not actually adding anything to the array
hmm, weird though, i dont think it should work that way
i personally would just use a "make literal string" instead of a variable for that, see if it works
Using strings for an inventory is a bad idea. With you only just starting to learn UE it might be worth looking at the different techniques for creating an inventory and choosing the one best suited for your project.
i wasnt even trying to draw attention to that but honestly if you want an inventory just go on the marketplace and get a free asset off of it
though defo worth it to learn some blueprints first before using assets
I wouldn't recommend just getting one. It's a waste of money if you don't actually understand how they work. It'll just make altering it almost impossible. Plus once you know how they work, they're not too difficult to make.
i did say free
True, but the chances it being suited for the project is pretty slim. Might be good for learning the basics. (Assuming it commented)
^^^
how do i create fgameplay tags in the editor? Assuming i made the variable in cpp, but i want to populate it with something that doesn't exist at buildtime
isn't there multiple ways of creating gameplay tags
in the tag selection window
from project settings , data table, etc
or in project settings
well i know the ones about using declare and define macros
a section called GameplayTags
In .ini file too
i see, thank you
I understand. I'm just trying to learn about variables right now and currently not working on any project.
But thanks for the tip, I'll keep it in mind!
It is empty.
I'm not able to understand why isn't printing anything after being added in the array
This worked!
Can you please explain why didn't the variable worked but 'make a literal string' node worked ?
Because your stickybomb is named stickybombs, but it contains nothing
See bottom, "default value"
^
Also, one of the drawbacks of using strings is
That you're very prone to typos
At the very least may i suggest
Using GameplayTags
If you need to keep "count" you can use a Map of Gameplaytag and Int
I'll look into it!
I was using strings just to understand how array functions work
Gotcha
I just recently started with blueprints and learning about variables.
Thank you for pointing that out, I would have never figured it out :/
^^ only one way forward. Godspeed
My friends!
Currently working on a Cannon that launches the player in the direction they are looking. Having some jank issues regarding the mesh following along in player looking-movement. Any1 who can tell me what I am fekkin up?
It aligns wierd sometimes too, not concistently enough for me to pinpoint the cause atm..
is it possible in BP to get all vars that have the flag SaveGame ?
hm
Is it best practise in blueprints to prefix classes with the game's acronym similar to c++ or just use BP_?
What if it's a blueprints-only game?
what if you want to upskill? Wouldn't that make it hard to distinquish, which is the bp version and which is the cpp class
Yea fair enough
I use an acronym for most child blueprints based on what it is. It can make searching for them easier as well. For example, I have activity and task objects for a point of interest system I developed, this get prefixed with POIA_ and POIT_.
Whilst there are common ones used by most people specific to the engine, don't be afraid to make some for your own base classes.
In summary, yes you should use them as best as you can and even come up without own where applicable.
Hey is anyone able to quickly explain how to use input actions? I'm struggling hard to get a boxcollision to activate with a keyboard button. I can get it all to work with Oncomponentbegingoverlap
my thought is that I could inject and Input action but i've had no success so far
This is the BP i'm trying to trigger with an Inputaction i've got mapped up. I thought I would be able to switch out the starting component or inject action between that and the 1st branch?
any one knows how to fix that issue
aren't you looking for spawn actor instead?
no, I don't want to spawn a new actor
I just want to check if that class implements an interface or not
that node is to create an object
theres a Implements node iirc or just cast to your interface
I know that node, but it needs an actor ref not a class
that
ok but why are you creating an actor
that node is to create an object behind the scene, as it was never created, so I can cast to any data I want
Really
I think you need to explain what you want to do, not how you want to do
will help me understand your problem
I want to know weather that class implements an interface or not, because I'm using Actors as general for the system I'm making, so any actor can be used, instead of using a master actor
for an Inventory system, so any actor implements the BPI_Item interface, can be stored in the inventory component
Need someone to use their powers of deduction here. The video shows this user-made function in a spline BP, however he doesn't reveal the contents of it.
All I know is it takes the index of a mesh along a spline, and returns its start position and tangent vectors. What would the blueprint function look like on the inside?
It's got to be very simple but im at a loss
I was looking but it seems the Implements interface from class is not exposed to blueprints, it should be simple to add this node but you would need a project with c++ enabled
bool UMyLibrary::DoesImplementInterface(const UClass* TestClass, TSubclassOf<UInterface> Interface)
{
if (Interface != NULL && TestClass != NULL)
{
checkf(Interface->IsChildOf(UInterface::StaticClass()), TEXT("Interface parameter %s is not actually an interface."), *Interface->GetName());
return TestClass->ImplementsInterface(Interface);
}
return false;
}```
If you need to keep in BP you will have to find another way, you can't construct an actor without spawning it
That would be better actually thank you
hey, im currently trying to make a first person grapple game prototype for a uni project, ive got the whole bp down, everythings working, but im using a cable component as the rope, everything works fine again, but when i build enough momentum to eventually get myself above where the grapple is attached, the cable component acts like a pole and i can basically just float directly above it. ive tried unchecking collisions, does anyone know how to prevent this?
ye should just look something like this
thank you🙂
if the start isnt an actor, just use a vector distance node instead
that’s fair
Much appreciated. I’ll check this out in a little bit here once i’m able to
I'm assuming this is where i can ask for help with my blueprints right?
Got an issue i can't seem to get past
What should I check when I use Attach Actor To Actor, the hierarchy ends up looking good, when translating the attached children move with the parent, but for some reason they don't follow the rotation ?
i need help how can i rotate the character mesh left and right, it turns left and right but doesnt rotate and looks really bad

omg
i just had to tick one box
At least you found your answer 
I got an issue where an item pickup isn't displaying on an inventory list and i know it's something small and stupid i'm not seeing.
As far as i can tell i followed this tutorial almost to the letter with some slight tweaks https://youtu.be/khjUY5To7qI
Hello guys, in this quick and simple tutorial we are going to learn how to make a simple inventory system in Unreal Engine 5
Check out my Steam Game! https://bit.ly/3rVlXU1
Follow me on Twitter: https://twitter.com/GorkaGames
Subscribe to the channel: https://www.youtube.com/channel/UCv_n9oioNF6OpzR2dt6E4xg?sub_confirmation=1
unreal engine 5,u...
"To the letter, with some tweaks" 😅
The tutorial said to use the e key as the pickup method and i changed it to on overlap to hasten the pace of the gane and a few names were originaly different than in the video but i restarted and did them all the same as the tutorial.
otherwise nothing is different and the on overlap shouldn't be causing the issue
i'm no where near ready to make any real tweaks on my own yet 🥲
was it like this in the video ?
i feel like your using is valid incorrectly
well normally you would check if it's valid, if it is you would do some logic, if it isn't you would create it, do some logic like you see in the TAB event
but what isn't working the pickup event isn't firing ?
The pick up event is firing what isn't is the item wont display as being picked up in the inventory screen. Gimme a sec and i'll uplode a video
Be careful with Gorka's tutorials, he does a lot of badly optimised stuff; I saw his stamina/sprint system video a few months ago and it had problems.
I wouldn't follow an inventory tutorial that uses a strings array for the items. It'll be full of issues.
yeah i'm testing my system now and now it's not even picking up the item
if anyone has any inventory related tutorials they reccommend i would apreciate it. I think i'm just gonna start over again
i feel like just having names and adding to the array like that
you definately won't have stacks, you'll have to implement that
theres most likely a much better inventory system somewhere
I agree, Names would be a lot better. More reliable for the use case.
Personally, I like to use uObjects for inventory systems where you create a uObject item base.
Gameplaytags atleast avoid typos
And gives a nice hieriarchy
Map of that + int and you're good to go
Sorry new to unreal and programming what uObject?
True, never thought about using Gameplay Tags. Not a bad option if you're only needing soemthing simple.
yeah ist's not going to be a complex inventory
uObject is the base class of most (if not all) classes in UE. It's a lightweight as you can go if you want more of a data object that can also run some logic.
Ah ok
since it sounds like gameplay tags are simple and easy to put together i'll look into those
The world of uObjects is a glorious one lol. Anything that doesn't need to be spawned in the world I create as a child of uObject.
Yea, a map where the key is a gameplay tag, you can then have the value as an Int to denote how many there are.
would i be able to turn that into a random item placement generator? That way when a map loads in it will scatter random items around the level?
I know that's pretty advanced but i though i'd ask
You would have a separate system for that where you specify the items (could be using a gameplay tags) and the amount. It would then loop through x amount of times and spawn a world item BP. If you pass the BP the gameplay tag, it could use it to get the mesh it should be showing and update it.
Hello, I am trying to understand why in my AI Blueprint I can cast to the landscape in some maps/levels but not in aother maps. I could not find what makes the landscape in these maps fail in the cast
What are you actually wanting your inventory system to do? I ask because I have a feeling you're wanting it to do more than what would be covered in a 'simple' inventory.
You would need to show what your doing regarding the cast.
It really is just a simple 8 slot inventory system
just from what i was seeing in the chat the random itemplacement was where my mind went to with what i was hearing
I would class any slot based inventory as intermediate. You would need a good understanding of UMG and event dispatchers to get it working nicely. What about the items themselves? are you wanting them to have unique behaviors? As in the data thats in them?
Yes and interactions such as throwing them but i wanted something basic to start
I am detecting begin and end overlap of an AI bird falling on the landscape. This works very well in one map with one landscape (I bought the landscape map from Marketplace) and in another Map the cast is returning a fail. I tried to create a quick landscape without materials or textures and it fails. I could find in the landscape properties what is different and what makes one works and the other not
It'll be because what ever is collided with isn't a landscape. Print it's name to see what it is.
Sure, I will try this now, thanks
Give me an example of 4 items and how you would be wanting the player to use/interact with them.
Hey folks, dumb question i'm sure
I'm getting "accessed none trying to read property" on this node, i slapped a breakpoint on it
at that breakpoint it appears this "get ref for each" node is the issue, it gets an array in, but all the outputs have no debug data, so i'm fairly certain that is the problem.
any ideas on my next steps?
ok so for instance
Sword : Equip (attach to player and raise stats based on swords generated stats), Drop(remove from player inventory and place on the ground in front of player), Throw (Remove item from inventory and send several feet in front of player. If item makes contact with an enemy cause damage to enemy based on thrown item status),
I would say the supplied array has null entries in it.
Would the sword have durability? are you wanting food, potions etc... as well? that type of stuff?
Yes
the sword would not have durabbility though
potions,food,brands, and abilities too as well as an identify system
ahhh, thats a good point, there is a ton of data in there but i'm not sure what pulls the ref, i'l go through it again and look for null's, thanks! 🙂
having per instance vars added an extra layer of complexity. You might want to look at either uObjects or Data Assets to use as your items. The inventory would then just be an array of these.
I can understand, most inventory tutorials are pretty much lists with a quantity. (Map) These systems don't hold up once you want to add per instance var differences such as durability. They're more for things like collectibles like Crash Bandicoot where you have the mangoes and various gems. The items themselves don't actually do anything.
or you can store the data in a string and parse it because why the f' not
item1,10,100,1,rare
Granted it would make saving the item super easy haha.
Turns out I do actually need this trace to hit the actor. Any idea why it might not be hitting the bird?
I was mistaken, all landscapes are failing in the Cast. All return the Landscape name except the one I created. But I could detect an overlap based on the other variables except for the landscape I created. The one I created is the default Unreal Landscape that gets generated and it has many Streaming proxy components if expended. The other Maps have a landscape as 1 component in the Editor. So basically the cast to landscape is not working with any landscape but the overlap works if I use the other variables and not related to the landscape contact I suppose.
Line trace is probably too short.
I have it going to the location of the actor what would be better?
Hey guys, here's my current setup on how my health works just a simple one where it just snaps to the value but I want it to go down smoothly, is there a way i can make that happen with my current setup? Tq,
Found it. The collision settings were wrong
you could have it on tick go up or down if the new value is higher or lower maybe ?
or maybe finterp, or even a timeline or timer
i'm still learning so i don't know which is better
Timeline with lerp is usually good, helps keep it frame independent
timer is prly fine too, though I think you need to use delta seconds and maths to make it frame independent
Why did my BP_ThirdPersonCharacter delete itself? I don't remember deleting it. Also a few days back one of my maps got deleted as well.
I do save
Hope you got sourcecontrol to fix that for you
Source Control = What saves versions of your project in case something goes wrong you can go to a previous version. I don't know if you heared about Git and Github, those tools are "Source control" softwares
or just make backups
thanks
How do I make backups? Just copy my project?
you can just copy the folder in your projects folder
It's painful to do that all the time, and you have to remember what each project contained and what changed
while Source control handles that nicely for us
and if I'm not mistaking, creating backups it creates rudunduncy on the disk space while Revision Controls saves only what changed ? 🤔
I mean a project is on average 3GB so I will try out github, thanks guys
Github is fine
What’s wrong with just having “MyProject_final_final2_realfinal”
Redundancy is good. Also source control should not be the end all and be all solution for backups.
a good rule of thumb is to have three copies of your critical data (your project in this case). one copy on your local machine, one copy on some cloud service and a copy on some offsite location
Can anyone help me work out why my flashlight is looking like this sometimes? if i spam activate it the blue goes away and it looks right
probably fog? try to disable that and see if it work
Ok lets imagine you have 100 versions of your project, so 3Go x 100 = 300 Go. I highly doubt that Github and other Revision Control companies do that thing locally, they need to have data centers to save these 300Go just for revision, then they have to multiply this by 3 for safety reasons to have this data accros multiple data centers as prevention
okay ive realised its the static mesh that is used for the cone for the light
Figure out how to keep the blue cause it looks more ominous
but it is set as not visible
im not a fan of the blue it looks a bit scifi haha
ok nevermind i fixed it
you always find a solution the second you ask for help haha
why would you have 100 versions of your project in the first place? realistically you'd probably have 4 (main/master, stable, production (for artsy people), testing)
Don't you consider each time you add something new to your project you have to push it ? That's what I personnaly call versions. So :
- your default project = version 1
- your project + the new thing added = version 2
- version 2 + a new other thing added = version 3
etc...
This sounds stupid for no reason.
Source control to store the changes. Do a complete backup every once in a while.
What do you mean ?
oh no when you push something you only make a copy of that specific file that was changed, not the whole project
Oh then that's what I was saying in the beginning 😄
you will have different versions of specific files, not the whole project :P
here : #blueprint message
Yeah source control doesn’t store multiple copies of your project. Just the changes
Yeah
yeah i didnt follow the convo from the start 😅 i thought you meant with redundancy was keeping different copies of your project on different locations which is a good idea
As for copies 3 backups from time to time. Just delete the old backups when you’ve verified the backups work as intended.
i think the crappy gamer was making the same point too
With source control, you only ever have one 'version' of your codebase at a time. The rest of the changes are inside of files in your .git folder that 'rewrite' the active files based on the byte data in the .git folder. If you want to be completely safe, you'd back up your entire project directory, including your .git folder. Otherwise you'd switch to your most stable/production codebase and back up the single bit of code (minus the .git folder) to three locations. (1 local, 1 cloud, 1 remote)
So if you wanted your 'development' branch and your 'main' branch both backed up, unless you make two different codebase backups, you'd need to also back up your .git folder which has all your 'development' code changes in it that you can revert back to during a restore.
i just keep a backup in case the thing fails
backup at different points when stuff is added
sometimes i'll even just store a different version for some specific use or something
but if it were a big project with multiple people i can see where that would be great
thats why you have a server copy and a local copy
I'm not sure what you mean. The backing up of the '.git' folder would only apply if you are running your own git server. (Servers fail just like desktops do) If you are using something like github or gitlab etc you shouldn't need it as they handle backups for you (usually).
im hosting my own gitlab server, so the chances of losing my projects are almost nonexistent because its pretty unlikely that my pc and server break at the same time
but yeah, if you want to pay for a private repo then u also wont have to worry about backups
though, i dont like the idea of some company potentially having access to my project
That's a choice you can make as an individual or business owner. That doesn't negate the necessity and best practice to still take backups.
some projects get pretty big though, so taking several local backups isnt an option for some people
I don't like the idea of other people having access to my projects either that's why I run gitea on my own self-managed servers.
especially when u include git files
If I was to say... increase friction and decrease speed slowly over time I would use an interpolate right?
Yeah, regular lerp with a timeline
lerp??
That’s the node for regular interpolation
ah
Or rather linear interpolation
I'm gonna quickly slap together what I think I have to do to achieve this and I'll post it to check
Nvm I'm stuck this is what I have
ok so i got this simple cod that wont work for some reason, i have a projectile with a simple code like this
it shuld hurt you when you get hit by it, but it doesnt, i also have this in me maing character blueprint
any help?
is the hit event firing ?
is the actor being destroyed ?
What are you trying to achieve ?
^this
what part isn't working in your code ?
I don't know where to go on to achieve my goal after the set friction to 0
no the actor is still visible after it goes thru the player and it is being fired
you didn't use the lerp function
how do I do that there seems to be a million interpolate choices
you will need to watch a tutorial on how to use the Lerp function
ok
i got a script for a bullet where it delas dmage when it overlaps with an other actor the problem is that it overlaps with the original actor that fiers it, is there a way to make it so the on component begin overlap will ignore an actor?
so your sure the event is being fired but it doesn't destroy the actor ? did you put a print string at the beginning of the event ?
i replaced the on hit node to on component begin ovrlap and it works, but like i siad it also over laps witht the actor that fires it, do you know a way to make it so the component begin overlap ignores a certin actor?
you can either make the bullet spawn in front of the actor, or just check if the overlapping actor equals the shooter in your damage code
spawning the bullet inside your actor doesnt make much sense anyways
ye the bullet hits the actor no matter when i put it what i want to use is this
how can i cast an other actor to this?
I have a friend who's a student that wants to do environment design for my project. Is it possible for him to make a level/arrange props in a standalone project, then integrate it into mine later? I don't want to give access to the entire project.
why do you need to cast?
You want to know if Other Actor = TheActorWhoFiredMe
so that the bullet will ignore the actor fyiring it so that it doesnt kill it slef evry time it tires to shoot
That's not what casting is or does
oh sorry
cast is a question. When you cast something to YourCharacterClass you're asking "Is this thing a YourCharacterClass?"
You don't care about that, you care if it is the same thing that shot it
so how can i connect an other actor to this so that it ignores it?
If you know you have an animal, but you want to tell it to bark, which only dogs do, you'd cast the animal to dog to see if it is a dog. if it is, then you can tell it to bark
The bullet needs to know who shot it
Instigator might be a good variable to use
(OtherActor == Self) NOT
or instigator, yeah.
Your bullet needs some idea of where it came from.
No, the bullet doesn't want to ignore self, it wants to ignore whoevershotit
i will try the instigator thanks
so i got the instigator right but im having issues with actually connecting it to the overlap component
the instigator is an actor
hint hint
use Other Actor
is this in your projectile or your character?
the other acotr wont work either
the thing is getting hit and this si the code
Question on some blueprint practices. Is it a bad idea to have components reference the owners other components?
Reason why is I have a component that controls all information needed for animation data, and I'm going to make another reusable one that controls battle states. Which will need to update the animation data one.
i also get these
the hybrid_2 is the actor and the BULLET is the projectile
"show your code"
i showed me code
no
check if other actor is self.instigator
get instigator of self
not of other actor
When the bullet hits, you want to check if the thing it hit IS the bullets instigator
Hit -> if OtherActor = Self.Instigator -> true -> ignore
-> false -> do the hit stuff
Yes. In the Content Browser, right click the Level Asset ( if you want a whole level, for example ), and from the right-click menu, select Asset Actions > Export.
I would try to sync a plan on folder and file naming and arranging before beginning, so it matches your patterns.
When this happens, it is called 'coupling'. It is often hard to avoid, and can result in nasty dependency chains, and possible issues going forwards as the game changes and evolves. Interfaces are probably the most common way to decouple things.
The aim is generally to try to 'encapsulate' things. Optimally a feature-object would not really care about knowing who or what is telling it to do stuff. It can take inputs, and give outputs without caring about the outside world ( from it's perspective )
Thanks
One critique: Components already provide the service an Interface does. Components referencing other components is perfectly fine, so long as you can make it one-directional.
Also good to do a quick rough test export and import before doing a lot of work
Perhaps. But certainly components can also implement interfaces, so there are situations where it may be beneficial, I think. I admit we don't use a lot of components in our game though, so my xp is limited in this area of unreal
Rough example: Say your Actor is a kitchen, some of the stuff ( Components ) can burn. Instead of having to know all the Pots and Pans that can burn, you just get all that impement the IFlammable interface
Components were designed to act like interfaces for Actors, and without having to bake them into the base class.
Or slap on the Can Burn component.
Yeah, I was just pondering your point that Components essentially are very similarly used to interfaces, true
And make each prop an actor, which is the intention
Engines like Unity that only have components do it that way.
But since they can implement interfaces, perhaps there may be uses for it : )
There's a few, mosly because ANY object can implement an interface.
But really, if it's an Actor already just use a component.
GetComponentByClass is a great thing.
Don't even have to know the actor's base type.
I use it to find Meshes or Primitives.
is there a way to either slow delta seconds on a event tick event or make a custom time event that lerps well, i followed a tutorial about making a day night cycle and it looks fine but if i want to slow down the rate of time/rotation it turns to a slide show.
I was wondering if anyone knew the best way of going about creating what is effectively several windows in a wall that each show a different scene through them when viewed by the player with parallax. I would like it looking kinda impossible when the player looks through several windows at once
Delta time is the time it takes between last frame and current frame . It's tied to your fps
I thought delta was the time of the world
is there a way to slow it down?
or is that the other one
slow the Frames down
uhhh lol
Set Global Time Dilation?
could you not just increase the value instead??
Gotcha. I'm generally keeping this player dependent anyway. But thats a good explanation. I'm generally using this to have runtime behaviours. i.e: Auto Attacks.
Question: Will I very quickly slow my game down if fired rounds were real objects during their lifespan or is that normal?
i want to make the day night cycle go slower and its tied to a custom timer event which i need to find a way to Lerp it so its smoother but idk how to do that, i can screenshot bp if needed
keywords are probably "render target" and in camera, "scene capture"
Basically I will be instantiating the scene inisde the window at runtime and there will be animations. Will Interior Mapping or Scene Capture work?
wchief is cooking rn
i just want it to affect one object tho (big sphere)
render targets idea is that you can have something happening off in far scene space, which you can capture with a camera and render to a target texture. This works best for stuff that isn't dependent on player position though... for that you have to dig deeper, to get proper perspective illusions https://www.froyok.fr/blog/2019-03-creating-seamless-portals-in-unreal-engine-4/
deltaTime is the engine level time between ticks, so if you want just one object to change behavior, you probably need to do some maths based on deltaTime : performing your changes with multiples of ( dT * your normal speed ) to go faster or divisions of ( dT * your normal speed ) to go slower
Could you potentially multiply deltaTime by percentage decrease
Thx. Ill have a read
i think i just figured it out, i couldnt use deltatime because i had a set timer by handle node tied to a custom event
@sturdy leaf don't use set timer then.
Delta time is not the world time
You can use delta time with a bit of math to yield same result between different fps
Watch Matthew videos on delta time if u need guidance
yes but to use delta time, at least what i think i know i had to either use event tick (i couldnt because it was tied to a crutial part of how i made the stars rotate with the moon) or use a delta time node that i have to have it tied to a animation, also either way i found out a way to make it slow and smooth
does anyone know how to make your fov change the faster the character gets ive been tryna work it out for the past 2 hours
You should make the system in such a way that the speed of everything is tied to a float variable
i only needed it tied to one thing tho
Hey everyone. We want to get the mousevalue (get mouse y) but it always gives out 0.0 when we print it out. Can anybody help? Does it has to do with enhanced input?
show your code
Show what you've tried
should be as simple as
Tick -> FOV = Math(Speed)
Prly? Show current code
So a "Button" in a "User Widget" only has a few events, is it possible to extend that to have more events?
I'm looking for "On Selected" instead of "On Hovered" because I don't use mouse, just keyboard.
I'm trying to setup circular movement around a cylinder for my character. Ive found a lot of forum content about it on the dev forums but its mostly UE4 stuff, is there a newer method anyone would recommend? I'm trying to avoid using splines. Thanks!
Are you looking for "Event Tick" in the Player Blueprint?
"playertick" is likely a variable that points to something like EventTick, but you'd have to track it in the C++ code
there is no direct BP equivilent to that. PlayerTick is called by APlayerController::TickActor anyway for player controllers that have a valid PlayerInput. You can simply Override EventTick and check if that is valid, then do whatever logic you were going to.
Hello, can anyone tell me how to create an array of blueprint classes? Seems to me like you were just able to create a variable of type class in ue4, but it's not an option in the UE5 variable dropdown.
Thanks, appreciate it
@torpid pine the C++ PlayerTick is also not called for Simulated proxies, so if you want perfect backwards compatibility also check if GetLocalRole() doesnt return that
I do not know how to describe this issue and I'd appreciate some advice.
I am setting a focus to a widget after enter press, after a second enter press, I dismiss the widget and set input "game & ui". Everything is working, except that I need to click once to initiate the focus back to game/ui. I noticed that my keyboad inputs are ignored until I click once.
How can remove the need to click once and instead have the game focus on player inputs after I dismiss the widget
How do I properly replicate this "SpawnActor Node" so that when the actor is spawned both the Client and Server see it? Right now, and using other methods, Only the Client or Server sees the Spawned actor, but I'd like both to.
I'd appreciate any help,
You set the focus to the widget you want your input to be listened to
Spawn on server only. Make sure the actor is set to replicate
How exactly do I do that? here I set the actor I wanted to spawn to replicate, and added a custom event that executes on server and is set to reliable, when I run the code this way the client can't see the spawned actor
Spawning actor is only a few node, I don't know what goes on your interface
Start small
Player press key run server rpc
spawn this via a server PRC
oops. didn't see the prev recomendation.
Tq for the suggestion, took some time to get it work but it's working, now I just need to tweak some value, thx again.
Ok i got it to go down smoothly but it immediately brings it down to zero, any idea why? I also put the curve here just in case.
This should just be handled in the widget
Instead directly changing the health
Also timeline for this not gonna work
Use interp to on event tick
Health should he handled in the respective component. But the representation of interpolation is cosmetic. Just do the interp in widget.
Current values interp to new values on event tick
How come?
From my understanding timeline is only used for fixed time
After all it have the time variable from start to end
For something like a smooth hp bar
That's something that change constantly
Imo tick and interp to is the only answer here
My nodes for this function is pretty simple. Hp bar percent = old hp bar interp new value, and just change the speed for how fast u want it to go
Thank you for your help, it turns out my Interface was the problem. The interface creates the widget (Widget copy1), and the code I sent Creates a widget as well (Widget Copy2), Widget copy 2 always returned empty when trying to SpawnActor on Server.
Oh right and it prly wouldn’t work for any damage cause it would get interrupted if it happens too often
Tbh I may have recommended timeline with lerp based solely on changing a var over time, without noticing the context 😅
if u are letting client to tell the server to spawn stuff then you would also need to make sure that your RPC doesn't get dropped (eg running RPC on client in non owned actor)
Widget doing this makes a lot more sense
You can manipulate the timeline to your liking, by setting the playrate
So playrate becomes a function of delta value
But its messy. And not very clean code
So this refers to hp value in the ui not the player BP right?
I got it working! heres bp in case ppl a curious.
Hello guys! I'm wondering, would it be possible, to pause everything except for a few things? I basically want to create a "pause menu", where the player will be able to move around in a separate level and afterwards can continue where he left of. As far as i understand, pausing normally, will pause everything. What would be the approach here?
save game, change level to pause lobby, load back to game
Hey Guys, i need a quick hand. Im trying so that when the player selects and option in a combo string and then clicks a button it checks of a boolean/ when a player selects a string it sets of a boolean for that string and if another is selected that one goes off.
Thx, that sounds pretty good! 🙂
Only thing is, then i have to save everything to recreate the current state of the lvl.
maybe a stupid question but is it possible to set an argument for FormatText node to replace the first argument it finds in the text regardless of what the name of it is ?
Like I want to replace them one by one in a loop so from from
"Damage {a} Crit chance {b} Crit damage {c}"
it creats
"Damage 200 Crit chance {b} Crit damage {c}"
and I can call the formatter again with the next value and it replaces the {b} part
i think you broke it
try to enter the pattern directly in the input box of Format
or try adding pins manually
im getting the texts i want to format from a dataTable / Variables thats why the pins are not generated automatically, and I wont know for sure what arguments will be in the text one could be for example what I wrote above, and the other could be just "Crit Damage {something}"
So thats why I wanna try to make it replace first argument it finds regardless of what the argument name is
Apologies in advance for noob questions.
Objective: I want to make a simple soccer game where 2 AIs are on a pitch and they run around and try to kick the ball into the goal.
Before I get into the nightmare of AI and behaviour trees - I am firstly just trying to add a player controlled character that you can move around, and when it overlaps the ball it applys an impulse to the ball. I seem to have achieved something along these lines.
Question: How do I make the ball travel towards the goal? I have the goal location in a vector and I'm trying to add it to the impulse direction. I have tried many different configurations but have never achieved anything that makes the ball go towards the goal. I'm not sure I'm even thinking about the problem in the right way.
Follow up question: If I can get the ball being "impulsed" towards the goal, how would I add in a "randomised value" to that direction so it wouldn't always just go straight in the goal on the character overlapping the ball.
Here is a short video of what happens in the game: https://www.youtube.com/watch?v=nuevMQ6bijQ
Attached is an image of my blueprint for Kicking a ball (on the BP_ThirdPersonCharacter event graph)
Does this soccer ball need to be homing towards the goal?
Why not just use physics to push it
The ball has physics applied to it but I figure eventually an AI will need a "target" to kick the ball towards rather than just run randomly around. Maybe I'm hugely overcomplicating this.
I get you. If you make the ball a projectile, you can use homing to have it curve towards the goal but that’s also pretty tricky to work with. Maybe for now just have the AI go to the ball and let physics take care of the hit in whatever direction. Then you can add logic to maybe go between the goal and the ball before hitting it. Not sure tho, it’s not a simple thing to achieve. I’m sure there’s lots of tutorials out there on how to make a char hit a ball, they might have something about how to handle the AI aspect
Like that but in the widget. U don't want to alter the actual hp lol, u want to get the hp from the component but alter the over time in widget
Surely u don't want the player to die a moment after his hp hit 0
I have a design-ish question how to do something in BP's that I'm not sure about at all. I would like to try and make a small "robot" that consist of five different pieces that I can shoot and call back. What would the best approach be for something like that?
E.g. how would make it "shoot" itself and then be able to call pices back
Physics
Isn't phyics to "uncontroable", meaning I can't call it back in a good way?
what is the difference between the "standard" and "message" version of events ?
Since I want it to always come back to the exact same spot at the player.
Hello guys! Sorry for the noob question and my poor English. I creating simple building system (with the help of YT tutorial) and I know it should works fine and it works except for this problem, after I place "building" (just cube actually) for the first time, the next location is linked to some place at the center of the level (and it change scale too) and I don't understand why. It refers to collision (or trace channel maybe) somehow, because when I set "ignore" for collision block it stops. So what is the problem here and how I can fix it?
It looks like collision at the center, preview mesh just stuck on the ground
Edit: when I change Trace Channel from the specific to a "visibility" it become normal but collision doesn't work.
IF you need additional info I provide it to you just ask
Please anyone give me a hint
GlobalTimeDilation is one option
I don't think you can actually set Global Time Dilation to 0. I think the lowest it will go is something like 0.01 or 0.001 where stuff will still be moving and happening albeit very slowly
Yeah, just looked it up and I think it's 0.0001
Hay, does anyone know if its possible to pick up destructible meshes and have them simulate gravity? like picking up static meshes works, you can pick them up and drop them and they will act accordingly to gravity, but for some reason destructable meshes dont seem to have gravity on run time? maybe Im just missing something
Is there a way to remove specific static meshes in scene when a trigger box has activated in blueprint?
Ofc
Just pull out the node to set the static mesh on box trigger event
Ok, then sorry for wasting your time.
learn the foundations including variables, functions, events, event dispatcher, inheritance
Then start with simple references example like opening a door, or colliding with a trap. Even youtube should suffice for small example
The thing I stuck at is I can't create reference to static meshes in the scene
They are static mesh actors afaik
learning blueprint communication will help you with that. Check Matthew's video
Thanks!
how can i get an actor reference of a blueprints with tags placed in the level. i need an object reference for a comparison
how do i slow down the acceleration speed of my character
All I had to do was drag and drop the static mesh from scene 🤦♂️
Don't use level blueprint
why?
deprecated and communication only goes one way
u can't reference the level blueprint from other blueprint class in bp world
I used level blueprint because I decided to optimize the game
this has nothing to do with optimisation
you can ask others
any sane person would agree that it's the wrong place to put your gameplay logic
place it to the world and have it reference all the light in the world or w/e u want
how exactly do you optimize a game through level bp
When I trigger that trigger box, the trigger box will remove these all meshes
Yeah i did this in player UI widget
Didnt you know? Levelbp is fastest
Anyone know a very basic way to get the number of meshes along a spline (if the spline is populated with spline mesh components)?
the video shows this user function but doesn't explain what it actually does
Spline length / mesh length
Assuming theres such a variable
Or its simply spline points - 2
what is the difference between the "standard" and "message" version of events ?
Thx, yea i did go with that! 🙂
Heyo! I’m working on creating 3d Sonic the Hedgehog style movement in Unreal 5, using the Ninja Character Movement plugin to handle a large amount of it, but I’ve run into a particularly annoying issue. In order to get the character to move in the direction of the camera, regardless of the axis they’re walking on, I’ve (for now) decided to un-tick “Orient Rotation to Movement”, and instead tick “Use Controller Desired Rotation”, and use the actor’s forward/right vectors for input. This gives me the exact kind of movement I’m looking for, but obviously prevents the model from facing any other direction. Is there any way to ensure the model is always facing the direction it’s moving (and staying upright!) while still leaving those settings as is? I’ve been trying to create a blueprint solution for the past few days, to no avail. If there are other potential solutions to this problem I’m open to suggestions, too. Please ping me if you have any ideas! I've been trying to make movement like this for years, would love to finally make some progress on it 🙂
Would also be happy to share the project files in its current state if anyone wants to tinker with it directly
And sorry for the long message 😅
I have a sphere collision component around my player character, and I am using OnComponentBeginOverlap to check when it hits with the enemy. The problem I'm having is that on the enemy, I have 2 sphere collision components. 1 is a large one to detect the player so that the enemy starts chasing him, the other is the smaller one that I want to be used for the player character to detect with the blueprint. The problem is that the collision is detected for the large collision component, which makes sense, but i'm not sure how to specify to check for only the smaller one. Any one know how I can do this?
Think I figured out what I need to do. created a new collision channel called BattleInitiation and set both of the spheres used for that check to only overlap that collision channel. This seems like it should be the correct way of doing it, but it's still not working and i'm not sure why. Anybody know what I'm missing?
@lusty oak have you tried using a trace instead of a giant collision box you can use a multi sphere trace to check for hits. Aswell as your AI move to should be targeted at your player character
I have not. I'll look into that. Thanks!
mmm looking into multi sphere traces I don't think that would be a good answer for what I'm doing. The sphere collision component should work if I can just get the collision presets worked out correctly, and once it's working it'll be more performant and much simpler to manage.
What am I missing here in the use of a Soft Object Reference for a Texture 2D asset. This blueprint is a widget in the UI.
EDIT: to clarify, it isn't loading - just comes up a blank white square (worked when it was a hard ref obv)
i dont know much about soft reference, but i thought i saw you had to "load" it somehow
should prly be using is valid soft ref if you actually need to use a soft ref
Otherwise you’re going to crash if it’s null when it tries to convert, your isValid comes too late
is there NO way to transition / blend between perspective and orthographic projections? :/
Open the log it tells you to open
stuff like this
though i've not had any issues with any of it when simulating in the editor
Yes, fix those.
Well yeah, you’re #packaging now, it’s an entirely different process
