#blueprint

1 messages ยท Page 369 of 1

gentle urchin
#

Replace the array with indexes if you want it to create the tiles aswell

verbal kayak
#

ahh, thats another macro

#

talking about what patty pasted

dark drum
#

Double click to open it up to see how it works.

verbal kayak
#

yeah not for me that one

faint pasture
#

just loop my guy

X = Index/width
Y = Index%width

verbal kayak
#

umm what

faint pasture
#

how to get the coords from an index

verbal kayak
#

no im still talking about filling grids

gentle urchin
#

Thata the logic youd use to fill it

#

ForLoop -> CreateGridActor @Location = (index%XTileSize, index/XTileSize, 1)->Store In Array

verbal kayak
#

this is what I have and it works.

#

what you mean creategridactor

gentle urchin
#

Whatever you have that represents the grid

verbal kayak
#

what are we talking about

#

I want to just create first an address book for future objects to be spawned on

gentle urchin
#

So a struct then

#

Thats fine

#

Id pop in some draw debugs to ensure correctness ๐Ÿ˜‰

verbal kayak
#

i checked it

#

its correct

void jewel
#

Did they change anything on overlap? I'm using get overlapping actors (also tried overlap event), but can't get it to work. I'm pretty sure this bp was working a few weeks ago.

  • There are two actors/blueprints trying to overlap each other
  • both have set to overlapAllDynamic
  • overlap events on
  • tried using trigger volumes in case there was something with collision model
faint pasture
verbal kayak
#

no i changed to array as you told me to

#

so now it works and I can simply get an address from array index, right?

faint pasture
#

What is the array of, show it.

#

It's an array of xxxxxxxxxx

verbal kayak
#

its that v2 array in pic

void jewel
verbal kayak
#

changed it from timeline to foreachloop also

faint pasture
#

they're structures, what is in them?

verbal kayak
#

x and y coordinates

faint pasture
#

why would you need that

verbal kayak
#

its my addresses

faint pasture
#

but the address is calculatable from the index

#

what is the actual thing this grid is a grid of? What's the actual thing you care about, not the addresses

verbal kayak
#

i want limit of -2500 to 2500 both x and y values.

#

Then i spawn them inside that criteria. When I destroy the spawned objects, i remove them from spawned array

#

i need them exactly 100 units apart

#

so no random -2459 values and such

dreamy mountain
#

how would i make it so that the child actor component on my character blueprint is set to the battery the player decides to interact with? not done much with child actors

verbal kayak
#

you mean you want to get values of your child actor?

dark drum
zinc ermine
#

How can I save and load which pickup has already been picked up?Im struggling with this very much so any help would be very appreciated

dreamy mountain
dark drum
# zinc ermine How can I save and load which pickup has already been picked up?Im struggling wi...

I have 4 episodes on an inventory tutorial that covers saving. Unless you're using uobjects for your item data you wont be able to follow it but the explainations might help.

https://youtu.be/MPMCIQsHXz8

Welcome to this tutorial on how to create an inventory system in Unreal Engine 5! In this video, we'll go over the concepts of setting up an inventory system using Unreal Engine's powerful Blueprint visual scripting language.

In part nine, we look at how we can start serializing our item data ready to be saved. So whether you're a beginner to U...

โ–ถ Play video
zinc ermine
last peak
verbal kayak
#

ever?

last peak
#

Ever, ignore it, find something else to use instead

verbal kayak
#

care to elaborate why?

#

I mean, i understand that everything can be done without them, but is there a particular evil reason why?

last peak
#

Watch this recorded session from Unreal Fest Seattle 2024 that uncovers the truth behind Unreal Engine best practices.

Are Ticks really that problematic? Should you make all your meshes Nanite? Is the ChildActorComponent truly cursed? Should you never use Cast?

You've probably heard many of these so-called ""best practicesโ€. Check out this...

โ–ถ Play video
#

They will break the question is not if, its just when
Same for structs

verbal kayak
#

yeah structs suck

#

well yes childactors suck too

#

funny they dont remove it then

#

guess, it will break everything and maybe for super simple stuff, ok. but then again if it is simple you can do it without childbp

last peak
#

he says it himself they use them for very simple stuff like vfx attachments

#

But if you attach something to it with some logic your in it for the suffering lol

verbal kayak
#

even the whole cast to child actor thing just sucks

#

but never thought about even the replication issues

faint pasture
#

It sucks that they suck, can't wait for scene graph

#

Designing a door actor inside a room actor inside a building actor is a PITA without being able to see stuff at design time

narrow pulsar
#

