#blueprint
1 messages Β· Page 284 of 1
There's always a better place
ah thank you, that fixed
yea silly me didn't see correctly at the video 
Don't focus soo much to the video but learn the basic of vector math
You will have intuition your self for the next problem
Not gonna lie, for years i had to reference a screenshot to remember that formula. Rn it takes me about 15 seconds of brain freeze to remember it haha
yes, i need to back tracking everything later after done for each blueprint what it use for and what purpose
heck im 3d artist, not actually coder background 
i got them from Gorka Games assets on youtube
currently im using it for study unreal
those characters are awesome tho
I have cheat sheet lol
Cuz brain doesn't work for this stuff
why tho?
Garbage code
And bad practices
I recommend Matthew wadstein to learn most used blueprint nodes
Hey I have a general question about root motion. I have a dashing attack animation I am using as a montage to play. When the dash is occuring, the pawn should be able to pass through other pawns. So before playing the animation I set its collision object type to a custom created one that ignores pawns. What I've found is that as long as im not playing an animation, I can move through that pawn using that channel. If I play the dash animation using root motion, it seems to get caught on my player character. I only need root motion to give me the physical location of the pawn, I dont want it doing any physics checks but I cant figure out how to disable that.
Got an example? I haven't seen their stuff but I gotta see how bad
Can't remember the last time I scour youtube but for Gorky I think it was directional dodge
His implementation
Press q to dodge left
i found it on youtube just because tried making simple game tutorial for beginner, but need further study each nodes tho. im still way off beyond understanding of c++
I mean that's not that bad
Don't wanns falsely accuse someone
HOW did he do the dodge
Well that's not directional lol
Directional = use input vector
Not press input cuz u can't figure out the math
No one gonna dodge side ways by pressing f
xD that would be cursedf
K sorry that was Matt aspald but gorka also did a tutorial on directional dodge
That's from Matt aspald
Holy shit it's worse than I remembered
I feel very sorry for anyone that follow through with this
π
No time to look at gorka implementation, I gotta go back to work
well, im gonna follow anyone by the book anyway π
i need to see and grasp the understanding of each nodes and how it works
I would recommend setting a goal to implement some little mechanic, and try to do it on your own, just looking things up when you get stuck.
Something small, like a bounce pad for the character template, or turn the template gun into a shotgun
then go from there
true, that why i tried finish gorka tutorial first. After that try adding some of my own works into the game
mite broke few thing on the way....
@harsh crow setup trello, write down your goal.
Break them down to the tiniest task possible.
It helps you to understand which part you need to address.
The player when i interact with paper the widget show its good so far and u cant move and when u close the paper u can move so the problem is when i was moving and interact with paper the player will keep moving how to fix this?
I want to add NPCs to my game in a random way, like:
Some chatting while walking
Some running
Some standing still
Some in groups of 2-3 talking
Some using their phones
But in the tutorials I watched, all NPCs behave the same way (e.g., chatting in a single scripted manner). I want them to act dynamically as I described above. Can someone guide me properly?
I believe you can do a "Flush Player Input" node after you set the input mode.
These could all be considered "states" that an NPC could be in. When you change their state, you then have to change how they display and behave. You could use an enumerator or a gameplay tag to manage the state.
How you control that state is more complicated - you may want to use behavior trees or other methods of controlling AI. You'd have to decide what causes the NPCs to be in any particular state and what conditions they need to be in to enter that state, and then also code out what you want them to do when they are in that state.
thank you very much
got it do you have ny tutroial because i used zone graph, mass spawner , blueprint so they are just following the same path... like forward dirction and backward im sending screenshot
Sorry, I don't know enough about mass.
Ultimately it boils down to if <this> then <that>, so then you just need something that controls the <this> part of it, and decide the <that> which happens.
If I recall correctly, mass is basically just simulating based on the values stored for each entity... So then you'd just need some value that is responsible for the control, and your code would then need to check that value and display the results based on it.
yes i know but i dont know how to set this ..
oky thnk you
Hello, I was wondering if anyone here could help with an issue I am running into project wide. At some point while working on a game project, all of the collision volumes in game would be bigger than the blueprint has it set up to be. I am not sure if I am doing something wrong with the collision volumes or if it is a general bug in unreal, but it has broken nearly every actor with a collision component in the game.
In the example I am uploading, there is a collision cube around the mesh so that when the player steps on the yellow conveyor belt, they move. However, the effective bounds extend past the collision volume.
Has the capsule component on the player increased? This could give the same effect. Also, it might be worth enabling collision draw debug to know for sure as you'll see it in game.
Yeah. It's unlikely that this is the object you've shown. More likely this is something from the character that is triggering this.
Hi, Iβve created a simple combat system with various hit animations. I would like to know how I can ensure that each combo animation plays the corresponding hit animation result.
Are you using GAS?
No, I made the combo system my self with animations montages and a switch on int
So I would set it up so that when you play an animation, it assigns a gameplay tag. You can then use this tag to determine what hit reaction animation should be played. You can then setup a map of gameplay tags/anims. This would also allow you to have some characters play slightly different anims if required. (like a big beefy character absorbing the hit more than a little character)
How can I use gameplay tags ?
So you could assign each attack something like this.
Hit.Sword.Attack.Quick1
Hit.Sword.Attack.Quick2
Hit.Sword.Attack.Power1
Hit.Sword.Attack.TakeDown1
You would use a gameplay tag container to store the gameply tags. (It allows multiple tags to be assigned)
You can then check this container to see if tags it has. You can also do a switch on gameplay tag.
I use an add gameplay tag node ?
Yea, you can use that to add a tag to a container and remove it after the attack is done.
How will the other character blueprint get the gameplay tag used by the first one ?
it all comes down to how you manage your damage
Iβm using Event Any Damage
the point is, when the damage happend, you will need to pass the information that the danmage need to know
then you can just map it to action
e.g Mapping attack montage to a hit react montage
So I should use a game instance to pass the information?
No, you need to pass it when you've hit an enemy. If you're using custom damage objects, you could define the tag in that and extract it on the recieving end. Alternatively, you can have a seperate event that gets called on the hit enemy to pass it through.
Guys, this defaultsceneroot causes pickup and drop problem on the map. When i delete it. It is completely works fine. But what might be the reason to this sceneroot causes pickup and drop problem?
I donβt understand, which node should I use to do this ?
how are you dropping this thing?
how to stop movement guys ?
i am running and when i press e input i wanna stop all the movement on character in blueprints unreal engine, i am currently using StopActiveMovement and Stop MovementImmediately when i am not holding W and press E after that i cannot interact but if i run or hold W when i am pressing E key character keeps going forward they should STOP
i added a simple pickup-drop logic, setsimulatephysics(false)->attachactortocomponent for pickup, and detachfromcomponent->setsimulatephysics(true) for drop logic
simulate physics on what
which component are you setting simulate physics on
the weapon on the map
actually my weaponmaster
which COMPONENT
If it will ever have physics applied to it remove the default scene root otherwise it'll move inside itself. (local location/relative)
a scene component can't simulate physics
static mesh
so what's the problem?
yeah i figured it out but i didn't understand the reason why a scene component causes to my static mesh simulate physics settings
it works as i expected after i remove scenecomponent to my weaponmaster
like this
a quick way is to add a bool check on your AddMove.
Only allow adding Move if the character is not bInteracting
I asked chatgpt and he told scenecomponent cannot simulate physics
rare chatgpt W
Yea, that's because they don't have collision. It's the primitive components (and any child of it) that have collision. If you add a static mesh component to a scene component (as a child) the component will still have physics but will move around updating its relative location. Visually it'll look ok as long as you don't attempt to move the actor as a whole.
you're right
I find it interesting that global dilation doesn't effect sounds. π€
So, if there is object on the map that i want to interact with(pickup-drop). Should i add static mesh as a root component directly?
is there a way to snap an angle to a grid like the snap float to grid function?
for example i want the angle to only increase or decrease by 45 degrees
Yes, generally you would always want the component that will have physics to be the root of the actor.
i can just use the snap float to grid func lol my bad
thanks
GPT is great for C++ syntax issues. π It's become my C++ programming buddy haha.
if you are using latest rider it probably has co-pilot
Hey,
I have a working Helicopter Blueprint (Pawn). When I add a child blueprint (different pawn) with a static mesh including collision as a child, the movement does no longer work.
Any idea why?
Collisions do not overlapp
hey everyone,
im trying to select a data table's row, and based on it's type, expose the correlated struct on the details panel.
can it be done?
Hi guys, we are currently working on a game and we want to recreate a "minigame" from Shrek 2.
Here it is a video to explain it at 41.50 https://youtu.be/G-iTC-s_GOA?si=U1Yb6P7zbaP4HkXU
The main problem is that we want that the camera avoids obstacles like in the video while the drake is controlled by the player.
I did a few test with a spline for the drake and setting an offset on right and up vector to move the drake and it's working. But I dont know how should I make the camera work.
Any tip? If I make another spline it will have different speed and the distance from the drake would change.
Thanks in advance
I am back to beat EVERY PS2 game ever made! This lets play series i will be beating the Shrek 2 which will be game #29. Come follow along my journey while i try to complete this challenge while getting some platinum trophies on PS3 / PS4 / PS5 as well!
If you enjoyed the video please feel free to Like, Comment, And Subscribe!
π° Donate to suppor...
Hello.. I am trying to make it so that I can attach various static meshes such as ceilings or walls to dissapear and fade out when the player pawn enters a custom volume. I made it BP_FadeVolume. Im new to BP does this look correct?
I need to make sure im able to assign certain static meshes to specific arrays using static mesh variable and array? I also need to have various materials get switched to translucent when players are inside the volume so that it can fade out, and go back to opaque when leaving volume for performance. How do I set up the material side of this to work, am i on right track? Thanks!
allo everyone, I want to check if a point is within an arbitrary closed shape (spline component) or not (https://en.wikipedia.org/wiki/Point_in_polygon) and would like to use the ray cast method (count how many times the ray crosses the boundary, if it's even the point is outside)
however I'm not sure how I'd do that with line traces and splines?
In computational geometry, the point-in-polygon (PIP) problem asks whether a given point in the plane lies inside, outside, or on the boundary of a polygon. It is a special case of point location problems and finds applications in areas that deal with processing geometrical data, such as computer graphics, computer vision, geographic information...
Is your spline flat? Like a 2D polygon?
yep
I did some very poor googling, just found this gonna try that out https://forums.unrealengine.com/t/a-way-to-test-if-a-point-is-inside-a-closed-spline-loop/1937790
Sharing this here since there are barely any other posts talking about points in spines cpp version(replace MyName with the name of your file): bool UMyName::IsPointInsideSpline(FVector point, USplineComponent* Spline) { FVector RealLocation=FVector(point.X,point.Y,Spline->GetComponentLocation().Z); FVector step1=Spline->FindLocationClose...
If you're using hard corners this is relatively simple. But it can be costly depending on the number of spline points. Also Blueprint loops.
There's a function in Unreal.. uh.. Sec, need to open the editor.
It'd be something like this I think. In a function. On the true part of the branch you would increment an integer. At the end of the loop on Completed you would return true or false based on if the integer you increment is odd or even.
ah interesting I've not seen the ray from points and ray segment nodes that is cool!
Note, you have to check every line along the spline. This is going to be a bit expensive in BP. If you have even the slightest C++ knowledge and can put this in a C++ library it'll be immensely faster.
For curves, it's simply a matter of changing this to instead of doing each spline point, you figure lines along the spline by distance. More precision means more cost of course because more lines to check.
There are also better functions in C++ for this if I recall. If memory serves there is a literally line intersects line function somewhere.
it's a proof of concept for now that's fine, I might try to make it c++ later (not quite there yet with the c++ skills atm)
appreciate the help I think I can get sth working with this π
I may have also wrote that in my own library. I don't remember. π I've been doing a lot of spline and world gen stuff lately.
oh yeah PCG must have some functions for this
Any ideas why Get Attached Actors would not return all actors?
I am printing the Parent of every actor (Every actor has the same parent as you can see).
Then in the loop of Get Attached Actors, I get only two of them. One is missing. I don't get it.
All of them are valid, the third one still exists after the destroy loop and prints None as parent (of course).
Hey guys I need help I was working on my FPS Game, the problem is when I attach my Ak47 and press play my character moves in the wrong direction. But it works well when I disconnect the Ak47.
The issue here is the for each loop doesn't cache the array, and your input is a pure function (no execution pins) which is ran every time it's needed. After you delete an actor the loop tries to move on to the next index, but now the new array is one shorter than the previous loop leading it to skip entries.
Store the array of actors as a variable before the loop, or if you're on 5.5 right click get attached actors and there should be an option, I think at the bottom, to add execution pins which will make it work like an impure function and store the output.
so what do you do when you "attach" the weapon ?
https://blueprintue.com/blueprint/9xlbmy0v/
wound up with this solution, I modified the bp from the forum thread a bit to make sure it works with arbitrary rotations of the spline actor. works pretty well so far π
Anyone ever had a situation where something in PIE was working correctly, but in packaged version is not showing up? π¦ I have a widget that works like Marquee Selection tool, and it gets spawned (I set visibility to be visible on spawn), that it get's spawned in the Lobby Level, but then when I Server Travel it's not anymore in the level. It works in PIE, but is not working in the Standalone or Packaged version.
Wow so i wrote this like 1h ago, but was still testing things and it turns out that if I have component that spawns the User Widget on let's say Game_PlayerController and I use this Game_PlayerController in the ''Lobby'' level, something is not triggering again the ''creation'' of the things after the Server Travel?
I created empty PlayerController as Lobby_PlayerController, and now because the Game_PlayerController is different than the one before the Server Travel it started to work and show up. Insane. I at least hope, that it was it.
Like they should fix some things that are different in PIE or Standalone because if you see everything is working in PIE, then you can't really see the flow in the Standalone or Packaged version anymore so it's so hard to debug.
this was not spawning
but was working correctly eh π
If you want any controller plugged in to control the same character, what should you do?
Might be easier to do the winding method, depending on how accurate you gotta be. How many points are you testing and how often?
the code I posted above does the trick pretty well so far, would you mind taking a look to see if you see any issues there?
#blueprint message
Yeah that should work, assuming the find point closest to location is reliable
How do I destroy a UObject?
I know about setting reference to null but I want a way to destroy it at once instead of setting it null from everywhere so every other reference of it becomes invalid?
I'm seeing MarkPendingKill
Thanks, I'll look into it.
But another problem. WHAT THE HELL IS WRONG WITH FUNCTION LIBRARY!ππ It shows the function only when it wants!!!π
Should just need to null it out.
But its a bit of hassle in blueprint to null it from every array I have put it in. Instead I wanted to make the reference invalid
But my immediate problem is thisπ
Need to solve this to make some progress
I just wanted some utility functionsπ
Why does Function library hate me too muchπ
There are not even static functions in here to call from class π
iirc BlueprintFunctionLibraries do not work with UObjects
And considering you were talking about deleting UObjects I just kind of assume that you try to access the function from a UObject as well.
Yes, I was but thats just a utility function that does some calculation.
Why doesn't it work there?
How do I create universal utility functions then?
Some "GameGlobals" UObject maybe?
That's what I did anyway, don't know if it's ideal but it works
No, its a UObject for inventory.
Yes. But for your functions.
How does that work?
How do you do that?
show what's not working
I am calling a function from a Function library in a Uobject but the function doesn't show up
There's not much to show in this case. You just cannot access Blueprint Function Library Functions from a non-derived UObject
There is nothing to show because its not showing
hey guys - I'm working on a crouch feature, the half height and animation play together but the collision doesn't fall to the floor until I move.
Does it need to be truly global? or can it be within your class?
Its going to be accessed by 3 different classes
So I think global is necessary?
Its just some function that doing math calculations
Just make a BPFL
Accept the object as the param
If you're trying to call it inside of said uobject, you need a world context object
Thats what I created. A Function library but its not showing in my UObject
π
Are there really no static class or something in here?
just copy paste function where u need it?
That was exactly what I wanted to avoid
That does work for sure π
Creating copys of the same function

copy paste is maybe 14 seconds and u can keep doing progress π
and dont look back
π
it works? be happy
And to think static function is a key feature of C++
Damn it.
Get the owner of the uobject, cast to actor, if it fails, cast to a base component, then pull off that to call the function
I'd rather make a copy of that function.
You do you
π
@granite frost if you're not scared of pretty minimal C++ you could try out this video by MrKosiej
hello everyone, i'm having a weird bug with paperZD animations while trying to implement a tile-based movement system. can anyone here help me out? sry if this is the wrong channel
#paper-2d has more experience with that
Or join Cobra Code's discord.
They pretty much do 2D in UE entirely.
im only making the sprites 2D, the rest is 3D. Thanks for the server rec tho I'll check it out. Thankks a lot!
I'm looking to create a non-projectile beam weapon. (Should just be a continuous beam with a maximum length that shortens on collision). I'm trying to think through the process, and it seems like construction would be similar to a hitscan weapon, though there are a couple of differences; let me know if I'm correct in my thinking of how to address these differences:
- The beam should fire continuously vs firing/damaging per bullet or per trigger pull. Is this just a matter of adjusting the input action and making the weapon fire on tick?
- The beam should have a specified diameter, like a cylinder (or even a cone) rather than being a pinpoint line trace. Am I right in thinking this would involve toggling collision volumes?
Sphere trace
or a capsule collider, either/or
they're basically logically identical
cone is tougher
Im only able to set cable width once at runtime and then it doesnt respond, any idea?
This is via a blueprint and umg slider to control the width
I have a print string confirming value constantly changing
To clarify, this is referring to a cable component in a BP
I ain't scared of C++ at all. Infact, I love C++ it was my first language. However, the team decided that we'll not migrate code to C++ until the blueprint code is absolute and can work perfectly as a module
Because making changes in C++ can be quite a hassle
Anyone have a good way to where I can have the player camera toggle between either rotating character like you'd do in a simple First Person game and allow player to look around but not full rotate controller wise if that makes sense
As a person who loves prototyping in BP. I respect this. But at the same time it really has to be tempered. π There's a lot of stuff that just can't be done, or is done insanely easier in C++.
when I've done something like this in the past I've normally struggled to get it looking okay and instead things snap to and from rotations when I do toggle it on and off
Hi everyone! I am trying to make a up and down ratotions for character, but when I rotate the character, it rotates left and right.
what is the best practice for dealing with characters who need to generate physics event?
i.e. i have a character walking around but for example when they get hit by a car i want them to move and enter a ragdoll state.
enabling physics after collision results in a blocking hit and stops the car, but having physics on before blocks character movement component
I am getting a really strange behavior with triggering functions via HTTP Request
If I call this function via json/http request, the print node fires and it generally works.
Same If I hook it up to a numpad for debugging...
when I try to call other functions in the flow or getting game mode, it just draws blanc when getting executed via http request.
at the same time, the debugging key still works and returns the game mode...
any ideas what that could be?
Thanks, this was driving me nuts! π
im a bit confused, you are showing two different hello world functions? have you tried setting a break point at the print string node so you know its being called?
Ik I shouldnβt ask but why are you trying to execute blueprint code via http request?
its an app which gets controlled via a custom made web interface...
How to solve it?
I've put the print string inside a function, which is called "hello world"
Image 1 is showing the content of the function (image2)
I can call this function via Num3
And also via http request...
both working but it seems that unreal kind of prevent certain things when called via http
Hi guys, we are currently working on a game and we want to recreate a "minigame" from Shrek 2.
Here it is a video to explain it at 41.50 https://youtu.be/G-iTC-s_GOA?si=U1Yb6P7zbaP4HkXU
The main problem is that we want that the camera avoids obstacles like in the video while the drake is controlled by the player.
I did a few test with a spline for the drake and setting an offset on right and up vector to move the drake and it's working. But I dont know how should I make the camera work.
Any tip? If I make another spline it will have different speed and the distance from the drake would change.
Thanks in advance
I am back to beat EVERY PS2 game ever made! This lets play series i will be beating the Shrek 2 which will be game #29. Come follow along my journey while i try to complete this challenge while getting some platinum trophies on PS3 / PS4 / PS5 as well!
If you enjoyed the video please feel free to Like, Comment, And Subscribe!
π° Donate to suppor...
I
anyone have a good way of doing something like this at all ??
Hi, I am very tarded when we talk about references, I have random Blueprint class which is for example sword laying on the map, how to get reference of this BP in another completly unrealted widget?
what is an example of a function that is not working as expected
however you want
what determines WHICH sword the widget cares about?
the literal only in the world
hope these two images make it a bit more clear.
exact same function I am calling, only difference is NumPad3 and HTTP Request
both working, but different results
- is gamemode valid?
- is this a standalone build?
- are you sure your http request is calling this specific function, i.e. if you add a breakpoint is it braking there?
in fact it's not sword, it's BP called wifi which has lot of functions and own static mesh and I want to create function of swapping the router (static mesh and some parameters, I've created interface that when I press E hovering it it shows listview widget and listview widget has listview entry widget which has router name and "SWAP" button) now I want from this listview entry widget call function of BP_Wifi passing router_name/mesh
game mode is valid, its also printed in the first image.
it seems to work with packaged projects but not with play in editor.
but its strange, since I would expect both executions would return the same result
100% sure its calling. testing it via node-red from my phone...
When I try to make cast-to, I don't know from what it inherits xD
ignore that
explain in plain english how something would know WHICH sword you care about
is it the only sword on the map?
is it a random sword on the map?
is it the sword the player's character is holding?
There can be many swords, or none, or 1
casting is not getting
I don't know in js I would simply use for example id like sword[0] if there are many of them, or I would add a function to sword on mouse hover that returns self or sth like that
@river seal and you are definately running a standalone build?
that would be GetActorOfClass(sword)
that'll get you the first sword actor it finds on the map, if there is one
just added a break point.
strange! its breaking with numpad, but its not breaking with http request. walks straight through the graph and printing my debug nodes
sorry, can you specify what you mean with standalone build? packaged project? or launch -> standalone game?
@faint pasture what would be the most professional, cororate way of doing it, when case looks like the BP_Wifi I've described 3 messages ago
you can tell unreal to run in three different network modes, Standalone, Listen and Client
reason i am asking is because in a networked scenario, get game mode would be returning null on client.
so you might have your editor set up to run in one way but then your packaging a different type of build
Bro this works, so easy, so pure, so plain, ty β€οΈ
just thinking out loud π€·ββοΈ
hm yeah you maybe right, but the http request definitely arrives in the editor... (I also can query actor properties in node red... )
I would have thought that this more in regards to network/multiplayer but I will look into that!
if you have added a seperate http request then that's it's own thing π
Has the way sockets are handled changed in 5.5? have they always been a socket object? o.O
is what you have provided just an example of a function not working like you expected, or do you have something more concrete?
It doesn't really matter if it's in editor or not. It matters which instance the request goes to. If you're simulating clients and it arrives on the client, game mode will be null. If you're in singleplayer, or it arrives on server, game mode will not be null. If you're in singleplayer, but seeing a null game mode and you're testing in editor, chances are you ran it on the CDO on accident somehow.
its just an example. its a huge graph which does not get executed. put I noticed that a print node at the end of the graph (same blueprint) still fires
Just because you don't get breaks doesn't mean the graph isn't executed. It's still executed. It just isn't able to break. Usually this means you're not simulating, or you ran it on an object that can't break.
just tried all the net modes, alle the same result
did you choose object to debug in the editor?
is there an equivalent of this for blueprint? This is in FActorSpawnParams. I checked the code and this is not exposed to BP but maybe there is something similar?
Guys, anyone of you could show example / idea how do you usually initialize your components? Like if I need Player Controller ref on it or Player State or any other variable that is on the Owner, do you just cast, create interface to Get X, or you do it in the begin play of component? Any good practices?
hi all
so i got this twin stick space shooter.
as usual, left stick for translation right for rotation
as its in space, i want it to translate with physics to get cool inertia. and it works fine.
but it stops when i move the right stick for rotation, and translates again when i release it.
that does not occur when i use a non physics world offset to move.
what did i miss ?
looks like the function only get triggered in a "light" way via HTTP Request
{
"objectPath": "/Game/ThirdPersonBP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.Trigger_2",
"functionName": "MyFunction",
"generateTransaction": true
}
maybe my Request is wrong...
ive followed about 4 tutorials about splines, and i can never seem to tget this gap in my wall to close
any tips on what i can do to make it seamless
smells like a displace issue
even with nanite turned off i still have this gap
its ok with my nanite wall plane mesh, so i guess its a mesh issue im just not sure why lol
probably this
sure if your mesh isnt straight, it wont be seamless
now you can go the easy route and hide it with a stone column or something
im not the most experienced with blueprints, is there a node or something to tell the BP to push the asset back like an offset so it can touch the previous and connect
dont know. i'm not that far into BPs
screencap to illustrate.
translation is an add force, rotation is a add relative rotation.
and the movement stops for the rotation then comes back.
hello, does someone know why the code above is not working while the code on the bottom ( with the print DEAD 2 ) works ?
bottom is override of BPC_DamageSystem component event OnDeath and above is just a bind to a custom event. I dont understand why it wouldnt work
so i just found out that the begin play is just never called, how is that possible
what is that ease supposed to be doing?
What is the concern with casting here? Player state, controller would always be loaded anyway.
No concer, just looking to find good practice and be constistent. I think I will go with just using custom event Initialize from the Owner for every component
Good practice when it comes to component is probably to make it as generic as possible
Like tying the component to only work with specific controller means, another project that uses different controller can't use it / require refactoring.
Think about inventory component, you do want that to work with a character, or a chest. Where one is a pawn and the other an actor. But the inven comp should work regardless
@dusky cobalt wait wait, why do the owner -> tell the component to init
Can't the component init it self
Component begin -> get owner -> get controller, cache if valid
I mean it can, but I'm looking for good practice and just choose 1 way of doing it to be consistent across the project and wanted to see how do you guys usually do it
I don't think Having owner to do logic on comp is good practice
You want to plug and unplug the actor comp without the owner needing to do anything (clean up or change something on its end)
is initializing variables logic?
Keep the coms one way
Use the component for that?
just with that you risk having something not ready and component would try to fetch variables, that is the only downside, or you need to use delay to make sure it's gonna fetch it
https://www.youtube.com/watch?v=gIxRDMHJ4n8
Homing missile, i erased what i sent a pic of and set it up the normal way - but how do i set the actor to hit inside the blueprint? I have a few classes i need these things to target on spaw
Here's a crash course on how to use Blueprints to create bullet projectiles in Unreal5-!! If you missed the previous video on creating bullet projectiles, you can find that here: https://www.youtube.com/watch?v=Wagn7bGjAGQ
If you enjoyed this video, please consider becoming a Member :)
https://www.youtube.com/@TheRoyalSkies/join
Or joining the P...
That's not the case soo far. You are probably talking about multiplayer.
Where is your code binding this request? Because to me this looks a lot like the phone press might be running on the CDO or something, which may not have a GameMode due to not being in the actual world.
Depends on the Component tbh. Most Components sit on the Actor they are relevant too, so getting the Owner and casting it is a good choice. A lot of other Actors are generally available on BeginPlay, like the GameState.
Getting a specific PlayerState might be trickier, but it's also questionable why one would need that.
does this mean "don't use this node"?
some googling revealed it's more of a "don't use in CPP"?
That's likely what it means yes, using the node in blueprint should be absolutely fine
yea I'm not running into any issues as of yet. I'm guessing if you're not supposed to BP it it wouldn't be exposed to BP
How are people adding description tooltip that appears when you hover over blueprint in content browser?
Probably in the Class Settings of the Blueprint.
There are these big buttons at the top, ne is Class Defaults or so, and the other Class Settings? One of those things where I can't actually tell you what they are called even though I look at them daily.
The one that allows reparenting and adding interfaces etc.
That should potentially also have a field for a description.
What is this on? Because "Blueprint Internal Use" usually implies a function that is meant to be used within another blueprint node. Stuff Blueprint users don't normally see.
it's on the add static mesh component node
I've used it before but never noticed this message on it
sorry to post again but...
i got this twin stick space shooter.
translation uses physics and rotation not. add force, and add rotation.
the rocket moves straight, then stops for rotation, and translates again when rotation is complete...
what did i miss ?
and the moving blueprints
(been busy)
So i dont have sprite facing but do have sprite facing and alignment.
The other issue Is that my material is just a 2d material / circle. Rotating it to be paralell with the ground would cause it to not be visible. Is there a way I can give it depth?
Can anyone tell me what I'm doing wrong here, I have a accurate to time zone day 24hour day night cycle but I can't get my level blueprint trigger box to change the time to what I want it:
Level Blueprint
Day night cycle
My Print string prints
As you're using a timeline, it will update the "Solar Time" based on whatever its previous value was within its float track, not what you set it to. You'd have to use the "Set New Time" trigger and the "New Time" float input, and trigger it feeding in where you want the timeline to be within your float track into the New Time value.
I am using a timeline yes, I'll try that thanks
anyone know how i can get this teleport to work with a paper2d character? works fine with my normal bp characters
Thanks @dawn gazelle ! You're a legend, it worked
Hello Sourcers. I really hope somebody can help me with this. I'm creating a bunch of tools' {hatchet, torch pickaxe and so on} blueprints where there is the whole logic, from visibility by default, toggle visibility and activation, so to be able to attach them to the CharacterBP and have it ready-to- go so I don't have to create everything over and over for every character. Unfortunately I'm struggling big time trying to make them work. Any hint? I've been trying with an Actor Component that communicates to a whole bunch of tools mentioned above but I just can't figure out what I'm doing wrong. Thanks in advance!
Quick question, what's the best way to let the user change the volume of my entire game at runtime? I have an options widget with a slider just need to hook it up to something relevant.
Is it normal for there to be a slight like half a second delay before the node menu pops up when right clicking in the empty space in a blueprint event graph?
Please, can somebody tell me why I'm having this issue? I have this default setup at BeginPlay, which makes the hatchet hidden and the chopping mode inactive by default and everything works fine in both the Activate and Deactivate functions. But when I try to launch the same functions to toggle I get the message that both properties cannot be read. Doesn't make any sense to me. What am I doing wrong!????
tryna make an http system, where bps can run a custom event with link and http verb provided, but issue is when multiple bp's call at the same time, their requests may interfere with each other
so just wondering, after i make a queue system for it, how can i ensure that the bp who ran the custom event is the only one who gets their requested info back
any ideas?
also how would i communicate back? any ideas? event dispatchers possibly?
You can instantiated a component per call and have the callback in the corresponding component
when does level blueprint run?
I'm trying to change the Max Walk Speed value but when I compile to set the changes, the value just gets alters, sometimes ups the value and others it would lower the value <_>
I'm not sure if I'm being dumb and missing something or is it just bugging?
Could anyone explain this to me?
I still couldn't fix the issue I explained with screenshots right above, and I'm exhausted. I'd better sleep a while. I really hope somebody has an explanation about the cause of that issue and a possible hint or solution I can read when I'll be back {Because... I'll-be-back! π }.
i have niagara rain but there is a floating dots on location where i put on the map. how can i fix that?
Set the minimum velocity of the spawned particle to be z lower than 0
It's just an actor, so I assume it follows traditional actor initialization rules in that it's anyone's guess
it fixed thanks
@wide smelt @maiden wadi
I found the problem. HTTP-Requests only work in Editor and packaged Games. To get the full execution during "Play in Editor" they need a prefix "UEDPIE_X" in the objectPath:
thx for your help though, really appreciated!
How is this possible that my code says it's not find an actor interface even tho it's always right there??
It run when player entered that level. Imagine player entering boss level and the level bp will set up stuffs and level specific logic in there. Level blueprint is level specific and can easily reference actors in that level (Click the actor in level, open level blueprint and select the top as the reference)
also target looks to be staticmesh actor? Wtf is static mesh actor? Is it static mesh? Or is it an actor? And I never named anything "StaticMeshActor", I can't remember making a file like that, unless I have alzheimers, last I checked I never made such thing
This is a target im just setting an actor, not a static mesh and should be named "Hoe_Item_Inv"
Prior to that I spent a lot of time trying to figure out why it wasn't interacting with my thing at all
and I have a custom collision channel called interactives
which should always be on block by default, that's the same way it works on every other item of my inventory π
Static mesh actor is an static mesh placed in a level
Staticmesh actor need to exist in level or referencing it will cause invalid or error
it does exist but why isn't it interacting with my actor?
I had to set the static mesh collisions to these collision settings
otherwise it wouldn't work to begin with.
and for a while i thought
that its enough if you change your static mesh collisions via the blueprint
but it wasn't enough
i mean it was already on block all
like this
but I set it to this
okay whatβs the thing it is not right
Check dm
matter of fact I've had this problem every time I tried to add a new item to my game, and every time I forget how I fixed it
ah you live and learn, thanks for sharing your findings!
Static mesh actor is a static mesh bp that is placed on a level.
Static mesh on other hand is a static mesh asset. E.g. your table.
While static mesh actor is an actor with static mesh component.
anyway
the problem is, how can i fix it?
for example here is the collision profile of my new item
idk what to show you?
it's red
which means its not interacting properly
the capsule is big enough
to cover the static mesh
if it was hitting it properly it would be green
if the object you want to pickup simulates physics you probably get error
no it doenst simulate
is it simulates physics?
is it return true if you implement this interface to the spesific object
its seeing static mesh
not blueprint
Hello, I've been trying to use tween plugins like iTween and FC Tween for some animations and other movements, everything works great until i try to pack the project or restart editor from the ide, all the blueprints with plugin used throw out errors, i added the plugin in Build.cs too, any leads on how to fix this?
thanks for the response, ill post the question in cpp channel
it looks very complex, i hope you can find a solution
Can construction script code be triggered again during runtime?
why not just encapsulate what ever you want to run in a function?
Are you telling me that it isn't possible, or would you not recommend re-triggering the construction script at runtime?
I don't know if it's possible, but it sounded cursed to me
personally dont have anything in construction script, other than to set leader pose component and references
ConstructionScript -> Run X Function
RunTime-> RunXFunction
Would be the same anyway
Except that my project isn't set up for runtime at the moment and I also want to be able to test things in the editor anyways - means without having to press play.
im saying you can encapsulate what ever you have in the construction script as a function
call it function X
It was more a preemptive question. Maybe there are better solutions
so your construction script is just ConstructionScript -> FunctionX
and whenever you want to call the same codes that the construction script run, just call FunctionX at run time
Okay, I'll give it a try, but this leads me to another question.
I probably will have to work with multiple actor BPs, each with its own variables and calculations, but some actors might need to be related to another actor. In this case Iβm trying to figure out a way so that all exposed variables are displayed/accessible in one place without having to constantly switch back and forth between the BPs to be able to do changes - this should also work while in editor.
Is this possible and if so, which is the best way?
not sure the context of "actor related to another actor"
you might want to look the concept of inheritance before diving deep to your system
Does anybody know how to rotate a sprite so it can be rotated 90 degrees on the z axis(parallel to ground) and still be visible?
Im trying to have a shockwave effect play. The first niagara node is a 2d sprite that animates correctly, the second one is a mesh renderer where there is no animation of the shockwave expanding.
The red circle (the first node) expands like a shockwave but cant be rotated. The green circle(the second node.) the mesh can be rotated but does not expand.
Folks, i copied the third person blueprints movement and camera stuff and while my player moves all freely and such - while running if i turn the camera the player will turn too. Only an issue while actively moving, what box have i forgotten to uncheck?
Could be the Inherit pitch/roll/yaw boxes
Thanks Cal! When i unchecked those however, i am no longer able to control the camera
show code 
yessuh
Hey people, I'm not sure if this is the proper place for this?
I'm trying to get metahumans working in UE5.5 and it's driving me insane. Retargeting is not working as expected (metahuman skeleton was smaller than manny, I did everything as in tutorial but the arms/legs for some reason don't move) and for what I know I can't simply switch metahumans just like I previously simply switched the skeletal mesh to have the effect of different NPCs coming in.
Is anyone experienced with metahumans in UE5.5 and can maybe give me a hint what I'm overlooking? Or if metahumans are a bad idea in general for my case?
I'm trying to create a game similar to "Papers, Please". I need a variety of realistic looking humans, swappable by a single variable (like previously my skeletal mesh). (Currently) The NPC gets a random skeletal mesh from a list, I would love to replace this logic with metahumans.
I can provide screenshots or clips if it helps
we've got #metahumans , you may find people who strictly lurk that sub who are better with metahuman than here! But gimme a moment to read that maybe i can help
Is it the inherit control rotation maybe?
or use control rotation maybe is the name
Thank you so much! I will ask there too
use pawn control rotation? Doin' that disables the camera wholly and it only rotates when the player mesh itself rotates
the skelly being smaller shouldn't be an issue... how familiar are you with setting up IK rigs?
Oh, but your look input changes control rotation, you would just want to rotate the camera boom ig?
My bad Cal, lemme esplain π I want my camera to be FULLY independant of the character and vice versa. Right now it's pretty close but IF i'm moving and also move my mouse, the player will rotate as well
Not at all, I just followed this tutorial: https://www.youtube.com/watch?v=NrNO0fq72js
He did it with manny though, I did it with a different NPC skeleton that was already working with the animation blueprint I already setup. I guess that might be a source for errors. And also didn't do it just like him at the end, cause I can't simply copy paste a shit ton of code like hundreds of times for each NPC...
In this Unreal Engine 5 blueprints tutorial, MizzoFrizzo will show you how to easily replace the Mannequin with a metahuman using live retarget in Unreal Engine 5.5.
Pitchfork is releasing their first game, Skyblocker, on April 16th, 2025. You can support what we do here at Pitchfork Academy by wishlisting it on Steam today!
Ah, yeah. Once you wanna pair that with any Non-UE5 skelly you're gonna hafta set up an IK rig for retargeting (ue5 has done tons to automate this stuff but idk bout any of that i'm old fashioned).
Thankfully this is honestly pretty simple! You're gonna be really surprised how easy retargeting is after a tutorial or two
This is how my retargeting thing looks like
Ohhh dammn okay I see. Well at least I know the reason now, thank you buddy! I will try to find a way around this
yeaaaah boi, it ain't even finding the root. Which is a right click away from being set (more or less).
"course homie. You're less than an hour away from doing your first succesful retarget from scratch, i kid you not.
The dude in the tutorial deleted the root lmao. At least in the "BP_[Metahuman]" I'm not sure if it then has effects on this retargeter?
I hope so π thank you for the kind words
Hey guys, in today's video I'm going to be showing you how to use the new animation retargeting system in Unreal Engine 5. This is using the IK rigs and retargeting. The example in this video is using a Mixamo character and animation, however this will work for any character, skeleton, and animation you want to use.
Mixamo To UE5: https://youtu...
I'm diving right into it, thank you again buddy β€οΈ
Ok. So I am trying to implement controller/gamepad detection for updating the UI. Menus etc.
I can use the Input Device System which seems to provide some information and actively reflects what the last device used is. But I am not sure how I can use that information to set any kind of variable somewhere to read from in the UI
i'm dumb, can you break that down?
Do we just need to call a variabhle from one spot in another?
Yeah. Maybe Im being dumb. I essentially want to create a trigger. To unhide UI elements such as the controller keys for the menus when the controller is used
oh edited to censor yeah i think i get what you're saying. So we're clicking a button and then need some items to hide on that action?
Yeah. On my options menu for example. There are options tab buttons along the top, from left to right, then the options themselves below.
If a controller is being used, I want to add images on the left and right of these buttons showing a picture of the LB and RB controller images on the left and right respectively.
So I essentially need an event that fires when the input device changes. And a bool which says, is gamepad?
Pretty much! you could have some small timer/delay going on the side to keep checking whether or not a gamepad is being used, then just flip flop the visibility
if we're on the same page*
I was silly and decided to toke and play helldivers... i'm not getting any work done today
Sounds like you would need an event dispatcher? Right after the code that you provided with the screenshot, determine what device is used and then dispatch "LastUsedDevice" with the device as an input, then have the UI elements that change on that logic listen to the dispatcher and change icons accordingly?
Does that make sense?
Could be called pretty often then though, maybe have something that restricts calling the event dispatcher
ayyyyee teamwork
Getting the event is fine. I can do this.
So I know when to update it. But not the outcome of the update
I dont know how to make use of the outcome of this node
The hardware device identifier seems like the most logical.
Oh yea sry na I don't know that one either, it looked like you know how to handle it
ooh what about a switch on enum from your "Return Value Primary Device Type"? Don't you get "Gamepad", "Keyboard" and stuff from there?
I think I got it
So, event happens when the device changes.
That event sets a variable in the game instance of type "EHardwareDevicePrimaryType"
I can then listen to the WAGH dispatch in other classes.
When the event is called in FrontEnd Widget for example, set visibility of controller icons.
Perfect
Or not
hey I'm working on a VR game, I migrated in my project the VR Pawn from VR Template of Unreal Engine 5.0.3, but it seems like triggers right/left are not recognized, I can't even see any logs when i press the triggers of my motion controllers in game, could you please tell me why? I need help please
#virtual-reality Might be the best place to ask
Ops sorry, I didn't notice it, thanks for the advice
I am a little lost and need help.
I am currently attaching a actor to my player that has physics and I know to attach it I have to set my default root to my actor as it detaches when it spawns (bc physics).
Now my question is, how do I attach it to my player and ignore the ray trace and player, but still have the actor collide with everything else. I.e., other actors and world objects, so that the carried item feels like part of my player.
Hello there, I have a simple dash mechanic, which can teleport player on elevated surface. My problem is that the player sometimes doesnt stop moving after the teleport and continues dashing at an increased speed. I thought stop movement immedietly would stop him. Am I wrong?
What's the best way to share logic across multiple BPs that have little to do with each other? E.g. they're not part of the same inheritance tree, but they want access to the same functions. Is a blueprint function library about as good as it gets here?
Component?
100% a component
Or just an object if you don't care about replication.
been workin on an inventory system similar to Dead Rising and realised... if i keep like this it's gonna get messy.
The goal is - pick item up, store in first slot, move all other slots over by one. Also gotta take into account how many inventory slots are unlocked. This whole switch on thing is gonna get sloppy though... how can i go about this cleaner?
Uh
i'm goin about it hella wrong arent i
I would look at some examples of inventory systems and base yours off that
Your weapon probably shouldn't have any logic involving inventory in it
player side?
Probably in a component
doesn't help to spaghet it
keep your code nice and orderly, you're gaining nothing by dragging those nodes all over the place
it's the EXACT SAME as calling the thing again, in fact it is calling it again. Do yourself a favor and make it readable and followable
also you should make it more generic, there's no reason to have spawn actor Katana in there, it should be data driven. Where in your project is where you say what all the possible items are?
I set the spawned class to a variable, and now swap on names just has to change that variable, the rest of the code can be reused! But you're right. I shut down if my house is messy so why wouldn't i think it applies here
i wouldn't switch on names here
name as key into a datatable maybe
but you don't want to be hard coding each item class in like this
The names are being pulled from the actors tags, does that make any difference?
this seems like a mess
Insert is a handy function. If you call insert on index 0, it places the new element and index 0 and moves everything up.
which actors tags?
that's actually perfect!
The Master/Parent item
Inventory systems are relatively complex
why not just subclass per item?
How do I get the name of the class of an object. I need to keep a reference of the class the object was. The object gets destroyed on pickup, but I need to access constant properties defined in the Class of the object.
Why is Katana not just a subclass of ItemBase
If you don't care about preserving the state of an item, you could store just their classes and spawn them in when needed
But yea as others have said, you should look at how to actually structure the logic for an inventory system. I have a tutorial on my channel that can go over how to create one using uobjects. There are plenty of other ones that use structures if you want to go down that route.
it is! i think, its a child
then why do all the switching
OK back up, do items need to exist stored?
they probably do
so make some data structure to represent a stored item. Either a structure or a data asset or just a class ref
I haven't learned the first two yet, could be the reason to
I have a Text Array variables with 2 test values. I am never setting this variable in code. When I pause in the debugger I have totally different entreis in the array. Has anyone seen this? It's like the editor is keeping old stale data around.
an inventory could just be an array of subclasses of ItemBase
put in hand = spawn actor from class
store = get class and shove that class in array, then destroy actor
that's the simplest
any chance youve got any imagery of that stored away?
sec
That's how I'd do a My First Inventoryβ’οΈ
preciate it!
I've been treating casts as valid checks in some areas. If the cast works, continue, if it doesn't use cast failed. Are there any issues with having it that way(performance, etc.)? Should I do a check before casting to make sure the object is of the type I want?
For example here I cast to my MasterArmor class to get the item Data Struct and extract the Spell ability to use with GAS. Should I check if that the item is a child of "MasterArmor" before casting?
OK, I feel like I'm taking crazy pills now. I created a brand new variable of type Text and it's an array. I then manually added "Test 1" and "Test 2" to the array. Then on Event Tick, I am doing a "For Each" loop on the array and printing it to a print string. When I do this, I get "Test 1" and a blank space after it where "Test 2" should go. Then, if I go and change "Test 1" to "ANYTHING ELSE" when I run, I still see Test 1 and a blank. Like where the hell is Unreal Getting this data from?
Couldn't your item have an equip and unequip function that gives/removes abilities?
Casting does that check for you. So if you check beforehand, it's redundant
Does anyone see something wrong with this?
Casting also isn't going to cause a performance issue apart from it having to load the classes assets
Casting is perfectly fine but it can be a sign that you should rethink your design somewhere if you're doing it everywhere
I switched type form text to "name" and it works. what the hell?
hi i got https://blueprintue.com/blueprint/ukboagmt/ grab system like this i checked tutorails and they build same but its glitching when i pickup somthing how can i fix that
by using breakpoints and steping through the nodes as they are executed one by one while hovering over the values of each node until you find out where things go wrong like this: https://dev.epicgames.com/documentation/en-us/unreal-engine/blueprint-debugger-in-unreal-engine
This should be fine. What is wrong with it?
I would like to erase those white lasers only in the 2nd level but not in the main menu level
hello every one I have a question when I press jump the jump sound keep playing . I need the sound will play once even if I am still pressing the keyboard π
Show your code
I was trying different ways for nothing lol as I am pressing the keyboard sound will keep playing
Triggered runs every frame (so as long you are holding the input)
also print screen instead.
if you have Jump start anim, it would be simpler to play the sound there.
I will re-iterate, if you have the jump start animation.
Open that asset and play a sound there instead.
so the sound only plays when you start jumping as it's tied to the animation asset.
I think I got you, I will have to try
I am so appreciate your help π
You want to open your animation for jumping and add a notify track. Then scroll through the animation and place a notification at which point in the animation you want your sound effect to play.
Then you add your sound file.
Cold Summer is right, you want the sound tied to a point in the animation rather than the input for jump itself otherwise you can end up spamming the noise and it be out of sync with the actual jump animation.
Thank you so much itβs fixed , today I learned something new I am so appreciate you and Cold Summer for helping me π
Np. You may want to use "started" in your enhanced input for jump rather than "triggered" btw.
I was doing step by step from YouTube lesson so I was doing without understanding lol
A lot YT tutorials teach bad practices. Try to check if Epic put out a tutorial on a topic first.
How do I want to tackle 2d platformer navigation?
Just treat the level as a long skinny 3d area?
Don't do that. As soon as you don't quite understand what you're doing, stop and figure it out
the WTF is... series on youtube is great
I agree with you, sure I will take your advice π
Yes Wadstein
Wadstein's "Your First Hour in Unreal" is a good start if you haven't done it yet.
If I got the title right.
Also don't forget to check the pinned messages in the channels here, they often have really good tutorials listed.
You are right its good to understand first and thank you for the video link π
"Your First Hour in Unreal" -> the Stack-o-bot tutorial series might help: https://dev.epicgames.com/community/learning/paths/yG/stack-o-bot
its for beginner this course ?
When using "SphereOverlapActors" How is the list determined? Is it ordered by distance, Actor Index, or whatever thread found the object first?
probably nothing reliable
Yes. It's quite a general overview of working in UE.
Hey, whenever I use "Attach Actor to Component" the actor im carrying makes my character slide, why?
collision
you're prop surfing on your held actor
How do I make it stop? Already tried 'Ignore Actor When Moving' that didn't work
Get/set collision response to channel, possibly.
Would there be a way to make the player drop ANYTHING that is attached to their hand?
define drop
you can get attached components and do logic on them
it'd be easier to just keep track of CurrentlyHeldItem though
Defiantly I will have a look on it
thank you
Hi
I am using first peraon template. I want to pause the game but I want my player to be able to move around.
I tried global time dialation but it causes my player not be able to move.
One suggestion is that I use actor custom time dilation on other actors in game. But it doeant work.
Any other suggestion?
Why did setting the custom time dialation on other actors in the game not work? This would the simplest solution.
You can also do the reverse, and set the custom time dialation on the player and its related actors.
My game is a tower defence. My towers turn and find enemies. For aome reason, that tower rotating action doesnt stop when cuatom actor time dilation is set to zero. I tried other numbers as well. My enemiea stop moving, but it seems time dilation doesnt affect the rotation because even my player character can also rotate in place freely afyer time dilation
I did that too. It did not work. I tried enabling tick event on player controller and bunch of other settings but to no avail
How are you calculatin the rotation for the player/towers. Id imagine thats the issue
how to rotate a rotator according to a vector as the axis for a certain degree?
You can convert the rotator to a vector, then use the RotateVectorAroundAxis node.
Hey yall I found this demo called Into the Dead: Our Darkest Days, and they are doing a 2.5d sidescroller, they have this system with their stairs and im curious on how they mightve achieved it.
Im not sure what system you are refering to.
sorry I shoulda explained more
When accessing the stairs you go up near them and press W, then you can go up and down with a and d like normal, im just curious on how they achieved something smooth and with that automatic exit at the end
my grammar is bad today im sorry yall
I created this pause menu code, in theory it should close the pause menu when i tap Escape again, however that dosnt happen. also my breakpoints dont go off even though i can clearly tell those parts are going off. what is going on? whats the fix? thanks.
It sounds like theres just a trigger box at the bottom of the stairs. When entering this trigger box, the players controls get switched. The movement direction probably also gets locked to the direction of the stairs. Id assume that part is just limiting the world direction of their addMovementInput node. Could be many other things to. There just using foot ik to position the feet/hip bone at a smooth distance as you walk up the stairs. Unreal has support for that in control rig.
I noticed those foot iks
(in the clip when im clicking the air that is me showing that im tapping Escape)
oh on the stairs you have free movement
im just like
how do they move the player back into the 3d space to utilize these stairs before automatically spitting them on the end they walk to
the automatically leaving the end they walk through is probably trigger boxes actually
Oh, the w key moves them to the background of the game? you are not normally able to freely walk into the background?
The w moves them onto the stairs which are in the background of the normal game
If thats the case, theres just a trigger volume on the bottom of the stairs, in the foreground layer. When you press W, the game just uses some AI move to logic to have the player automatically walk into the background.
At the top of the stairs in the background, there is likely another trigger volume. When entering this volume, the game runs some AI move to logic to have the player automaticly walk back into the foreground.
Interesting Ai move to
Ok that was the part I was held up on but I'll give that a shot
Also a trigger volume is just a trigger box/sphere?
There is many different ways to implement some "Ai Move To" logic
This is a new concept to me so I welcome it
pretty sure there is litteraly a node called AI move to, but you could also just use a timeline which does a VInterp on the players position.
It would just be a box yea. WHen pressing W, the game just checks to see if you are inside a "StairEntranceBox"
Interesting,
I don't think it worked
originally the slash disk's forward is same as camera, but I want to rotate it with the camera's up vector as the axis
but this made the disk flat (z fixed)
Thank you for your wisdom I'll go give these a shot
this here too
the right one is how I originally did it, but I want to rotate it by a degree
I'm trying to learn UE5. Currently I'm messing with the FPS template. I'm tyring to attach an actor to the muzzle of the weapon. I'm not familiar with the weapon component and feeling lost.
Hi! This is my first time using arrays. I just wanted to know how to spawn a "Chest_Antidote", and then 2 "Chest_50's".
The Chest_antidote needs to be the only one spawned, and then I want to be able to set how many Chest_50's are spawned. Right now I have 6 Chest spawn points in the level.
currently this spawns a random number of chests.. I think it is grabbing index 0 after the shuffle and spawning that many chests.
Anybody got a good inventory tut? I'm tryna make one like Dead Rising but I can't find nothin close.
Wasted 12 hours building different systems and they all sucked
make a slash disk
the orientation is according to the camera's angle
You need to use some for loops to spawn multiple things. You also need to remove spawnpoints from the list of potential spawnpoints as you spawn things at those locations. Here is an example. (Btw this is just a simple example that would work, not using best coding practices)
so it would look something like this
Thank you for the response, I am actually an idiot. I realized that I accidentally put the cde in the spawn points, not the game mode LOL. Its fixed now! Thank you!
Assuming this code runs on the player character, I dont see anything wrong with how you are spawning the weapon component, and how you are attaching the plasma actor to it.
I am unsure the issue you are facing.
I know that the actor is spawning because I added sound just to be sure. But I believe for some reason the transform is not working. It's spawning somewhere off view.
Have you confiemed that it exists somewhere off view?
You can press F8 while the game is running, then go into the world outliner.
Find the spawned object
The plasma
Yes. It makes a sound when it spawns
Your not hearing the sound?
Im wondering if the XYZ location of the BP_Plasma is not where it is supposed to be. The sound could be related to other things.
But why?
Why do you want a map of string, string
Yes I'm hearing the sound and I can see it when I press F8. But the rotation and location is incorrect
im sorry how might I do this, I was having trouble yesterday understanding how to read the trigger volume and allow the player to use that
Edit: I'm leaving the question here but I got it
Assuming no other changes were made to the weapon component that somehow invalidated/changed the Muzzle slot. The code in the screenshot you provided is correct and there wouldnt be any errors. I would look elsewhere. Confirm the BP_Plasma doesn't have any code that could change its location, confirm it doesn't have any collision that could be altering the location of it.
Try spawning another test actor instead of BP_Plasma, make sure it spawns.
Thank you very much. Knowing the screenshot code being correct is a good starting point for me. I'm going to work on the BP_Plasma blueprint. π
Try spawning a test actor. Just add a mesh that has collision disabled on it to this test actor.
Perfect!!! I think there was a problem with the bone transform itself because I added a socket to the skeletal mesh and used that instead and it worked perfect. Thank you for pointing me in the right direction, I was messing around with the code for hours! π
now thats a good question im following something
idk if i should need a map
of strings
i want to basically fetch data from a data table using a string
he does this find node so im guessing thats what its for? Im supposed to be fetching data from a data table with the string. but he didnt show me how that should look like. here you can see me experimenting with data table nodes
While i dont understand your overall goal, in order to "fetch data from a data table using a string", you do this:
MakeLiteralString can be replaced with your string variable.
And obviously you would need to specify the data table your looking in.
how does that fetch the data though? it returns wether it has found the row or no
On the GetDataTableRow node
As you as you select the data table, the OutRow will become a structure corrolating to the data stored inside that data table row.
ah okay.
You can then break that OutRow in order to get the data.
What are some ways I could check which trigger volume im overlapping within my character controller?
rn im casting to the trigger volume and checking to see if its the one im overlapping
Here is one way. This code is on the players blueprint. This is assuming the "StairEntranceTriggerVolume" is a blueprint class with a box collision inside of it. Also assuming that box collision is properly setup to generate overlap events with the player.
could you explain these parts im not quite sure, also is the blueprint class for the stair entrance just a box collision?
nvm on that second one
If you want further explaination, id prefer to do it in a call.\
understandable
Ill dm you, is that ok?
I cant call rn but its all right
The code just retreives a list of all StairEntranceTriggerVolume actors that the players capsule component is currently overlapping with. Now that you have a list of all the StairEntranceTriggerVolumes, it checks to see if there is something in the first slot of that list. If there is, you have confirmed you are overlaping with a StairEntranceTriggerVolume actor.
That last bit, its just a reference to whatever StairEntranceTriggerVolume was first in that list of all overlapping StairEntranceTriggerVolume's.
If you dont understand what I mean by that, then you will need to learn what a reference is as its very important.
bassicly yes
The differenece between soft and hard references isnt very imporant though.
Just references in general need to be understood.
You can watch the famous blueprint communications video. Its confusing but I don't have a better resource to explain it other than explaining in a long lecture myself.
https://www.youtube.com/watch?v=EM_HYqQdToE
Announce Post: https://forums.unrealengine.com/showthread.php?101051
This Training Stream takes a look at Blueprint Communication. We find that Unreal Developers of all levels can sometimes struggle through the concepts behind moving data between objects. So in this video we'll take a look at the different ways to make Blueprints talk to one an...
Right now blueprint feels like too much hard work, like a pyramid scheme of decisions, and as the game gets more complex some parts of it begin to no longer feels fun at all to code all this one by one. I tried before to work with loops, arrays, maps for this but always had some problem with them and realized the code was also getting more and more complex and hard to read as well. So I ended up having to make a million collapsed graphs because you couldn't even see the whole code into one screen.
But now im using this which feels and looks a little bit more simplified and straight forward for my monkeybrain to understand or example, I made a path switch for the removals, crafting anything will cause removals. it's kinda like a train railway direction mechanical switch. It decides the category (Offensive, Tools, Food, Farming, or Building) and directs items to the proper path.
The malarkey is that it feels like a fractal genealogy project for an ancient civilization or a vast tree root network where you start with one ancestor, then each generation branches out endlessly, and you have to track every descendant down to the last leaf. And I have to navigate a labirynth/maze of doors. Every category leads to subcategories, then to sections, then to volumes etc.
any recommendations are welcomed
This is just the remove operation
And then I might have to think about how to rearange the entire slots of the UI because maybe I don't want to have any unoccupied slots.
It feels good though that I made all those widgets categories nested inside of central UI widget
but it's funny to try to explain to some of my friends that don't know any game coding how it all works behind the scenes π
and i try to use metaphors like this to help them understand what im doing, inside of thing a there's 10 things, inside of those 10 things there's 5 additional things, inside of those 5 additional things there's 10 nested conditions, inside of those there are 50 other things etc.
i looked at the screen of one friend of mine yesterday and he gave me some ideas & advice on how i could do this better, like he was flashing the whole UI clear and on each change he was updating and re-arranging the whole UI
but it would be refreshing too often
i'll think about it, it's a big dilemma though
To be honest im really not sure what your talking about or asking for recommendations about.
If programing is getting harder and harder to the point where its unreasonable, its because you haven't programed scaleable code using scaleable techniques.
May I ask for clarification on the video?
It would just be a systems design issue.
Yea
any advice on how I could integrate more scaleability to it ?
or any places or videos or links I can read up about it at least?
maybe I need to learn more about this thing you recommended
In the video they say that when using direct blueprint communication you may end up making a lot of if statements, "if its a box, open it"
Is that like checking a list of objects whenever a player overlaps anything, and if its a certain object then setting a boolean?
Edit: Checking a list by casting each individual object bp, I should prob just watch the video Yes my question was answered, as I found I could just recast over and over but thats improper
That's honestly an endless question. I wouldn't know where to begin. What's troubling is that you say "I tried before to work with loops, arrays, maps for this but always had some problem with them and realized the code was also getting more and more complex and hard to read as well."
if I went outside of 1 hour and came back then I couldnt understand what I was doing, because it was getting too big
and I try to remake the whole thing and eliminate that problem
but now at least I solved some problems
but now as I go on it feels like this problem might come back
It seems for example, in remove item graph, you are hard coding like 8 different operations, that seem to be bassicly thing? It could just be a loop, that loops over a list of slots and does the same operation on each.
You would make it easy for you to add more things to this list and remove things from this list. The list could just be an array variable.
This way, if you wanted to add a new thing in your "assemly line of inspectors", you wouldnt even need to edit the code.
Increasing scalability.
Thanks for your help yall, I just figured it out and feel dumb
feeling dumb after figuring it out means your smarter now
Got a question. I'm working on a game that takes place in a forest, but I want it to be a randomly generated forest with campsites and outhouses and benches. Is there a way to take like the meshes or make BPs of all the pieces of the campsite together and just randonly generate it, but do it in a way where no trees clip into the campsite?
hello,
i'm using common ui and am wondering if its possible to make a widget not interactable when pushing a new widget
and make it interactable again when triggering the back handler event?
It's to create an option system on top of the main menu, and not making the main menu mess with the navigation when using a gamepad
You can scan the area you want to spawn campsite for blocking tree, rock and clean it before spawning the bench, campsite etc.
Scanning can also be done if you find a way to spawn randomly
Guys im trying to make a simple teleporter system, it does work, however I'm getting a weird result where the player character kind of jutters in place or get pushed to the side a bit after arriving at the new location. But this only happens if the two teleports are NOT facing each other. I have been racking my brain and can't seem to figure it out, Im sure the answer is simple, Thanks for any help.
PCGs is the thing you are looking for
i call this every 30 seconds, only first time it spawns. any help
Code around that?
Hm, one thing, but unrelated, you might want to bind to the delegate instantly and not only after the Timeline finished.
If you are unlucky, the timeline finishes after the System ended.
Have you placed any breakpoints or print strings into this code to confirm that it calls more than once?
Hi, everyone
I'm working on foliage and trying to figure out how "Get Instances Overlapping Sphere" node works. It returns instances only when i add collision primitive to the static mesh. Is there a way to get instances without adding collision box to the static mesh?
Nevermind. It's SphereOverlapComponents function to find Foliage components that didnt work without collision boxes
Hi everyone,
I am developing a VR museum experience and the client requested for each played iteration to output gathered data about the player position, amount of time spent in each room and ideally player gaze position. I am relatively new to this side of Unreal capabilities and moving my first steps.
This data would then be saved to a local directory on the computer at the end of every iteration of the game for further studies.
Ideally, the output file would be something like the linked video, but if not possible, i would like to have at least an image with the player path accross the map.
First priority is to understand how to get and print these informations to a string. Then understanding how to represent it.
Is there anyone that can help me on this? If someone want to jump on the project to handle this part, i have budget to pay the work.
Thanks!
@glass blade in general using a hardcoded string isn't a good way. Especially for lookup / queries.
As for the data table, data table is just a map.
Where the row name is the key, and value is what ever struct you use
what do you mean by harcdoded string
So if you want to get the value of a specific row from data table, you do input the corresponding key ( row name )
Like comparing Apple string with Orange string
It's hard to understand the intention between using a map of string and string
But it's alarming to me
yeah thats what i dont get either
I personally will not consider that for anything
whats the difference?
Difference with?
using a regular string vs a map type?
The map isn't the issue, it's how you use the string
Or a map of string and string
What's the point for all of this? What are you trying ti achieve?
If you just want to get a row value, just input the row name
i wanna pass 2 variables from a data table, using the row name to fetch the data
nothing special really
Ok then just get data table and click the row name drop down. Then select the row that you want the extract data from.
but thats the neat part i want that to be dynamic
so thats why i put the string into the data table
The row name can be wild card
As in you can just make that a variable FName
And plug it into the row name
The result will be w.e the name value is at the time of using the get Dt row node
i dont know what you are talking about tbh
i want specific data from the data table using the row name as an identifier
Show your code
string -> data table ->
can show later have to run in a minute
The final part of this pretty much looks like a render target. The data you're looking to display is largely player's position and rotation saved every n seconds that can be interpolated.
I would imagine that you could get that output in some way by finding out how to convert render target textures into some sort of video file. As in if you could, every frame, draw the correct rendertarget with the path and current player location, and then take all of those frames and compile them into a video file it would get you exactly what you want.
On the other hand. If you're only going to preview it on the machine it was played on, or could preview it on a machine with the same software, you could always just save the array of locations/rotations into something like a savegame. And then make a tool that could runtime draw the path of the player and their current place/rotation.
The second option would be much easier from a coding perspective, and achievable in BP. But it would require the client to use the game to display the info as well. The first would be more portable for the client if they have literally any device that could play movie files.
here is some part of my "find enemy" function and the entire "rotate to enemy" function
Yea. Custom time dilation is basically a multiplier to the DeltaSeconds coming out of Event Tick. If you arenβt using the delta seconds in your calculation, custom time dilation will have no affect.
Even if time dialatoon is 0
Event tick will still fire
what part of thge stair system you are questioning about? Its a simple stairs. I have not played it, but if characters automatically go up the stairs and to the next floor, its probably using a spline to set the character position while updating the animation blueprint. But if the player has to navigate the character through the stairs, its easy, they have probably 4 buttons, back, front, left and right. with right, player goes on to the stairs and t the end, just press the front button to go to the layer where the door is (wherre stair is not)
And the delta seconds will just be zero
I have it firing using "set timer by function name" and set the time to 0.5 (at the begin play). I dont want it to fire every frame. half a second seems smooth enough to me and not performance-heavy. Do you think that time is not getting affected by actor custom time dilation?
Hello friends, I just launched a stylized cartoon FPS Multiplayer, fully replicated for multiplayer on Fab.com!
π https://www.fab.com/pt-br/listings/9475957e-752b-4ef6-93b3-246ebfa40f23
This project is a multiplayer first-person shooter (FPS) game with a cartoon visual style.DemoManual / tutorialTrailerIncludes:Two low poly weapons created by the talented TastyTony (check them out on Sketchfab - TastyTony).25 Blueprints.102 animations from the Lyra package for third-person characters.27 animations for first-person:Shooting.Relo...
#rules Number 8.
If youβre using a timer call the logic, custom time dilation will not affect the timers speed. Timers are subject to global time dilation though. Also, why would running a rotation update tick be to performance heavy. Is there going to be 10000 towers ticking at once? Donβt feel the need to over optimize simple things. Using an event tick with a rInterp to calculate the rotation should be fine.
And will be subject to both global and custom time dilation
I just added a multiply node to multiply the custom time dilation to that 0.5 and it worked. Thanks.
I dont know. This is my first game (although I started a few projects and left them half way). So Im not sure how thing affect performance.
Event tick isnβt a performance concern unless you are doing some insanely heavy operation on event tick. Or have thousands of small ticks.
If you donβt understand the performance concerns in the first place, donβt stress about trying to optimize it.
Good point. Thanks.
I meant this part "If you donβt understand the performance concerns in the first place, donβt stress about trying to optimize it." was a really good point
Most people just optimize things when they become an issue.
Till your frames start dropping. Not worth stressing about.
how do I know my frame rate is good as it only shows on my system. I have no idea about players system. Currently it shows 50
How to destroy a UObject?
Thereβs a lot regarding profiling. You would need to spend some time looking into it.
You donβt destroy them manually, once there is no more hard references to it, it will be automatically garbage collected and removed from memory.
Just set all references to none
You need to manually keep track of where those references are though.
Thats the problem. I don't want to manually dereference then from all the arrays I have put it in. I just want its reference to becomes invalid
Profiling. Thanks for the keyword. I will look into it. I learned whatever UE I know, by myself, playing around, watching Youtube and reading Epic forum and UE documentation, thats why some keywords are totally strange to me like "profiling" Thanks
Thatβs not how they were designed to be used. Just gonna have to do it manually.
Its in 2 different array only. However iterating them and then removing it is like extra iterative work
Could I get all the variables its getting referenced in and iterate over them to overwrite them?
No, thereβs no getting around it. Not without some cpp crazyness.
How would you do it in Cpp?
I am getting annoyed with blueprint anyway
Using delete keyword?
Itβs not like itβs supported, at least as far as I know, forget I said that.
Read the actor source code
And implement something like how they do it.
The fact that actors can just be βdeletedβ is actually not a normal programing thing at all.
You don't ever delete or destroy something immediately. You mark it as garbage. Anything trying to use it should be using IsValid.
Thank you
That's exactly what I want to do. Mark it for garbage collection. I am already using is valid
I have these
and its asking a string path
Thank you for making me remember Authaer. Itβs not exposed to BP
That is for something else entirely.
damn it
You could make a quick BP library or something that takes an object to call it th ough.
Its not available
Literally like...
UFUNCTION(BlueprintCallable)
static void KillThisThing(UObject* SomeObject)
{
if (IsValid(SomeOjbect))
{
SomeObject->MarkAsGarbage();
}
}```
like this?
this is as function library
I meant a C++ function library. To expose it to BP.
That just looks like it would crash your game
why would itπ
Thatβs an infinite loop
why?
You're making the function call itself.
The delete object calls the delete object function
I am not sure how static functions behave in blueprint
ahhhhhhhhhhhhhhhhhhhhh
You put them in a UBlueprintFunctionLibrary
Then you can just call them in any BP
One more problem using custom time dilation, I have to find out how to keep enemies from spawning, mid wave, or after wave is finished. with global time dilation, I dont need to worry about it.. I think its way easier to use global time dilation and then somehow figure out how to let player move around. Is there anyway to pull this off?
the pic I shared and its already doing that just the fact that markasgarbage is not visible
damn. Creating a CPP file for just 1 function
I guess I'll do it anyway
thank you very much !
Just set the custom time dilation for the player and related things to be higher. If the global time dilation is .5, and the players custom time dilation is 2. It will cancel out.
Its been a while since I typed in CPP doesn't the context of the function go to the cpp file and the declaration in header file? Can I write this directly in the header file?
aah wait. I am idiot
of course I can
nvm
Its been like half a year since I touched CPP so its a bit clouded
I tried that. It doesnt work as the global is set to 0. I think I have to set the global to 0.00001 or something then multiply that number by 10000 or something and set it as player custom dilation. Correct?
PlayersCustomTimeDilation = 1 / GlobalTimeDilation
yes, It did work. Thanks.
Any help with this? its not urgent though. just for my knowledge
Generally you can't really know that specifically. You pick a Low/Medium/High target hardware for both CPU and GPU and you optimize what you can.
But optimization is kind of a hard topic to convey because it is better to do something correctly the first time and not need to optimize it. But it's also better to simply get an idea out. If it'll take you three days to do something nicely, but you could cobble it together in 30 minutes badly. Usually it's better while putting the project together to cobble it together. You can make better changes later.
On the other hand if we're comparing three hours to 30 minutes, may be better just to do it the good way first time around. And of course the "good" way really just depends on the project which is another reason not to spend too much time locking stuff down early on.
Then we get into how to know if something is the good way or not first time around. Which you can't really. Not without experience.
Then we'll move on to what is an acceptable framerate to begin with. And that is going to vary heavily. Someone playing a strategy game doesn't care if there are hitches, or dips to 30fps at times. Someone playing an action game is going to want a more seamless and stable fps, regardless of whether it's 30, 45, 60, or 120. A competitive shooter you're probably going to want to aim as high as you can.
In the end there are just too many variables to ever answer that question definitively. Projects are different, projects change.
Thanks. I got the idea
@maiden wadi sorry for the ping, how would you handle these kind of widget?
A new element (notification) added to the list, it will push the current element up.
Final Fantasy 7 Remake preview features Cloud, Tifa and Aerith's combat abilities, plus the Ifrit summon. FF7 Remake launches as a timed exclusive for PS4 on April 10, 2020.
forgot to post link
Dynamic Entry Box holding children of some sort of NotificationBase widget. CreateEntry for the type, initialize it. The initialization can play an animation that extends the widget's height.
For the pushing up part. You just anchor the parent that has the DynamicEntryBox from the bottom of it on a canvas so that it always expands upwards.
is there a way to bypass nodes? short of just unlinking them
This looks like a function, functions in blueprints cannot have execution parameters. Macros are the only thing you can make in blueprints that can have them.
π so thats what was missing thanks
Not really, you just need to rearrange the white execution lines.
aight. I could've sworn I've seen a way to just grey them out but maybe I'm imagining that
Havenβt seen that myself
And macros cant be overriden, right
Yea, and macros can only be called from within the blueprint that implements them. They are basically marked as private.
You can however make a blueprint macro library to define macros that can be used across different blueprints
got it thanks
hey, it might seem very dumb but how do I pass a string in the keyname here ? I dont want it as a variable I just want to put "AmmoCount"
@jovial steeple It's disabled by default. EditorSettings -> BlueprintEditorSettings -> Experimental -> Allow Explicit Impure Node Disabling
MakeLiteralName. But it's also worth a question of why does this exist in your blackboard and not as state on the weapon the pawn is using?
Thx. My ennemy character doesnt implement a weapon. He just have an ammo count and ammo max and I create my ennemies like this : "BP_EnnemyM4A1", "BP_EnnemyMP5" etc... with a BP_Ennemy parent. Might not be optimal but for now it work
Hi, i'm working on interactive foliage system and i need to access foliage components in range of my character. The problem is that Static Meshes of some foliage components don't have collision primitives and i cant access them using something like "Sphere Overlap Components". What would be the most optimized way of doing this? I could spawn an actor with a collision box for every foliage component at BeginPlay, but i have a whole lot of these components in one scene. Would it be better to just add collision spheres to each Static Mesh instance?
Just add simplified sphere collision to the static mesh asset in the editor. Your only other real choice is getting EVERY foliage ISM, and iterating it's transforms to see if any are in the area. Not cheap.
Do simplified collisions impact CPU very much compared to Static meshes without them?
And i can access instanced meshes inside foliage components using "Get Instances Overlapping Sphere" even if there aren't any simplified collision spheres on them. I just need to access foliage components themselves.
Thought there would be a nicer way, but it's ok if there isn't
are event dispatchers bad for performance, im using them to set a different cameras at run time.
So i have an event dispatcher for MovingForward_ED, MovingLeft_ED, etc...
So each different camera i set up Binds to different functions according to the camera
is this ok?
Or im again doing something silly
so to go up the stairs and I would press W and then have the character either move on a predetermined path, or I have them nagivate to the stair layer?
Edit to add: I had also been told earlier I could have the player do some nav/ai movement to the stairs, I think my worry/wonder is how I would replicate any of these, easily.
When a montage is interrupted, which executes first? the montage interruption logic, or the new montage?
trying to figure out if I'm still in an animation or not
hey i have mat the dissolve https://www.youtube.com/watch?v=A2bVwQ0KMzY
Here's one of my favorite simple material tricks that looks awesome in game :)
If you wanna support my mission to save new Game-Devs valuable time learning this stuff, please consider joining the Support Squad below!
https://www.youtube.com/@TheRoyalSkies/join https://www.patreon.com/RoyalSkies
If you ever need 3D assets, you can find her on...
so now i want to do it on my character
is it possible to add arguments to event dispatchers ? Here I would like to return to the Behavior Tree Task that calls this Attack Event, a boolean to tell if the attack was succesfull or not ( so I can run new sequence Hide & Reload for the ennemy )
Why not just call the event directly?
don't worry about performance if it's a valid use case...
I dont understand. I currently have an AI that shoots one bullet per bullet indefinitely. I want it to shoot until no ammo is left, if no ammo left then reload. I am not sure how to do this honestly, thats why i am trying to send the information that no ammo is left to the behavior tree
yes they can have inputs, but no outputs
oh i see, thank you
Hi, I am currently working on a kart racing game and I have setup checkpoint and lap systems, I am now attempting to make a race placement system, but I don't really have an idea of how to do this, I do have two variables that may help though, current lap and distance from next checkpoint. Any idea on how to do this? Maybe with a array that contains all players then sorting them into a new array by distance?
i imagine you can probably either use a spline or a simple way would be the add the distance to all checkpoints remaining
you only need the distance to the nearest checkpoint as the distance between any two checkpoints should be constant and can be obtained ahead of time
ok
I need help. So I have a basic combo system and lock on system. For the initial attack, I want the player to dash to the enemey when they are far and attack them when near.
Anyone have any suggestions on how to do this? Here are my thoughts so far:
- Have a dash animation that goes as far as I want the max dash distance to be and enable root motion. With collision detect if the enemy is near then animation cancels into attack.
- No root motion on animation and have a looping dash animation, control movement by code. Collision to detect if enemy is near.
I have no clue if these are the proper methods or what nodes to use.
π«‘
though im curious because im creating many ED
the white text below the RULES text is HTTP requested off the internet, so it could be of various size, but my question is how do i make it always fit within this black border? as in auto size, etc
what is the best way to get EnhancedInput action value XY values each tick?
for non-enhanced system there was 'Get [inputname]' float value but with enhanced the action value must be broken down
I am trying to make a system similar to lethal company where you hold down a button on a door and it allows you to teleport to the start of the dungeon which is somewhere else in the same map. I followed a tutorial but when I complie my code I get this error
Your door is not a playerstate. You need to get the player's controller somehow else.
the main compile issue is on your player controller nodes. because you're inside of the BP_door actor, its trying to get the "player controller" for the door, which doesn't exist. from the cast to BP_basecharacter pins, drag them into the player controller target pin for both you're on component begin overlap and end overlap events. that'll solve the first issue. the second that i can see is your cast to the character on the object pin of "clear timer by function name. the input pin has no connection, so it's not following the flow of execution. instead, from your cast linking to the on component begin overlap event, promote the bp_basecharacter to a variable, and plug that variable into your clear timer by function name object pin instead.
i'd also handle any interactions for this door inside of your player character blueprint instead. its best practice to create some sort of interaction event like when the character presses "f", create an event dispatcher or blueprint interface interact with the door actor in the scene, and then handle all the teleportation functionality in the door instead (this being your on component begin and end overlap events).
Is this right? Its the only way I can connect them
i have a pause menu that leads into an options menu. i use escape to open the pause menu, i tried to use escape (from the options) to take u back to the pause menu when i discovered this. for some reason when i have the pause menu open, if i go to options then go back to my pause menu using a back button in the corner of the screen, i can no longer use escape to open the pause menu. and if i use escape to exit the options to go back to the pause menu, it puts me in the game unpaused with the UI on my screen but i move around normally. ive been trying to solve this for hours, does anyone know anything? thank you.
I strongly recommend learning CommonUI and it's Activatable Widgets.
k i've had a test in a project, your disable input node (and likewise the enable input node) is looking specifically for a subset of a controller, which is the "player controller" pin. so it won't accept any generic controller reference. you'll need to setup the interaction logic inside the player character blueprint, send a event dispatcher call or blueprint interface call from the bp_door actor, and then handle the disabling and enabling of input inside of the character blueprint. this'll also require a "player controller" blueprint class, so that when you disable and enable input, you have that to plug into the disable and enable input nodes. I'll send a few images to make this more clear, just a sec
okie
I appreciate the help. Sorry for all the noob questions this is my first game and I have never attempted making a game mechanic like this before
I think I will have to edit my character BP like you said too
don't worry, we all start somewhere. every1's here to chime in and see what we can do to help out.
I have been working on this for 5 hours now and I have gotten no where. There is not a tutorial online on the exact thing I am trying to do so I have been piecing together diffrent tutorals to try and get one working door but no luck
Hi!
I built a level from draft static meshes. Now I want to replace them(SM) with art ones, using randomness. I have a blueprint for this, but it only works in playmode. How can I do this in editor mode?
update on my racer placement system: it isn't going well lol
why do you want it each tick?
it broadcasts the event each time theres a change
So to get across the idea: 1). Inside your "BP_Door" actor, create an event dispatcher and called it something like, "OnEntered", and then from the "OnComponentBeginOverlap" event, cast to the player character blueprint (like you've got) and plug all those in with a "Call" to the event dispatcher. This'll be the blue node with the envelope image in the top right (as shown in the image). 2). Inside your player character blueprint, on "EventBeginPlay", you'll want to find all the door actors in your scene first (in the bind event to door event.png) and for each one, bind all of them to a custom event (and name it whatever you want, I called it "InputDisabled"). 3). This'll add that green node you see in that image called "CreateEvent", and just use the drop down menu on it to "Create a Matching Event", that create a custom event (with the same signature, but that's a discussion for another time haha). 4). From this newly created event, now in the player character, your communication channel between the door and the character is established, so now you need to disable the input. Cast to your player controller asset (mine is called BP_PlayerController) and link the object pin to the "GetController" function, and from the output pin (shown in disable input.png) link that to the disable input node. This should be all good, so give it a go and tell me about the result ππΎ
Can be more elegent for the per frame analog inputs
You shouldn't be doing any of this if you're brand new. There's no chance he understands that.
The reason why you can't get the overlapping pawns playercontroller is that you don't know that it IS a playercontroller. You can only get their controller, which you can cast to PlayerController to check.
Should I delete what I have in the event graph and start over with what you sent me?
Do you 100% understand what the code you got sent is doing?
It's typically better to handle inputs in your playercontroller and pawn. Instead of thinking "pressing the button opens the door when I'm near it", instead, think "pressing the button tells my character to interact with the thing"
From what I understand its a check to see if the player is in the door's hit box
this
sos if its doing to much, i tried and tested in one of my projects and it seemed to work just fine. if the better solution is to follow what adriel is suggesting then give that a go instead ππΎ
Do you intend to only have doors or to have other things to interact with too?
a simple "interaction system" can just be a linetrace from your pawn when you press a button. then whatever it hits has an interface message called on it
theres probably quite a few good videos on it that are short and sweet
I am not trying to "open" a door but I am trying to have it to where when a player presses F on a door it teleports them to another area on the map
is that all F ever does in the entire game?
I will have more interactable objects too
same in concept
ok do the interaction interface approach
I was thinking F will be the interact button
yeah, blueprint interfaces are the way to go. setting up the interaction between actors is so powerful, that's why I went about doing the event dispatcher method.
F -> figure out what you're trying to interact with (line trace, get overlapping actors, etc) -> call Interact on them
Door.Interact -> teleport InteractingCharacter
So I sohuld make a general Interact action within my character's BP?
do you know what an Interface is?
no sorry I am very new
This looks pretty good
https://www.youtube.com/watch?v=u4TBbtq9uwk
Hey guys, in today's video, I'm going to be showing you how to interact with something using a blueprint interface. This is very efficient and easy to customise.
#Ue4 #UnrealEngine4 #Ue4Tutorial
00:00 - Intro
00:19 - Overview
00:50 - Creating The Blueprint Interface
02:...
Ah thanks ill give it a watch
Anyway, an interface is a way to talk to various different things with the same function call
yes. all player interactions should be handled inside of the player character itself, and then all of the logic for those interactions like opening doors, grabbing items or whatever it may be, should be handled in their respective actors. like adrial said, blueprint interfaces are a powerful tool for handling all of this.
you say "Interact", and they do their own thing. A door opens, a teleporter teleports you, an item tells you to pick itself up, a button presses, etc.
So the interact function can be programmed inside of my character and then the logic for the interactions will be handled by all the actors?
yup all your character does is "Hey you, I'm interacting here" and the target does its own thing
yes, all the actors that implement the interface. if they don't implement it, then no response happens, and it doesn't break the game either
