#blueprint

1 messages · Page 298 of 1

frosty heron
#

A reference points to something that exists on run time.

narrow sentinel
#

so i'm doing this in editor time not runtime

tawny hedge
#

even a preview mesh it's still on runtime if you preview it

frosty heron
#

You can get cdo value that's about it.

tawny hedge
#

you just use it as a placeholder for the final mesh

frosty heron
#

Not sure the actual goal here.

#

Class = template

narrow sentinel
#

bassically just for a preview mesh to be shown on the AI Spawner so I can see what it's gonna spawn without clicking on them

frosty heron
#

Reference = instance of a clasd

#

You can get the class default object

#

Basically a cdo is created for each class

#

You can get the class default value from the cdo.

narrow sentinel
#

well thats what I've tried to do

tawny hedge
#

create a preview actor and set it's mesh from the preview mesh variable

#

spawn actor

#

destroy actor

#

on whatever action

narrow sentinel
#

spose thats a way of doing it

tawny hedge
#

set some opacity on it's texture for extra KEKW

#

like 0.3

#

make it dab

#

job done

maiden wadi
frosty heron
#

Can blueprint data asset contain function?

maiden wadi
#

The class can, yeah.

frosty heron
#

The native class can but the DA asset is like read only structure right?

maiden wadi
#

Still not sure why DataAsset can't be extended, but PrimaryDataAsset can. 🤷‍♂️ But there's not much difference besides asset manager handling.

#

You can have BP classes of data assets too. That you can then make asset instances of. The BP class can have functions.

surreal peak
#

If you wouldn't have that in between your own BP classes, you'd create multiple different Assets in terms of AssetType I guess.
So this is meant to collect them all under "PrimaryDataAsset".

#

I guess one could expose the PrimaryAssetId stuff to a generic UDataAsset. Not sure it would ever be "okay" to generally expose it. If at all with some changes to UCLASS specifiers so they can expose it on UObject and then "un-expose" them on Assets they don't want it on.

surreal peak
frosty heron
#

Like granting abilities.

surreal peak
#

Yeah basically getters.

#

Another useful thing is if you have something optionally applied on top.
E.g. we had some setup a while ago where Designers could supply a simple float, but also an Object that could alter the float based on whatever they wanted to do.

So just exposing the float was mäh, so we made it private and return the float if the object is invalid and otherwise ran the float through the object.

maiden wadi
surreal peak
#

Or some utility functions that make sense. E.g. I had one DA that had a BitMask with Directions the player can Mantle in.
And a function then to check against that BitMask based on the current direction, without ever actually exposing the BitMask.

surreal peak
steady night
#

@frosty heron
so this is my tooltip widget, u mean i can change the root location of it somehow ?

frosty heron
#

you do manage that on where you gonna display it to

#

did mine on Hover -> Get the position of the hovered element -> Move the tool tip widget to where the element/button is + some offset.

steady night
#

hm so i wouldent be able to do that on the behavior tool tip widget tho

#

i mean it uses th hover function really

#

so its kinda the same

#

@frosty heronacctualy by changing to top layer in the shown widget bp´s translation

#

works aswell

#

easy peezy

final berry
#

Every time I restart my project one of the events of an interface gets "removed" making it a custom event that doesnt work like intended. I even tried to add a new function and use that one and even removed the interface all together and created a new one and added that to the class, but it still gets removed when restarting my project. Anyone have an idea on how to fix this?

frosty heron
#

you may have a function that has the same name as the interface? 🤷‍♂️

final berry
#

Not identical, CheckingPath & CheckingPathRecent 🤔

#

But also tried CheckPath and PathCheck. All get removed

#

I just noticed another event on a different interface has the same issue. Also removed, also not working anymore 😦

steady night
#

hmm how can i make a widget update while hovered ?

frosty heron
steady night
#

while its shown

#

can i like "unhover hover" maybe that would be best

#

or im not sure...

#

solved it 🙂

frosty heron
stable shale
#

Hey all, I am trying to get the texture of a material replaced with a downloaded image during runtime. This does not work but am I at the right path?

glass blade
#

how does repnotify work? I get that it creates a function and i should put stuff in there, but how does it replicate?

maiden wadi
maiden wadi
glass blade
maiden wadi
#

Correct. Replication only goes from Server to Clients.

Setting it on client will only overwrite whatever the server told that client to set, it will never reach server or any other clients.

glass blade
#

okay but how does it send stuff to the server

#

whatever i put in the repnotify function gets sent to the server?

glass blade
#

i get the part that the server sends stuff to the clients like shown here

#

But what does repnotify actually do

#

and why does it create a function

maiden wadi
maiden wadi
# glass blade okay but how does it send stuff to the server

You send the value to the server through some RPC. Or the server determines it in some other way.

Repnotify is just a function that runs when the value arrives back on the client. For example if you want to set a player's Color. You set it on the server. It replicates, Repnotify runs which you can then use the color to set it on a mesh or something.

And to pick that color originally, a player might need to ServerRPC it to the server where it can be set.

stable shale
maiden wadi
#

Drag off of mesh and do... Set Material or something. It should have a slot and material, you'll put the new material in the material and change slot to 1

stable shale
maiden wadi
#

Oh, I thought that was a Componnet.

#

You should have a StaticMeshComponent somewhere that has that mesh set, that also has a SetMaterial call.

stable shale
#

OK I added the component and I can get the function but not sure how to connect it.

#

also I suppose I will have to use this BP inside the game instead of the mesh I use now

#

if I go down the static mesh component route. Is there a way to download an image and replace the texture of a material during runtime so all meshes in the game get the new texture?

#

this works! But I will have to replace all of my existing object with this BP now

stable shale
#

for this BP I want to get only image1 and image2 from the JSON object. What is the best way to do it?

unreal hatch
#

If you follow instanced static mesh route then the suggested texture change is possible

flat jetty
#

This is my interface method inside BP_Pickup Item.
BP Pickup item inherits from BP_ItemBase.
I also have some setup in BP_ItemBase for that interface. NOw i want to set my BP_Pickup's to default. (because before editing these to smth else, it was already calling the parent even if there was no parent node.)

So how can I convert this into default?
Like it should automacailly call super::GetInteractionType?

dusky cobalt
#

if Interaction type is variable and it's already implemented in the parent, then just don't implement interface in this children, like remove it, don't overwrite it, unless you want to have some special different logic how you get interaction type from the children

#

just remove this interface event

#

when you click 2 times it actually gets added under Functions

#

so remove it from there

#