Why is this not working? The "DrainStamina" tag remains applied the whole time and is never removed even though it fires, I also checked the "return value" of the remove active effects nodes and it always returns "0" (didn't remove anything)

gentle urchin
#

cant you just store the handle and remove it by handle?

narrow pulsar
#

I've tried as well, also didn't work

gentle urchin
#

also the second half of it can be combined to a single function/event

#

Personally I'd probably just have a blocking tag for it

#

and keep the GE active

#

that way it can still be predicted

narrow pulsar
#

I can't seem to figure out the exact reason why it's not removing, because if I include the removal at the top right after it's applied it's being removed, but if I do it at the bottom 2 then it doens't get removed even if it "runs"

gentle urchin
#

and the tags on the GE is correct?

narrow pulsar
#

yep

#

Ah, it's server related it seems

#

Somehow applying is running on server(?) and removal isn't

gentle urchin
#

wasnt that a setting in the GE aswell

#

client authority or smth

narrow pulsar
#

in the GA it has this , GE has nothing related to authority in details

gentle urchin
#

ah ok ok

maiden wadi
# last peak https://www.youtube.com/watch?v=S2olUc9zcB8 40:10

@verbal kayak We use CAC in Atre: Dominance Wars. But pretty much for the same thing. Our map actors can be upgraded and I wanted to allow designers to make preset displays for the tiers. So they made actors and I place those using a CAC.

But it's worth noting that this negates any and all of it's issues.

CAC runs perfectly fine AS LONG AS YOU DO NOT SAVE IT WITH THE LEVEL. It's serialization can fuck up at times. Beyond that... ๐Ÿคทโ€โ™‚๏ธ It's fine. Ours are all set at runtime, so we completely bypass it's issues.

last peak
#

How did you guys handle the units without hardcore performance drops ?

maiden wadi
#

You mean the armies?

last peak
#

ye

maiden wadi
#

The big units are just characters. Navwalking, very optimized for movement.

Armies that follow them are Mass units. KaosSpectrum had a fun time on those. ๐Ÿ˜„ He's the mastermind behind that.

gentle urchin
#

that's pretty cool

verbal kayak
#

oh, good to know @maiden wadi . Thank you

left sage
#

I was hoping to get some help with this issue we're having all of a sudden, we're a team of developers and we just noticed that we cannot Add/Remove/Change any variables of this struct without the editor crashing with this error consistently with 100% reproduction.

This is the structure of the BP in question
BaseNPC parent class
-----BaseVillager_bp child class
----------BaseVillager_Humans_bp child class

Animals_NPC is also a child of BaseNPC and I thought that was causing an issue so I temporarily removed the BaseVillager_Humans_bp from the project so I could delete that variable from the struct without crashing, then put the BaseVillager_Humans_bp back and the crash still occurs upon any further editing of the struct.

I don't see any obvious circular dependencies either

dark drum
# left sage I was hoping to get some help with this issue we're having all of a sudden, we'r...

You're in for a rough road ahead. Large BP based structs such as this can become problematic when trying to change.

With it being an object base property, you'll need to go through and find everyone where the strict is used and send the specific property to null.

Once done, you should be able to remove it.

However, I'd recommend splitting your struct up into smaller ones or define the struct in C++.

left sage
#

our skeletal mesh setup is a little peculiar so I'm investigating there for something that looks off.

tropic torrent
#

dude I just had the most fucked time fixing animations lmao
my animation has AnimNS_HitDetect and I'm pretty sure I need to do something with it

blueprint selects attack from attack count variable, plays the chosen montage and when it completes it resets amount
execute line goes into a ++ to increase attack count
all that works, but I'm confused how do I get the AnimNS_HitDetect

#

play montage -> On Notify Begin -> Print String doesn't work ๐Ÿ™

#

good news I found out I need a HitDetect function in my character

fathom hazel
#

Should I be using custom events like functions? As well, what do you guys think are the most important bp aspects to learn about? I've learned a bit about interfaces, now I'm learning about custom events and when to use them. If they're literally just the bp version of function's, then I won't even learn more and I'll skip past it.

dark drum
dark drum
azure smelt
#

Hey Guys I really need help with something. I am working on a maze type game and want to put holes in the landscape for the player to jump over. The thing is I want to be able to move those holes based on a blueprint actor. The idea i have is a line trace will hit the landscape and put an occlusion in it, but i want to have multiple occlusions and my landscape material is a repeated grid pattern.

I wish i could just make a static mesh that overlaps with the landscape and where it overlaps it acts like a boolean.

I'm not sure how to approach this, my current idea is to make my grid texture into a very tiled texture via GIMP and then use that so i can occlude where i want based on alpha. but this idea will be difficult to make work with holes i can drag and drop in the game.

PLease help!!

dark drum
maiden wadi
#

Lol. Dynamic landscape effects. RIP.

left sage
#

best bet might be using the Voxel Plugin

maiden wadi
#

There are those patch things. But I have no ideia how good they are.

faint pasture
#

Show a picture

azure smelt
maiden wadi
#

We're still using landscape in Atre unfortunately. But it's 100% flat. Our rifts and stuff are purely visual with WPO offsets in the shader.

#

Oh, if it's just visual then yeah. WPO

azure smelt
#

I was also going to have a box component to turn off collision with the landscape when jumping over the hole

#

I just want some kind of occlusion to work on the landscape.

#

without the use of a 2d scenecomponent

dark drum
fathom hazel
maiden wadi
#

Our artists did such a great job on those. ๐Ÿ˜„ You can see that the white wireframe of the landscape here is perfectly flat.

They hid the material around the model and the model has some shader stuff on it that blends to the landscape's virtual texture.

faint pasture
dark drum
dark drum
fathom hazel
#

Or maybe I don't understand, although I'm using them fine currently so it's more likely I just suck at explaining

maiden wadi
fathom hazel
# maiden wadi Can you link this by chance?
Epic Games Developer

Blueprints that declare functions to define an interface between Blueprints.

tropic torrent
last peak
#

It gives it back its innocence

maiden wadi
# fathom hazel https://dev.epicgames.com/documentation/en-us/unreal-engine/blueprint-interface-...

I don't see anything on the doc site unless I missed it?

The one mention on the forum part is that it causes a hard reference. Which is partially true. But also dramatically stupidly simplified. It's perfectly fine for parent classes to be hard referenced together and all be loaded at all times. C++ classes work in the same way.

The main issue is when you cast to some class that has a lot of assets. Which is why you use inheritance. You cast to a parent class and call the function on it, which the child can override. Your casts stay light on their referencing and you don't get a memory linker issue.

And I feel it's CRITICAL to point out that casts cost no runtime performance. And as Pattym said an Interface does. An interface call can cost up to 20% more than a basic function call. Likely nothing in normal use cases but by comparison it is still a chunk more.

There's a big issue around this whole topic because people say stupid shit like "cast bad for performance!" and really don't explain or even understand what they're saying themselves. There's two issues going on which are the runtime performance cost of the call and then there's a broader linker issue which is a massive topic in itself but essentially translates to asset loading problems and memory consumption.

The TLDR casting is not bad for performance, interfaces are not a linker savior.

dark drum
maiden wadi
#

Executed, not unique.

#

It does cache the result for every other node, but every executed node will cause it to rerun.

fathom hazel
#

I feel like I'm likely to make a mistake when it comes to casting, versus with interfaces it's not as easy to make a mistake (from my limited knowledge)

maiden wadi
#

You're more likely to make a mistake with interfaces, honestly. And more likely to be copying code around and making things harder to follow.

faint pasture
#

You have an animal. You want to tell it to bark. You cast the animal to Dog since Dog is the thing that implements Bark.

faint pasture
#

If the animal was a turtle it'd fail

fathom hazel
#

Made a vow to myself to actually understand all the code that I make, and I promised that I would not copy slop from videos and instead I'd actually understand it.

maiden wadi
#

Noooo. You cast to Animal and tell it to "MakeNoise". Dog just happens to implement that as a bark. ๐Ÿ˜„

fathom hazel
#

That's why I'm coming here, because I want to fully understand and grasp these concepts.

faint pasture
fathom hazel
#

Looked at something that had to do with ray casts, went back and looked at every single node to understand what they do and why they do it.

faint pasture
#

You have an overlap event, but importantly, that event gives you the overlapper as an ACTOR.

fathom hazel
dark drum
faint pasture
#

You don't know if it's a Character until you cast. Character is lower in the type heirarchy.

last peak
dark drum
maiden wadi
#

You should never use an interface to avoid casts. If you are, you're using them for the wrong reason.

#

Casting, Delegates, Interfaces. All have their place, and they do not replace each other.

faint pasture
#

But you got a cast to the interface anyway lmao gottem

faint pasture
#

And they are all wrong

#

Unless your interface is implemented on multiple unrelated classes it's a bad idea pretty much.

fathom hazel
#

Feels like Reddit I've got 2 people saying 2 different things ๐Ÿ˜ตโ€๐Ÿ’ซ

dark drum
#

I've used an interface once in the past 6 months. It had 2 functions in it. Lol

last peak
maiden wadi
#

You don't need interfaces for that.

fathom hazel
#

So much shit I don't understand ๐Ÿ˜ญ

faint pasture
#

Component with a delegate is the better interface prove me wrong

last peak
faint pasture
#

At least at the actor level

last peak
#

its a bp phenomenon

dark drum
last peak
#

I like components for this too

#

get component by class - do wahtever you want, no cast no annoying implementing a interface

#

and only a tiny bit of overhead from the comp

dark drum
faint pasture
#

Yeah I really like just doing things as components talking to components, letting their actor know about important things.

Also sometimes you need some state. Interface is great for Interaction until you need to statefully hold CurrentInteractor

last peak
#

Like you can get component from actor

maiden wadi
#

It's not. You don't need interfaces for that in BP. You need a correct hierarchy or other systems. The Dog Barking is a good example. If you want to be quick about it, put the MakeNoise in a parent class like Animal which has no assets. It's fine if things link to Animal. Dog overrides this and Barks.

An alternative to this is abilities. Generically tell anything to run an ability that isn't on cooldown with a thing like a tag like MakeNoise. It runs it's ability. If it's been granted said ability it uses it.

Both of these things stop memory link issues that people abuse interfaces for, and both are a better way to implement this than an interface.

last peak
dark drum
#

A cast is just a type check.

last peak
#

calling a function in another class

faint pasture
last peak
#

The extra work seems minimal

dark drum
faint pasture
last peak
dark drum
last peak
#

not that i would use a lot of interfaces in the first place

faint pasture
maiden wadi
#

I have a Dog, and Cat. I have Animal as their parent.

Interface:
I implement the interface function in Dog and Cat, and make them play their animations and sounds separately in each.

Inheritance(cast):
I implement this logic in Animal, and make properties for the animation and sound. I set these on Dog and Cat with no additional programming required just some properties set.

Now when I add Fox I simply set properties instead of having to implement the function and copy the code.

Interface calls also cost up to 20% more runtime in BP. Their overhead is nasty in some cases.

dark drum
#

Bugs can be harder to track down. Inconsistent behaviour as it can become dependant on how it's implemented in X number of class ect..

faint pasture
#

I have zero interfaces in any of my projects.

next hollow
#

I never knew there was a interface cost.
I always assumed it was just a cool function call

last peak
#

Unless you have A LOT of classes with interfaces

next hollow
maiden wadi
#

I'd also note I'm not a fan of either of these points as making something make a noise sounds a lot like an ability. Which turns into a more compositional approach than either interfaces or casting.

faint pasture
#

I would say damage would be a good usage of an interface but it's implemented in the base class of Actor since Unreal comes from an FPS background.

I prefer component whenever I can usually.

Using damage as an example, you want a bullet to damage what it hits. You could:

A: implement the damage call at the common class of all actors, Unreal did that. You make something damageable by being a subclass of Actor. You could add a default implementation as long as you're ok with all damageable things being subclasses of some base.

B: implement damage as an interface. Each target has to handle what being damaged means. You make something damageable by implementing that interface.

C: implement damage as one part of the API to your HealthComponent. Just get component by class and call. You make something damageable by giving it a HealthComponent. The actor binds to OnDamaged and OnDeath etc. The actual math of applying damage to HP can just be done in the component, invisible to the actor.

last peak
#

What about interactables? A interaction component > interface ?

#

Or better polymorphism ?

faint pasture
#

Since it can have state, like who's currently interacting, or if it's locked, or whatever else.

last peak
#

Im getting different info on inheritance alltogether i head several times now i should always replace inheritance with components if i can composition > inheritance

faint pasture
#

Or a location

next hollow
# last peak What about interactables? A interaction component > interface ?

Also, in some contexts, components allow for better expandability.
If I need to make an interface change, or addition I do it everywhere.
For a comp.
I can edit the comp and everything is changed.
Or, if I have my comps setup a way, that supports copies of themselves (like interaction)
I can have a basic interaction comp.
Then, just add a 2nd one, for advanced, or class specific interactions.

maiden wadi
# last peak Im getting different info on inheritance alltogether i head several times now i ...

Not at all. Composition and Inheritance are very different ideas.

Back to the Dog/Cat thing. You won't make everything an Animal that just has different components. You could do this, you could make a Noise component and place different ones on Cat and Dog and make them play different sounds that way and change their mesh, etc.

But realistically you'd never do that. Animal has a set amount of things that all animals have, and you configure or extend these things in child classes.

Composition is the idea that you want to reuse functionality across multiple classes. StaticMeshes for example, you might need one static mesh in one Building actor, and fifty static meshes in another Building actor.

Abilities share the composition idea in a way that you may have 10 buildings, but only two of them might have the ability to upgrade. Or three of them might have the ability to detonate.

But I'll still make Building children. Turrets, Radars, Traps, etc. Same as I'd still make Cat and Dog.

last peak
#

I think first i heard it in some coding tutorial on youtube, i went down a entire rabbit hole and since then i bareley ever used inheritance, sometimes for very short chains
Base class item - equipment - helmets for example but never any further

maiden wadi
#

That article thing is correct. You shouldn't use inheritance for code reuse. That's what composition is for.

last peak
#

Lets say you have animal, some animals should give birth some should lay eggs

Would it be better to inherit or composition that behaviour?

With make sound i guess it makes sense, all animals should make a sound, but if we have the give birth thing wouldnt components be better ?

Base class animal
2 components
Egg layer and birth giver component
Or just a animal component that simply checks what type the animal is
are we mammal or avian ? - lay egg or give birth

maiden wadi
#

Probably. Because this is again in ability territory. Should have the ability to lay an egg, or the ability to birth. Whether you handle that through a real ability system or through like components is semantics.

faint pasture
#

assuming there's a categorical split like that

#

lol

next hollow
#

EverythingComponent with enum EComponentType. ๐Ÿ˜›

fathom hazel
#

what connection is it expecting?

#

i have zero clue what connection i would put LOL

gusty oasis
#

hello I have a question, how do i apply the day/ night cycle on every other level maps and continue the time? the chat system I have created only works on one map either. I also tried to test it in the different map but the simple box collision with open level node freezes the game or it starts from the different server than the opened one.

fiery swallow
fathom hazel
#

Also nice profile picture

fiery swallow
#

that's the answer to what goes in target. Your next question is probably "how do I put it there" or something like that

#

You need a reference, there's many many ways to get a reference to something

#

the easiest in blueprints is to just do use the node "get owning player pawn"

#

and then cast it to your class

#

Ex: Get Owning player pawn -> Cast to MyCharacter -> Cats remaining

#

if someone tells you to use a blueprint interface instead casting tell them I said to shut up

fathom hazel
fiery swallow
fathom hazel
#

I'm probably going to go to blueprint square one and watch a 3 hour long video on blueprints

#

I think that'll help a lot

fiery swallow
#

Lesson 1 Mr. Pika. All the youtube videos telling you "Don't do this!" are probably gonna spend the next 10 minutes lying to you

#

They delete all of the comments of people trying to fact check them

fiery swallow
#

No, do you have a video and specific timing of something he said I'm happy to watch it and fact check it for you

fathom hazel
#

Seems pretty good though

#

Here's the specific video

fiery swallow
#

I would say watch as many videos as you can to learn all the different ways you can do stuff and all the useful nodes. What's important is that you take everything they say with a grain of salt though

#

People who make YouTube tutorials are almost always hobbyists who have never actually worked in the field they make the tutorials for. But I don't mean to be completely pessimistic, they are are still very helpful and are necessary

brittle flicker
#

Hello everyone i was working on a basic dash ability and i was wondering if there s a way to make the player dash based on where he looks and not only his velocity?

i was able to kinda achieve this with this set up but the player velocity still "overpowers" the way the player looks as well as the dash not working at all when the player dosnt move and sadly i also need the player to be able to dash while not moving

#

@fiery swallow oh hii moxie nice seeing u here lol

fiery swallow
#

but I feel like this should work for what you're trying to do

spark steppe
fiery swallow
spark steppe
#

e.g. SetVelocity(GetVelocity() * 0.1) before you dash/launch

brittle flicker
# fiery swallow xy override should stop the "overpower" thing you're referring to

@fiery swallow @spark steppe i already fixed the overpower problem by this node!

rn im trying to figure out how to fix the player not moving at with the dash if hes standing still + i was curious if its possible to combine both looks direction dash and key press dash (as in line i want to dash left or right without looking left or right

brittle flicker
spark steppe
#

only take look at direction into account if they dash forward, and with all other key combos dash into the "direction of the key"

#

๐Ÿคท idk how other games handle that and what specific behavior you are after

fiery swallow
brittle flicker
fiery swallow
#

as for dashing while not moving this code shouldn't effect that... Can you try changing your launch velocity to like 1000 or something as well and see if you move forward at all? I'm wondering if you're just colliding with the ground and it's not letting you move because of it. I don't really have the editor open to trial and error myself

brittle flicker
brittle flicker
fiery swallow
#

we used add impulse in the character movement component instead of launch character but It's probably the same underlying code

#

my suggestion for simplicity sake is to just find the minimum z required to make your dash move while not actually leaving the ground.

brittle flicker
#

thx for the help

gentle urchin
fiery swallow
#

I considered mentioning it but flying would mean no gravity during the dash and idk if he wanted that :p

#

some games you can dash off of ledges smoothly onto the floor below for example

gentle urchin
#

I'd probably solve that in code manually, as that removes any constraints given by the cmc for the move

narrow pulsar
#

Anyone got a good tutorial for left hand IK that works for multiple different weapons / positionings? I tried a couple videos, one didn't work the other worked but wasn't good enough, hand still drifted away (was based on weapon socket positions)
So far only way I've seen was simply using constraints in the animations themselves but that's a lot of work for animators ig

last peak
# fathom hazel what connection is it expecting?

But the tooltip is already telling you
Self is not a gamestate - the left pin is always the target, from where are you pulling this cats remaining int

If this variable exist inside your game state you need to pull from there

#

How do you pull from gamestate ?

#

Get gamestate - gives you your gamestate object
cast to - your specific gamestate

#

from that - get cat remaining

dark drum
narrow pulsar
#

What am I missing here to ensure the IK remains bound to the socket/weapon?
As you can see, the position works well for the start, but once animations start the hand position doesn't really end up working well.
https://medal.tv/games/screen-capture/clips/lGvRIFsHte6BEsI4A?invite=cr-MSw1RXMsMjAwNTA1NDU4&v=14

Watch IK not working properly by Steeljardas and millions of other Screen Recording videos on Medal. #screenrecording

โ–ถ Play video
dark drum
narrow pulsar
#

yea but the animations are several frames long it, even if it's a lagging a tick behind it should sort of keep up but it isnt at all

dark drum
narrow pulsar
#

yup

austere coyote
#

I need some help. I have created a vending machine with buttons that i can click on with the mouse. I have made an interaction mode that allows the player to switch the camera view to click the buttons when they are within the interaction collision of the vending machine. i also made a test mode that allows click events without changing the camera view or being inside the collision. By doing this i have discovered that my click events do not trigger if my character is inside the interaction collision. Can anyone tell me how i can make sure my click events trigger when the player is inside the interaction box?

mortal fossil
#

does it work when outside?

hearty rain
#

can you explain a bit more how you implemented it ?

mortal fossil
#

anyone have idea why this work . It s a normal actor blue print calling other BP in my level

#

and i tried to put that in the BP_level and doesnt work anymore

hearty rain
#

Delay does not work in For Loops

mortal fossil
mortal fossil
#

no problem it work

#

problem is my interface dont work in the BP level

hearty rain
#

well keep in mind that latent nodes inside a for loop is a recipe for bugs, if it works then good but careful

mortal fossil
#

i redone all the node ....

mortal fossil
#

see above that simplified verson with just the actor directy drop one by one no array no for loop

hearty rain
#

I have never seen the compiler error you have here

mortal fossil
#

but the interface is broken i dont know if it s limitation of the level blue print or me

#

look like a bad copy past you need redo the node... i redonne but just same error pop ...

hearty rain
#

are you sure of your references that you are feeding in the interface input ?

#

the target

mortal fossil
#

yea sure .... like i have both Both side by side

hearty rain
#

hmmm maybe try to have 3 nodes that call the blueprint interface, each one with a single actor as a target

mortal fossil
#

man your genius

hearty rain
#

not sure UE really like to have multiple targets for interfaces call

mortal fossil
#

that worked

hearty rain
#

๐Ÿ”ฅ

mortal fossil
#

that anoying. is there way i dont have to have same shit copy past for each actor ?

#

just it look bad lol

hearty rain
#

aside from building an array and making a for loop I don't think so ...

mortal fossil
#

lol ok so i will avoid

#

let s do pasta

hearty rain
#

but if you collapse nodes you will put dust under the rug and it will look all clean

mortal fossil
#

i feelt that a bug on Level BP . because i have done in another level with just a separate BP lot of actor goes to the pin and no problem...

#

no sorry i m telling shit was different method

#

stuff was in the bp

dark drum
#

Show the nodes.

verbal kayak
#

ahh, my bad. was wrong variable connected.

fathom hazel
dark drum
# fathom hazel It is

Its advised to avoid using these as they run on tick. It can be that bad, Epic even added an option in the project settings to disable it outright. ๐Ÿ˜…

For most UI stuff, you can update things based on events. For example, when the value is updated, there's a call back (event dispatcher) that things can bind too. Saves having to check each tick and repeatedly updating something that hasn't actually changed.

hearty rain
last peak
fathom hazel
hearty rain
fathom hazel
# last peak It doesnt

He said not to use tick, and so I was wondering what the scenario is to where we shouldnt be using tick

#

Because that says it's fine to use tick in moderation

fathom hazel
hearty rain
#

because it's not useful to have it run on tick since you can avoid it

#

tick are not an absolute evil to avoid at all cost, but if you can have an event driven scheme it's better

fathom hazel
hearty rain
#

well collisions for instance

last peak
dark drum
# fathom hazel He said not to use tick, and so I was wondering what the scenario is to where we...
Epic Games Developer

Learn best practices for reducing the amount of resources used in UMG widgets and HUDs.

last peak
hearty rain
#

since it will have to update every frame

last peak
#

or else it becomes choppy

fathom hazel
#

I see

#

Unfortunately I gotta go, I'll be back later but good to know

maiden wadi
#

It's also important to keep event driven stuff pretty clean too though. You can easily cripple a game with events that just run too much to the point tick is actually faster because it only updates one time per frame instead of 120.

#

Everything in moderation.

crimson briar
# fathom hazel I trust you, but how does this go against https://dev.epicgames.com/community/le...

In other words - it is not the tick that is the problem here, but updating the value when it doesn't need to be updated. If you change your stamina every second, but it is bound with the widget binding - the widget will try to update it every tick, even though it only changes every second.
It is just wasted processing power. Doesn't matter with one widget but can grow somewhat with many of them

maiden wadi
dark drum
# crimson briar In other words - it is not the tick that is the problem here, but updating the v...

Just to add to this, the reason the bound properties in widgets can be bad is because some things can cause it to redraw the whole widget which can be resource intensive as it is. As a project grows and widgets get more complex, it can have a snowball effect where your frames will tank even though nothings really happening visually.

(Of course this is an extreme example but can be easy to get to if not careful)

dark drum
maiden wadi
#

They also break when you start correctly using invalidation boxes.

crimson briar
#

I believe there was a game like this. Like the player could only see photos of the world, which showed the world every few seconds or something

#

But maybe it was just a visual representation and it still ran on more fps ๐Ÿค”

faint pasture
#

Tick is the core of the entire engine. It's the thing that runs per frame. If you need something to update smoothly per frame then something, somewhere, is ticking.

#

The concern is doing unnecessary work on tick. Either work that doesn't have to be done every frame, or work that doesn't have to be done at all. But if the work has to be done every frame, it just has to be done.

maiden wadi
#

Still makes me laugh a bit that like over 95% of games in Unreal aren't splitscreen. Even the multiplayer ones are single screen... But every single one of them ticks to see if it should show a second screen in the viewport. ๐Ÿ˜„

faint pasture
#

If people had any idea how much actual work is done per frame just with engine defaults their mind would be blown.

faint pasture
maiden wadi
#

It's also important to note that stuff like UI tends to get more of a pass than other things. Even if stamina updates every 1s that doesn't mean you want the bar to snap. It's perfectly acceptable to make the UI interp to the current value for a visual niceness while keeping gamepaly code quick and performant.

This is a common effect in online games where you don't get snappy updates constantly but want your UI to feel smooth. You might not get updates but every 0.2-2.0 seconds. And interpolating it hides this from the player a bit. Makes it less messy.

faint pasture
#

Why doesn't unreal have an auto magic on update call back for uproperties? Like a fundamental built-in way to say hey, call this function when this value changes. Seems like that'd be very useful as a fundamental engine construct

maiden wadi
#

Probably cause it'd just be abused worse than delegates are. MVVM tried to solve that but it's... convoluted.

verbal kayak
#

anyone noticed in 5.6 that bp debug firings of execution lines dont always show?

gentle urchin
#

tick is a per frame update

#

does health change every frame? No. React to OnHit instead

maiden wadi
#

We had a speed property in RS2 that literally updated over a hundred times every frame for each marine. Eventually that got bumped down to like 20-30 per marine. But it was still faster for me to update attributes on tick in UI at this point because that one attribute was triggering assloads of delegate calls. One thing updates a thing, which broadcasts, which updates the original thing, which broadcasts again, etc etc etc until it settles finally. Like I said above, event driven can be just as terrible or even worse.

gentle urchin
#

sounds like a pretty rare edge case

#

but yeah there's definetly scenarios you'd want to use tick

#

you just gotta be aware what tick actually is, and use it when appropriate

maiden wadi
#

GAS isn't much different. If you have attributes that rely on other attributes. You change one thing and you suddenly have dozens of attributes running their OnChange functions.

verbal kayak
#

am i the only one with this random lines only firing up in ue debug?

gentle urchin
#

there's like 30 of them that rely on each other xD

#

im fine for now, but i'll defineitly watch out xD

verbal kayak
#

on some zoom some lines show, some dont.

maiden wadi
#

Nah. It's normal. But I'm just saying that it can hurt if you're listening to each of those and updating UI. Your health gets buffed or something and it causes changes to something that causes another change etc etc etc. Meanwhile your healthbar widget updates a few times instead of once at end of frame after everything's settled. Wasted update calls everywhere. And it spirals incredibly fast.

#

MVVM kind of worked on this where it only actually broadcasts the change at end of frame, but it's annoying to use IMO. Would be nicer if this was more of a default behavior. Cause slate doesn't update until after everything else anyhow.

faint pasture
#

At a certain level it might actually be faster to just tick and fetch a bunch of data than having delegates scattered all over the place reaching their grubby little fingers into your state

#

I prefer to just tick once, pulling all the data I need, and then revisiting it if it's a bottleneck. Never has been, but I don't make huge UI-driven things.

hearty rain
last peak
hearty rain
#

ew

maiden wadi
#

Yo I heard you like loops. So I put a loop in your loop that loops your loops.

last peak
#

FRACTAL LOOPS

#

recursion to infinity!

hearty rain
#

I heard the screams of a million UE Editor instances triggering infinite recursive call detections

faint pasture
#

it's literally such a huge algo that it would result in like 20s run times

#

probably even worse, never got far with it in BP before moving to C-style C++

hearty rain
#

had some issues with this as well for some editor utility functions where I was working on huge amount of actors at the same time, doing some sorting...

faint pasture
#

WFC scales something like N^4 or something else rediculous, it's so much work.
Fairly simple model but huge tight loops

hearty rain
#

O(N^4) is quite obscene indeed

austere orchid
#

can i not create widgets in objects?
Function ' Create Widget generated from expanding Create Widget ' is unsafe to call from blueprints of class ' Object '.

dark drum
lethal pollen
#

Hi!

#

How can I move a pawn with an Axis2D Input Action?

#

I know how to move a character with its Add Movement Input:

#

But I don't know how to use it with a Pawn.

#

Thanks!

fathom hazel
dusky cobalt
#

so all you need is Owner (AActor* variable) set by AActor that 'holds' the UObject, then when you call Initialize(AActor* InOwner) you can access world easily and create widget should work

maiden wadi
faint pasture
#

just:
Tick -> math -> set position
Very good way to learn the fundamentals.

lethal pollen
#

OK

faint pasture
#

Protip, you can fetch action values, you don't have to use the events

#

makes continuous things like movement a bit more ergonomic

last peak
#

you can peek at them to learn it

faint pasture
#

character is a nasty coupled mess

last peak
#

mhm true

faint pasture
#

I'd recommend to everyone that the first thing they should do in any engine is make a sliding or rolling pawn with WASD and look controls, directly.

faint pasture
#

Forces you to learn how inputs, collision, traces, update/tick, and cameras work in whatever engine it is

ocean cloak
faint pasture
#

see something missing

faint pasture
#

BTW I'd recommend you just make a ModifyHealth and feed it a negative or positive

#

also clamp CurrentHealth between 0 and MaxHealth after the addition, no need to check and branch, clamp is built in

maiden wadi
#

~Cries in Gameplay Effects~

severe coral
#

Hey, I want to make some items that react to sounds made by the player. Is there any built-in delegate or something I can bind to? Or should I just call my own event dispatcher in every function in my Pawn class that makes sounds? I've seen some things related to this issue with AI agents but Im not using AI in this game

ocean cloak
faint pasture
lofty rapids
maiden wadi
vestal palm
#

Hi all, Iโ€™m hoping can get some advice on spawning NPC ships for my game. Iโ€™ve researched pooling and want to see if itโ€™s right for my game based on how the ships are created.

I have a single ship blueprint that is โ€œbuiltโ€ on BeginPlay from DataAssets (ship mesh is chosen, sails are added & configured, movement settings are applied etc). So the whole thing is dynamic and data driven.

Would this work with pooling? Considering each ship is pretty unique (there are presets of sorts, but generally some parts will be different due to data assets) would I get the peformance improvements pooling provides?

Does anyone have any tips for how I can spawn ~50 different ships without the frame drops & freezing?

My thoughts were pooling and staggering each โ€œbuildโ€ part across ticks to spread the load out, is there anything I can do more?

(If this isnโ€™t the right channel lmk)

faint pasture
vestal palm
vestal palm
# faint pasture I wouldn't bother pooling then

When I spawn one currently I get a visible frame drop/freeze, is that more likely due to my code / initialisation rather than anything else?

Trying to think how I can stop the frame drops if I donโ€™t pool

faint pasture
#

profile it and catch the spawning frame and take a look at what's eating your time

vestal palm
royal yarrow
#

I'm having an issue where my 2D Paper Sprite character won't play the flipbook animation when I press down the E button, I set InputAction. The "Print string" works but the flipbook won't play when E is pressed.

faint pasture
royal yarrow
#

So I did get it to play by "Set IsAttacking" but now when I use the attack E button, it messes up my other animations like Jump

#

Would it help to share my Blueprint?

#

It seems like once I press the E button to punch, it messes up the walk and jump and doesn't reset everything

faint pasture
#

the path between the e button and when you play the anim

royal yarrow
#

This is all I got

woeful mesa
#

Does anyone know why my blueprint eventbeginplay isn't firing even though its placed in the level?

gentle quartz
#

So I have an ak-47 mesh, and I attach it to the socket but the orientation of the socket when equipping it in game is different then the way I set it on the skeletal mesh.. any one know what could cause this... (For example I set the socket vertically in the skeletal mesh but when I pick up the weapon in game its horizontal not vertical like how I set it in the skeletal mesh)

maiden wadi
woeful mesa
#

right now single

loud tree
loud tree
woeful mesa
#

One actor

loud tree
# woeful mesa One actor

Sorry ended up in a bind

Are you using any kind of delays?
Also what debugging steps have you already taken?

last peak
#

Or a bug

maiden wadi
woeful mesa
#

It works now (shows in the world), idk how I fixed it. I just reopened the project. Thanks for trying to help.

Although I do have another issue (this time probably with the code, not a weird bug), but I'll share it tomorrow
Thank you

fathom hazel
last peak
last peak
#

You can also always cast to your player

fathom hazel
#

so since its literally a game state its not like it matters

fathom hazel
last peak
#

lets say you have Actor horse and actor saddle
For the saddle to exist horse must exist first so casting is always fine too

sand shore
last peak
#

If there is only one horse with 400 attached cosmetic (for whatever reason ๐Ÿ˜„ )

#

The cast is fine as long as the thing your casting from depends on the class anyways

maiden wadi
sand shore
last peak
#

Peak gaming. Two knights one horse each, and Christmas trees as weapons. I got hit so hard an ornament popped off and KOโ€™d a bystander. 11/10 finally a game that understands what gamers want!

#

this game will make billions

#

Kinda gives me monthy python vibes

maiden wadi
#

Someone would have to tranq me on the floor to stop me from wheezing to death if that ornament part actually happened. ๐Ÿ˜‚

sand shore
#

Honestly if we could fill out the rest of the team this seems like a ton of fun

bright void
#

Hi guys, any pointers as to where i should dig to find out exactly what these expensive ticks are?

#

answer: stat tickables

thin panther
#

and the profiler

bright void
#

its the landscape subsystem

mortal fossil
#

what you recommend for a time line of event in my level ? now i was using a main BP and communicate with interface. should i useEnevent dispatcher ? and for the tme line Event tick ?

distant grotto
#

can I get a reference to the mesh assigned to the static mesh component from a class reference to the blueprint actor?

#

class reference as in the purple one

next hollow
#

Not within BP's limits.
You'd need to spawn the actor, get the value, then destroy the actor.

distant grotto
#

ok thanks

gilded eagle
#

Hello,

I have the Game Animation Sample Project 5.7 , and Im trying to use my custom characters on it,

But its different to 5.6, and I managed to setup my character by copying the meta human sample Kellen,

But I cannot switch my characters as the system is different now,

I switched to original project and start testing out how to switch,

Found out that I can add a slot in the widget blueprint, Visual Overides array,

But when I click on the character on runtime, nothing changes,

This is the exact same character as the above row, but there is something missing when I add it again to 2nd row, and cannot find what it is and there are not much details out there still.

Looking for help

normal halo
#

does anyone know how to cut a hole into a mesh that's inside a blueprint? I'm trying to hollow out a cannon barrel.

severe turret
mortal fossil
#

Save it

mortal fossil
brittle flicker
#

hi guys i am working on a wall jump mechanic and was wondering if theres a way to allow the player to wall jump from any angle not just when facing forward?

this is my base for the wall jump and rn i am using the forward vector as the base angle for the jump

harsh patio
#

Hello everyone,
I need some help.

I am an experienced Unity developer with 6โ€“8 years of experience in Unity and C#, but I am currently stuck with an Unreal Engine Epic Achievements task and donโ€™t have much experience with Blueprints yet.

I want to publish my game on the Epic Games Store, built in Unreal Engine 5.4.4. For publishing, Epic requires Epic Achievements.

I am using the** EOSCore plugin**, and it initializes correctly, but the plugin does not provide clear or complete Blueprint examples. I followed the official documentation and created the Blueprints myself, but the game crashes right after a successful Epic login.

I only need help with a simple setup:

One Epic Achievement

Initialized in the Main Menu

Unlocked when entering or completing a level

No need to login again and again

If anyone has experience with EOS / Epic Achievements in UE 5.4.x, I would really appreciate your guidance.

Here is my current method

hearty rain
#

I'm not sure the kind of mechanic you are trying to achieve here, but with the normal you can have the character either jump perpendicular to the wall or with a mirror angle with respect to its forward vector

brittle flicker
hearty rain
#

oh so you want to detect wall anywhere around you ?

brittle flicker
brittle flicker
hearty rain
#

break hit result

#

but that's not what you want

#

here you want to do something like a capsule trace around you character

#

or maybe some kind of for / loop sweeping of line traces at different angles

brittle flicker
#

yeah i was thinking to do that but i didnt find any info on how to do it.

hearty rain
#

be careful thought because running this on tick might get heavy quickly, you should run it in a timer with like a 0.1 period

#

checking every frame is way overkill

brittle flicker
brittle flicker
hearty rain
#

unless you want the wall jump to be automatic, you should fire it only when you press the jump input

#

then again I don't know the game you mentionned ๐Ÿ˜…

brittle flicker
#

the only thing tho

hearty rain
#

one thing for sure, if you want to do multiple regular tracing, do this in a timer to reduce computing load

brittle flicker
hearty rain
#

so instead of a "line trace by channel", go for a capsule trace

#

radius should be the maximum horizontal distance to a wall you want to reach

brittle flicker
hearty rain
#

half height the maximum vertical distance

#

yes replace the line trace with the capsule one

#

and if you breeak the hit result, the "impact point" vector will give you the location of the nearest wall

#

(well I think so, please correct me if I'm wrong because it would be useful to know)

#

Lets move to DM to avoid hogging the chatroom โ˜บ๏ธ

brittle flicker
hearty rain
#

My pleasure, I'm at work and bored as hell so it's always nice to do some "remote programming"

brittle flicker
gilded eagle
sharp falcon
#

Hello everyone,

Iโ€™ve been working for some time on a system where a character can walk on any surface.
The system works well overall, and gravity is correctly computed using line traces.

Iโ€™m currently facing a major issue when the character is walking on the ceiling, i.e. when gravity is (X=0, Y=0, Z=1).

On the attached video, Iโ€™m only pressing the forward movement input. However, when gravity is set to (0,0,1), the behavior depends on the camera orientation:

If the camera is facing the X axis, movement works as expected.
If the camera is facing the Y axis, the controls become completely inverted.

This is not an input issue, but appears to be a reference frame / rotation problem caused by how movement direction is computed relative to gravity and camera orientation.

Technical context:

Unreal Engine 5.6
Blueprint only
Movement is based on Add Movement Input
I compute a custom rotation using a function called โ€œGet Gravity World Rotationโ€, which is applied after Get Control Rotation, before being used to drive movement.
All relevant Blueprints are shown in links below ๐Ÿ‘‡

Question:
What is the correct way to compute a movement direction that remains consistent regardless of camera orientation when gravity is inverted?
More specifically, how should the movement basis (forward/right vectors) be reconstructed when walking on ceilings, to avoid axis inversion issues?

Get Gravity World Rotation Blueprint : https://blueprintue.com/blueprint/xqabh94v/
Movement Input with Gravity : https://blueprintue.com/blueprint/dd7absby/

hearty rain
#

Why are you using quaternions instead of rotators directly ?

ocean cloak
crimson briar
#

No, it is not creating it twice

hearty rain
#

Also, where is the save/load in the video you attached ?

hearty rain
crimson briar
#

You only need to be careful with pure nodes - the ones without the execution pin

hearty rain
#

Yep I guess that's where my confusion comes from

crimson briar
#

Non-pure nodes keep their outputs after they were executed once

hearty rain
#

ok good thanks for the correction

crimson briar
dark drum
verbal kayak
#

So I have an object that moves fast and on collision it is stopped. My move mouses the object. In really fast movements i hit somewhere and collision is made and it stops the object. The problem is that now my object is really not touching the collided object, but a bit before it. How to improve?

dark drum
frosty heron
#

have you try turning on CCD (Continues collision detection)

verbal kayak
#

yes, no help. ccd everywhere

#

collision is actually on sphere trace

frosty heron
#

Collision is on sphere trace?

#

I don't quiet follow.

verbal kayak
#

spheretrace gets hit

frosty heron
#

Yeah but not sure how that relate to your collision component.

lethal aspen
#

hi guys
if i may ask u something please

what is the meaning of vaiable in blueprints?

frosty heron
#

if all fails, you might have to evaluate it your self.

verbal kayak
#

who said about collision component?

lethal aspen
#

is it a represntation for a value or number?

frosty heron
#

vaiable? You mean variable?

verbal kayak
#

lol value is number

#

or anything

lethal aspen
verbal kayak
#

it is something that can change. hence VARIable. number, state, string whatever.

frosty heron
# lethal aspen yeah

It's named containers.

Your computer stores data in some storage. To make it viable for programming, you just declare a name for that storage space.

#

so you can refer to that storage space if you want to change the data.

lethal aspen
#

so it is like a box for information

dark drum
verbal kayak
#

who said colliding with other traces?

#

my object has sphere trace. it hits other mesh. it should stop

#

but sometimes if really fast mouse flick, it stops even before.

#

so a hit has happened but visually the object that is movable by player is not even close to the object.

#

nothing else in level.

#

just these cubes

#

empty level. Cubes that player object can collide into are the only ones there.

verbal kayak
#

and right now its 1 cube.

frosty heron
dark drum
verbal kayak
#

that player dead bool says that stop line tracing from a mouse cursor, so effectively stopping the player object being moving.

#

I was mainly hoping for some answers maybe in the project settings?

#

but there is none for frame stuff i guess.

dark drum
verbal kayak
#

wot?

#

i just said

frosty heron
#

Tracing has nothing to do with stopping movement

verbal kayak
#

LOL

frosty heron
#

unless the movement is performed with the boolean check

verbal kayak
#

Sphere trace checks if it hit death object. IF hit stop player?

#

and yes its is performed with boolean check AS I told earlier.

frosty heron
#

You are assuming that others can read your mind tbh. We don't even see where the PlayerDeath is used.

dark drum
frosty heron
#

btw it helps to draw debug trace to visualize the trace.

#

when it's tick dependent, you can't get away with simple traces in a low fps environment or when you move something too fast.

verbal kayak
#

that player dead bool says that stop line tracing from a mouse cursor, so effectively stopping the player object being moving.
I was mainly hoping for some answers maybe in the project settings?
but there is none for frame stuff i guess.

#

this is what i said

#

tried with 120 fps and 60 fps

#

same stuff.

dark drum
#

What you've done is the same as me doing this:

'I'm having an issue where when i set a property in a widget, its not updating the text.'

and only showing this.

frosty heron
#

have you look at your debug trace?

#

see if you actually hitting w/e you want to hit.

#

maybe the same problem with people trying to do melee trace and doing it on tick.

verbal kayak
#

you mean the sphere trace or another debug trace?

frosty heron
#

they don't really work in real envinronment, the band aid for that is to perform backtracing.

frosty heron
#

see if in game, it actually hit the object.

#

and confirm with pring string or breakpoint.

verbal kayak
#

yes it hits

#

game over screeen appears

#

i print the hit

#

as you see in the pics

#

all info i gave you

frosty heron
#

Nope, I don't see much from the pics

verbal kayak
#

??

frosty heron
#

i give up trying at this point.

verbal kayak
#

what else you want?

#

What else you want?

frosty heron
#

All the code related to the problem you are having

#

including screenshoot of the confirmed hit, visual, etc.

#

we don't have your project

#

it's hard enough to read your mind, let alone debug a project we don't have physically.

verbal kayak
#

there is confirmed hit in pic

dark drum
verbal kayak
#

no? you dont say what else you want

verbal kayak
dark drum
#

I give up. ๐Ÿคฃ

verbal kayak
#

what now?

#

I give you everything you asked?

dark drum
crimson briar
#

How you are moving the object is important too, nto onyl the bool itself

verbal kayak
#

In my opinion, problem is that really fast mouse movements just skips the trace frame somewhat on the movement. but its weird though that if it skips, it should not be dead.

#

I tried btw, without the delay node also. Just wanted to add that there to see if it improves the problem of stopping too early.

dark drum
# verbal kayak

The issue is that you never set the location on the frame it becomes dead.

crimson briar
#

Isn't there a simpler way to get the mouse location? Something like Get hit under cursor? It is not related to the problem though

verbal kayak
#

so i should save every frame the loc and set that loc when dead?

#

i tried that also

dark drum
#

So it seems your logic has two methods of becoming dead. The first one was triggered by the sphere collision which is why it looks correct. The second on however was triggered by the line trace.

If triggered by the line trace, it's location is never updated.

verbal kayak
#

yes, there is one for the cube barriers

#

and then there is one for the white area.

#

maybe i just do a distance check based kill

#

i think line trace is before

#

so thats why it stops and sphere trace is behind

dark drum
#

So you should die if the cursor goes over the cubes (boundary) or if the sphere overlaps it?

verbal kayak
#

sphere overlaps it with its trace

#

i think i will put both places last location, maybe that helps and then set it on every death.

dark drum
verbal kayak
#

cursor is line trace basically checking for navigable area. If it hits that white area its dead. Also Sphere trace is there to check if it hits those cubes around.

crimson briar
#

It seems pointless to have two things doing the same check

verbal kayak
#

Also I have a problem, that even if it did manage to stop around the cubes, fast flicks of mouse put the location in center of cubes. I would want the sphere to immediately stop on the edge.

#

ok, pointless for you maybe, you dont know game mechanics, BUT Even if i remove now the white area check, I am still with the same problem.

#

now the set location thing actually helped a bit

#

i am not stopped too early.

#

but i have now this problem that the sphere is inside the cube. I would want only the edges to touch and stop there.

#

frame issue I guess?

crimson briar
#

I would suggest you to stop for a second and prepare a concise explanation of this mechanic - what you want to achieve

dark drum
#

Before you move you're sphere you need to do a line trace from it's current location to the new desired location (cursor). If it doesn't hit anything, you can set the location directly. If it does, then you need to set the location to the hit location minus the radius of the sphere in the direction of the line trace.

verbal kayak
#

hmm

#

yeah i guess that could do the trick

dark drum
#

The current line trace for the white area does seem pointless as the sphere would end hitting the boundary anyway and dying.

#

Removing it keeps the death logic with the sphere trace instead of in two places.

verbal kayak
#

white area is not redundant at all

#

its a safe check.

#

because I can skip those barrier cubes with a real fast mouse flick.

#

and then i can just move freely in that white area.

dark drum
#

To be fair, you could probally remove the sphere trace all together.

maiden wadi
verbal kayak
#

sweep i tried, but the trace is not now hitting it ๐Ÿ˜„

#

or make trace just a bit bigger

#

but yeah the sphere trace is needed to the other gameplay aspects, so I cant remove it.

#

and sweep moving, is not working also on speedy mouse flicks.

maiden wadi
#

It's not functionally any different than tracing to the new location and setting it.

verbal kayak
#

i know? but it skips also

#

also it means now that i need to make sphere radius tad bit bigger, and create a fake visual mesh to represent the actual bounds

#

because if you have sweep, now the sphere stops at the wall in slow speeds, but the trace is not hitting, which is not nice.

#

and with fast mouse flicks, it completely ignores the sweep.

#

is there by the way a way to limit cursor speed?

#

what are those v. marks in hit locs?

dark drum
verbal kayak
#

ahh

dark drum
#

I had a slight error. Fixed in this one.

verbal kayak
#

what is difference in line trace result impact point and hit location

hearty rain
#

for a line trace there is none

verbal kayak
#

ok just making sure.

hearty rain
#

hit location = location of the shape when the impact occured (so if you have a sphere trace it's going to be the center of the sphere)
Impact point = location of the actual collision with the detected object (for a sphere trace it's going to be on it's surface)

verbal kayak
#

yep

ocean cloak
#

Hello everyone! I'm new to Unreal Engine 5, and my goal is to fully understand all the engine's details and underlying logic, rather than just copying tutorials. I'm looking for the best resources (especially on YouTube) for these two core areas:
1โ€คEngine Interface and System Details: Could you recommend a comprehensive introductory course that meticulously covers every part of the interface (World Outliner, Details Panel, Content Browser, etc.) AND logically explains the relationship and roles of core Actors like Controller, Pawn, and Game Mode?
2โ€คBlueprint Logic Mastery: What is the best video resource or documentation that deeply explains the Blueprint Execution Flow and the Communication Logic Between Actors? (Specifically focusing on the differences between Casting and Blueprint Interfaces). What are key logical concepts (e.g., using Timers instead of Event Tick) I should master for writing clean and efficient Blueprint code?

dusky cobalt
# ocean cloak Hello everyone! I'm new to Unreal Engine 5, and my goal is to fully understand a...

Check pinned posts in discord (can also check other channels if you need something specific).
If you are very new to programming I liked very much this introduction to the blueprints. He also goes trough the unreal engine interface in first videos.
https://www.youtube.com/watch?v=IipvT6aGinM&list=PL2A3wMhmbeAq3WOT7kQ0EGby1YMb0zj5_

Are you looking to learn how to use Unreal Engine Blueprints and visual scripting? This unreal engine blueprint tutorial is the perfect place to start! Welcome to: The Visual Scripting Crash Course Series! In this series, I'm breaking down all of the essential blueprint building blocks for understanding visual scripting in Unreal Engine. Star...

โ–ถ Play video
lethal pollen
#

Hi!

#

How can I declare a variable of type array of actors?

#

Is this one? The Item Array?

#

Thanks!

white parrot
lethal pollen
#

Thanks!

lost hemlock
#

hi I have a problem.... If my cast here fails, then I will get some errors on my screen... how can I disable these errors?

#

I tried doing something like this

#

I tried to add these Make Str

inner locust
#

What nodes would I use to remove one IMC for a pause menu, then re-add it when unpausing?
For context, my main game IMC and the pause menu IMC both have an input action that use B on the gamepad, but only one or the other is active at a time with my current blueprints.

woeful mesa
faint pasture
woeful mesa
white parrot
inner locust
white parrot
# inner locust What node do I use to disable the IMC?

Same way you added it to the local player in the first place, through the UEnhancedInputLocalPlayerSubsystem (that would be to remove it, instead of disabling, and re-adding when you're done).
Also, if you're using CommonUI - there's generic back / back handler setup already (if i recall that's the same button as B).

inner locust
#

I'll try in a moment

woeful mesa
#

Should I just give up.?

#

ok NOW i have figured out the issue. The TimeRAW variable does not update in the bp_fog when it updates in bp_sky.

Is there a way I could make it so that when TimeRAW (float) in BP_Sky updates, the TimeRAW (float) in BP_Fog also updates to be the same?

dark drum
woeful mesa
dark drum
woeful mesa
#

circle is where it gets called. the red line is the order of which the events go in

dark drum
#

Also, where do you bind to the BP_Sky_Fog event dispatcher?

woeful mesa
dark drum
# woeful mesa

So it doesn't look like your actually using the event dispatcher so i'll move away from that. The issue is because the time that is being fed into the timers is 0. This means the timer never gets set.

#

Actually... remove the timer in the BP Fog thats called on begin play. Get you're Sky Ref -> Bind to BP_Sky_Fog and then connect the red square to the red square on the Fog Colour Change event node.

#

Alternative you can use a 'Create Event' node and select the event from the drop down. A little like this.

woeful mesa
#

Right?

dark drum
woeful mesa
#

I see.

dark drum
#

Personally, I would have an event dispatcher called 'OnTimeUpdated' and have it return a float for the new time. This makes it more useful, plus the name reflects when it'll be called.

#

If you want something more scalable, you'd actually seperate out the time keeping stuff into its own class. (an actor component on the game state would work)

Then the sky and fog would both bind to it to do there updates. This makes it easier to switch out different fog and sky BP's during testing.

It also means you can still have your time stuff without the visual stuff.

#

Having the time stuff seperated also makes more sense when you want other systems to hook into it and can prevent large hard refs.

woeful mesa
#

Ok i understand, it would be better for organisation aswell

#

Btw is there any way to connect the red line a different way?
I just don't want it to stretch across the whole blueprint if I bind multiple events to it yk.

sacred canyon
#

can I get some help with this rotation logic? trying to make an isometric shooter but having to have the camera face completely down to not mess with movement, and then tilt the player upward a little, but I cant for the life of me work out how to turn him on his local axis to point at the cursor, without just spinning on z axis
(background is placeholder obviously)

dark drum
woeful mesa
#

ahhh i see. does this affect performance at all? or does the name just trick me lol

#

actually it shouldnt affect performance. stupid question my bad

#

thanks for the help

sacred canyon
#

maybe Im doing this completely wrong because I dont think gravity would be possible this way, but when I tried angling the camera instead of the player the movement feels weird because of the perspective

faint pasture
#

him being the pawn actor itself

#

is the sprite the root component?

#

or mesh or whatever it is

faint pasture
sacred canyon
#

I did, and as I said that messes with movement (visually)

#

the skewed perspective makes you feel very slow walking vertically

sacred canyon
#

hmm, rotating the ground to the camera angle instead seems to work

#

kind of impossible to work with though

#

I dont know what to do anymore, I cant find anything useful on this

#

most good isometric games are actual 2d but I have no 2d knowledge

sacred canyon
#

like surely that isnt right? do any games actually do this? and if the vertical movement was "fixed", then you couldnt walk along the diagonal cubes at the start like that

faint pasture
faint pasture
#

theres zero reason you can't just do it and have the isometric come from the camera

#

Show the math for when you press W

#

and run "up"

sacred canyon
#

closed it now, but theres nothing, its literally just default character movement

#

and as I said, the movement IS consistent, its the camera making it look wrong

#

the camera is angled downwards so of course it feels faster horizontally even though it isnt

#

just like how forward and back looks motionless with a flat orthographic camera

last peak
#

lol

fathom hazel
last peak
#

can you explain in plain english what your doing here ?

#

node for node

fathom hazel
#

wait, no hold on its correct i think

last peak
#

so explain node for node

#

event interact

#

next?

fathom hazel
#

oh dear god

#

yikes

#

uhm

#

well

#

i understand why you said lol now

#

holy yikes

last peak
#

XD

fathom hazel
#

im deleting that message

#

thats embarassing

#

wow might even leave server too after that (kidding)

#

that is TERRIBLY embarassing though

fathom hazel
fathom hazel
#

at least its not being printed and ive fiddled with duration values

last peak
#

this is dirty btw

fathom hazel
last peak
#

Usually you dont want to modify it directly like that, it works but a cleaner way would be to create a function in your game state that decrements the cats and from that cast you only call that function

fathom hazel
last peak
#

You cant do latent stuff in functions

#

So everything time based wont work

fathom hazel
#

so whats best practice? always use function unless you need time?

last peak
#

yes and if you dont need a return value

fathom hazel
#

alright, this may be a misunderstanding from me but wouldnt the amount of cats be a return value?

last peak
#

ye it is

fathom hazel
last peak
#

Its a return value

fathom hazel
fathom hazel
#

i need a return value, but youre saying to use function (no return value)

last peak
#

Functions can have returns

#

Events dont

#

If you need a return use a function

#

For this task you dont necessarily need a retrun tho

#

you can do it with a return, you can also just read out remaining cats with a getter

fathom hazel
#

oh

#

ohh

#

thanks '

last peak
#

in your gamestate in a function
Decrement cats - cats-- return remaining cats

#

or you can just do the cast - decrement cats - then you take the cast again and say - get remaining cats

#

both give you the value

fathom hazel
#

ill definitely just use a function

last peak
#

thats cleaner ye

fathom hazel
last peak
#

ye it should

#

atleast once

fathom hazel
# last peak atleast once

i thought it worked for a milisecond in the top left. I stopped play and started again and it did not work

last peak
#

does this event even get called ?

fathom hazel
last peak
#

maybe your using the wrong game state then

#

add a print string to cast failed

fathom hazel
#

okay its failing for some reason

last peak
#

probably because you havent set this game state

fathom hazel
fathom hazel
fathom hazel
#

wait

#

cast

last peak
#

cast = you can access all variables and functions of that class

fathom hazel
last peak
#

ye

fathom hazel
#

awesome

last peak
#

the cast itself ias also not the problem

#

the cast is really cheap

#

the problem with it in blueprints is
If you cast you create a dependencie to the thing your casting to

fathom hazel
#

yeah hard reference

last peak
#

exactly

#

for other blueprints that are not global like game state you should look into delegates, components and interfaces

#

or do proper inheritance so you know when you can cast and when not

fathom hazel
dark drum
fathom hazel
last peak
fathom hazel
last peak
fathom hazel
last peak
fathom hazel
#

youre confusing me

last peak
#

and that a way better way is to use dispatchers

fathom hazel
last peak
fathom hazel
#

so youre saying to place it in the ui event graph?

fathom hazel
#

still not sure about event dispatchers, ill have to learn

#

oh, i think i may have figured this out

#

nvm i still got zero clue lol

last peak
#

Its just another way of decoupling

fathom hazel
#

gonna continue watching a video

#

ohhhh ive got it now

dark drum
#

You bind to event dispatchers so I don't want people getting confused. ๐Ÿ˜…

dark drum
# fathom hazel ohhhh ive got it now

Event dispatchers are great for widgets. Using the 'create event' node, you can use a widget as a target and have it call a function on widget. The widget doesn't even know it's bound to something.

distant grotto
distant grotto
fathom hazel
fathom hazel
#

its been a bit since i used timelines but that doesnt look right

distant grotto
#

it eases in and out

fathom hazel
distant grotto
#

the points are set to auto, the timeline that zooms in has the same curve and its fine

fathom hazel
mortal fossil
#

i m noob but nothing came of or true feel weird to me

tepid solar
#

Hey guys, I want to let a vehicle follow waypoints. But my vehicle doesn't move and I didn't find any tutorials that are useful for my case. That's the bp in my car. As car I use the BP_OffroadCar that comes with Unreal Engine. As Waypoints I placed BP_Waypoint actors in the world and added them to the Waypoints array.

hardy merlin
#

Is there a way to check if a given player controller has a particular UI class in its viewport?

#

I am trying to make contextual text appear on the screen without depending on the specific pawn.

errant mason
#

how to implement sitting in a chair or laying in a bed in FPS with no skeleton?

#

like interaction

#

press e to sit and then i sit and i can move camera around?

hardy merlin
#

No skeleton? So you just want to animate the camera as though it were a head?

errant mason
#

yes\

hardy merlin
#

You can put a slot on the prop and have the camera snap to the slot in whatever position and rotation would fit best.

errant mason
#

ive tried with set view blend it seems to work somewhat but idk jsut getting someone else's idea how to 'properly' implement it

lethal pollen
#

Hi!

#

I'm using this to move a Pawn, but it moves in a straight line. How can I make it move in a zigzag pattern?

#

Thanks!

fallow sierra
#

im currently woking on a project where the players movement is based on increasing physics linear velocity, is there a way to put a cap on the velocity?

lethal pollen
#

I'm comparing tags hard coding their names. Is there a way to do it without hard coding it?

white parrot
lethal pollen
#

A lot of questions

#

This is only an exercise, I'll leave it hard coded. Thanks.

crimson briar
# tepid solar Hey guys, I want to let a vehicle follow waypoints. But my vehicle doesn't move ...

DId you add a navmesh to your level?
Also moving in a loop like this won't work, since the entire loop executes on a single tick - meaning the car would always go straight to the last waypoint in the array.
You should be able to easly find a tutorial on AI following a waypoint, there are many of them. Like this one, although I didn't check if it is a good one, this guy is a hit and miss with the quality sometimes: https://www.youtube.com/watch?v=WqcDNlWEgsI

Hello guys, in this quick and simple video we are going to check out how to make an AI follow a waypoint path while patroling in Unreal Engine 5
โ†ช๏ธJoin My Unreal Club: https://gorkagames.club/
๐Ÿ“–Download Free Unreal E-Book: https://bit.ly/Free_Ebook_MasterUnreal_GorkaGames
๐Ÿ”ฅDiscord: https://bit.ly/GorkaGamesYouTubeDiscordServer

Simple ...

โ–ถ Play video
tepid solar
crimson briar
# hardy merlin Is there a way to check if a given player controller has a particular UI class i...

Depends. You can use the get all widgets of class node to get the widgets if they exist. But I don't think it is a good way to do it, especially if this is a multiplayer scenario and the server needs to know this.
I would usually recommend making some UI manager component that would keep track of all of the current players widgets. It coudl have functions to poll which widgets are active or even some replicated variables for this if needed.
Or you use a one main widget as a manager. Then this one adds and manages other widgets so it has knowledge what is active and what is not and can add additional context easly

frosty heron
#

also a better way is to use GameplayTag.
Helps your self from making typo especially on tags that are used in multiple places.

fallow sierra
#

Why doesnt this work? this runs every tick but when i print the value it doesnt change even though both actors are moving

frosty heron
frosty heron
#

but you will need EQS to make movement viable. If you are not familiar with EQS, start something simple with it.

frosty heron
fallow sierra
fallow sierra
#

ok so i did some testing and neither of these are changing even though the actual locations are, this is placed in a function so i dont know if that has any effect

fallow sierra
# frosty heron

find nearest actor is just finding itself, because it itself is in the array

fallow sierra
#

the print string still repeats the exact same thing

frosty heron
fallow sierra
frosty heron
#

I'm not sure how you are printing them, if the Sheep root is the player too for example, and you placed multiple instances of Sheep root in the map.
Sheep Root Y closest Sheep root maybe Sheep X. And if neither are moving then the value isn't gonna change.

#

to test, make sure you only place 2 instances of the actor.

fallow sierra
#

both are moving

#

i figured it out, i thought the sheep were moving but it was just a component of them, not the root

#

is there a way to get a specific component of the return value actor?

frosty heron
#

depends. If there is only one component in the expected actor then you can use Get Component function

last peak
#

In the dropdown you can look for the component you want

#

after that its a good idea to do a isvalid check on the component

fallow sierra
#

Hello, if i have a static mesh file, is there a way to rotate it and have it apply to all instances of it permanently? thanks

atomic hollow
harsh nebula
storm solar
#

trying to launch my packaged exe and getting the error below.
I have no idea why it's getting the D drive as unreal is not installed there neither is the project or packaged file.
Is there a way I can see what file is causing the error?

`Fatal error: [File:D:\build++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\Misc\PackageName.cpp] [Line: 924]
FilenameToLongPackageName failed to convert ''. The Result would be indistinguishable from using '' as the InFilename.

0x00007ff7d8f03e20 TalesCombat-Win64-DebugGame.exe!FPackageName::FilenameToLongPackageName() []
0x00007ff7d8f23af9 TalesCombat-Win64-DebugGame.exe!FPackagePath::TryFromMountedName() []
0x00007ff7d8fb84d3 TalesCombat-Win64-DebugGame.exe!UE::Serialization::GetLinkerLoadFromOwner() []
0x00007ff7d8fc0736 TalesCombat-Win64-DebugGame.exe!LoadPackageAsync() []
0x00007ff7ddc487a9 TalesCombat-Win64-DebugGame.exe!UGameplayTagsManager::LoadGameplayTagTables() []
0x00007ff7ddc4747b TalesCombat-Win64-DebugGame.exe!UGameplayTagsManager::InitializeManager() []
0x00007ff7dfbfbc89 TalesCombat-Win64-DebugGame.exe!UEngine::InitializeObjectReferences() []
0x00007ff7dfbf3dfa TalesCombat-Win64-DebugGame.exe!UEngine::Init() []
0x00007ff7dee3fa28 TalesCombat-Win64-DebugGame.exe!UGameEngine::Init() []
0x00007ff7e007dca1 TalesCombat-Win64-DebugGame.exe!FEngineLoop::Init() []
0x00007ff7e0091cce TalesCombat-Win64-DebugGame.exe!GuardedMain() []
0x00007ff7e0091e6a TalesCombat-Win64-DebugGame.exe!GuardedMainWrapper() []
0x00007ff7e0094b62 TalesCombat-Win64-DebugGame.exe!LaunchWindowsStartup() []
0x00007ff7e00a1a84 TalesCombat-Win64-DebugGame.exe!WinMain() []
0x00007ff7e4a2df0a TalesCombat-Win64-DebugGame.exe!__scrt_common_main_seh() [D:\a_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288]
0x00007ffadc96257d KERNEL32.DLL!UnknownFunction []`

next hollow
#

D: is the EPICs path, cuz your likely not using a source build, instead your running from EPIC, which is pre-compiled on someone elses PC basically.

What the log, or context, right before this?
That could provide insight, into the specific file, or etc.

harsh nebula
storm solar
next hollow
#

Oh, I miss-read. lol
I saw packaged exe, and assumed this occured during packaging/ cooking.

#

Not on startup.

slender burrow
#

Hello! I've been having a hard time finding a way to teleport a level after it is loaded. I'm creating a system which loads a level instance when the player gets to a door, and attaches that new level to the doorway using an "attach point" blueprint in each level. The connector ("from") blueprint, representing the doorway the player walks into, loads the next level as an instance. It then uses "Get All Actors of Class With Tag" to find the attach point in the next level and subsequently move it so it lines up with the doorway. In theory this should work. I simply move the new level to the correct position/rotation after the attach point is discovered, but unfortunately it seems that you can only set the level's transform after it is visible. I don't know why it's not possible to reposition a level during runtime, given that baked/static data would all conceivably move as one, but I suppose I'll just have to work within that.

Basically, I need to reference an actor in a level before it is loaded. To my knowledge, this is impossible.

My current thought is to make an editor utility script in order to automatically store the attach "to" points in a file adjacent to each level, though such a method is not very dynamic and I really prefer not to do it if possible. I'm sorry if this is a somewhat out there question, but I'd greatly appreciate any ideas or advice on how to do this. TIA!

unkempt hound
#

Couldn't tell exactly where to post this. But I'll try here too!

I'm using the new Game Animation Sample Project 5.7 with the Mover component, and I'm noticing, when using my custom metahuman, a twitch during a state change (from crouch > stand in this example), this is not as prelavent on the other characters, what could this be caused by?

This issue is NOT present when using the Character Movement Component.

Is it because the metahuman is Cine quality? Maybe it's having a hard time adjusting higher polycount?

This mainly happens when the character stands from crouching vice versa, or subtle elevation shifts.

unkempt hound
#

My next question would be, could we move this logic for Motion Matching rebuild to the Player Controller ? Currently it runs on the Level BP.

last peak
unkempt hound
#

It does seem to increase the sizemap a bit to 1gig

#

with all the PSD

#

i guess unavoidable ๐Ÿ˜‚

maiden wadi
unkempt hound
last peak
maiden wadi
#

Is there any particular reason why four days ago you spammed a shit ton of channels with a waving emoji and now just did it again?

last peak
#

Basically for each possible position the player could be in you have a animation

#
  • all the variable stuff Running to full stop - running to walking - running to backwards etc
#

Yet another fancy feature that no studio can reallistically support besides maybe AAA

#

alltho you can get away with much less animations and it still looks somewhat ok

#

I ended up frankensteining it together with og blendspaces

fathom hazel
#

@last peak, you remember the game im making right? (sorry for the ping)

#

well, im trying to cast to bp_hud but i cant find what the object needs to be.

#

ive even googled it, it says that you cant cast to hud but i dont know.

#

this is inside the game state

maiden wadi
fathom hazel
maiden wadi
#

Where did you create it?

fathom hazel
#

im just not understanding sorry

maiden wadi
#

If you think it's a userwidget then it was created somewhere.

#

CreateWidget node, with that class specified.

fathom hazel
maiden wadi
#

Did you save it into a property after creation?

fathom hazel
fathom hazel
#

didnt evne know that was a thing

maiden wadi
#

Can you show the CreateWidget node where it's at?

maiden wadi
#

You did save it into a property.

fathom hazel
#

oh, thats what you meant?

#

ive got it saved as a variable, i didnt know thats a property

maiden wadi
#

So in yout other thing where you're trying to cast to BP_HUD. What class is that?

maiden wadi
# fathom hazel its a widget blueprint

Had to check something. In the place you're trying to cast, you want to GetOwningPlayer. Drag off of that and do GetHUD. From that you want to cast that to your NewHUD. Then you can pull your WidgetVar.

fathom hazel
#

oh

#

none needed

maiden wadi
#

Self

#

Yeah

fathom hazel
#

if i may ask where did you find that?

maiden wadi
#

UserWidget's source code.

fathom hazel
#

do you know if theres any epic documentation on it?

#

uh oh

#

nevermind

#

something is wrong