#blueprint
1 messages · Page 242 of 1
Got it. Thank you!
where all at?
I've used a branch to make sure the function will not run if the player is jumping or double jumping in the Enum Mobility State, however while jumping or double jumping, it still prints "sprinting" and the fov scales up how I set it to when sprinting, Another problem I've found is while the player is sprinting, it continues to sprint after i've jumped
Im using Enums here btw to track the players current mobility state e.g walking, sprinting, sliding, jumping or double jumping etc
don't use a branch here as the Switch on enum is already doing that job for you, just connect all the non walking output to your walk speed
Thats how it was originally, I added the additional logic with the OR boolean afterwards to see if that would fix it however it didn't
fix what ?
that function isnt returning anything of value. add a boolean to the return node called something like "shouldSprint" and make sure you add the appropriate return nodes where you need them, then hook that up to a branch outside the function
anywhere inside the function where the execution stops, it will still return and continue whatever is outside the function
which is why the fov is changing for every enum
I dont think I'm understanding here, Wdym its not returning anything of value?
the function should be returning something you can use to decide whether or not to do the fov scale timeline you have
what its doing atm is fine, you just need it to return a boolean so you can use it for a branch right before the timeline
e.g for all states you want to affect the fov, you connect it from the switch node to a return node (with boolean) set to true
Does anyone have any experience in implementing non-physical vehicles? Chaos physics vehicles is a total overkill for what I need, and I'm not sure which approach would work better for implementing a motorbike - **FloatingPawnMovement **(component) or CharacterMovement (component).
Ahhh so pretty much, the function returns the boolean which sets it as true, then the branch recognizes that its true and will play the fov stuff, and after this I should make the var false when completed?
you dont need to promote the return value to a variable. it adds a red circle you can plug straight into a branch
think of the function input as asking a question, and the output being the answer
so yes, thats what it should do, except you wont need to change anything back to false, since you dont need to store the return of the function anywhere
you dont have to connect a variable to the return node. it should have a toggle box that lets you set what the return value is
By default it does not
After I delete the can sprint, it does have a checkbox so I'm assuming thats what you mean
yes
so anywhere you want to be able to sprint, make sure it returns true
anywhere you dont want it to sprint, you dont need to add a return node (though its good practice to do so anyway)
now your function should return a boolean which you can connect into a branch before your timeline
So it would be wise to just put this in the other BP instead, and have the function just return true?
there are a couple of ways to do this. your setup is fine as it is, but if you wanted to do that you could make the function a pure function and use a select node instead of a switch, and return both the desired speed and the boolean you made
id just keep what you have atm since its efficient for what you want
Alright, I'll see if it works
Okay so it partly works, I jump/dble jump, It doesnt sprint the first time, However after I press the jump button twice, it still sprints mid air, and the enum prints that its state is currently sprinting too
It also shifts back to walking too
Which isn't surprising because I set it to do that once the action is completed
Instead I think it should check if its back on the ground instead of when the action is completed
remove the branch inside the function if you haven't already
This is what the function looks like currently
Accidentally put sprinting to return can sprint as false on the switch
This seemed to have fixed all of the bugs, it no longer sprints in the air etc
it would make it easier for you if you had a single print string for the mobility state on tick
That would be true ahahha
thanks for suggesting that
i believe the "completed" happens only a single time after the release of the control
I believe it was because I was spamming it so it was completing multiple times, didnt actually check if the person is on the ground before changing the state back to walking
right, i dont know the rest of your bp so im sure you have it set somewhere else too
but if you do encounter a bug where you keep the sprinting speed it will probably be from that branch
Thanks for the help
no worries, i hope you learned a bit more about functions from the return node thing!
I certainly did
hi ! how can i make it so that i don't get alot of "accessed none"
hi! In this case, you can use an isValid (?) check on the hit hit actor reference before performing any additional logic. If the ref is null (nothing was hit), it will fail silently
oh amazing thanks a lot !
is there a way i can make camera zones that are box triggers that control the zoom of the camera like if an area of a level has something i want to display in full like an image for a puzzle, etc, have the player enter the collision box and have the camera switch to the camera zone camera until the player leaves that camera zone, either returning to the main third person camera or at another zone
Here's how to create a spline-based camera system for your side-scroller games in Unreal Engine 4 and 5. The camera will follow a spline path that you can create in your level.
Get access to the project files and more on my Patreon: https://www.patreon.com/MattAspland
#UE5 #UnrealEngine5 #UE5Tutorial
___________________________________________...
kinda something like this, but in 3d
Hello everyone,
we have the problem that the grass we generate via the landscape material is loaded into the game in batches. In a shipping build, the server and client are already spawned before the landscape grass is fully generated. I’m wondering how other games hide this?
Is there maybe a delegate that we can register for when all patches of the landscape grass have been generated?
Here is the method we use to generate our grass: https://dev.epicgames.com/documentation/en-us/unreal-engine/grass-quick-start-in-unreal-engine
Attached is a short video showing the issue we're facing.
Learn how to add Grass textures to a landscape.
I have a flashlight the player carries that has a spotlight attached to the front, and a cone static mesh which is invisible but calls InFocus and OutFocus on ComponentBeginOverlap and EndOverlap using a blueprint interface. My problem is, whenever the player is moving, the ComponentEndOverlap is called, even when the cone is clearly overlapping an actor with the interface. Also, sometimes when the cone is overlapping an actor, it repeatedly calls EndOverlap, without first calling BeginOverlap. Any ideas how I could resolve this?
I just saw the video and I want to play the game lol
mine or the reference 😭
pacman party
thank you
Hey peeps,
Why is it if I try and change the brush using the top part in red, I get the errors in the bottom part in red but if I try and use the method in blue, it works fine? What am I missing?
is there a way on begin overlap to get an event for when a camera component out of the character gets overlapped?
this and the inverse fails:
it will overlap the capsule but ignore the camera altogether
fixed it! 🙂
is there a way to get an array of instances out of the instanced static mesh component?
With the Game Animation Sample, what needs to be applied to obstacles to allow the player to vault over them, climb up walls, etc. And what are the limitations to this, like can you only climb up a certain height, or will it keep looping so you can climb as far as you want?
Also, given that the Game Animation Sample comes with a standard licence, it can be used in commercial distribution of games running on UE5?
If I remember right, Instanced static mesh components only allow you modify their meshes by their index and it's usually limited to basic data you can change about the specific instance ike location and rotation.
Anyone else wish we could have vertical lines in BPs?
in my anim bp my apply additive makes my character grow but when i dont use the additive it workds fine any thoughts?
If you divide an integer will UE round the number? Will it even work?
for instance if i divided an integer by 1.2
Hi. Hopefully someone can push me in the right direction.
I have a BP_Projectile (default from the FPS scene).
I want to change its color every time I enter a trigger box. I know how to change it in Material Instances etc.
Problem is: there is no BP_Projectile on the scene before it is spawned so I can't tell it to change its color. How do I approach this? How do I reference something that doesn't yet exist?
Well integers are only whole numbers so no fractions or decimals so it will automatically make it a float
i kinda figured
is there a node for rounding to an integer or converting to integer
lol nvm i should have just searched round in BP
i would use the ceil node
i assume it rounds the number?
it takes a float and rounds up or down to an int
Yea. I should have looked harder. I appreciate the answer.
np
Hey guys anyone know if it's possible to load a specific sublevel from within a persistent level please?
Basically I want the code to say "load <persistentlevel.level-5>"
or something
store a reference to each spawned projectile using Spawn Actor from Class and modify its material using a dynamic material instance. When the player enters the trigger box use the overlap event to change the color of the most recently spawned projectile by accessing the saved reference.
Electronic Nodes plugin
use the load stream level node
I think that only lets me select 1 level to load
I'm talking like I'm outside the persistent level altogether and I want to load into a persistent level + specific sublevel
Use the Open Level node to load the persistent level.
Once inside the persistent level, you can trigger the loading of a specific sublevel using Load Stream Level
So let's say my game have 3 persistent levels for different reasons. If I'm in persistent level 1 sublevel 1, from that place I'd like to press a button that loads into persistent level 2 sublevel 5
@rancid hull I appreciate the help but that doesn't really work. If I do it that way, then everytime I load that persistent level it will always automatically load the other sublevel
where as I need it to always loads into level 1 by default
sublevel1*
can you just set the persistent lelvel to be the default map or would that not work
then do Event Begin Play Load Stream Level
in my anim bp my apply additive makes my character grow but when i dont use the additive it workds fine any thoughts?
No the whole game is already made. I'm trying to create a chapter selection menu and the main game is in a seperate persistent level which automatically loads level 1 as it should
mmm tricky im not sure then sorry.
Good luck
Thanks 🙂
to be honestly now I'm trying to figure out why my persistent level automatically loads a specific map (level1) without it being told to in a level blueprint
hmm
Has anyone approached using a zone system where when the player overlaps a custom collision for an area, their weather changes to that zone they overlapped? I’m wondering if there’s a way to make a collision wall in an actor that can be customized from the base, like maybe using the custom shape geometry mesh or something
Yes! All the time
No it doesn't, ceil will always go to the next integer up. Floor will go down. Round will go up or down depending on situation.
mb
Got it figured out, I made an initialise level BP that stays in the persistent level and checks whether I entered via chapter button or not
nice!
Change a color variable and feed it to the projectile on spawn
Enter box -> change color var
SPawn projectile -> tell it what color to use
do we need to upgrade to 5.5 to use quixel assets now?
it says my plugin is out of date and directs me to updating UE
Haven't tried it, 5.4.4 might be possible, but 5.5 no, its still in preview
Thanks.
Hello,
I want to make a combat system where the Ai reacts to their opponents hit direction. So if the player hits left then it blocks in
that direction. If they attack left but a bit lower, the blendspace would blend according to that. My problems are:
How do I dynamically pass the changing hit direction to the enemy when the player moves their camera, strafes, jumps, gets knocked back, whatever would
change the angle of attack so that the Ai could react dynamically during the swing of the sword? I have method of tracing the sword but it doesnt
predict the future swords path, which im not sure if would be necessary or even a good solution.
How do I implement a blendspace that could blend according to the dynamically changing vector?
Even if you don't have a solution, advice would be helpful, thanks.
Mind the crossposting
Anyone know where a good place to start to learn how to create a Match 3 game by using Blueprints would be?
https://www.fab.com/listings/248a5223-feef-40d6-85b0-d79ec185773c
Dismantling the sample might be a solid start :P
hey quick question, im having some trouble with the death functionality. after it finishes, the dummy gets back up instead of staying down. Has anyone else run into this issue or know how I can stop that from happening?
the dummy doesnt stay down he just stands up been trying to debug this for days
Usually people replace dead chars with a simple static/skeletal mesh actor that has no logic and doesn’t affect performance much
If you are playing montage for the death animation, just create a loop section at the end of the animation.
Problems With Multi User Dev
Hey guys me and my friend have been having a couple issues with Multi User Dev on Unreal Engine 5.2.1, my friend is the Host of the server. First off, everytime i change something on my end he'll experience a quick freeze for a couple seconds, this makes editing the same map and working on really anything together basically impossible. Next, for some random reason after a while of working together, it will be like our versions desync and when I go to save it will get rid of everything that he has worked on and only save my progress. If anybody has any solutions to this I would appreciate it very much.
If you haven't tell it to stand down, it's not going to stay down magically.
do i loop the animation montage or the animation itself?
To make montage section you will have to be in the montage
It's just a section you can define. This way you can have a section playing forever.
is this it?
I would drag it to the end of the frame
Also make sure it's looping. Hit the check box and select loop
I already told you how to loop
Yeah you didn't loop it
You just define a section, it's not gonna do anything
Hello,
I'm a newbie and have a question about Actors and structure:
If I watch some tutorials people often create something like BP_Base_Something for their different requirements.
Lets say I've BP_Base_Pickup and BP_Base_Interactable and want a child inheriting from both, how would I do that?
Or do you structure it different anyways
A pickup sounds like it would be an interactable.
BP_Base_interactable -> Things like light switches, doors, drawers, computers.
BP_Pickup -> Inherits from Interactable, made for things that the player can "interact" with to then get that object in their inventory.
Thanks for your reply.
I thought about that as well but wasn't sure because I built both systems as actor component and to have them decoupled I wasnt sure if I should inherit the base from another base related to another ac.
And I was also worried that I get a lot of overhead if I create more and more "bp_bases" for different requirements.
Do you usually have one "master" then ?
How you structure your code is ultimately up to you, but if things can share a common hierarchy due to similar functions & variables, it's generally better to use inheritance. You can still use inheritance with components and subclass them as well.
Any idea how I can add these items (red) to the array highlighted in blue? In the editor, not during runtime
Thanks a lot, I guess I'm overthinking and should do as you recommended it.
...as far as like - dragging and dropping into the fields on the right, somehow (or something to that effect). Short of setting up a flow of adding them all through a blueprint sequence
Technically the "buttons" don't exist until runtime. You could do something like this, but I don't think the values in the array will be valid until runtime anyway.
understood, thank you
Hey folks
I'm trying to move some actors along a Spline but I'm getting a weird result right now from setting their Transform on tick. (see video)
I think it would be better if I could do some sort of interpolation along the Spline instead anyway to optimize performance.
Is there such a node/setup?
I don't want to interpolate between two points on the Spline because then it would cut corners etc.
I want to move the actors along the Spline.
hello everyone
I'm new to Unreal engine. I want to change the scale, rotation and location of a blueprint actor with editable number from widget blueprint.
I tried looking the internet for help but didn't find any.
That looks like you're trying to set it's location multiple times a tick.
I'm calling this on Tick.
Not sure how I would be setting it multiple times.
Whats the movement mode set to?
What do you mean?
If I don't call the function I showed they just "stand" still.
Not sure if it is "height" related.
As in I could be spawning them in or above the ground and they try to pop up/down after transform setting?
On the character movement component. The movement component performs it's own corrections to it's owner based on it's movement mode. For example, if it's set to walking, you can't alter the pitch of the character as it'll always remain upright.
The change you're making might be conflicting with the movement component which it then adjusts for.
Ok, try adding the capsule half height to the location on the transform you get from the spline.
Just did a + 150, but didn't seem to remove the problem.
O wait, you're setting the world transform of the capsule component. Try setting actor transform instead.
There's one specifically for actors.
Oh, my bad
It works better now but still not great. Recording.
I'm an idiot. Had Tick interval set to 0,1 sec
Sorry
Nps. It does look like gravity though. You might want to set the movement mode to flying as well as it'll disable the gravity.
I've set it to none since this would be the new "movement"
I have a minor thing with setting the actor Transform since I can see that tilts the whole actor, and healthbar is tilted (moved a bit) too.
Guess I can set the actor location and mesh rotation seperately.
A parent BP gathers pawn data. How do I access that in a child? I can't change the parent to make that data a variable.
So close to finishing my game but I stupidly upgraded to 5.4.
Now my project stutters/lags after working for 5 minutes. Then if I build all levels, it fixes temporarily until I do a bit of work.
If anyone can help with this I'd be eternally grateful and get you a coffee or something, it's so frustrating
Using STAT UNIT can help determine the general area such as GPU or Game Thread related but beyond that, you'd need to profile. Anything we say here would just be a guess.
Do you have any editor windows open, like BP:s or meshes?
I find those often hog a lot of memory and VRAM, closing them helps me.
OTOH it was like that before 5.4 as well.
Off the top of my head, dont think the stuttering will occur until blueprints are opened.
I've tested the STAT UNIT but it's hard to know what to do with the information. For example, it said my texture memory was at max. So I increased it by 1GB just for the texture size and max to both go up to the new number.
Is there a clear way of reviewing memory and vram?
I've got the overlay for memory on my screen. But I don't know how to debug from there. For example, it's quite a small game but it had like 150,000 objs. But building all levels, the game and blueprints still run fine for a time with that many objs.
Sounds like I need to read/learn what the profiler does and how to understand its results
Are you getting Texture streaming pool over budget or Video memory exhausted errors, then?
No errors, just a lag in gameplay. Like blueprints are so laggy it becomes unworkable
It's not an error as such but it shows up in the viewport
Show a screenshot of the values STAT UNIT shows when you're performance dips.
just a screenshot is fine for now.
so when i'm looking at my level in the viewport these sentences would appear?
no lag:
It should look like this.
Gotcha
Do any of them ever flash a different colour?
wow game and GPU are higher than usual
will let you know shortly, im working until it becomes broken again but seems to be okay for now... typical!
hah
both of those are well nominal for a larger game
That could just be down to hardware.
is it? aren't you all getting 240 fps???
lol
i'm pulling your leg but yeah could
I'm pretty sure the editor is capped at 120 haha.
here we go:
you can lift it up iirc, but packaged games need an explicit cap unless you want to make the CPU catch on fire at 1000 fps
Ouch
game, so it's something on the cpu logic
And what does stat game display now?
It'#s starting at 120 going down to yellow/green and repeating over a 2 second cycle
Ooof, it's the game thread. :/ It's some logic somewhere (could be multiple places) in you're BP's. You'll need to profile unless you only happen to have 2 or 3 BPs to checkhaha.
it appeared to begin, when I added some random nodes to the blueprint. Almost as if there was a cap in the memory and it got to full?
Is there a direct way to control the IK Goals via user input? I'm struggling to find a way for direct natural limb control while using the benefits of the IK system. Two Bone IK is not satisfying enough
It's very likely that your memory has been exhausted and it's doing page dumps
Everything working very smooth, then I add 5 branch nodes and boom
Show what you added and it's surrounding logic.
Very strange and nasty, it might be something with the graph editor then I suppose
not sure if im loading a massive amount of objs from somewhere? This is a small, shop sim type game:
Ah, I think I have a hunch
You probably have a very large dependency chain on something
remove half of the stuff and see if it improves until you find the cause
It's not branches specifically, it's adding anything to the blueprints. Then when I build the level it fixes, until I add some more nodes
And when that asset is loaded it loads a huge amount of data into memory, filling it up.
dependency? it should all be loaded into memory as soon as the level loads, it shouldn't cause stutter
This is the clincher, build all levels fixes this temporarily. And from my reading one of the main things that does is cleanse memory
The asset you're working on -- if you right click it and select "Size Map"?
I doubt it would be down to this.
branches are binary all or nothing. terminal branches on tick don't affect performance at all
can you share the branches
Well again it's my understanding this lag happens while in editor?
Not in play mode
Right?
So any lag can't stem from BP logic
What does leaving store do?
I didn't explain very well but both to be honest
If it happens in editor that's the important thing
Because then your BP flow isn't the culprit
Fires some very simple movement logic
Normally its my code but I think on this one it's my hardware and unreals technical side xD
My two crowns is that it's because of linker dependencies
Things like that hard class ref there cause a dependency, so this class (that you're in) needs to load DoorTargetBlueprint before it can be worked on.
Do the frames dip if you start playing but don't actually do anything? (Idle)
As this scale it's nothing to worry about lol.
How do you know the scale?
That sort of thing can cascade -- before you know it you have almost the entire game loaded into memory at once.
No. My unreal engine has two states at this point: perfectly smooth or lag fest
Lag fest seems to occur when I add anything to the game until I do a "build all levels"
I'll check its working but 32gb
Plenty!
He mentioned above.
So check the profiler and maybe I can figure out if my memory within unreal is getting too much?
Whilst true, depending on the size of the game, that too isn't always an issue. I recently released a game where the only thing I soft loaded was audio files. The whole game was a few GB and would all be loaded anyway.
or does frame/game being red tell me it's GPU related
Well, that's also true
I highly doubt its anything to do with memory.
Well, if it's happening in-editor I highly doubt it's anything to do with BP flow
Game is the Game Thread, and Frame is the total for the frame taking into account the GPU and CPU.
"build all levels" temporarily fixes the issue until I add more stuff into the blueprint or level editor
That's why I think memory?
That's where I'm getting my hunch from as well.
If the editor runs out of memory it pretty much crashes. Something I experienced a lot when I only had 8GB of ram.
Some small context, don't know if it's helpful: my game instance is never changed or altered but each time I press play it ups the appendix on it.
there are some red cross icons on some of the lights
True.. unreal does love to crash rather than stutter..
Depends on the size of your page file, doesn't it?
First thing I would do is sort out the lights.
Unless you have a fast SSD its not always fast enough compared to RAM and causes some error. UE doesn't like having to wait around haha. You also have to remember, unless you actually use all the RAM it's not going to use the page file. (Which he clearly isn't)
Sure, from the looks of things there's plenty of spare memory.
But if it's not related to game logic, and running the GC (from the looks of things) fixes it, I don't know where to start drawing conclusions?
GC pardon?
Garbage Collection
Do you spawn anything at runtime?
It's obj gc for running the GC, right?
Just for my peace of mind, next time the problem occurs, try running that?
(instead of Build All Levels)
sorry amigo, didnt fix it
Starting to think it could be lighting you know.. started during an upgrade to 5.4.4. So i'm going over those settings. Will report back soon
Thanks Greenosaur, please feel free to message anytime with a query or if you need playtesters, I really appreciate your time 🙏
Ah cheers, will do! Hope you get it fixed!
Me too! I'm actually almost excited to report what caused it lol
Lighting sounds like a good bet, it might be doing something annoying in the background at least
Is anything appearing in the output log while it's happening btw?
Something that chugs our project to a crawl is when it's building Mesh Cards or Distance Fields.
And that can happen super sporadically, when the linker decides to load some asset (for instance while compiling a Blueprint that relies on it)
It should only happen once per mesh in your project unless it's changed, though
Perhaps something has gone wrong with your Derived Data Cache that prevents those from being saved correctly?
At the bottom of the editor. Start a trace then play until it starts to lag. (keep playing for a few seconds after) Once done, stop the trace.
Once you've done that, you can open the unreal insights, (in the same list) and open the trace you've just done.
You'll get something like this.
I suppose it could also be building navmesh, but yeah -- better to profile than to guess!
Ignore. Still broken.
Time to profile. 🙂
Yessir
You'll have it figured out in a jiffy with the profiler
Then whether or not it's an easy fix is another matter haha
Does that mean anything to you?
Nope, you need to profile like I showed above to find out the cause. All that shows is theres an issue.
A parent BP gathers pawn data. How do I access that in a child? I can't change the parent to make that data a variable.
Patty.. that fixed the stutter 🤣 just starting the trace and voila, fixed. Wtf is happening
Just keep playing until it stutters again while the trace is running.
On the graph at the top, click one of the peaks to get a breakdown of what was happening.
Thanks for your patience
You can also drag and select a little region on the timeline to get an average of what's taking time, often that's more helpful (IMO).
so, im working on an enemy, i want to make it fly around the player and randomly stop and drop an egg, but im not sure how id set up the animations for that, or the blueprint, but i have this flying in place animation rn
I can't speak for animations. But you'd create a projectile, that is egg shaped and which has no forward velocity but gravity enabled. And spawn it from where an egg would drop on this bird
You can use your mouse wheel to zoom in. We want to focus on the game thread row. Looking at it though, it looks like something to do with slate.
Would anyone have any idea as to why the head doesnt rotate with the camera?
What widgets do you create and add to the screen?
A good question to ask is what causes the rotation? 🙂
This is my mouse input :D (I just figured that adding the head has a child to the camera would automatically cause it to move and rotate with the camera)
There's a simple HUD, tracking money and experience
And when you talk to someone to sell inventory is quite intensive.
The stuttering can happen without playing the game, not sure if it is loading it when I work on a blueprint related to said widgets
So does your controller change the camera, the model or both?
And do you want the head to move seperately to the body
Yeah, essentially the body would stay where it is, and the head would rotate as the camera rotates
The image above is for rotating the camera with the mouse, allowing you to look in a first person view
Ok, keep zooming in on the slate tick time one. Below it will be further break down of the functions.
I appreciate you're busy Patty but would it make more sense to screenshare now?
I'm to busy to screenshare.
Good news, it's a very common almost expected in games now so I'm sure there's a wealth of tutorials. But I imagine you need to bespoke code that effect. I've found a tutorial here that may be helpful: https://www.youtube.com/watch?v=IMuqrTtLNXg
#unrealengine #unrealenginetutorial #ue5 #tutorial
Social Media links:
Facebook: https://www.facebook.com/profile.php?id=100093810061395
Twitter: https://twitter.com/polysiens
Reddit: https://www.reddit.com/user/Polysiens
Instagram: https://www.instagram.com/polysiens/
Youtube: https://www.youtube.com/channel/UC9vVfI8da3aL6bl2itAmulQ
LinkedIn:...
If you zoom in it should look something like this which is a break down of some of the functions responsible for the time.
I did watch this however it's more targeted at bones when Im using just a mesh to rotate, thanks again tho!
I may be misunderstanding but it will be a lot easier to do if your head is somewhat seperated from the mesh as a total
Not sure how helpful this is but I think thats zoomed into the game threads section
You need to pan to recenter the slate tick bit.
Is there nothing underneath it like this?
That would be helpful but ive tried every kind of click?
There's also a good chance this was during non-play. I think I captured the stutter between blueprints and play. And im reviewing the biggest peak (unsure if its play or BP).
I wonder if this has something to do with loading/destroying widgets that are being processed in BP and thats why build all levels fixes temporarily
You might need to pan around to find it. You can zoom in an out to help.
Hey everyone Im trying to have an icon or symbol that appears next to my menu options when they are selected. Can anyone show me a tutorial or give me an idea of how to have the icon show up when a menu item is highlighted
Hello,
I would like to know how I can change the play rate of an animation at any given frame, regardless of the current animation frame. Basically, based on a condition, I want to be able to reverse the play rate without the animation finishing (so during playback). My biggest issue is retrieving the last played frame of a specific animation sequence. I may not be very clear, but any help would be greatly appreciated as I haven't found much information online.
Thank you.
(To clarify, I am working with UE5.4 in blueprints, and these animations are animation sequences triggered from a pawn blueprint class.)
More specifically, the workflow is as follows: I play an animation sequence, and during that animation, if a condition (true or false) is met, the animation continues. However, if the condition is false, the animation should reverse from the current frame where it is at the moment.
why exactly does the destructor in widgets get called on the constructor? Had to make a bool for it to stop doing it, since I am changing stuff during destruction that doesn't exist during construction
Anyone know whats going one here I select box in bottom left as you can see
You'd probably need to ask in #slate for an answer but if I was to guess widgets probably get created and destroyed as it's building the UI layout.
But someow it selects the BP actor to the right
What does it look like with just the camera selected? (im assuming it's a camera lol)
what you mean sorry
Select just the camera and show what i looks like.
could my editor be going wierd cause I have rider in background on debug game and debugging whilst I'm working in editor etc
just cause thats one thing I can think of
I believe it's because the frustum size for the camera. It must include it when checking whats in the rectangle.
oh strange don't think I've ever had that before
hi so i am on 4.27 and i just stumbled on an issue and cant wrap my head around it.
I am using a touch screen to look around the scene in, viewport it detects as both touch 01 and left mouse click which is what i want. But when i package the project and try on standalone it only registers the touch 01. Does anyone know how i can get it to register touch 01 and left mouse click same as in viewport?
How do I spawn in a Chaos Destruction Mesh at runtime? (or Geometry Collection if that is the right wording)
I want my enemies to break apart when I shoot them, but they are not in the level when game starts. Not sure how to go about that then.
You can just put it in an empty actor and spawn that actor
Geometry collection is indeed the right wording
Ah okay, so I should not spawn it directly from an existing Actor with a lot of other logic.
I simply create an actor that only has a "GeometryCollection" added.
Then I set the "Rest Collection" to my Mesh I broke up with the Fracture tool.
And when I spawn it and it falls to the ground it will break apart. (Or I should probably add an impulse to it somehow to make sure?)
Maybe like this? (just with a location and impulse defined)
Yes, but beware using set rest collection dynamically (the node)
I’ve had it cause an almost guaranteed crash in every engine version I’ve tried it in
I recommend you make sure it’s set to the right rest collection in editor, beforehand.
But yeah that looks fine
Oh wow, okay.
So in Editor under Details like this:
Must there be a Chaos Solver?
Nope works without
Love it. Thank you.
hey there devs, there is not really much info online , so i am asking here , i got a game for PC , and i want it to test it out if it works good on PS5 , i have changed inputs for gamepad , so what should i do next , how i can run it on PS?
Hello Everyone, I was recommended to ask my question in this server, so I’ll copy and paste below. I hope this is the right channel
“If anyone has experience with Unreal, please help.
I am currently wanting my character to be able to do flip forwards/backwards with the right stick. Similar to how it would work on Steep, Riders Republic, etc. The current issue I have is that when the character flips to be fully upside down, he bugs out. Not sure why its happening, so if anybody has any ideas, it would be appreciated. I have a video that shows what I am talking about, along with a screenshot of how the Blueprint is working. Refer to the 'Air Rotation' bunch.
It seems to only happen when the character reaches that bottom point of the rotation.”
Its between 1 - 0
Was able to sort
https://www.udemy.com/course/ue5-ultimate-bp-course/?couponCode=KEEPLEARNING hi do you recommend this course ?
i know blueprints but i need more and more stable knwoledge
also, ignore the head in front of the camera, I still have to set it to not be visible to the owner
Hi everyone
I’m facing an issue with my widget blueprint, and I was hoping someone could point me in the right direction. The goal is to hide the stamina and flashlight battery widgets in the main menu and options menu, and only make them visible when the player is in the game. I've attached 4 screenshots and a short video demonstrating the blueprint setup and the issue I’m experiencing. Any help would be greatly appreciated
Thank you in advance
1- value = inverted value
What has been annoying me is that every time I need a reference to game state, game mode, player state or anything like this, I then have to cast it to the appropriate child class, which wastes graph space and is annoying in general. I've been making getter functions in a library that return the right class but I'm wondering if there is an official way. 🤔
you could make them macros or store the references in a variable
A very simple solution would be to ensure you're adding the menu at a higher Z order value which should place it above any other widgets. If you use something like 9999 then ensure no other widgets go higher than this value, then that widget would always appear on top.
If you want to actually hide the widgets, that would require some additional logic outside of the widget itself, such as an event dispatcher in your HUD class that signals when the menu is opened and closed that your widgets can then bind to and show/hide themselves when necessary. You'd call the dispatcher when your menu gets opened and closed.
Okay I will go try this , Thanks Datura
hey, im trying to make a spin move similar to mario galaxy, i have this setup now, it slightly works, only issue is, the part to make it happen if the player is jumping, they have to press the jump input at the same time. also, i dont have logic setup for stopping it yet, im not sure how to do that
Hello I have a very noob question about Blueprint. I'm trying to expose some functionality to BP via some static functions:
UCLASS()
class BLEEPSERVERTEST_API USecurityNetworkTestBlueprintLibrary : public UBlueprintFunctionLibrary
{
GENERATED_BODY()
public:
UFUNCTION(BlueprintCallable, Category = "Security Network")
static FSecurityNetwork QueryNetwork(const UObject* worldContextObject, const FGameObjectID& networkGOID);
};
Stuff like that. As I understand, static functions of blueprint library should just be callable, but it appears that adding a worldContextObject makes the system think it is not static, because I get a
This blueprint (self) is not a SecurityNetworkTestBlueprintLibrary, therefore ' Target ' must have a connection.
I have done a similar pattern in other places and it has worked fine, so not sure what I'm doing here wrong. I think it;s the const UObject* thing, but I require a world pointer, so not sure how would I get it otherwise
It's the same animation
Why not just:
Input -> Spin -> if in air -> launch a bit
thats what i was trying to figure out 😭
there's an InAir or IsFalling or whatever bool for character
or you can get the movement mode
anyway, it should be that simple
i did that but then the player kept rising forever
That doesn't sound right
you're telling me that calling launch character once while in air makes them able to fly?
one sec
Using this code the actor is just appearing on top of the other actor when I want the actor to come up from the ground and devour the player i believe that the issue may be the collision even though I have removed it from all of the moving actors components any help would be great!
doing it w is falling makes it work better, but the jumping at the same time as spinning rly makes the player go much higher than the set z value
That's not a height
that's a speed
Must be doing something stupid but I can't for the life of me get a sphere collision to trigger an overlap. I had some custom collision presets set up to avoid using overlap all but they weren't working so I just set both the sphere collision and the other object to overlap all. generate overlap events is checked for both. There are still somehow no overlap events from the sphere collision. But the mesh on my pawn will trigger overlap. Is there something weird with sphere collision that is preventing overlaps?
anyone know what this means?
Stuff’s broken 😀
i mean yea lol
it happens after i've placed a certain amount of point lights. i've never come across this before
Must’ve run out of watts
looks like it has to do with light maps if you have too many lights close together. You can just set a light to static
Switch them from Static , Stationary , to Movable
why do i get no value returned by reference warning when the event dispatcher input is set to an array? This doesn't happen when the cards input is a single
where should i go from here
Wherever you want
Why the 2 paths tho
the only decision to make is whether or not to launch the character, the rest is the same
Anyone know why my sphere collision fails to overlap after being resized? It overlaps properly until this node is called, then it just stops working. Doesn't matter whether I check the bool either way. Edit: Not sure why it fucks it up, just use set scale and it works.
im confused
Hi! I'm having an issue with camera views in multiplayer.
Problem:
- I'm spawning a camera for each player and trying to set their view to that camera
- It works fine on the server but clients aren't seeing through their cameras
- I'm getting all the correct prints, so the logic is executing
I've verified the camera is spawning but the view target change isn't working on clients. Anyone know what I might be missing?
You need a Meta here. Meta=(WorldContext=worldContextObject)
it works fine like that aside from the if u press jump at the same time it makes you go rly high
i have a crouch and groundpound setup, but when i hit crouch, it pushes the player into the floor, the groundpound works completely fine, but crouch not sm
I am developing a game where players dress up characters.
In the game, there’s a process where users can dress up the characters. To make this process feel different from traditional dress-up mechanics, I want to allow users to adjust the character’s pose freely and then dress them.
What I am curious about is how to implement a method to let users change the character's pose dynamically during runtime.
The idea I’ve come up with is to provide a UI that allows users to directly manipulate the character’s bones. Could you give me some guidance on how to implement this using Blueprints? Even if it’s just an overview, I would appreciate it.
Alternatively, is there a way to make the Control Rig UI accessible during gameplay?
I confirmed that it’s possible to move bones using Control Rig in Blueprints, as shown in the image below. However, the issue is that the UI feels too inconvenient. I want to create something similar to the UI used in Unreal Editor.
For certain states (walking, running, reloading) what do you prefer over using booleans, gameplay tags or enums? Why and why not?
I guess enums are best for movement states that dont need to overlap
This is for single player fps game with inventory. Thanks
Personnaly I would go with enums but there will be an issue if you can do multiple states at the same time, so for instance, walking and running, it's perfectly fine as you can't do both at the same time however "reloading", you can be walking and reloading at the same time or running and reloading or idling and reloading, so that means you will need alot of enums just for that reloading thing. Let's not talk about having a state like crouching that would pile up the complexity of using enums in this case 🙂
Gameplay tags are nice because you can have them in a hierarchy and you can use a single gameplay tag container for all of your state. The only downside is you can't really do a switch or select on a gameplaytagcontainer, you can only check if the container has a specific tag or query it, etc.
reloading def does not belong in that, you would have exclusive states for movement like idle, walking, running, inair, crouching, sliding, ziplining, railgrinding, wallrunning
the reason having an exclusive list like this is good is because you can have values associated with these states that you can interpolate between
I did find these (select and switch for gameplay tags), which i think extends the tags hehe
https://www.fab.com/listings/8ef04a28-c7ce-4015-97ba-4cf49667a0fa
https://www.fab.com/listings/58a21054-ca60-427d-a12c-c070f17395a8
Fab is a digital marketplace that offers creators a single destination to discover, share, buy and sell high quality, real-time-ready game assets, environments, VFX, audio, animations, characters, plug-ins, and more.
then stuff like reloading could be a gameplay tag on top
which could act as a modifier for the movement speed or overwrite it for the duration it's active
I've seen mover also does something like that, I think the states are just an array of structs there?
how do i change a material param via blueprint ?
the set float parameter is for " audio parameter blabla"
cant find anything on the materuial
Create dynamic material instance node, then drag from its return to change the param. If it’s a mat instance to begin with, it should change instantly, otherwise you’ll need to reapply the material iirc
thansk!
how can i make it block everything beneeth
If I use the "Fracture" tool to fracture a Mesh and create a Geometry Collection, will it then use/save the materials the mesh had?
My concern is that if I create some Geometry Collections I spawn in when I destroy an Actor, and then later change the materials of the Actor I destroy, would there then be a mismatch in the materials/colors?
So for example I have a white aircraft mesh, then I make a Geometry collection to use with it. Then later I change the color/material of the aircraft to black. When I then spawn the Geometry Collection I made it would still be white right?
And can I get around it somehow?
do one and find out I guess
how are you gonna change the material of the actor you destroyed
it's already gone
can't fix the dead
so this is weird
for some reason, when that line trace from below detects something, the Obstacle Check event stops receiving ticks, yet funny enough, the second slot in the Sequence node still ticks 🤔
hang on, lemme check something else
yeah this is super weird
this blueprint is executed inside a custom ai controller blueprint
right, I think I know exactly why this happens
yeah, it all works fine now
yet somehow, the ticking line still no longer shows that is firing
must be a visual glitch
from my experience, it's not to be relied on
aside from that visual, debugger on blueprint doesn't always work as is all the time from what I read
No I mean, its more of a design change I guess. Before I/other even play the game.
Just saying if I make a Geometry Collection now, and later decide I want different colors for my Aircrafts, I would then have to go back and make new Geometry Collections for all aircrafts, and make sure to replace them in the Actors I spawn with the Geometry Collection etc.
So it's not a problem game-wise. More workload wise.
I'll need to be rebuilding this blueprint tho, cause the way I'm setting the obstacle detectors just makes it harder to work with
cause the blueprint animation and blueprint interface are involved
and I can't trust this kind of workflow I made 😅
like this for example
sometimes it returns null and yells out errors
if you have a blueprint pointing to your abp instance, that's not a good sign
so best I move back to using the character blueprints to fire out line traces that do stuff
well, where do the line trace take place atm?
inside the ai controller
that's fine?
it's the brain of the AI
if the AI needs to do the line trace, that's a place to store the logic
yeah, but I want to reuse it in later projects
I think for the box collisions that handle jumping ai, I'll just reference the character instead of the ai controller
but then there's the part where I need to have it reusable
so that I won't need to make changes to the blueprint just so it finds the right overlapped character
complicated stuff 😅
Hey not sure if this is the right channel to ask in, but does anyone know what order the array of actors are in when using SphereOverlapActors? Is it done by distance from the origin point, or just random or something else? Thanks
whatever actor is overlapped by the sphere, it will be added into the array by overlapping order
and no, this is the wrong channel
you can go here instead #ue5-general
That's what I would've thought for a sphere trace, but with the SphereOverlap its stationary, so they all overlap at once so I wasn't sure
That makes much more sense thanks I'll ask there
anything that happens in the game engine happens by order
This thing still works like a charm. 🙏
One minor thing though. You said I should be very carful of changing Geometry Collection because it often crashes the game.
Do you know if it is an issue to change the materials at runtime?
Then I don't have to go back and redo the Geometry collection every time I change a Material/color for design reasons.
Hey! We are running into a funny issue. We got a UI element in the 3d space (a waypoint with distance marker).
If we call a function on the widget from an actor, there appears to be a delay / lag with projecting, if we call the same function straight from the widget, everything works as expected
we where running into a similiar quirk when calling the function from an event inside the widget
Are there any known issues/gatchas etc... Actor and widget communication?
hmm might be related to tick groups...
Hi UE Gurus !
I am implementing on UE 4.27 teleporters that send a request to the game instance to stream levels. Once the levels are all streamed, which is checked by a timer that evaluate the “is loaded” bool for every level packages, a notification is sent to the teleporter which will then disable the load screen widget associated to it.
What I really don’t understand, is that it works perfectly in editor and PIE, but when packaged it’s locked.
I have used for each loops with an interator to avoid issues with the latent property of the level streaming node.
All my levels are named based on the full reference path (game/maps/levelstreaming/name), and I have told the packager to cook all the level objects inside the “maps” folder.
I’m wondering if it has something to do with the behavior of the game instance being different between editor and packaged …
Thank you in advance !
Greetings.
I am trying to make influence from the moving direction on the deal damage. Basically I have two vectors and need to do something in order see if characters are moving in the opposite direction they are going to deal more damage.
normalize their movement direction and use the dot product
if it's close to -1 they go opposite directions
How can it so that: The maximum of the month October is recognized as Autumn season AND calls the event Halloween.
Or something such as December is recognized and set as Event: Christmas for example
and how do i test this from within a Data Asset??
hey, im following a tutorial from college for behaviour trees, and im on this bit aobut decorators, but when i try to add one in ue, theres nothing saying decorators there; is there a different name it falls under?
rightclick a node, that should show the Add Decorator option
they aren't really own nodes, but get added to existing nodes
ah
the powerpoint isnt the best at explaining it lol
what node do i need to use to make an actor ragdoll? im trying to make players ragdoll when they die, but i dont know what node it is
by default or using a node?
the node is "Set Simulate Physics" 😄
i figured, i just didnt know whether to set it by the node, or to have it enabled by default
if you enable it by default the character will be in ragdoll mode right away
it doesnt, but now its weird
one sec ill get a vid
they just phase through the ground
what are all these errors ?
its to do with the gun
its because of how ive done the interactable system
its just temporary
that's weird some of them ragdoll and some phase through the ground
oh no
that one ragdolled one
thats just the skeletal mesh in the world
thats not an enemy
can you show the blueprint of your enemy character plz ?
how are the collision set in your skeletal mesh ?
because typically when you ragdoll, the mesh detach from the collision capsule, and it looks like all the collisions are handled by the capsule
Here it is
you need to use query and collisions
so in your blueprint, change your collisions settings
not here
ok
hey im trying to make a mega mushroom type effect, rn when the player hits the collision it sets there scale to increase to 4, along w speed adjustments etc, i put them into the functions in this screenshot. but if i add a destroy actor the shrink to normal never happens, but without a destroy actor the player can keep getting the growing power up, which i dont want to do, how could i go ab fixing this?
you want to destroy the trigger box ?
This sounds like a job for an actor component. You create an actor component that manages the growing and shrink of its owner (what it's placed on). The mushroom would get this component from what it overlaps and call the grow function. Because the logic is no longer on the mushroom, you can safely destroy it without worrying about when it should shrink.
An added bonus is that you can have other things interact with the component allowing for a more unified system.
so move the functions into an actor component?
Yes, this would also allow you to use the same component on other things to have the same behavior.
oki thank u lemme try
so i made one and added the functions but im not sure what to do next
The component would go on the thing you want to grow/shrink. (in this case the player character)
oh
Once you've done that, pull from the 'Other Actor' on the overlap event and use the 'Get Component By Class' node to get the 'Grow' component. First check if it's valid using the isvalid node, if it is, call the grow/shrink function on it and destroy you're mushroom. This would replace the logic you already have connected to the overlap event.
including the cast or keep the cast too
No need for that cast as now it'll just be based on if the thing overlapping has the component or not. For example if an NPC had the component it could in theory work for them as well. (assuming the component isn't doing any type specific casting for the player character)
Yes, there is the other isvalid node though which would make it a little cleaner. It has the branch built in. 🙂
pull from the return value of the 'Get Component By Class' and call the function from it. have it called if it's valid so you don't get a ton of access none messages.
ah ok so then destroy actor? or i wanted to add a time limit on the growing before the player is shrunk back to the og scale
I would just destroy. I would make the grow component handle when it should shrink back down. You could have the mushroom pass a desired duration through the function then the component can deside how it wants to use it.
So if the player goes over another mushroom while big the component can decide if it just adds the time on or if it'll cap out or a mix of the two.
i have another item setup that shrinks the player too
im confused on this, add to the function? or the component blueprint itself in the event graph
sry 😭 trying to make sense of this lol
As in an input (probably a float) on the function for the max big duraction that mushroom gives.
like this?
As the input yea. A few things regarding the rest though. Instead of getting the player character specifically you should use 'Get Owner' which will get the actor it's on and instead of casting to the third person character, just cast to character. You can still set the actor scale and access the movement component from it as they aren't specific to the third person character.
As a side note, you can get and store this on the component on begin play if you'll be calling it frequently.
was using a cast to my player bc i change stuff w the camera once the player has collected it, does that change things
You can use the 'Get Component By Class' and get the camera component from the owner. If the thing it's on doesn't have one it can skip updating the camera stuff.
i dont think that will work w how i have it to change
would the cast work since this will be the only thing using the powerup?
Instead, i would use an event dispatcher then. So when they start growing, have it call a 'StartedGrowing' event dispatcher. On the thing that uses the component, you can then bind to the event dispatcher and have it does something, in this case update the camera.
for doing an fps, what do most people do for a line trace to the middle of the screen which can also be used by AI to shoot forward
Quick question: This node, for In Is Recursive, what does that mean exactly?
this thingy, it should identify the damage type right?
but it just add some other words and it isn't treated as that damage type
Hey folks, quick question:
I'm looking at having quite a lot of actors (turrets) rotate towards targets and fire (in 2d), feeding the turret a target is handled.
My question is, for the actual rotation of the actors, what is a performant way of doing it? I'm guessing having (hundreds?) of actors on tick or on a short timer smoothly rotate towards their target is going to get pretty taxing.
Recursive means it calls itself. I would assume in this example, it would check each layer and update accordingly until there's no more layers to check/set.
im confused, make the dispatcher in the grow component? or in the player blueprint
actor tick rate?
Thanks for answering. In this example, I'm loading the game mode in, I want to load in some data layers then once complete, I can spawn my character. In this case, I think I leave it unchecked right?
in the grow component. You would then call it in the grow function you have. You'd then implement it on the thing that the component is placed on. (The player character in this example) so it'll update the camera stuff.
so like this?
Sort of, you can unhook the stuff to do with the camera and just call the event dispatcher instead. The camera stuff would be implemented on the character itself and triggered when the event dispatcher is called. This way the grow component doesn't need to know or handle anything to do with the camera.
ok then set the camera stuff up where?
In the third person character, right click on the grow component and go to add event, you should see the event dispatcher you created. Add it to the event graph and implement the camera change logic. 🙂
change to this?
Almost. Like this. You can remove the get component by class node for the camera as well as it won't be needed with the camera stuff being moved to the third person character.
There's another get owner where the target is actor component.
so like this
Yea.
Is there a way using blueprints to check what a data layer's state is ? (unloaded, loaded, activated)
I know I can set the state, but I'm having difficulties Getting the state
now this?
No, it’s not an issue, easy to do. create Dynamic material instance helps too
That looks fine. If you test it it should grow.
yea it grows
On the component you can add some logic (possibly a timer) that will shrink the owner based on the time that was passed through. You might want to create another event dispatcher that's called when it shrinks so you can adjust the camera again.
when I box select in the top side views etc is there a way for it to ignore the camera frustrum ?
cause at the moment it seems to be taking it into account when I box select around it
Probably not but you could lock the camera in the outliner.
thing Is I don't think i've ever had it before like in a normal UE
Anyone have any ideas on this zone system idea?:0
so set timer by function?
I'm wondering could it be something with my UE as I've do it from code at least created the project ?
You could but I'd use timer by event instead.
ok then make an event that sets the player back to the og scale?
Just create a function call shrink in the component.
i have one
I have a blueprint that spawns a bunch of sphere that I need evaluated in simulated play, when added they appear like image n1 but in game they turn to image n2, trashed or none to then magically reappear on end play ? any idea?
also in some old levels everything is working fine? I really don't get it
So I found this is an issue only in a new "Open world" and "Empty Open world" level? What?
something about world partition? I never touched it
If I want to manually stream a level without the latent node, but by directly setting the "should be loaded" bool to true in the level package, will it do it automatically or should I request a flush ?
This was it if anyone else stumbles into this
Hello, I need help for a "bug" i think, I was doing some changes to my FirstPersonCharacter_BP, and I didn't liked them, so I did some Ctrl+Z to remove them, but then my player wasn't being affected by gravity or movement, I could only move the camera, so I restarted the editor and now the editor crashes whenever I try to play with that character, is there a way to copy and paste the character without the bug? (cuz I don't wanna do it all over again)
Does anyone know if there's currently a bug with setting Enum type variable in BP?
Not usually, what’s the issue?
Is your details panel blank with you click on the char movement component?
no
Well either way, assuming you have zero source control
Was trying to help a buddy of mine debug his code and it seems that setting the variable didn't actually change it's value when we were looking at it through debug watch, it was very odd
It really depends on what you’re changing tbh. Some in-engine enums might be editor time editable only
It was one he had made and we were trying to change it inside a function, it wasn't marked private or anything either
I'll do a test on my end to see if I can reproduce it or not
And you’re certain it didn’t change or just didn’t show in the debug watch
It's possible, we also used it in a print as sanity check and the print said it changed but when we used it as part of a conditional it didn't evaluate as expected so I'm not sure which to believe as being accurate lol
Yeah, test on your end and then show the code if still occurring
Seems to work for me but the watch value is not working for me either so that may have been part of the problem
yeah, I could see that. Watch is not always reliable
Better the watch than the code I guess lol, I'll have to take a closer next time I have a chance and see if I can get it figured out, thanks for your help
How do I get it so I can control the camera with the mouse. Here is the list of components for my player as well as the movement for my input.
Add controller Yaw doesn't work for me
check the use controller rotation settings on the char/camera
How could i make it so that when a projectile impacts an actor, said actor gets destroyed
Like, Shooting an enemy
Which one do I check?
make sure the actor and projectile are set to overlap or block each other, then use the Actor Overlap or Actor Hit (respectively) event to trigger your logic
the ones under pawn probably
tick things and test, that is how you iterate
Ok the left and right work but not up/down. Any ideas?
How exactly?
sigh
show updated settings
with the "On component begin overlap"?
I said Actor not component
but yes, if you go with overlap, make sure the projectile is set to overlap the target and viceversa. Also make sure generate overlap events is enabled
take a look at the FPS template and compare Epic's code and setttings with yours to see what's missing
For some reason the projectiles dont collide with the enemies
They do with the walls, and they get destroyed
but not with the enemies
You need to adjust your collision settings accordingly
Which ones exacly?
how can i make a turret rotate toward something if i want to use DOT product and avoid using find look at rotation
as a question, why do you want to avoid the latter?
But finding an angle between 2 vectors using the dot product is a pretty well documented math topic, I'd give it a google
in 2d or 3d?
hello guys, does anyone know how to retarget skeletons for a bow? So I can play some animations for the mesh that I want it's skeleton to be retargeted
Can I do that from ue or should this be made on blender? Not very familiar with skeletons and such as you see lol
As of 5.3 or 5.4 you can retarget #animation in UE
yep tried that and says Retargeter could not find source root bone
on my bad!
Maybe the skeleton you have is not compatible 🤷♂️ . The channel I mentioned might be able to help
You can also just use the skeleton editor to make a new one btw
3D world but only on the Z axis
You can feed the dot product of turret.right and the direction vector from turret to thing to control yaw
Are you trying to come up with the desired rotation or to have something more like a control loop?
Blueprint Runtime Error: "Accessed None trying to read property CallFunc_GetLocalPlayerSubSystemFromPlayerController_ReturnValue_1". Node: Add Mapping Context Graph: EventGraph Function: Execute Ubergraph BP Player Blueprint: BP_Player
not sure how to fix?
Could be that you need to possess the controller before enhanced input subsystem becomes available.
Accessed None = You're trying to access a null variable. Your "Get Player Controller" function there isn't returning a valid value by the time this begin play is firing or it doesn't have a valid Enhanced Input Local Player Subsystem
so i just delay the begin play?
No. You should only be executing it when you know the player controller will return valid.
The timer there also isn't great. You may as well just use tick with such a low timer frequency.
The player controller must be valid if the character is being possessed by it so what if you move the part for the enhanced input over to the Event Possessed and see if that works instead of on event begin play.
so why isnt my PC valid?
so the exec of the timer into the exec of the add mapping context?
When you spawn in a character it needs to be possessed by a controller to receive inputs.
heres my PC
But when you try to access "Get Player Controller" using the pure function you've made it fails to "Get Controller" when target is pawn because that pawn has no controller assigned to it. But looking at your screenshot I can see there's an Event Possessed which means you do possess it (hopefully) somewhere else after spawning?
How is this character added to the level?
Are you spawning it in? Is it placed into the level directly?
yes
which
when you click the character on the details panel search "possess" and adjust accordingly.
wait that might be for split screen multiplayer
im def not making split scrn lol
so im possessing the camera
and can move with WASD or ARROW keys
but my mouse cursor movement isnt working
same error as well
You made a character or a pawn?
Is this the pawn / character bp?
Assuming it is not local multiplayer, then begin play is too early
yes pawn
By the time the client load the character into the world, it does not have a valid controller yet
how to fix?
are you trying to make just a flying camera?
or a full on character
just camera
im basing my design loosely off of the UE demo Crop-down
You will have valid controller when the server send you the acknowledgement
The event I used is Acknowledge Possession
That's not exposed to bp though
Just need to grab the controller then make it possess the pawn. Can do that on the game state.
So you can kind of call client rpc from on possess by the server, by the time the client fire the rpc, the controller would be valid
I hope.. haven't test
Even easier, take the Game State on begin play, spawn in your pawn at whatever location then get player controller and have it possess the pawn.
The straight forward solution is just to use acknowledge possession. This event is called on client after possession by server.
I think its single player
Rider is free btw, probably a good time to get into cpp so you can expose useful functions and features.
Blueprint multiplayer is limited as f
You can just expose the event to blueprint
oh really
And use that event to bind your input
Acknowledge possession
Begin play is almost the wrong place for multiplayer for majority of the time.
Because begin play will just run whenever the actor comes to the world. Means for client, it is too early for many things. One of them being, it has no valid controller yet.
Race condition is something you need to address
Game Mode > Event OnPostLogin or Event HandleStartingNewPlayer (both come with a controller reference) > Spawn in your pawn actor > use controller to possess the pawn.
Isn't onpostlogin game mode thingy
yep, I use that to spawn replicated character actors on the server
@dark cedar you should read the compendium in multiplayer section dozens of times.
You will get into a lot of errors not knowing how to run code on who and which machine does what.
Getting controller on clients on actor they don't own will also return null since client only know their own controller.
Ok ill look it up
Read, fail, repeat.
Work on basic replication, know how to use is locally controlled, switch has authority to filter who does what. Know net roles,
Then you can start with some practices like changing the color of a model. Then try a door next.
Being new and multiplayer doesn't go really well. If you are not versed in OOP I will strongly advice against starting multiplayer project
Not trying to gate you in anyway, but I would give that advice to my self looking back
Yeah ive heard that a lot
The big challenge is having to deal with multiple instances of the game. You will get more errors than you asked for and IMHO that will be an obstacle to your learning.
i figured since my project was mobile that it would be easier
mobile is even more difficult imo
ive been wrong so far lol
Have to optimize even more and deal with packaging issues
How does mobile multiplayer even work without making your own backend? Is there already a platform out of the box for unreal engine for mobile?
Which part of mobile tho?
If you need a dedicated server for player inputs that can just be linux whatever distro
But mobile listen is something I dunno anything about
I'm gonna stick with steam and listen
If the game make money by some miracle, then I will attack dedicated next
anyone know a good tutorial to create an equipment system with using data assets?
Possibly very silly question: I'm going through an early tutorial regarding UI, and it had me make a basic button widget blueprint for us to reuse. It has an event graph where we set the font size to be equal to a public variable. This mostly works, but I'm noticing a discrepancy in the resulting font size. When I give it 14 for the variable, it sets the font to 18.67. When I give it 20, it sets the font to 26.67. It seems like the resulting font is always 1/3rd larger than the provided variable; what's going on here?
Sure enough, adding a "multiply by 0.75x" node to the font size variable results in the variable matching the resulting font size. Very strange.
I tried putting a breakpoint on the event graph to check the value. I've unplugged my variable and am just trying to set it directly to 15. 15 appears to be the number being passed along, but the resulting font size remains 1/3rd larger (20).
Maybe something to do with dpi scaling
I've made no adjustments to it, so it's at whatever the project defaults are
Try #umg
Ah, thank you so much! Apologies for asking in the wrong channel!
They r hidden by default. I hope someone versed in umg can help you there.
Is there a specific downside to the fact that my interface functions w/o a return are implemented as custom events vs overridden functions? I might just be doing custom events wrong atm but they make my event graph really messy and I like the contained nature of functions, but it seems wrong to add a return value just so that my implementations get put in functions
A function does not neccesarily need a return value
You can make a function that doesn't return anything
Right; the issue I'm running into is if I have a blueprint interface, but then I implement that function; it gets dumped into the event graph 🤷♂️
Blueprint becomes spaghetti real quick if you work on your core system imo.
The most you can do is collapsing the events to nodes and write comments
yeah I'm feelin it
I would favour components over interface, especially for equipment.
That's the plan! I was just finding an example in one of my random prototypes 😄
I finally used an interface in my project again, been like a year since last time 😀
Only because it made sense to use get actors implementing interface
i have a dumb question but im not sure so, im trying to make an enemy class/system to use and build upon later, but not for like a slasher game, im making a platformer, and havent rly been able to find many good tutorials for platformer enemys and movement, where should i start?
Just try to do the thing IMO
What do you know how to do already?
i made an enemy that when the player enters a trigger box the mesh of the enemy moves closer to the player if theyr still in range, but then nothing happens the enemy mesh just stays on the character i havent done much w enemys other than that
Working on setting up a mech builder. I have multiple components that are either static or skeletal based on needed animations. (gunfire, reload, etc.) Is there a cleaner way to list a single entry for each component outside of this? The CharacterMesh is my movement skeletals, so they stay. the heirarchy after that is what im looking to simplify where possible else i'll have like 20 things there for just the mech parts.
I'm working on a shop sorting system where you can sort items by rarity. To do this I'm using an int value for the items from a data table. For whatever reason, the value I ALWAYS receive is 0 for each items rarity value. The lowest number actually set in the DT is a 1, and it goes up to 5 if the player has it. I've restarted my engine, the MUE server, and have saved and compiled with countless changes. I've refreshed all the nodes everywhere that deals with my item systems, and even rebuild half of my code from scratch
I previously had to add a new variable to the structure before for the items, and that populated instantly and worked perfectly the moment it was in. I don't understand why this new integer isn't working and why none of my items have it, despite all the data moving around properly
trying to make enemys like this
nvm, it works for some reason now. This engine makes me wanna rip out my hair
You can always just swap if its an engine problem ☝️
Sounds like a BP struct issue
like a control that tells the turret which direction to rotate on the yaw based on the players location relative to the turret
yeah so dot product the direction towards the target and turret.rightvector
Although, why do you need to avoid FindLookAtRotation?
Bp struct should be avoided for that reason. Changing the struct data especially after its been used somewhere normally a recipe for disaster. Mainly the corruption, unknown struct error or resetting to default values.
You should declare your struct in cpp as it doesn't have any of the issue above. It's not even hard without coding knowledge since you can preview and copy the header file from the struct assets.
So I'm learning the Math Expression node... anyone got any good ideas on how to generate a point cloud inside a specific density/spacing range relative to the circle radius?
is this still a thing? I had a game prototype absolutely ruined by this in the past
surely it's a bug?
Still a thing on 5.4 , I am guessing it will still be a thing at 5.5.
The general consensus is, it will never be fixed.
Had never managed to make 5.4 working because It kept freezing 5 sec every 10 sec ...
lovely
Anybody know how to get rid of that warning ? "No Value will be returned by reference. Parameter : both arrays"
Perhaps you can't pass by reference
And you most likely have reference ticked. Show the detail panel of the event.
ok I ticked pass by reference, compiled, unticked it, compiled, and it's gone
thanks
UE is such a diva
Hello,
I'm thinking about making a dialogue and was wondering if it's possible to "wait" inside a function, until a selection is made via button press in the UI and only after that continue and return from the function?
No
Regular functions need to run in one tick
Just run your function and act on the return value when you’re good and ready. You can use a dispatcher call if need be
Might also be a use case for coroutines but you’d need to go cpp
Alright, that info helps, thank you :)
You would want a latent task
Or coroutine function
Can I implement this in BP or cpp required?
BP bros, why wont this grab the bool value from the BT? always false, in debug, and in the BT, it shows true
Blueprint debugger (watch list and the like ) not reliable
Or watching values from pure function
I actually never used it but I heard from a number of ppl that it doesn't work as is.
Is someone willing to try and help me with an anim notify state issue i have?
Basically I'm doing the following in a blank project in 5.4.4 (also tried the 5.5 preview):
- Create an Anim Notify State Blueprint
- Override the Begin function and add a print string for "Begin"
- Override the End function and add a print string for "End"
- Add the Anim Notify State to the quin idle aninmation
Now on stanndalone this works as expected and at the beginnging and end of the notify the messages "Begin" and "End" get printed.
But on play as client those messages seem to print every tick instead.
I couldn't find a matching issue other than UE-217698, but it doesn't quite sound like this one.
Anyone know whats going on here ??
You can see as I move around in Wireframe perpesctive theres black outlines of other stuff in the world oddly
I get those too, always figured it was just a rendering bug
it probably is
but it's pretty annoying
I'm wondering if it's something to do with nanite being enabled and wireframe
What actor? What the projectile hits?
What the projectile hits would be the 'Other Actor' on the overlap event. You can check it's what you want and if it is, call the destroy actor using the 'Other Actor' as the target.
This is the code on the enemy BP
Like this? @dark drum
other actor returns an instance, it will never be equal to the class. Generally you'd want to even avoid doing this instead checking if the hit actor has a tag or implements a component and if so calling a function in said component or using an interface, but you can still do what you're doing using a get class node
Whos destroying who?
The projectile destroys the actor
The enemy actor
I didnt set any type though
casting is a type check
oh true the cast literally is a type check too
Ah
the equals wouldn't work, but if it did it'd be redundant
blue pin = reference to instance
Purple = class
i.e. the reference you get from the hit is for that very specific unique instance of the enemy
Hey, when my character crouches, its feet sink into the ground. It seems related to the capsule component, and moving the mesh up slightly while crouching doesn’t look natural. Does anyone know of another solution?
Show what it looks like.
Hey people, please I need some help! I'm using metahuman and i can't pass a variable for the look at function. I tried casting the metahuman bp and then reference the animation blueprint and then set a variable from the current (BP_Switcher) that I'm working to send a variable (a camera location) and the casting fails for some reason, and the connection seems impossible. I tried implementing interface, and nothing works. Even if i tried to fetch the variable from the Event Graph of the animation bp it said out of scope and also the casting didn't work as well. does anyone have any tutorial other than this: https://youtu.be/NZmQPSKf7YY or this https://youtu.be/8skq8t_Fffk for an NPC to look at the camera you want via 3Dvectors? I'm working with Animation BP and i don't know if i can add control rig at the same time. Any help or direction would be much appreciated
I'd say its an issue with the animation not being positioned correctly. You might be able to get away with enabling force root lock but if not you'll either need to move up your skeletal mesh or move the animation up. (This can sometimes be tricky)
its not related with animation when character crouch without animation still sink into ground
When you crouch the capsule component gets smaller (as it should) this moves the skeletal mesh down. (which again is perfectly normal) As I've mentioned, you'll either need to move the skeletal mesh up or modify the animation.
or move the capsule down
i use move to component for my mesh with timeline but does not look natural
The capsule is the root so that would just move the whole actor.
then move the mesh up :P
yes i did that already
This is why
You are trying to implement your own crouch code but you didn't calculate the offset correctly.
Cmc already handle crouching, there are some works behind the scene that calculates the final mesh offsets, etc.
i also try with unreal crouch node still same result
You should just use the crouching function in cmc if you are using cmc
i dont use cmc
No issue on my end
Well the you are not using the crouch function in cmc if you are not using cmc
Issue here is you most likely offset the capsule
So your character will sink naturally
Since its transform is effected by parent
So you need to offset the mesh so it stays on the ground.
How? I dunnoe, maybe look into cmc crouch implementation
Quiet a bit of work from what I recall
yes this is working but here’s a bit of bumping when crouching and uncrouching, and it doesn’t look good
If I want to use CMC, my character class and controllers need to inherit from the CMC class, right?
Character already use cmc
Cmc is a componrnt
But it's tightly coupled to character class
Then just change the crouch height in the settings or something along those line
Then call crouch function when you want to crouch
@silent stag Only 1 setting actually
cant use that im using smoothsync and i have to set false replicate movement
trying to adjust this move component to mesh
for what purpose are you using that plugin?
and I don't see the connection between what you said with the actual crouch function
the crouch function offsets the capsule half height, based on the crouched half height, then do some stuff to calculate the character's final mesh offset
When I'm not using SmoothSync and playing on the server with 50-60 ping, the character's movement looks choppy, and it doesn’t look good at all
I am not using SmoothSync, my movement is not choppy
is your movement choppy in editor too?
in 50-60 ping yes
ping don't matter if you code correctly
you need to work with CMC framework
what ever bandaid you have isn't a solution
actually ping don't matter at all. The only time it matter is when the character bump into something on high ping, then server will have to correct
let me test again without sync
and by ping don't matter I mean if you work with the system as intended
you can't have smooth movement in multiplayer with blueprint alone
the part where you need to toggle the bit flag can only be done in C++
multiplayer bp is very limited, especially for fast action game
thats what smoothsync does
at most, you can do turn based / card games
Smoothsync will not be a bandaid
but if you think otherwise, well let me know if it work
Also still not seeing the connection with the crouch function
Hi, how to make bool state from adding child widget button?
Lets say If I click button A state selected, If I click it button A again state Unselected. And If I click Button B state selected, unselected button A.
I can get it working on adding manually button since I can have multiple event click. But im confused with adding child way.
it does not replicate cmc is crouching when yo set false replicatte movement
you can add another bool for that but same result anyway
well you are turning off replication entirely and using a plugin that interpolate transform as a way to "fix".
that's not a bandaid I want to afford because I need the thousands of codes in CMC especially for networked movement.
why would this crash PIE in 4.27?
You want to make a generic widget that does just that.
W_MasterButton -> Contains all the Mybuttons that can be added at run time
W_MyButton -> Store internal state (Selected / unselected)
you can have event dispatcher in MyButton when a button is clicked
This will call function in your W_MasterButton that can do w/e it wants (e.g turning the state of all other buttons except the last selected button)
I’ve tested it at various ping levels, and the current result looks much better than what CMC provides
Nah my guy, you just never use CMC correctly for multiplayer
it's not something you can tackle without biting the bullet
Hello guys, does anyone know why my character glitches out when playing a “hit reaction” anim that I have? Also when dying he again glitches and looks weird. What could cause that?
CMC is battle tested and what is used for fortnite, Unreal torunaments, etc
your plugin literary just forcefully apply transform
you have a point but i dont have that settings for now
This is how I currently handle 3rd person crouching. It's probally not the best way but I use a spring arm for the camera so it allows the camera to smoothly transition down. For the animBP if crouching is true, it moves to a crouching anim. I might include the transition anims in the animBP as well instead of using a montage.
You'd need to show what you mean. I would say a glitch is a pretty broad term.
The node itself wouldn't. What message do you get when it crashes?
This is very close to mine, i have different problem thanks anyway
diamond pin = reference.
fk around with it and you may crash
You can also add this to prevent uncrouching if there's something above the character
making an array of object types,
which of those does actors belong in?
All of those are actors.
Actors are object that can be placed into the world
so that goes for walls, floor, projectile, vehicle, w/e listed there
every thing you can select in your level is an actor
hey everyone I'm trying to call a Boolean value from my one Blueprint to another Blueprint. Picture I'm sending is the end of my first blueprint, in my second blueprint I want to make if WheelsDone boolean is True, then do something. I'm not sure how can I call this boolean on my second blueprint
It looks like an issue with your additive animations. The top half is being moved dramatically. It would probably be best to ask in #animation.
Hi, now I can select the index child accordingly. However the previous clicked button still mark as selected, I'm using border opacity render. How to let the system to know the previous button while am clicking the new button.
when you create the button assign index to them
for example.
Create 4 buttons
For loop -> For Each button, add index = current index
so you will have button 0 with index 0, button 1 with index 1 and so on
to know which button was selected last, you just store reference to the button
Have Last Selected Button object reference variable in your W_Master
pass the reference to the button when it's clicked via event dispatcher
Thanks its working now
Anyone having an issue in 5.4 where the rotate to normal isnt working? The snapping to surface works but the rotation doesnt change.
Don’t crosspost
Oh sorry, its not an animation but an impulse
Is there a way to set this value in the RigidBody node in all child ABP of the parent ABP?
Like I would like to have a different override physics asset for all child of that blueprint. Right now we just don't use the parent, the behavior is manually copy pasted in all blueprints and that's a pain to edit, especially because they all share the exact same behavior, with the only difference being the override
EDIT: Using ue 4.27
can someone help me w figuring out enemies? every tutorial ive seen is melee or fps, and i just want ones u can jump on or use powerups to defeat them
Have you made them walk yet?
yea i have one walking either from random points in a nav mesh or two set points
thats it
i want to be able to have the player jump on them to defeat, or press their spin attack input that rn only plays an animation
or, use a powerup to defeat them
why when i change actor location i loose ability to grab it in vr
Using UBIK yields this error, I used the package as is and haven't touched anything, do you guys have any idea? It was working yesterday, without any issues 🙂
Is it okay to call a Get DataTable Row node every frame ?
hi, there is the node : Load Level Instance.
Is there a node to unload the level instance? i don't find an Unload Level instance
or maybe i have to save the reference to be able to do that?
Hello. i have a general question as of, how to approach a system for BP implementation.
I am having a game project, RTS; multiplayer, and i have construction of buildings and spawning units;
as well as units. For being able to save the game and load again, as well as to
clearly correlate health and other attributes to spawned actors (Buildings, Units)
I consider giving each of them a unique ID.
I have looked a bit into methods: Data tables apparently cannot be expanded on runtime,
only changed. That could potentially work as well, if i had thousands of placeholder rows, i guess;
however, seems a bit odd to do.
The other option would be storing unique ID in Maps or Arrays on generation; Now i wonder if i can store arrays inside of arrays
(and if that potentially would become a bit too bad for management).
Each instance of the spawned actors has a variety of properties that i have to save.
If i had arrays only, i would have to have unit ID and then a long list of MAPS where this ID has
a Map for each individual Value of the properties used. Sounds tedious as well.
is there a way to use structs directly, because i have them from my data tables;
or, use data assets that i create on runtime in a certain structure to represent individual unit's properties?
The background is, on my building system, which runs in my master building,
it cannot distinguish between building instances spawned, so the progress update is broken.
Some buildings spawn complete, others never get updated, and its somewhat not reproducable.
Hence the idea of clearly attaching an ID to each individual build progress.
Would you have any recommendations?
Thank you. Sorry, long post.
i have used bools in the actors, and then used these as conditions for the states in the locomotion in the animation BP of that actor. It worked and seemed straight-forward.