then children will work the same way parent work (so I guess it's just getting Interaction Type variable that is on the object

flat jetty
#

Aha. I understood now.

#

Thats great man. Thanks. Always wondered how inheritance worked in BP that way.

dusky cobalt
#

when you have Implementable Event then it's a bit different if you want the same logic to happen from parent and then extra from children then you would call to parent

flat jetty
#

I was double clicking and creating new events for inherited ones, and was afraid of deleting them. 😄

#

yeah, i can simply right click to node and call parent node, then execute my stuff.

dusky cobalt
#

that would be a lot of stupid work to implement the same thing in the childrens when there is already one in the parent

#

so in these where you only Get, if you dont want for function use something else than what is in the parent then you leave it as it is

flat jetty
#

Thanks, now its much more clear. I was wondering why my inherited items wont calling the parent.

#

I was double clicked and leave it as it is.

dusky cobalt
#

you have to remove it from Functions

flat jetty
#

So if i simply remove from functions, parent will be called.

#

Alriht.

dusky cobalt
#

exactly

flat jetty
#

Thanks, this info is so handy for me now. I can easily handlke inherited interfaces now.

dusky cobalt
#

need to be cautious because somtimes we like to click things and when you forget to remove it it will actually override the parent and then it might not work 😄

flat jetty
sharp rapids
#

Hey guys,
I am using Compositing for rendering the main camera view. There's a CameraActor which outputs the scene view.
It works fine when I'm working on the level separately and using PIE sessions.
But, when I use Open Level to load the level from my Main Menu, the CameraActor is just ... not there?
I can see it in the Outliner, but in the scene view, there's no Gizmo for Camera, the compositing element says 'Missing Camera'.
So, the Camera actor breaks when loading the level from another level, but works fine when I'm working on the level in PIE.
How can I fix this?

hardy swallow
#

It's been a while since I've used unreal, so I'm wondering if I'm making a basic mistake and simply not seeing it. In the image, the blue cubes and pillars do not have the AC_Navigable component, so when my function goes off, it shouldn't create cubes if those meshes are within the area checked, yet it still does, and I'm not sure why. I should also note the walls do not have the AC_Navigable component, and those do not get a cube, which is working correctly.

full fjord
#

Trying to make it so that the everything afte "Climbing Up" is triggered only when I press the button E (as shown in my Enhanced Input). This does work BUT it stays working. How do I make it so that when the line traces stop detecting a wall, they turn off and I have to interact with the button again to fire it off. The "NOT boolean" stuff seems to be wrong I think

steady night
#

wtf

high gale
#

I am trying to dispatch an event to my player character whenever a widget button is clicked but the nodes dont want to go together. How do I do something in a separate blueprint when a widget button is clicked?

unreal hatch
#

You don't have to attach the Player with the dispatcher here

#

In your player get the widget object get the dispatcher and bind a function to it .

stable shale
unreal hatch
#

And in your widget just call the dispatcher

dark drum
high gale
dark drum
# high gale It is still not working here

You never call 'Bind Event to On Clicked'. You have to connect it to the execution path. (white lines) Having the node in the graph does nothing if it's not connected.

hardy swallow
high gale
dark drum
unreal hatch
dark drum
# high gale I binded it to beginplay, is that the best approach to this?

That's not what you've shown. The Bind Event node isn't connected to any execution path. Unless you mean thats what you intend to do and yes, that can be perfectly valid. It's hard to say if it's the best place for what you're doing but if the button exists to create the binding at the time you should be fine.

hardy swallow
unreal hatch
full fjord
# dark drum I'm not sure what the line trace is supposed to be doing but anyway. Just set Bu...

I think the whole top code is wrong honestly. Original idea was to Press E to start line tracing to detect wall to begin climbing (begin climbing code starts in the bottom right). But what I'm really trying to do is that when I enter an actor's box collision, I want that to start the begin climbing code. So --> character enters very specific wall with a box collision, climbing code begins

#

Code is written in the ThirdPersonCharacter BP btw (the default one)

hardy swallow
dark drum
# hardy swallow

Nothing jumps out. You'll probally need to add some break points and step through at points to see whats happening.

hardy swallow
#

Okay, I'll do that. Thank you

full fjord
barren tangle
#

hi, do you know when a widget displayed on the viewport has the player controller has owner? what BP function attach the controller to the widget?

unreal hatch
barren tangle
#

in my widget i try to get the owner of the widget

#

it's a player controller

#

but my player controller doesn't controll any pawn...

#

is it because i spawn the widget before the player? but the function get player controller return my player controller

#

but the get controlled pawn return nothing

#

that node return empty, when the get Owning Player return the player controller

#

which is strange because i can control my character

#

with my player controller

#

same here, te get player controller return the PC

#

but the get controlled pawn return empty

unreal hatch
#

What get display name is printing

barren tangle
#

my player controller

#

but the controlled pawn doesnt print anything

unreal hatch
#

You can directly get player too , if you want

barren tangle
#

i spawn my character, and posses it

#

and it works

#

but when i print just after that: get Controlled Pawn it's empty

#

a character is not a pawn?

#

yes after the possession

#

it returns empty...

lunar sleet
unreal hatch
#

There is onposses callback in pawn

#

Check it ,

#

And a character is a pawn

barren tangle
unreal hatch
#

In your player check for a overriding function called on posses

#

Then try to print

lunar sleet
#

For one your target for that func is GM and no idea if your screenshot is from the GM

unreal hatch
#

There may be some delay between the actual possession and function call like the character gets possessed after couple frames

barren tangle
#

you mean something like that?

unreal hatch
#

Yes

lunar sleet
barren tangle
unreal hatch
#

So if you are trying to get the controlled pawn in the same frame of possession you will get empty response

unreal hatch
#

Yes that is why in Player we have onposses callback

barren tangle
unreal hatch
#

Which gets called upon successful possession of player

barren tangle
#

so normally after the on possess callback i should be able to print the get controlled pawn? correct?

unreal hatch
#

Yes

barren tangle
#

ok, i will try

hardy swallow
maiden wadi
barren tangle
barren tangle
#

if i want to have local controller, i cant keep the Get Player Controller(0) when i possess the pawn

#

because i'm a pawn i should not have the callback event available without giving a controller?

unreal hatch
#

Bro the similar dispatcher is available in both the pawn and Player in player controller it is called onposses pawn and in Player it is called onpossed

#

You can use it as per your liking

dreamy sail
#

Im trying to check if multiple slots exist, but I think I'm doing something wrong

#

am I missing something here? I just want to trigger the visibility if 20 game slots exist

unreal hatch
#

It's unclear from this much code

#

Need to see a better portion to understand what you are doing

dreamy sail
#

if you're talking to me, this is all of it. I want to check if ALL the names exist in an array, not if ANY

#

this is what I don't know how to do, I think I need to use for each loop with break but I can't figure out how

barren tangle
unreal hatch
#

What are you trying to achieve in broader picture @dreamy sail

dreamy sail
#

I think I figured it out already it works like this

unreal hatch
#

So if it breaks then what

dreamy sail
dreamy sail
#

it's just a logic based on how I designed my level completion, I save a slot each time a level was finished, so I want to show a medal if all the levels are finished

#

it's probably a bad design but Im too deep into the project to go back and switch it

unreal hatch
#

Have a bool called bisallslotspresent

#

On your for each loop if something doesn't exist set this bool to false then break

#

On complete of the loop as a break will still complete the loop use this bool to switch visibility

#

Make sure you are switching visibility on completion

dreamy sail
#

alright I'm trying now, thanks

stable shale
unreal hatch
#

Yes that's what he means

#

An instance is singular and shared

stable shale
#

I got confused. Do I have to create a BP and get a reference to the MI inside it?

unreal hatch
#

No no , if you have applied the mi to all the meshes you are targetting

#

Then changing the texture in one mesh will change all the textures in all meshes as they share the same single instance

stable shale
#

OK, but I want to download an image and then somehow change the texture. I think this is possible only with a Dynamic Material Instance?

unreal hatch
#

That's what I was saying, to iterate and use the dynamic material to all of them .

#

But you can use the same material for all of the meshes .

stable shale
#

This is what I have and works now. The standing Sign is a Static Mesh Component. How would a Material Instance work?

#

I plan to replace all my objects with this BP manually now (if I can avoid this it would be great)

unreal hatch
#

You can search for may be better code where you can group meshes by material and change them , but unsure how to do that . A not so good implementation would be have a dynamic material cache class / bp which will download all your textures asynchronously you can poll a texture from the bp and use it

#

This can be thought through and optimised

dreamy sail
#

is this looking good ? I mean it works, but Im so confused when it comes to For Each Loop with break that I'm never sure if I did it right

unreal hatch
#

Looks good as of now , you can design this better using maps and stuff but right now if will work

#

Make sure to check the bool true

dreamy sail
#

basically checks 80 slots

unreal hatch
#

No , it doesn't

#

It's just not a good practice and that's that.

dreamy sail
#

yeah

unreal hatch
#

Looping 80 times is not slow as per a cpu which is running per say unreal engine

dark drum
dreamy sail
dark drum
dreamy sail
#

so there are 4 difficulties, and there are 20 levels. I assign a slot for each level when its completed, for each difficulty

#

I designed it bad from the beggining and now I have a few things that are depending on this, such as medals for each level/difficulty

#

in this case today I wanted to have a way of checking if all the levels are completed for a specific difficulty and then assign the full game completed medal/open a reward/celebration map

dark drum
# dreamy sail so there are 4 difficulties, and there are 20 levels. I assign a slot for each ...

Far easier to just have a single SGO that has an int Array. When a level is completed, add the level index to the array (making sure it's not already in it).

Then you can just load the SGO, and check the length of the array matches the total number of levels. Easier to manage and scale. You could even keep a second array for uncompleted levels. Remove from uncompleted and add to completed.

Even having a single SGO per difficulty would be easier to manage.

dreamy sail
#

will this also help performance ?

dark drum
dreamy sail
#

I'm gonna try and re build this then

solid needle
#

can someone help not sure whats going on with my interaction interface

#

every single time i restart the interaction interface unplugs

maiden wadi
#

The more curious question is why you need an interface to get a train?

solid needle
#

multiple things are attached to it

#

but that isnt my issue 😭

cunning vapor
#

Hey there, another QQ !
Is it better to have a game instance that loads the game save at "init" or have my loads/saves all done in the Game_mode ?

frosty heron
# dreamy sail will this also help performance ?

If you are using blueprint only, performance isn't your priority.

Also looping large data is bad in blueprint.

But 80 iteration may not be relatively expensive, it depends on the operation.

You need to profile if it matters.

inner fulcrum
#

i've set up my equipment in a separate BP along with my attack combo montages and put that into an interface. Now i'm trying to get that information and attach it to my character in game but it doesn't seem to be working. I have gotten it to work on a previous file i was working on. The only difference is my current character is a child BP or the main character BP. Am I using the wrong node?

runic terrace
#

Is your equipment model correctly sized?

inner fulcrum
#

yep, it all worked before I modularized it

runic terrace
#

I was thinking Snap to Target for Scale might be making it too small to see if it wasnt

#

Is this a multiplayer project?

inner fulcrum
#

nah, it's stuck under my character lol. and none of the animations attached to current weapon are playing

runic terrace
#

Is the socket name correct?

#

If it's stuck under the character it means it attaches, but might not be able to find the socket

inner fulcrum
#

yep, socket name is right

#

i'm using game animation sample as a base btw

maiden wadi
# cunning vapor Hey there, another QQ ! Is it better to have a game instance that loads the gam...

No. GameInstance init is just a general initializer for the game. Savegames are always related to a player.

Consider two players playing on the same machine with different preferences. Their settings need to be loaded independently, and it's likely that the second player isn't connected at init, and you can't even know if that player will be the same player every time.

Even moving past that, lets assume you could load the settings on Init of gameinstance. Sure. But what about your gameplay progress? Most games have multiple saves allowed. Usually at the very least there are 1-6 slots. Some games even allow named saves up to 100s per user. You shouldn't even load these until a player enters a LoadGame widget with the intention to load the save, because it's pointless if they're just going to start a new save. Once it is loaded and selected though, you can store that savegame in the GameInstance so that it can be referenced to pull data off of once you load into the level.

runic terrace
#

If that's not the case you need to dive deeper because the screenshot seems fine

dark drum
# maiden wadi No. GameInstance init is just a general initializer for the game. Savegames are ...

I prefer just having a 'CurrentSaveSlot' var on the game instance that things then read when required to handle the save/load stuff themselves. With an event dispatcher for 'SaveRequested' and 'LoadRequest'. The game instance just serving as a middle man but not actually handling the saving/loading itself.

Selecting a save to load would just set the CurrentSaveSlot. Might have a smaller save for the specific save slot for denoting the desired level to load but beyond that, I like having stuff do it itself. I find it easier to manage.

inner fulcrum
#

thank you

maiden wadi
# dark drum I prefer just having a 'CurrentSaveSlot' var on the game instance that things th...

Gets even easier when you don't have to manually read the savegame stuff. If you use Serialize, it becomes a simple manner of spawning stuff back in, or getting already created things like subsystems, and simply putting all of the data back to exactly how it was when you pressed Save.

I set the SaveGame though a GI subsystem through widgets. NewGame widget sets it null. LoadGame widgets will load and set it. When the game loads, I take one of two paths. Either the save exists and there should be no initialization, simply replace things. Or there was no save, and you should run an initializer that sets up gameplay for the first time.

#

As in, nothing actually reads from the SaveGame itself for anything. Which is nice.

dark drum
frosty heron
rigid owl
#

A question: Is there really no way to editing UAsset files without the editor? I have a problem with a Control Rig BP but I cannot fix it because editor crashes whenever I try to open it. What's more is that I definitely know where the problem is and but cannot do anything about it.

The problem: Using two binding pins in multiply node with 3 values in RigVM.
Solution: Remove the damn third pin.
Reality: No, you are not allowed to have nice things in life, such as making a small change in a large file for which you forgot to commit the changes for 4 very productive hours.

cunning vapor
surreal peak
#

Ah 4 hours of no commit

#

Rip

rigid owl
# surreal peak Don't think so, no. Source Control and revert the change that caused it to break...

I usually over commit like every 5 minutes and have trouble finding the correct version when I want to go back to a point, today I wanted something different 🙂 Thankfully there was an autosave in Saved/Autosaves/blabla so I just lost 2 hours or so, of course, as it is usually the case in the interweb nowadays, it took me 6 hours to find out that there is an autosave folder since nobody but one person in this Discord channel mentioned that 🙂

surreal peak
#

If you use p4 you can also shelve in between

#

Doesn't need to be committed every time

#

With git you could stash I guess

rigid owl
#

Stash has to be done manually afaik. I do really have to figure out p4, git kind of dies out when project gets bigger. There are also the inconsistencies with the editor, so whenever I have to stash or revert a commit, I practically have to quit the editor and load again.

tough badge
#

What are some ways you can optimize A* pathfinding in blueprints? At the moment I can only get about 20-30 tiles in length on an open flat grid before I start getting lag spikes to generate the path

stone field
#

Unless you mean the default NavMesh stuff

tough badge
#

like pathfinding on a grid with bigger tiles first to get a starter path to reduce the tiles to search but im not sure how that works with obstacles

tough badge
stone field
tough badge
#

Oh gotcha. At the moment I'm just adding everything to arrays and adding/removing as needed

stone field
tough badge
fossil patio
#

I have a system that allows me to move a character in a direction by setting their velocity in that direction, but I need instead to be able to move them to an exact location in a set amount of time by setting their velocity. I'm not great at math, does anyone know how I'd accomplish this?

frosty heron
#

Timeline is for anything with fixed length.

#

You probably just want to use interp on tick.

fossil patio
#

Unfortunately interpolating their location is not an option

fossil patio
frosty heron
#

Velocity = Current Force + any other external force

#

and I don't see how interpolating is not an option, things happend over the frame meant to be interpolated unless you want snappy result

fossil patio
frosty heron
#

You are using character movement component, I suggest to not fight with the established system.

#

set max walk speed for maximum velocity then play with the acceleration to reach the desired velocity over time.

#

if all you want to accelerate then decelerate then you don't need a curve

fossil patio
#

I really don't understand how this is "fighting the system", it just seems like a math problem.

frosty heron
#

I am also bad with math but my understanding of timeline is that it works for things with fixed time length. If you are doing a movement with input press and there's no deterministic time, then timeline is imo not a solution / usable for this case.

fossil patio
#

My problem is changing the math to input a distance instead of a velocity

stone field
#

Think of the timelines as something you might be using to tweak the acceleration / deceleration patterns of a character, instead of the concrete movement from point a to point b

fossil patio
#

The timeline is doing exactly what I need it to. I just need to be able to feed in a distance rather than a velocity

stone field
#

do you wish to force the players position by 'teleporting' it according to the timeline?

fossil patio
#

Using velocity instead of location set is extremely important

frosty heron
stone field
#

so you just need the right velocity? do you know the distance, and time needed, what is the problem?

fossil patio
frosty heron
#

for the reason stated X_X

fossil patio
#

Yes, and this is a problem that can be solved with math. None of the suggestions offered so far actually address my needs

stone field
#

I think I would use timelines maybe for stuff like shmup enemy patterns where no collisions or such matter, just making pretty patterns. For concrete world navigation I would consider something different I think, but your specific use case is perhaps unclear

#

like is this a guard moving from point a to point b, do they have to navigate obstacles, other characters etc?

fossil patio
#

No, this is for player aerial attacks tracking to enemies based on a minimum and maximum allowable distance and angle

stone field
#

tracking to enemies indicates to me you really want a dynamic system capable of reacting to the changing target position properly

stone field
#

so they just fire once, on a pre-determined path, arcing nicely?

fossil patio
#

The game gets their current location and moves the player to the point the enemy was when the attack initiated

#

yes

high gale
#

Hi all, I want to make a system where if the player is holding an item and they press left mouse, depending on what item they are holding something different will happen obviously. I want to know if there is a better way to implement this system without just a giant list of booleans and branches?

frosty heron
fossil patio
frosty heron
#

well im curious what the data is like

#

are you just lerping between 0 - 1

#

where 0 is minimum velocityt and 1 is maximum velocity

fossil patio
#

not linearly, no, but the timeline is 1-0 and it lasts 1 second.

frosty heron
#

So from maximum velocity to a stop?

fossil patio
#

Yes

#

Here is the working curve I've been using.

frosty heron
#

@fossil patio maybe something like this?

#

directly setting velocity in timeline and using that value to calculate again, will not give you the desired result.

fossil patio
frosty heron
#

well from what I seen on your screen shoot you are setting velocity.

#

anyway

#

i don't think I can offer help

fossil patio
frosty heron
#

will take my leave

full fjord
#

Is there a way I can get something to tick while an event is running - without using event tick? Like I want WallClimb to run a forever tick before the branch

full fjord
#

I need to use WallClimb because I'm calling this event from another actor

frosty heron
#

Event Tick -> WallClimb

#

things that happend every frame belong to tick.

#

in before someone said timer which is not really a solution and can be more harmful when used incorrectly.

full fjord
#

I tried timer earlier but i couldnt get it to work

#

lmao? is my bp_wallclimb cooked?

full fjord
frosty heron
#

Event Tick from another character -> Get instance that has the WallClimb method -> WallClimb

#

but that sounds like a bad design

full fjord
# full fjord Is there a way I can get something to tick while an event is running - without u...

Let me explain. WallClimb is currently being defined as shown in this picture. As in, I'm telling UE5 that WallClimb = all the stuff it's connected to. This is in ThirdPesonCharacter

In another actor, I have OnComponentBeginOverlap -> CastToThirdPersonCharacter -> WallClimb being called. So if I overlap that other actor, it initiates the code that is attached to WallClimb

Event Tick and Wall Climb can't connect to one another in the screenshot, so I was trying to find a way if I can initiate a loop or something so that the WallClimb code is consistently being fired as long as I'm in the collision of the other actor

frosty heron
#

Have a bool in your TPS on Tick that allows the WallClimb to be evaluated or not. Call it bWallClimbing or any other name that make sense.

#

SomeComponent-> Begin Overlap -> Get Other actor -> Cast to your Character -> Set bWallClimbing = true

#

SomeComponent->EndOverlap -> Get Other Actor -> Cast to your character -> Set bWallClimbing = false

full fjord
#

okay hang on i gotta rebuild the other actor blueprint cuz it got corrupted for some reason

full fjord
frosty heron
#

no

#

Why are you setting climb tick to true every frame?

full fjord
#

I want it to tick every frame once I'm in the collision box. Also I can't connect event tick to wall climb cuz wallclimb is a custom event in the same actor as the event tick

frosty heron
#

the branch stops you from doing the internal logic of wall climb when it's set to false

#

if bWallClimb == True -> Do your wall climb stuff

#

if bWallClimb == False -> Do nothing

#

PlayerCharacter Event Tick -> Wall Climb

full fjord
#

Even if the branch == false works with the event tick instead of the wallclimb?

frosty heron
#

Event tick is called every frame

#

evaluate your WallClimb every frame (on tick) in where ever the method is declared. I am guessing your Character blueprint

#

Event Tick -> Wall Climb

#

have a boolean that determine if WallClimb should be evaluated or not

#

If the bool is false, do nothing
If the bool is true, do your wall climbing logic

#

You can then set the bool externally, e.g. when you are overlapping with a component and when you stop overlapping with the said component.

#

if you can't follow along something like this, then stops and just look at foundational materials with events, data types, and branches.

dreamy sail
#

if my game is crashing on steam for some players, due to dx12, and they can still run it but they need to go and add -dx11 in Properties, is there away to prevent this ? some autoswitch thing or something if it crashes

lunar sleet
#

Find out why it crashes or force it to always run in dx11

full fjord
frosty heron
#

Dont hook anything on Climbing Up false

#

False do nothing

#

if true do your wall climb stuff

#

set these to be your ClimbingUp

#

on overlap -> True
On End overlap false

#

you don't need this Climb Tick

full fjord
#

oh my god you are a life saver

#

thank you so much

#

I'd been working on this code for 2 days straight I was about to call it quits for the night thank you @frosty heron

frosty heron
#

I think rather than brute forcing and get stuck, try to learn the foundation materials.
You gotta learn what you gotta learn.

full fjord
#

Yeah I need to read up on the docs a little more - I had half-followed a tutorial to get the original code to work so like I wasn't thinking from a foundational perspective

#

Fairly new to all this but im learning 🙂

dreamy sail
velvet trout
#

"Blueprint Runtime Error: "Accessed None trying to read property CountdownTimerRef". Node: Set Countdown Graph: EventGraph Function: Execute Ubergraph BP Time Powerup Blueprint: BP_TimePowerup" how would i fix this please help I've been trying to make a countdown timer for days not

#

and I might just be going crazy aftyer all the sleep I've missed

frosty heron
#

You are trying to access a null ref. Show your code

velvet trout
#

I might be going crazy for th easiest thing in the world but it's been days bruhhh

#

pls if anyone knows how to create a simple countdown timer that increase/+10 msecounds when colliding with an object/powerup please

thin panther
#

you don't appear to be setting those to anything at all anywhere

frosty heron
#

You probably should watch blueprint communication video by epic. Sure it's 2 hours long but better than being stuck for days.

#

When you create your timer widget with widget on construct, set the timer widget reference to the return value of the widget you created

velvet trout
lunar sleet
#

Better to just try things lol

wet rain
#

Im adding language settings to my game. Does anyone know which of these nodes i need to replace cmd culture=fr for 5.3

inner fulcrum
#

I've built my logic in a component BP which interacts with a child actor BP of the parent. However, the parent BP is the one that's actually connected to the ABP. Is there a way to get the parent mesh without adding the component to the parent BP? I do not want it to have all the stuff I added but I do need this for the animation overlay to work e_o...

wet rain
#

nvm figured it out

proud salmon
inner fulcrum
proud salmon
#

From the component?

maiden wadi
# dark drum I assume the serialize stuff is c++ wizardry. 🙃 Still need to look into how tha...

In a TLDR, it is nothing more than writing values into a string. And then pulling them back out. The interesting thing about serialization is that you can save properties from one class that are the same name and serialize them to another class as long as their names are the same. Because it's essentially nothing more than a long list of "SomePropertyName=SomeValue, SomeOtherPropertyName=SomeOtherValue"

inner fulcrum
proud salmon
#

Should just be able to use "Get Owner", which will get the child. The child has access to the parent functions.

Unless I'm misunderstanding 🤔

#

If you need the specific functions from the child (thus the parent). Do Get Owner --> Cast to <class>

inner fulcrum
#

do you have time to vc? if not i'll wait til tmw and see if anyone is on

proud salmon
#

Not atm, no.

But Get Owner will return the blueprint the component is attached to. If that blueprint is a child of the parent you need, you already have it...with the child 🤔

inner fulcrum
#

it says the bp class is unknown

proud salmon
#

How are you setting Parent Character

inner fulcrum
#

it's a bp

proud salmon
#

ya but how are you setting it

#

that's the type of variable, not the specific one

inner fulcrum
#

oh hang on lol

#

ah, i lemme try something

inner fulcrum
proud salmon
#

why not

inner fulcrum
#

ope, wrong node xD. it works now

#

thank you

proud salmon
#

I did nothing but glad you got it working 😄

inner fulcrum
proud salmon
#

You managed to find a sane person? crying

inner fulcrum
#

i mean, more than me e_o

verbal thorn
#

For the allowed interaction part, you could always make the book allowed interaction with a gameplay ability and set its blocked by tag when another player has an active status tag. If you have GAS enabled that is...

wicked cairn
#

bool***

verbal thorn
#

Thanks for bringing it up!

old cypress
#

Hi guys! How do I define a custom Equals/NotEquals node?
For some reason it doesn't work for interfaces out of the box

lunar sleet
#

I don’t think that’s a thing

proud salmon
#

^

lunar sleet
#

What are you trying to do with this

old cypress
#

Already figured it out 😄

    static bool EqualEqual_InterfaceInterface(const FScriptInterface& A, const FScriptInterface& B) { return A.GetObject() == B.GetObject(); }

    UFUNCTION(BlueprintPure, meta = (DisplayName = "Not Equal (Interface)", CompactNodeTitle = "!=", Keywords = "!= not equal"), Category = "Utilities")
    static bool NotEqual_InterfaceInterface(const FScriptInterface& A, const FScriptInterface& B) { return A.GetObject() != B.GetObject(); }```
frosty heron
#

What are you trying to do?

old cypress
#

I want to just check if interface poitner A == interface pointer B

frosty heron
#

why?

old cypress
#

I have a lock on function that remembers the target from previous iteration

#

however it saves it as an interface rather than an actor/object

frosty heron
#

saves what as an interface?

#

LastSelectedTarget should be an object reference

old cypress
#

says who?

frosty heron
#

how does comparing interfaces even help you?

old cypress
frosty heron
#

if you just want to check if a reference implements an interface

#

you will just do DoesImplementInterface

#

the cast Succseed there because interface is just multiple inheritance in a sense.

#

but not sure how what you do does anything gameplay wise

old cypress
frosty heron
#

yeah you do you

old cypress
#

thanks 😄

frosty heron
#

can't make everyone happy

merry sparrow
stone field
#

do not under-estimate the need to clarify the exact nature of problems - human communication is notoriously noisy and error prone

please do not diss people who nevertheless are engaging with your issue, even if your needs are not instantly gratified

unreal hatch
#

Guys anybody worked with eos device id grant

fossil patio
#

Not even remotely helpful as a response

surreal peak
#

It does seem like ColdSummer didn't understand what the user wanted and then tried to push their understanding onto the user.

#

I'm just surprised you can't compare two interface pointers in Blueprints

#

I assume the GetObject call is also not a thing.

#

Fwiw, if there would be a Blueprint only person trying to do this, saving the interactable pointers as just objects or actors and using the interface on those but never storing them as such would also solve it.

jovial steeple
#

The standard in blueprints is to store / work with an object reference to a object, then call interface functions on that object reference.

#

My understanding is that this is the standard in CPP as well. Epic games seemed to have designed the interface system with the understanding that this is how it would generally be used. This would be the reason that you cannot compare interface pointers in blueprints.

#

ColdSummer questioned the non standard and unsupported use of an interface pointer in blueprints. He then suggested the standard and supported way.

#

At least, those were his actions, I believe the communication of that was poor.

naive herald
#

I think playercontroller0 is automatically created when I leave all game modes blank in project settings and play simulated games. By the way, if I call get playercontroller with index 0, it comes out blank, can I know why?

random vine
#

I have some animations for prone movement with root motion, and the root motion works only when I use a montage, but I want it to work as same as I use normal animaitons in the Animation blueprint, as I have prone moving right start, loop, and end

obtuse kiln
#

been handling a few forms of data with data tables and names (well, gameplay tags that=the data table row names), but wanted to explore my other options just in case

Is there a way to pull an arbitrary data asset from the ether without having it set up anywhere in advance the way you can pull a data table row with a row name? not having much luck just guessing at node names if so.

stone field
jovial steeple
#

This would be a "pre-defined hard reference".

obtuse kiln
#

Got it. Not simple to update any of my existing systems to use assets instead, then, even if I can see a few advantages.

jovial steeple
#

If you are using an animation blueprint.

#

If you are not using an animation blueprint.

#

its important to note that the PlayAnimation node will force the mesh to be in "UseAnimationAsset" mode. This is why we setup the mesh to be in that mode before hand.

#

This also means that you cannot use the PlayAnimation node if you are also trying to use a animation blueprint. As using an animation blueprints requires the mesh to be in "UseAnimationBlueprint" mode.

#

First thing that PlayAnimation node does is change the mode.

void USkeletalMeshComponent::PlayAnimation(class UAnimationAsset* NewAnimToPlay, bool bLooping)
{
    SetAnimationMode(EAnimationMode::AnimationSingleNode);
    SetAnimation(NewAnimToPlay);
    Play(bLooping);
}
naive herald
#

I want to adjust the set viewport through the get player controller on widget. I succeeded in the empty actor blueprint, but I can't do it on widget because there is no world context. Can advise me?

dark drum
naive herald
naive herald
dark drum
naive herald
dark drum
naive herald
dark drum
naive herald
dark drum
naive herald
dark drum
naive herald
stable shale
#

Hello all, I download two images with a then but I want to do some action after both images have been downloaded. What is the node that can allow me for both images On success to trigger and then continue?

dark drum
stable shale
#

here is what I have. But I want to create the dynamic Material Instances only after both images have been downloaded

dark drum
stable shale
naive herald
#

I don't understand why the Ector Blueprint is getting a player controller and not the editutility wideget

dark drum
stable shale
dark drum
#

As a reminder, Editor Utility Widget won't be included in a build either.

stable shale
# dark drum

looks good! What do I type to get "Do N" and "=="?

dark drum
mental trellis
#

Do N and == ?

stable shale
#

in the image above is a Do N node and another that check equal but I don't know how to search for them lol

dark drum
stable shale
dark drum
flat jetty
#

Which Aim Offset tactics you are using for multiple weapons etc guys?

  • Using Transform Modify Bone
  • Using AO_Offset by creating your own derived from Idle anim etc. Which one is better for many tools like axe, pickaxe etc.
dark drum
flat jetty
#

Great! Thanks for feedback. Yeah, everytime i need to edit a bone, its getting really disguisting. But for example do I need to create for every animation for AO?
Like Idle_Hatchet, and Idle_Hatchet_AO.
Idle_Pickaxe, Idle_Pickaxe_AO.

What is the scalable way of doing it? I want to start clear to that. 😄

naive herald
dark drum
naive herald
dark drum
dark drum
naive herald
#

My goal is to create a wbp in euw and update it to euw when I press the button in wbp.So I didn't make everything in euw because I can't get a playcontroller

dark drum
# naive herald My goal is to create a wbp in euw and update it to euw when I press the button i...

That doesn't really highlight what you're end goal is. I can see it something to do with a camera but you've not really stated the purpose.

Let me rephrase my statement, there are no player controllers created during simulation. Even if you create a normal widget, there are still no player controllers for it to use. Instead it falls back to the editor to display the widget.

Player controllers are only created when you actually play the game.

naive herald
dark drum
# naive herald Ok my goal is to move the camera view through ui in game mode

You can't use camera components as the view for the editor camera. The closest you can do is setting the editor camera to match the location/rotation of the desired camera as I mentioned above.

Camera components require a camera manager which in turn need a player controller...

You want to look at the Level Viewport Camera and set its location/rotation on the editor subsystem.

naive herald
storm solar
#

I have a list view, that when visible I want to have it default to select the first item in the list. I do not know what Im doing wrong but It does not want to select it. Also, how do i prevent it to not select the entire box if is select to far down in the list? (green box in the last image.)

deep drift
#

Hello there, a question about Widgets, Boxes, Childs and Casting:
Is there a way to specify that one Widget Element, in this case Horizontal Box, will hold only one Class of Blueprints to avoid unnecessary casting?

Like in this example above where the question mark is I know I could just cast to WBP_Letter and it would work, but I usually hear from programmers than extensively casting is not good, and that part of the code would run all the time.

random vine
runic terrace
#

You don't need to worry about it

#

But yeah if you don't want to cast then you'd use an interface

maiden wadi
# deep drift Hello there, a question about Widgets, Boxes, Childs and Casting: Is there a way...

but I usually hear from programmers than extensively casting is not good, and that part of the code would run all the time
Either you have misunderstood them when they've said this, or any programmer that has said this to you needs to be ignored. They either do not have a fundamental understanding, or they are too lazy to explain a basic thing to you and are giving you a lazy answer.

If you know that there are only Letters in that parent, casting here is perfectly fine. It's intended even. This class is already going to be linked to Letters, so casting causes NOTHING extra.

At runtime a cast is nothing more than a pointer conversion. You have a pointer to the instance of a Letters widget but it's of a type that the creator of UMG knew about, it's a UWidget. So it's up to you to cast that back to your type to use it from their generic getters. A blueprint cast node also contains an IsValid check, which is super cheap, literally the same cost as the literal IsValid node. There's nothing running all of the time, or nothing loading, nothing like that.

The only time that it would be worth considering avoiding casting here, is if you're making some sort of generic parent that can house a lot of children, and you don't make a baseclass of those children. This might warrant an interface. But chances are if you're not a programming UI engineer that is making a special parent for the project that can be reused nicely, this is highly unlikely.

drowsy anvil
#

Hello, whenever I kill an enemy this sound trigger, but when I kill 20 enemies at once the sounds overlap and become very loud, how do I make the sounds cut off if new sound is played?

runic terrace
#

max count or something I dont remember the name

outer brook
#

Hey fellas. I am currently working on some aspect of my project and came across a strange behavior in my for-loop-function (watch video for what is happening).

What I am trying is to get all "BP_Rotateable[..]"-Actors and create a Map[DisplayName, Struct[Rotator]].

But as you can see, somehow my for-loop doesn't trigger twice (for each found actors in the level). Instead, it just triggers once. And furthermore it also doesn't save the correct rotation-values into the map!!!

Is that a bug?! Does anyone know what is happening here?

maiden wadi
runic terrace
#

Put a print in the loop body to confirm if it's running once or twice

outer brook
maiden wadi
#

Display names are just that. I wouldn't rely on them much for coding. You can try swapping that to GetObjectName. But I'm also curious why you need names here and can't just use pointers for the key?

#

Object name should at least be unique, it'll always have that incremented integer on the end of it.

outer brook
outer brook
deep drift
#

@random vine @runic terrace @maiden wadi thanks a lot, very informative answers 🙇‍♀️

runic terrace
outer brook
runic terrace
#

It wouldn't be reliable to use object names for this either

#

Everything will be deleted and spawned again when you reload, the names might be different

outer brook
#

ugh... thats bad

runic terrace
#

The object references would also break tho

drowsy anvil
#

I think this one?

runic terrace
#

the cue you're playing

maiden wadi
#

Aaaaand, this is another example of why object serialization and replacement savegames are awesome. 😄

#

Can even save and replace pointers. 👍 Makes life easy.

maiden wadi
#

If they're things placed on the map, they can be saved as pointers, or will be able to be looked back up with the same object name. Maps always load objects the same.

runic terrace
#

But then the moment you decide to do some changes on the map your previous save files will get broken

drowsy anvil
runic terrace
#

Override Concurrency

drowsy anvil
runic terrace
#

wait nvm this seems to be under the voice settings

#

not sure if it applies to your use case

drowsy anvil
#

it works for me

stable shale
#

Hey all, I pass a command line argument "-cfurl=someurl". The parse command line returns a map of strings. How can I get the value for "cfurl"

#

I see a find node. I'll give it a go

#

What is the easiest way to the command line arguments? can I do it from inside the editor?

#

find did the trick

outer brook
#

@maiden wadi @runic terrace

I came up with this solution. I think, it serves best for what I need. Still not sure if GetObjectName is better than GetDisplayName but I think I go with GetDsiplayName for now.

random vine
maiden wadi
#

Display name is just a user friendly name. SomeActorThing, rather than SomeActorThing_03, etc.

#

Object name is the literal object's reference name. SomeActorThing_03, or the third SomeActorthing that was placed into this outer.

odd hornet
#

Hi! Is it possible to move an actor to my cursor with editor utility? I can't find the way to convert the mouse's 2d pos to the world pos.

dark drum
gentle urchin
autumn pulsar
#

Does Unreal have Tuples?

runic terrace
deep drift
#

Hi I have a question about Widgets again using Blueprints.
I have a Horizontal Box and Widgets inside, every some time I want to delete these Widgets permanently, also from memory.
I found three Nodes; Clear Children (easily clear all children), Remove Child or Remove From Parent (both needs to be looped). All of them kind of work, but given these are different Nodes I wonder what are the differences.

maiden wadi
#

There isn't a difference really. Clear children does a looper over it's children and calls RemoveChild. Remove from parent is from the other direction, from the child widget. All of them achieve the same thing.

As far as entirely deleting, you simply need to remove them from the widget hierarchy, and remove all references to them. Garbage collection will come along later and actually delete them.

deep drift
#

I see, in this case I will simply "Clear Children". Thank you again.

dark drum
stable shale
#

any idea why when I migrate blueprints to another project, nodes are missing?

#

found it. new project didn't have plugins required by the blueprint installed

dusky cobalt
#

I'm basically starting to do research, but is it possible and viable to run EQS from blueprint ? like not from behavior tree but to actually make EQS, get results and use them in blueprint.

dark drum
remote meteor
#

more like at post tick

#

not really across multiple frames

kind estuary
#

Is it possible to see the call stack in blueprints?

snow halo
#

Why is it that I can't see this line trace anywhere?

#

i want it to start a line trace a step in-front of me, and the end of the line trace should fall down on the landscape till it reaches the floor

#

ive done this before but somehow seem to forget every time

frosty heron
#

End location should be start + offsets

snow halo
#

look, i copy paste exactly the same code of the start

#

and then i added -400

#

to go straight down

frosty heron
#

I might be blind, where did you -400?

snow halo
#

but i want it to bee the same point

frosty heron
#

Oh hard to see with mobile

#

Yeah just see it now

snow halo
#

and im also using 2 cameras

frosty heron
#

You draw debug and not seeing anything?

snow halo
#

and i dont see any debug

frosty heron
#

Did the node gets run though?

#

No error like accessed none?

#

Try print string next to the line trace, make sure its printed.

dusky cobalt
#

its getting draw probably somewhere in the middle of your map because you take forward vector which is local I guess and gives small numbers like 20 20

#

print x and y basically and then look there in the world for these coordinates

frosty heron
#

@snow halo right, you need to translate the vector to the camera location

#

Amberleaf solved it

#

Start location = camera location + forward vector + offset

#

End location = start location + offset

snow halo
snow halo
snow halo
#

Start location = camera location + forward vector + offset
End location = start location + offset

dusky cobalt
#

i mean.. start with printing if this event even fires?

snow halo
#

it does

#

i did check it

dusky cobalt
#

add + 1000 to Z

snow halo
dusky cobalt
# snow halo still nothing

Well I would start with printing the x and y and see what it gets me, then compare it with where I'm in the world right now, and then also look if it is actually line tracing in there (wrong location because of wrong input data, but at least it's getting draw). Also did you dd +1000 to the starting Z, and then plug it right?

frosty heron
frosty heron
#

You might interpret the code differently? Maybe post the attempt

snow halo
#

i tried doing this instead

#

and here this caused my line trace to work properly, but it was at the exact zero point of the map

frosty heron
#

Print string the camera location.

snow halo
#

location is 0,0,0

#

the 2nd time I press
location is exactly where it should be

#

after that if i press again it doesnt work

frosty heron
#

Single player right?

snow halo
#

yes

frosty heron
#

Hmm might have to look around some more. Normally 0,0,0 is for components that are not attached properly

dusky cobalt
#

maybe its something with how are you getting the ref to the c haracter and first time you click its not there?

#

get character ref first before you shot linetrace, if its valid then dont cast and use variable, if its not valid then cast and set fresh reference

stone field
#
  • Create variables for things you need like the bounds of y and z, speed multiplier adjustment for inputs
  • inputs trigger changes in y and z
  • tick can do the math in between get and set continuously
odd kiln
#

@runic terrace When you're here ping me please

runic terrace
odd kiln
#

I have a little problem with that

#

I want the Sphere Traces to follow my weapon, because atm sometimes the sphere traces are faster than the weapon in the animation

#

When I set the resolution to 20 the traces are too fast and when I set to 10 they are too slow

#

I tried to find a good number of resolution with calculs of the duration of the animation etc.. but I can't find a solution

#

I thought it was the "Use constant velocity" of the Spline so I unchecked that, but when I uncheck it, my traces don't spawn all along the Spline, it creates gaps between each sphere traces (as it's not constant, which is logic)

runic terrace
#

The resolution setting shouldn't affect the duration at all

#

if the duration set to 0.5 seconds, resolution of 10 will fire 10 traces in 0.5 seconds. if it's set to 20, it will fire 20 traces in also 0.5 seconds

odd kiln
#

I understand that but when I say that it affects the duration I mean related to my attack animation

#

For example, in my animation the sword moves horizontally but not at a "linear" speed

#

So somtimes the Sphere traces are in front of the sword

#

I mean the animation is too slow related to the sphere traces

runic terrace
#

So the problem is the traces move at a linear speed but the animation moves differently? Even if it's the same duration?

odd kiln
#

So I thought to uncheck the "Use constant velocity" but then it does not fire the good amount of traces of the "Resolution" float variable

runic terrace
#

No keep that checked

#

You can apply a float curve before getting the spline position

#

Can adjust the curve to match the animation's motion

odd kiln
#

So I need to create a Curve float automatically to match the animation's motion ?

#

But that "Curve" is already created when I store my Spline upstream

#

I mean the curve is the spline itself

runic terrace
#

tbh it would get way too cumbersome at that point

odd kiln
#

Some points are close to each other, and some points are far

odd kiln
#

Maybe I need another method so

stone field
#

if you have a skeleton, attach spheres to sockets?

runic terrace
#

@odd kiln You're already creating the spline points automatically right?

odd kiln
runic terrace
#

So you are already looping through the animation data?

#

Why not store the socket positions directly for every frame?

odd kiln
#

Yes, I'm creating the Spline upstream. I play the animation in the editor, and it creates Spline Points from my "Base" socket of the weapon

runic terrace
#

Does it create a point for every animation frame?

odd kiln
#

If my animation has 25 frames, it creates 25 Spline Points

#

The thing is that between frame 1 and frame 2, the points are very close to each other

runic terrace
#

Ok that's great, so instead of getting the Trace Position at Time you can directly get it by the Point Index

odd kiln
#

But between frame 18 and frame 19, the points are far from each other, as at this frame the animation is really fast

runic terrace
#

Oh wait, so your animation data itself jumps too far in a single frame?

#

Then it's not a problem with the spline

odd kiln
#

For example : Frame1 position = 0 ; Frame2 position = 5. So the animation is making 5 unit distance between Frame1 and Frame2. But between Frame18 and Frame19, the animation is making 30 unit distance

odd kiln
#

Maybe with the "Point Index" you say it can work better ?

runic terrace
#

No

#

Then reading animation data wouldn't cut it either since there is no info between the two frames

#

it would still jump

#

You'd need a different method

odd kiln
#

Yes exact

#

Or maybe when I create the Spline Points, I need to place the Points equally ?

spark steppe
#

why do you care about the points?

#

as in... what are they used for

odd kiln
#

Atm they are not used but

#

When I spawn the traces by "Time" it's not following correctly so I thought maybe with points like Spynora said

#

The goal is to have a "persistent" collision following my Sword correctly during the animation, even if it's too fast and jumps between 2 frames too far

spark steppe
#

and what's wrong with having a physics body on the sword which does all the collision detection for you?

odd kiln
spark steppe
#

it's usually how you do things like that...

#

only thing to keep in mind is that you may have to enable CCD in the physics settings if the sword moves really fast

stone field
#

"continuous detection"

odd kiln
#

Every people I saw told to use the Traces

spark steppe
#

yea, how many games did they release?

odd kiln
#

With the "PhysicsBody" detection can I get infos like the Traces do ? Impact point etc..

odd kiln
#

So in my Weapon Skeleteon, I add a Capsule Physics body, right ?

stone field
#

If you are doing effectively small radar pings at 2 points far from each other, and want to keep that system, you will need to calculate the extra pings in between yourself

spark steppe
#

if it is a skeletal mesh

#

if it's a static mesh which you just attach to a socket, you would add the body in the static mesh viewer

odd kiln
#

It's a Skeletal Mesh, because I need to attach it to my Character

spark steppe
spark steppe
#

then it follows the socket which it get's attached to

odd kiln
#

And for that I need a bone, right ?

#

That's why I kept the bone from Blender into UE5

spark steppe
#

afaik you could do the same in blender

#

if you set the parent relation to be the bone on your mesh

odd kiln
#

Oh so I don't really need a Skeletal Mesh for my Weapons ?

#

And a Static mesh is more performant I guess

spark steppe
#

that's what you would do in blender

#

to attach it

odd kiln
#

I can attach it and replace it

#

I will try to import my Sword again without Bone and add a PhysicsBody

#

I did not know that Static Meshes could have PhysicsBody collisions

#

And in terms of performances, does PhysicsBody takes a lot of resources ? Framerate etc.. ? Or it's ok ?

spark steppe
#

probably performs better as what you (or anyone else) would come up with traces and BP overhead

odd kiln
#

Thank you very much Ben I'll try this method right now!

#

So all the detection will be made in the Blueprint of the Sword itself

#

Rather than in the Character Blueprint

spark steppe
#

the sword would just receive the OnComponentHit event which fires if the physics scene detects a collision/hit

odd kiln
#

Because my Sword is an Actor (child) attached to my Character

#

Yes so I have to make the "Detection" code into the Blueprint of the Sword itself

spark steppe
#

you have to decide what happens if it hits something

#

that's all

odd kiln
#

But if it's an OnComponentHit, can I pass through multiple enemies with a single attack? Won't it block the first hit it encounters?

spark steppe
#

i can't say for sure what happens when you hit 2 enemies within the same frame, sorry

odd kiln
#

Not the same frame, but two enemies side by side

#

I guess I have to test to see what is happening

#

Thanks a lot

frosty heron
#

@spark steppe The convo was about melee hit detection.

When fps is too low, there will be issues with tracing.

We proposed baking the data instead, which is what I end up doing for my game.

Collision comp with CCD does sub stepping but I'm not sure if that can be a silver bullet when the fps is too low. Imagine 2 fps as the windows between the swing. I'm not sure if collision alone is enough.

lime socket
#

I have a character blueprint with a lot of scene components (collision boxes for hitbox system) and only the first time i open the bp after launching the editor, it freezes everything for like 20 seconds.
What surprises me tho, is that if i open any other character bp first, and then my bp, i experience no editor freezing.
Does someone have any theories on why it happens?

odd kiln
frosty heron
#

Block will do what it says.

odd kiln
frosty heron
#

Can't tell you with certainty.

#

Personally I have to go back and tweak as well when doing collision check.

#

Iirc component hit is for blocking

#

Overlap for overlap

dusky cobalt
lime socket
#

Not really. If i open my heavy bp first it freezes. If i open another character bp first and then the heavy one, there is no freeze

dusky cobalt
#

because probably some things are cached already and dont need to load again

#

you might try some things like copying bp and checking if then new one is faster but its just magic if its gonna work 😄

#

if i close project and i have 20 bp closed and then i open them again sometimes it takes 30-50seconds to load them all

lime socket
#

If i remember correctly has something to do with EOS. By opening an empty character bp, it does something related to EOS in 0.something seconds, if i open my bp first, it logs that it took 20something seconds to do the same

#

So probably thats where it is freezing

pastel apex
#

question, encountering weird issue where blueprint implementation of interface gets lost everytime i open the engine

#

this is in UE 5.4.4

dusky cobalt
pastel apex
dusky cobalt
#

change name of interface

#

its probably interfering with something from engine

#

can you show your interface as well with events?

pastel apex
#

ye

dusky cobalt
#

but 99% just changing interface name will fix it

#

together with maybe deleting, recompiling etc.

pastel apex
dusky cobalt
#

maybe you have function with the same name in the blueprint?

#

or event dispatcher

#

or even variable named like that

pastel apex
#

the renaming worked

dusky cobalt
#

if you really want to keep the name then probably reseting, recompiling, deleting redirections etc. etc. and then changing the name might be back but maybe something is corrupted and will be hard to flush

pastel apex
#

oh i renamed it

#

closed it

#

then opened it

#

renamed it back to what i wanted it to be

#

closed and reopened

#

and it's back to normal

dusky cobalt
#

haha, nice 😄

pastel apex
#

what's weird is

#

that was the only interface that got affected

#

my other two blueprint interfaces didn't have that issue

dusky cobalt
#

its random or something got bugged and couldnt get saved because it was detecting some function with the same name and because it didnt get saved, but event was created it saved the event but didn't know the source so it dropped it etc. had that happen, wouldn't worry if its fixed

pastel apex
#

i might test 5.4.4 on my weaker laptop to see if 5.4.4 is as unstable as it was on release

inner fulcrum
#

i'm trying to add a weapon trace but for some reason, my bps are not picking up the anim notify state for only some of my montages but it picks them up for others.

#

i'm not sure what's going on?

odd kiln
#

I can't use the "OnComponentHit" node without enabling "Simulate Physics"... is it normal ?

odd kiln
random vine
odd kiln
#

So how can I enable Simulate Physics but still have the Sword attached to my Character ?

random vine
#

use on component overlap instead

odd kiln
#

But overlap is missing frames

random vine
#

because it overlaps your character

#

change the collision settings

#

so it ignors your character

#

or add your character as ignored actor

lyric rapids
#

my audio compoenent is set to auto play and it plays on start as it should however when i connect play quantized it doesnt play at all why is this

odd kiln
random vine
odd kiln
#

I tried the "Ignore Actor when Moving" node

random vine
odd kiln
#

Does not

#

The node says "Does not affect movement of this component when simulating physics"

random vine
random vine
#

make sure to edit these

odd kiln
#

So I need to add the "Ignore Actor when Moving" node + uncheck collision response ?

random vine
#

ot google remote desktop

odd kiln
#

It's ok I had to add "Ignore Actor when Moving" node in the Character Blueprint also

#

But now the issue is that when my animation is playing, the "OnComponentHit" does not work

#

It only works when I move my Character

random vine
#

what we need to do is making the sowrd ignor the actor, so it doesn't overlap it

odd kiln
#

That is ok but now how to make the "OnComponentHit" event trigger when the Character plays an "Animation Montage" ?

inner fulcrum
inner fulcrum
random vine
odd kiln
#

If the distance between two frames is too big, it does not fire a Trace

random vine
odd kiln
random vine
odd kiln
#

This event is in the Event Tick

random vine
#

is it in the animation state?

odd kiln
#

I have a boolean that is set to "True" in my Animation Notify State to fire this Event Tick (Hit_Trace)

odd kiln
#

The issue is that if my FPS are too low, it skips frames

random vine
#

use the notify state

random vine
odd kiln
#

Inside the "AnimNotifyState" I should call this Trace ?

random vine
odd kiln
random vine
odd kiln
#

Because I don't see any Asynce Physics Tick

random vine
#

but if you will use a tick in the character, it will pass frames, you better use ASync Physics Tick

#

that's if you will use the character BP to run the traces

#

but it's better to use the notify state

odd kiln
#

So the AnimNotifyState is using Async Physics Tick and the Character Blueprint is using another thing ?

#

But now how to get my Socket Locations inside the AnimNotifyState ?

random vine
odd kiln
#

Thank you I will try that

odd kiln
random vine
odd kiln
odd kiln
random vine
odd kiln
#

And screenshot above the rendering

random vine
#

try to use Async tick

#

and tell me how it does

odd kiln
#

In the Character blueprint ?

random vine
odd kiln
random vine
#

frames just teleports to positions

odd kiln
#

And it creates a big gap

#

Between the two traces

random vine
#

I think you need to edit the animation

#

or maybe a setting in there

snow halo
#

hi how can i disable movement?

#

i tried everything

#

i use the right reference

#

i tried set movement mode : None

#

I tried disable movement etc

#

nothing seems to work

random vine
#

show your code

snow halo
random vine
snow halo
lyric rapids
#

how do you get the time a quartz clock has been running since the first bar

snow halo
random vine
snow halo
#

ok

snow halo
#

how do i enable movement then?

#

i wanna get it back after the animation is done

random vine
#

use enable movment maybe

snow halo
random vine
odd kiln
#

@runic terrace You said earlier that I could spawn my Traces along a "Float Curve". But do I have to manually create this curve in the curve editor ?

odd kiln
#

And how to do that based on the graph you made last time ? I'm trying but I don't know how to link both

pine sail
#

I'm having an issue where my node setup succeeds, then it fails multiple times in a row even though it's only supposed to run once. I think it may be trying to 'process the url' before the nodes that put together my url (the append nodes mostly) finish putting the url together to be processed by the 'Process URL' node. Maybe I need a way to verify the append nodes have finished before processing the url? I'm using the Varest plugin by the way: https://www.fab.com/listings/5b751595-fe3e-4e85-b217-9b5496ab6d3f

#

If anyone has any ideas for what I'm going through and maybe a fix for it, I would super appreciate it as I'm on a deadline. Thanks!

random vine
rain egret
#

Are there other methods for saving data in game other than save game? Save game seems dumb if I have to pass every value into it, I can see it's use for simple things and even structs for more complex stuff. But I don't think it's the right tool for the job. I am looking for a solution that saves everything Midgame, down to the smallest thing

frosty heron
#

For instance if you have access to cpp, variables can be marked as save game. Afaik they will be serialised (saved to disk) automatically on game save. This also allows for objects to be saved too afaik.

#

More info

rain egret
#

Hm that might be what I am looking for, thanks

odd kiln
#

@frosty heron Sorry to bother you but you told me that you are using baking data for your attacks animations, right?

#

Now how you read them ? In the Event Tick ?

#

Do you spawn each Trace at a constant velocity ? Or do the traces follow correctly your weapon ?

frosty heron
#

@odd kiln my data consists of array of time stamp and socket locations. They are stored inside anim notify state

#

On anim notify Tick -> process every data in an array from last processed time to current time.
Then set last processed time to current time.

#

This way I am guaranteed to simulate points regardless of fps. Say if the fps is too low and the ans get "skipped". OnAnimNotify end will be called anyway and it will process all the array data.

#

But this method is cumbersome if you don't have automation.

One you will have to input the data manually.

#

I would just dive into learning cpp if that's the case.

#

Because unfortunately in bp you can't access the ANS inside montage asset to store the data.

#

Also can't play montage at given time and record the data

#

Honestly kinda surprised there's nothing out of the box to address what would be a common problem for a game engine.

#

@odd kiln btw to answer the last question, yes it follows the "weapon" correctly but the weapon it self is irrelevant at this point as the data is baked. So the trace will happend with or without the weapon. So it's not modular in a way that I can't use one montage asset for multiple weapon.

dark drum
frosty heron
#

The length can be an offset

#

Didn't think about that lurkin

wintry cloud
#

Hi everyone,

I'm working on an Unreal Engine project where my enemy character performs a jump. However, when the enemy jumps, it tilts to one side and then quickly returns to its original position, which is not intended. The animation itself is correct and properly imported into the engine, and there's no issue in the anim graph.

The issue also occurs when the enemy isn't doing anything else and just starts jumping from the Event Begin Play.

Has anyone encountered a similar issue or know how to fix this behavior? Any help would be greatly appreciated!

Thank you in advance!

surreal wagon
#

Hello. I have a spline ladder. The parent object has a blueprint interface. This should make the constant raycast turn green. But It does not. Do spline ladders not get affected by the raycast to their parent?

lyric rapids
#

Does anyone know how with quartz clocks you can get the time elapsed since bar 1

frosty heron
lyric rapids
dark drum
lyric rapids
#

Thats why im using quartz clocks

dark drum
# lyric rapids Thats why im using quartz clocks

Ahh... As part of meta sounds. (still need to look at that) After a quick skim it doesn't look like theres anything specific but you can subscribe to the quantization events. It returns the number of bars, the beat and the beat fraction. I'd imagine you could calculate it from this.

merry sparrow
#

hey guys any one here worked with variants for changing materials while app is running , for example the user would change a wall material to choose the product or what ever i am having problem with saving the user data i tried couple ways to store the changes but i failed i need help with this is there any tutorial or video or scrip type guide i can use ?

#

user data will be saved from username and password getting from api

#

and i will get that name and pass and some how need to store the changes with the username and password tag in my local pc

thin panther
#

You left the scope of tutorials about 17 ideas ago :P

merry sparrow
#

ye i know ... its going to be hard, just wanted to see if there is one , i find a way by the way just let you guys know :
from ID i will get from laravel api after downloading textures and auto setting them up to variant i will use the ID of the textures every click the customer dose it check the ID and save it as a number int , so every texture should be unique i am not sure how is going to work but ye i think i find my way

frosty heron
merry sparrow
#

we have back end developer he will set up servers and api i dont care about unique part xD

#

just unreal part to create a http request and get that ID and textures from server and use it as a variable type of thing

strange kraken
#

This is likely a dumb question - but i cant find the answer anywhere else online, if i want to use a random number (in this case for rotation), for one thing, HOW can i get an instance of that exact same random number to plug in elsewhere (i.e. case use i want to set the random rotation of one thing, then offset something else by that exact same random rotation)

strange kraken
strange kraken
dark drum
strange kraken
frosty heron
#

@dark drum have you done strafing before for A.I?

frosty heron
strange kraken
#

so i have these cacti which i would like to deform due to the blast wave of an explosion. It is the exact same blueprint which is spawned using PCG. The deformation works fine but the problem is that i would like each cactus to have random rotation, and then still be deformed from the direction of the explosion. If i could use the exact same random number again, i could offset the explosion direction in the opposite way, so it would be deformed the right way.

#

So within the same one instance of cactus i would like to use the exact same random number twice, and in a different cactus, use a different random number twice

dusky cobalt
dark drum
frosty heron
#

just can't get the right value for the direction when focusing actor 😦

#

it's doing tap dancing

dark drum
strange kraken
#

lmao wait i didnt connect up exe

dusky cobalt
#

its not final setup right? you need to plug Set

frosty heron
#

trying to make the enemy circle the player

strange kraken
#

hmmmmmmm that works for keeping the rotation my mistake - maybe the problem is elsewhere?

dark drum
# frosty heron ye 😦

Assuming the NPC is set to face the player character and strafing is enabled on the AI controller, just add movement input using the right vector. You can then add movement input on the forward vector to control the distance.

frosty heron
#

I kinda struggle with the animation. It just tap dancing at certain direction

dusky cobalt