#blueprint

1 messages · Page 259 of 1

frosty heron
#

that was what I'm after, where is it in UE5?

#

could have sworm I can just right click and select that in UE4

flat jetty
#

Thats where it appears, Convert Selection to BP's.

leaden raven
#

The camera blueprint is just in the level, the gamemode blueprint gets all actors of that blueprint class which should only be 1 and that's what it references for the Set View Target with Blend function, but its being set twice. Once by characters that are just input receivers, and then again when it spawns the actual playable characters. Both times its using a player controller with the player index.
The last screenshot is the camera movement

gentle urchin
#

Your Active Players, do you update that when a player dies ? 🙂

leaden raven
#

If I have this setup when the player is killed, it should remove it from the array in the camera bp, which should get updated as it runs on event tick to constantly update the movement and arm length

#

and when P1 dies it prints Remove Valid which is good, but the camera still breaks

#

I'm thinking that the Active Players Array IS getting updated, but the Set View Target with Blend also needs to be updated with a new Player Controller Target, as it's defaulting to 0, but obviously if Player 1 (0) is destroyed, it's not being reassigned a new controller

gentle urchin
#

Active players in camera bp

#

Serm to be its own variable

#

Not the same as in gamemode

leaden raven
#

its being set from the actual character spawn in the game mode blueprint which calls to the function in the camera bp which is how it has the variable in the first place

gentle urchin
#

Yes

#

But its never updated

#

When player dies

#

Its a copy of the original array, nothing els

leaden raven
#

So do you think if I make a custom event in the camera bp that casts to the gamemode bp, setting the new active player array value
that event is then called in the player bp after the player is destroyed and removed from the array
that would work?

gentle urchin
#

Just let the camera read the array directly from the gamemode

leaden raven
#

Nevermind it didn't work... I think its the player controllers in the gamemode, I think the Set View Target with Blend needs to be updated. It's setting the target once then never again

gentle urchin
#

Instead of feeding it a copy

primal hare
#

Generally speaking, what is the acceptable size for a player character's BP "Size Map"?

#

110 mb?

#

acceptable as in has little affect on the performance

leaden raven
gentle urchin
#

Isnt view target retained by the controller, not the pawn?

leaden raven
#

It's being set to player controller when the players first spawn in, so I would assume it's being targeted to Player 1, first in the array, so when it dies it's not being retargeted to another Player

lost hemlock
#

This is my attempt to blend two soups into one bowl here. So the youtube tutorial person who im following for my crafting system wants me to go into my inventory_system component and do something like that, only problem is that he is working with dictionaries and my entire inventory is built with struct arrays.

Someone here @gentle urchin earlier told me it's up to me to decide how im gonna fit both feet into one shoe and I did decide, since changing all this again would be like trying to un-ink or remove a tattoo after you just got it done 2 hours ago.

#

This is the said tutorial in question

#

He is using "Find" then he gets the Amount

#

I think it's the same thing

leaden raven
# gentle urchin Isnt view target retained by the controller, not the pawn?

Sorry for the ping. I created a new function in my gamemode, setting the new target for the Set View, just with last index to be quick. I'm then using the cast to the gamemode bp in the character bp to call a custom event that runs that function. I tested it pretty quickly and it does in fact work. So I think the whole issue was completely down to player 1 being destroyed, it was no longer a valid target for the Set View Target with Blend and needed to be updated with a new target. As soon as I tested it and made P1 jump of the map, it snapped straight to P2
Honestly I really appreciate the help you guys gave me, I genuinely wouldn't have gotten this to work without you guys' help and advice, truly assets to the game dev community!

lost hemlock
gentle urchin
#

But glad it worked!!

#

Im confused about why player1s camera goes to dust, how it swaps, and why your originaø setup didnt work, setting all controllers viewtarget to the same bp camera...

#

Unless your index was wrong somehow

lost hemlock
young blaze
#

if i hover over any blueprint pin it shows a small grey window. how do i get rid of it?

maiden wadi
frosty heron
#

do you think that will work for such case too?

#

this was the issue

#

it's there now after I made new blueprint and re-do everything in that bp...lucky I am still early in the development

#

reading your blog anyway

maiden wadi
#

I'm unsure. Missing entirely from the actor is a bit weird, but unsure how that details panel handles it.

maiden wadi
remote meteor
#

perhaps a problem with reparenting blueprint only class

#

faced it a few times

copper chasm
#

go 10 what

maiden wadi
#

I'm curious if those are the same widget. If not the same I wonder if one maybe pulls uproperties and the other pulls components.

#

Might look after I'm done building source engine.

maiden wadi
copper chasm
#

Oh, no 😦

#

I mean, maybe?

#

I had to cheat and use cpp because I wasn't sure how to get chunky lazy loading in bp, but I built it, zoomed out, realized there's no world in which I need a million tiles for a prototype, and made it 500x500 instead (which is still probably way too big)

maiden wadi
#

What did you make them out of?

copper chasm
#

instanced static meshes

#

I think I was doing it wrong in the blueprint implementation in the first place, I'm pretty sure, given the insane difference in loading times, I wasn't instancing jack diddly

#

Also, once I realized it doesn't really matter if i can see the grid in the editor or not if I just have things snap to the grid when the game runs, I stopped crashing the editor lol

trim matrix
#

Hey, I'm stuck on an issue and unsure how to proceed (Im pretty new to unreal)

So I have a mechanic where the gravity will flip and I only want certain actors to flip gravity when that happens. Ive got the player all sorted and the gravity flips fine (Im using the Gravity direction in the character movement component for my player). My issue is with other actors, I have an actor which is a character mesh which I want to ragdoll, it does ragdoll when using normal gravity but when I flip gravity, I set gravity to off then AddForce shown in the screenshot below, however the arms/legs etc float and dont seem to get effected by the add force, also the character mesh once it has hit the ground loses all force but wont stay against the floor and moves around a bit, how should I go about it? Thanks.

maiden wadi
gentle urchin
copper chasm
gentle urchin
#

😆 overkill

#

Turn based?

copper chasm
#

swaps between free-roaming and turn based, and the grid is called for farming stuff

gentle urchin
#

Ah

#

Jrpg like i gues

copper chasm
#

I thought I'd be clever and keep the grids local to the actors during combat, but communication was a pain in the butt

gentle urchin
#

Or might and magic

#

Yeah no, grid subsystem 😄

copper chasm
#

very modest project 😐

gentle urchin
#

Holy cow. Not solo i hope

#

I went withn using DA for my grid,

#

Gotta learn how to query it and setup the right delegates (assuming they exist)

copper chasm
trim matrix
# maiden wadi I want to assume your issue with them resting is due to repeated add force calls...

But If I dont continually add force the actor would just float, it needs a continous force like gravity. I know you can change gravity globally but that wont work for what I need to do. Theres defintely got to be a way to still use unreal physics but apply my own gravity to an object that acts in a similar way to unreals own gravity. Haha maybe I just make it so things are a bit floaty when gravity changes and have it as a feature rather than a bug 😂

maiden wadi
#

There is likely a way to do it but it may require C++. And may be somewhat involved. I imagine there was a specific choice to avoid adding an extra vector to every physics body to maintain gravity due to wanting to keep physics sim lighter. At least that would be my first assumption. 🤷‍♂️

trim matrix
#

Yeah sadly I dont have the time to actually invest into it as I need to get this current project done in a week + I would have to learn c++ as I primarily just use c# for work, thanks anyway :)

gentle urchin
#

Wait what

#

Can you change gravity globally these days?

#

Naaah surely we cant have that luxurious treat?

thick prairie
#

Hey guys. Is there an easy way to detect if my ragdoll object stopped moving? I want to disable physics on enemy body when it's dead and not affected by any other object

autumn pulsar
#

Do BP actors have a destructor event when the object is deleted? or is that something I'd have to manually add

gentle urchin
#

OnDestroyed

#

Closest thing afaik

pulsar vigil
#

~~Hello guys i have tried everything to solve my issue for a long time now and its partialy resolved but if someone have a more sustainable option i would love it,

my problem is that i have system to chain looped animation montage and fire a new loop after an input and it work fine but sometimes the blend out mess up and 1 frame appear from the idle stated in the animation blueprint of the character and to resolve that i set the blend out trigger to 0 and i make it that anim montage are long enought between loop and transition animation to not mess up cause it could be potentialy too short

my need is to make that the animation blueprint stop interfering between those different anim montage playing almost perfectly in sync but theres is always one frame going wtf any idea on how to disable the animation blueprint or something like this ?
~~
i disabled auto blend out and it work in my case

steady night
#

hey, how do i check remaining ftime of montage less then or something ?

dawn gazelle
#

There's also a "Get Play Length"

steady night
#

hmm aye i want % length left tho

dawn gazelle
#

Math it.
Current / Total = %

steady night
#

yeah ty!, or acctualy you know if thers a way t turn of "root motiopn" of a montage at a certain time ?

dawn gazelle
#

Nope, animations aren't my forte :/

steady night
#

hmm ok well il ltry tthe math ty

gentle urchin
#

Not sure you can do it at runtime?

#

Its done in the sequence. So you might try and get that and see if you can alter it

gentle urchin
#

seem there might be alternatives

steady night
#

hmm

gentle urchin
#

There might be a notify state that does this

#

yepp

#

@steady night

steady night
#

wow nice ty

#

yeah it was right under my nose <.<

willow plover
#

I have this struct that i'm using every time on restart of the engine It breaks even though I refreshed it last time something like this happened I had to compile first then save but as you can see compile has the error block on it

autumn pulsar
#

For "Get Overlapping Actors" Does it have a way to use a specific collision capsule?

dawn gazelle
willow plover
#

Ok so just renaming the struct and setting it back fixed it

willow plover
dawn gazelle
#

:/

willow plover
#

but I works now what an infuriating bug

frosty heron
#

That kind of corruption normally resulted in all the value defaulted when you rename the struct.

#

Reordering or adding more element to the blueprint struct can break it silently

autumn pulsar
#

Is it taboo to not have objects implement the full spec of an interface?

#

or is it more something you can do but have to be careful with

sly berry
#

How would I go about making an object simulate physics once it’s touched by another?

atomic salmon
dark drum
gentle urchin
#

Id always expect all things to be avaliable if something implements an interface

#

You may return null, but atleast you do that - return null

autumn pulsar
#

For example I have a door and an NPC, and they both share similar kinds of interaction events, but some stuff like locking the door you can't do to an npc

#

and it feels like it'd get messy to make a bunch of interfaces for one-offs like that

gentle urchin
#

Use a component ?

copper chasm
#

Or man up and lock your npcs

#

(sorry, that's not helpful)

autumn pulsar
#

I think since I don't know I'm just going to do whatever and find out the hard way

copper chasm
#

This isn't 100% blueprint related, but I like it here and you guys are nice:

I know without seeing the code you probably can't make an educated guess, but during gameplay, as I move my camera pawn around in my world, I'm getting stuttering as the gridmesh loads in. Is there any tweaking I can do to help with that?

#

Example: as I move forward, that conveniently un-gridded square of floor is gonna populate a grid, and I'm gonna stutter

#

I FEEL like once I get actors in there, and tighten up my zoom clamp and maybe institute some sort of fog of war system, this won't be a problem, but if i can fix it proactively I'd like to

spiral kite
#

here I take the player's name and store it in the steam name text

#

after storing it, I want to get the names of the players when setting up the server and write it to a player list

dawn gazelle
#

Why store the name somewhere else other than in the playerstate?

spiral kite
#

but steam name is printed blank in gamemode

dawn gazelle
#

The gamestate contains an array called the "player array" that contains a list of all the playerstates if you need to get a list of players in the game.

spiral kite
#

to store the names of all players and print them on a list

#

thank you people on youtube do things in a very long way 😦

restive snow
#

I just can't find a good tutoial

real solar
#

set an enhanced input to hold but its taking too long to actually activate the event, i want to shorten the hold requirement. how can i do this?

steady night
#

Hey tyhis is calcualting the direction based ono the camera from the player character

#

how can i get the direction based on the mesh rotation

gentle urchin
#

Rotate vector

maiden wadi
copper chasm
maiden wadi
#

Maybe. I'd also just consider doing a quick insights run. Even in editor it'll point you to a better route than shooting in the dark.

charred berry
#

Have am to tell what mesh this refers to ? Trying to simulate physics on ''/Game/ThirdPerson/Maps/UEDPIE_0_ThirdPersonMap.ThirdPersonMap:PersistentLevel.StaticMeshActor_UAID_244BFECC176D819E01_1133485711.StaticMeshComponent0'' but it has ComplexAsSimple collision.

autumn pulsar
#

or is it under "gamepad"

thin panther
#

why would you reply to that message to ask that?

thin panther
autumn pulsar
thin panther
#

lol

autumn pulsar
#

I don't want to use DS4windows

thin panther
#

should just fall under the gamepad umbrella

#

if it doesn't work you'll need to use that, or become a playstation partner to get the integration from epic

autumn pulsar
#

cursed

#

DS4 is such a nice controller but Microsoft is cringe about gamepads on windows

mild pine
#

Hey guys. So I'm using gameplay tasks to check a player status, which works fine for that purpose, however - if I have two statuses, the Switch On Gameplay Tag Container node is only executing one exec, it seems.
Removing the Tag right after the switch ensures that if another tag is added, it switches to that. However, I want to be able to see if the player has a status, do this or do that, right, so that wont work.

Any tips? 🙂

thin panther
autumn pulsar
#

if it's a constant status effect, could have it activate on apply then when it's removed it removes its effects

mild pine
#

I'm planning to have an elemental affinity system where I need to check if an enemy is Wet, if he's wet, then electrify if you use a lightning spell. Things like that, so essentially with 5+ elements it'll be quite a chain of branches SweatBlob The latter option sounds a bit better. Was hoping to get by with just a Switch and some Timers by Event to reset the tag hehe

autumn pulsar
#

yeah when mixing and matching you kind of need a more robust system

mild pine
#

So right now I'm running the Switch into a Timer, which deals damage, does a countdown until the tag and timer is reset. Looking at it now that wont work at all hehe, but oh well

autumn pulsar
#

though for something like is wet, you just poll the enemy to see if they have that bool then modify the effect

mild pine
#

Yeah I'm trying to run the system through tags in this case, to avoid a lot of bools

autumn pulsar
#

but in the case of the status effect array, you can just check if they have that specific effect

mild pine
#

Trying to wrap my head around the status effect array setup you mentioned - would I be adding the active effects into an array, and then on each loop check if X effect is active and do X, but if XY effect is active do Y, so a branch chain? Or am I missing the point?

#

I might just go with the Branch chain. If I do a Sequence into each individual base effect's Branch, I can have multiple effects applied at once, and also do additional checks with each individual branch chain, such as If on fire and water is applied, douse the fire

thick prairie
#

Hey guys, is there a reasony why i suddenly cant delate/copy nodes?

autumn pulsar
#

Like for example you have a wet status effect

#

as long as all actors have that array pool, the effect can add itself to the pool. Then when another actor comes along and says "Are you wet" it can check the pool to see if it's there and process it accordingly

#

Additionally the Actor itself can poll its own pool for status effects that want to activate every tick

#

or so

maiden wadi
autumn pulsar
maiden wadi
#

How so? It never broke anything for me.

#

Unreal doesn't care what gamepad you use. It's all the same to Unreal. X and A are GamepadFaceButtonDown. Y, and Triangle are GamepadFaceButtonTop. Etc etc. Makes zero difference.

autumn pulsar
maiden wadi
#

I'm not sure what that has to do with Unreal though?

autumn pulsar
maiden wadi
#

🤷‍♂️ Either way, it works well for using a PS4 controller on PC to test gamepad use.

autumn pulsar
#

yeah just wish I had a native way to use it

violet bison
#

how to get cylinder collision overlap check for actors?
I tried doing a static mesh + overlapping actors but it don't seem to work (does anyone do this and get it working?)

languid swallow
#

I guess not a problem right now.
Its just because I had issue with it later, but I think it was because I had... maybe physics calculations on select.

How do I even profile cost for something specific like this?
I guess this could be a good reason to go back into profiling exploration 😛 .

frosty heron
#

@faint pasture sorry for the ping, I'm about to start working on wave function collapse to generate dungeon rooms.

Does it basically just generate textures and we evaluate the pixel as a tile? What about the walls if that is the case?

faint pasture
frosty heron
cosmic abyss
#

anyone know the simplest way to make this 2D sound repeat only on the next event hit? without the do once, it spams while the player is moving on the ground

cedar ibex
#

Box Overlap actors cant detect light?

I tried Static Mesh Actor and it works fine
But not for Rect Light, Point Light, Spotlight

frosty heron
#

@cedar ibex you will most likely need to test against collision

#

Light it self don't have collision

#

You can make your own light and attach collision that overlaps

cedar ibex
#

Got it, thanks

normal raft
#

how does one stop the weird tilting when the player rotates again ?

#

for fps

dry sleet
#

and are you helping them to the answer?

#

People here aren't paid

#

ask a super vague question with super sparse information and you're less likely to get an answer

chilly crane
#

How can I access a data table row by index in blueprints?

spark steppe
#

get row names, pick the rowname from the array by your index and fetch the table row

#

DTs are very much limited to fetching by rowName, anything else has to build up on that

spark steppe
dark drum
normal raft
spark steppe
#

that depends on your setup

crude dew
#

Hi, If i have a static mesh which is the shape of C (Ie a half circle which is in front of he character is it possible to get all "overlaps" within the C?
I was thinking that I could do a few multi capsule collision traces along the arc to check for hits but not sure if this is the best way
Or... Maybe I can spawn a sphere trace from the location of the player and move it forward slightly so the sphere center is halfway between the feet of the player and tthe desired location?
This image kinda shows the mask being used for the effect and the desired outcome(I just changed the materials manually for the ones hit)

gentle urchin
#

you can get the actors overlapping the mesh "C" , yes

crude dew
#

How as I can only see OnComponentOverlap and OnComponentHit

gentle urchin
#

alternatively you can do a sphere trace, and filter hits by Dot product to facing direction

#

e.g. dot product of > 0 means it's within a 180 degree sweep

crude dew
#

Ah ok thanks ! that makes sense

gentle urchin
#

dot product of > -0.20 or so probably nears a complete C

crude dew
#

I did ttthink about doing this but i figured there had to be a better way

#

I,ll try the DoT Product method 🙂

gentle urchin
#

lol XD

#

i thought you had an actual C shaped mesh

crude dew
#

I do 🙂 its jus how I pictured i might be able to do it with collisions 🙂

#

but your way seems better using 1 trace instead of 3 seperate ones

#

and then ignoring anything with a dot <20

gentle urchin
#

>-0.20

crude dew
#

Not had much experience with DoT product node I assume pin 1 is the location of the hit actor and then 2nd pin is the location of the player?

remote compass
#

hey guys, I'm kinda new to unreal and I was trying to setup this death thing in an actor component, but I can't change the default value of the object reference variable, what do I do ?

fallen glade
#

How do I see this stack trace?

#

Message log is empty

#

I managed to see the erros is here, only happens when the blueprint is compiled, if placed and moved around it's not an issue, not sure what's going on

#

And now it's gone! I didn't do anything D :

frosty heron
#

You can't. The blueprint is the "template" of the class. They get instantiated at run time when you spawn them during game time.

Since you are in editor time, there is no instance of the class that you are in. Meaning it doesn't have any reference to any world and can't pin point to any first person character since the class is not instantiated yet.

#

You will need to set the reference using an event that is run during gametime.

#

E.g on begin play, you can get the owner and cast it to your bp third person character. If the cast succseed set the reference from the cast result

#

@remote compass

remote compass
#

Thanks, I'll try that

#

something like this ?

frosty heron
#

Sure but it's not something I would do as component should work generically

#

Also you shouldn't really use open level by name. That is error prone.

And I wouldn't handle moving to level after death in w.e component you have. That sounds like the game mode or game manager job.

I recommend using open level by soft object ptr instead.

remote compass
#

Oke, thanks a lot

frosty heron
fallen glade
dark drum
#

In the control rig you can add a curve node where you can modify the curve in the node itself. Does anyone know if there's anything similar in BP?

Edit: I found it, it's just the 'Curve' structure. It has the option to use an external curve as well.

Edit 2: Actually it's just the 'Runtime Float Curve' haha.

normal raft
#

Hi... sorry still got this madening camera/head Tilt when the mouse pans left and right..

what I've tried:
"Use Pawn Control Rotation” -- off.. set in both camera and cameraboom

"inhiert Yaw" -- off

Tried to use Camera lag stuff -- still there just smoother and laggier 🙂

Tried to look into the skeletal mesh .. top stop head bone movent... FPS arms dosnt have a head bone...

not sure what else to do about it

I know 100% I was able to get rid of it in my old now broken project.. so i know it can be done.. but i dont know what i was searching or doing at the time when i found the original info about it..

crude dew
gentle urchin
#

show code

crude dew
gentle urchin
#

you want to check the direction towards the enemy VS your char's "forward" vector

#

Something like

GetActorForwardVector().Dot((GetActorLocation() - Target->GetActorLocation()).SafeNormalized2D())
crude dew
#

Ahh thanks i,ll try that ! 🙂

gentle urchin
#

UnitdirectionVector

#

between target and your own location

crude dew
#

I think i need to learn about Dot Product more as Im not really sure how its doing its calculation and i feel copy and pasting without knowing what its doing is probably bad for me xD I really appreciate the help !

#

this is what i ended up with but not sure about how its working or anything xD

frosty heron
#

(GetActorLocation() - Target->GetActorLocation()
You are missing this bit

#

I mean, I don't know math, just saying you are not doing what he is pasting

gentle urchin
#

i switched to easy bp mode in between xD

crude dew
#

Ohh its a math calculation im so dumb...

gentle urchin
#

UnitDirection does subtraction and normalizing for you

crude dew
#

So this prints out -0.7 when its in front of the character

gentle urchin
#

i wasnt to far off with .2

#

your unit direction is mixed up tho

#

from char to enemy

#

not from enemy to char

gentle urchin
#

this gets the visual angle

dark drum
#

What the... Setting the opacity of text doesn't affect the drop shadow. o.O

Edit: Got to set the render opacity instead. Don't you just love UE at times haha.

gentle urchin
#

its the quirks that keep us around, right?

#

imagine if things always worked as per our expectations

#

wouldnt that be boring ?

frosty heron
#

had the most shocking revelation about Unreal Engine yesterday

#

blueprint corruption...

#

lucky I am not soo deep into the bp

#

can't believe that it's quiet common too

normal raft
#

i swear its like they have a mind of there own sometimes

#

i cant stand the fact that the bps am inheriting from have a bunch of legacy support crapola in there confugulating things.. no offence to the dev

#

and the productivity hits.. are just frankly insufferable

#

I just loaded up my other project which takes a figgin age to load because its all smashed up and sometimes crashes .. but yeah the camera tilt on pan is still there but its so slight ... it actually seems like a desireable effect which is probably why i stopped caring about it before ..

gentle urchin
frosty heron
#

there is literary no safe zone with this engine

gentle urchin
#

I wonder what you actually did to cause it tho

#

but yeah it can be a dangerous game

#

goes for many engines i suppose

#

had some IDE's do the same on me

#

corrupting their own files

#

ruining months of works

frosty heron
#

had a sphere collision for my camera

#

In the end, I opt to use material for dithering

gentle urchin
#

ahh

frosty heron
#

so I removed it but Unreal went Sike

gentle urchin
#

tried the joy of renaming a component? 😄

#

that's fun

frosty heron
#

Not even renaming, I just removed it

#

and after that one of the widget component just went missing

#

like it's not missing in the blueprint class but it doesnt exist on Run time...

gentle urchin
#

almost sounds similar lol

frosty heron
#

I was wondering why I keep getting null ptr, i ejected from the viewport and sees the component missing

gentle urchin
#

if you straight up just rename the component in a regular way it can cause weird shit to happen

#

regular != correct way

frosty heron
#

Create a new bp, re-parent, lingking all the reference again. Then I got confirmation that it was blueprint corruption because the component exist on the new bp

gentle urchin
#

need a good ol' sanity check after such a ride lol

#

good thing you werent knee deep atleast!

frosty heron
#

the issue is the error is silence

#

not even version control can save me

normal raft
#

whats the other thing i saw.. oh yeah some times if you copy and paste a bit of graph across it will start complaining about missing things fair enough... but then suddenly it renames aload of inputs blabla_1

#

breaking every thing

frosty heron
#

and I was told, once they exhibit corruption, it's terminal... something will bug out and the only way left is just to create new bp

frosty heron
#

its mostly because you copy a member function that belong to another class afaik

normal raft
#

yeah its not to bad you just have to unlink every thing from the _1 then rename it back

frosty heron
#

yea you just gotta do that 1 extra step

gentle urchin
#

removing most links, but if i had valuable logic in there, i can extract that

#

sometimes

frosty heron
#

🫡

crude dew
normal raft
final berry
#

Am I correct in saying that if the actor is always present in the level it's fine to cast to it / hard ref to it?

gentle urchin
#

Yusss

maiden wadi
#

Usually anyhow. It's still good to have code only parent classes to cast to just incase. Keeps you from having big circular linkers to things.

normal raft
#

one thing i just noticed as well before when i tried to put the fireing animation onto the player it failed... things where bugging out and it wasnt working... but after the 5.5.1 update that has magically actually fixed it self

#

so maybe original project isnt as bugged as i thought

drowsy anvil
#

Hello, why doesn't my code start spawning things? it spawns with ''beginplay'' going into timer, and I get the print after ''cast to start and death'', but it doesn't spawn

drowsy anvil
gentle urchin
#

Interesting

dark drum
drowsy anvil
dark drum
dark drum
# drowsy anvil yeah

Odd name but ok. It's most likely an issue with you're collision settings then. Potentially on both.

lost eagle
#

hey guys im running this in the level blueprint to change PP at run time based on an input event
really werid situation where i can see the value increasing in the editor details pannel at runtime but it doesnt actually update it

normal raft
#

so you guys basically all have that little head tilt after pan

#

like a gurl flicking her hair ha

#

i totally flick my hair every time i pivot my body

#

its has to be the stupist thing ever... that you can not fully disable or clamp it properly

#

duno personally my kneck bone stay fairly strait when i pivot

#

no hair flick needed

#

nor did the surface level / terrian height change to justify a movement

drowsy anvil
#

ok

normal raft
#

its just balls really i cant be making a game with that daft head tilt

#

or no way to manage it

#

worse then when the uk pigs put there thumbs in there over arms cut offs arms warmers and shit

dawn gazelle
#

Head tilt?

maiden wadi
#

Those are some oddly derogatory feelings to share in a professional space.

normal raft
#

well then dont tilt the players head with out the dev being allowed to manged that fully

#

with out out jumping through insane hoops with the skeletal mesh and and such as we are just basically trying to learn with out being permanently agrovated by the editor and such

maiden wadi
#

That's not a normal pawn's yaw rotation. Roll is unaffected if you use normal control rotation calls to add yaw input. You've either implemented something yourself wrong, or you're using a bad starter from someone who did it wrong.

normal raft
#

are you talk to me @maiden wadi

maiden wadi
#

Yes.

normal raft
#

ok

#

yeah i know that project i did some weird thing in the graph to make it more stable

maiden wadi
#

Where is your camera rotation code? Are you using AddControllerInputYaw calls, or are you calculating the new rotation manually?

normal raft
#

give me a moment because some of the code is from MGT gravity template .. and some of it was my own .. but yeah i know for a fact i watched a guys video and showed you exactly how to fix the the camera shake to a level where it doesnt look so disgusting

#

every time the mouse look or what ever event triggers

cosmic abyss
dark drum
# cosmic abyss basically any time my character (in this case, a ball that rolls) hits another o...

The on hit event will fire when its hit by anything. This will include the floor or other things you have in the scene. Normally when I determine if a hit sound should place, I check the velocity of the two objects, if its above a specific speed then it'll trigger a sound. This can help prevent it from spamming when it's not really moving. You can also use the speed to determine the type of sound or even the overal volume.

flat coral
#

So I've got a constructor that prints when it runs, and I've got a function to bounce the current level. And what's surprising me is that function is NOT causing constructors to re-run.

#

Is there some more serious way of reloading a level which will actually force my constructors to re-run?

cosmic abyss
normal raft
#

i had some shiz printing strings

#

it wont always do it so theres that

cold shore
#

Hi, I've upgraded my project to 5.5.1 (from 5.4.1) and this BP error pops-up. It's trivial to fix (refresh node or add it again), but the problem is after I close the editor and go back it breaks again the same way. Then I fix it again and it still breaks after restart. Node obviously works, because everything works fine (play in editor) up to the point I restart, then it happens again... Anyone had a similar issue?

flat coral
#

Yep, confirmed it runs in that case

dawn gazelle
cold shore
dark drum
cold shore
#

Maybe version controls (git) breaks it?

#

I did not have any issues with git up to this point (and I did a lot of development on this project, starting on 5.0 and upgrading with each release with no major issues)

trim matrix
#

Is there a way to change the time scale for just the world physics instead of everything?

cold shore
#

Went back, as in rolled back all the changes in git, so it was a clean upgrade as well

valid elbow
#

Is there a way to get a location along a line at fixed z-axis? For example:
My line goes from x:100, y:100, z:500 to x:200, y:500, z: 10 and i wanna know what the vector is when the location is Z = 150 (e.g. from a trace line)

normal raft
#

this to me sounds like unknown target

#

i was wondering how to make it send unkown taget to the hud or something

sleek dust
#

hello, i have a quick question, i have a variable who is an enum type with 4 enumerators in them, how can i get what is selected when game runs and get the number of the enum in the list? like: thing1 thing2 thing3 and i have selected in my variable "thing2" whitch is id 2, how can i get that id in blueprints? i dont see something like ID or something

normal raft
#

what do you want the enums to do?

#

views of characters?

frosty heron
normal raft
#

yeah it just kind of numerical

sleek dust
#

i have an enum of "ore types" and a structure with same thing but more details etc, they have same order. And based on that choice on the ID i get from the enum, i select the same thing in the struct and edit it or use the id elsewhere

normal raft
#

not debugical

frosty heron
#

If you need to have a pair ( key, value ) use map.

#

But you can convert the enum to byte anyway then convert it back to int

#

Just kinda weird imo

sleek dust
#

yes, i found that i can convert it to byte and i think i get the number i want

#

i just wanted to find out how i can convert that enum into an integer for the id thing

frosty heron
normal raft
#

so you need a thing that points to array of things perhaps

#

what do they do they call that is classic C++

#

😂

gentle urchin
#

GameplayTags says hellllo

maiden wadi
#

DataAsset pointer cruises by. 😄

gentle urchin
#

ugh EIC really fights me

#

i actually have to figure out how this thing works now, and it's driving me nuts xD

#

just gives me 0 value 😦

chilly crane
#

How can I do this in the details panel?

#

I want to be able to set the references to buttons & the associated value without having to run bp code, otherwise I might as well create 2 arrays and use them without the map...

lusty birch
#

wow you're really fan of variables

chilly crane
#

about 59 at the moment in a single bp, that's why I'm trying to cut them down

real patio
#

Hi guys, does anyone know how I can see the debug of my perception in a bot? Before in 5.1 I used ['] and num 4 but now in 5.4 I don't see my graph debug ?

lusty birch
dawn gazelle
worldly bramble
#

Hi! Can someone explain me what is The difference between query only and physics only in collision enabled option, and why in character default class capsule component has it both enabled?

maiden wadi
worldly bramble
#

Do you know some tutorials about that?

chilly crane
#

@lusty birch @dawn gazelle so I've a wbp called OptionLine, and I have 27 instances of this in my graphics menu. Surely each instance needs to be a variable so I can set the unique text inside each one?

lusty birch
dawn gazelle
chilly crane
#

currently I drag as many instances of the optionline widget as I need into the menu, then name them all, and make them into a variable

dawn gazelle
#

With exposed variables you can make it so the settings handle everything they do themselves without having something centrally have to manage it all.

chilly crane
#

but that doesn't help me with changing the value of the text to reflect the currently selected object

#

any idea on how to deal with that?

lusty birch
#

bind event is not heavy

#

unless you doing it on tick

autumn pulsar
#

Is doing a line trace every tick an expensive operation? Wasn’t sure how careful I should be when using it

chilly crane
lusty birch
#

no, I mean creating event dispatcher in your widget, if you wanna communicate with parent if clicked on widget for example

dawn gazelle
# chilly crane any idea on how to deal with that?

You'd do something that involves assigning the widget itself to change some value somewhere based on something.
If all these widgets were numeric values, you could theoretically assign each a tag (an FName) or GameplayTag, and then populate that as a map in some kind of save game object. If the value is contained in the map, then you use its value, if there is no value in the map, then you use whatever default value assigned. As far as what it ends up changing, then you still need some kind of thing that manages that. You probably wouldn't want the widgets themselves managing that as you would need something that can update those values at run time without those settings being open.

chilly crane
dawn gazelle
#

You usually don't want your widgets used for logic. They are representing what lies under the hood, and gives you a means to input values.

chilly crane
#

thanks for the exposable name, that's great. Now, in the parent, I think each optionline still needs to be a variable so I can set the focus on them when using keyboard navigation

lusty birch
#

Hard to tell what you wanna do, check this example, widgets created in for loop and widget have event dispatcher item clicked with reference to itself

chilly crane
#

putting the graphics settings into a player controller?

#

this is the option line, there's 2 buttons, each bound to an event dispatcher on clicked (or A/D pressed)

#

in the main menu, you can see that I have multiple instances for each available setting

#

among other things, I need to know what the currently focused widget is so I can update it with the next when using the keyboard to navigate

#

then when you click on the left/right buttons to change the value of the optionline, it needs to update the text that's currently marked as "Text Block"

dawn gazelle
# chilly crane putting the graphics settings into a player controller?

I think the correct way would be to subclass GameUserSettings to facilitate the settings you need in C++ and creating a function within it you can call to update the values as required.
I'm not sure how all the settings you have actually need to play with the engine itself, but I imagine most of them would probably be best be managed through this object.

Otherwise, GameInstance would probably be better to use so at least you're not having to constantly load and reload the settings and loading up your player controller with something it doesn't need.

chilly crane
#

what I'm more concerned about is the easy & tidy why of implmenting switchers for the options, and how to apply them properly. I'm starting to think I need a massive data table which corresponds to the layout in the widget, which can be used to sort through all the optionlines and execute the right code.

#

I still haven't found a better way to group all of the instances of the optionline into a single place for easy access though, so I'm kind of stuck with a big makearray setup

fervent heart
#

I am trying to migrate a blueprint actor I created in one project over to another project. It's less than 15 static meshes and less than 10 materials.

For some reason, Unreal Engine seems to want to list essentially my entire content library as dependencies. It's even including assets that aren't being used in the actor I want to migrate.

Anyone experience this before?

dawn gazelle
# chilly crane what I'm more concerned about is the easy & tidy why of implmenting switchers fo...

The widget should just be thought of as something that is there to represent and manipulate a value. Imagine at some point you wanted to re-work your widgets - you'd have to rebuild the entire system again if it was managed in the widgets to begin with. It makes even less sense to have to create a bunch of widgets just to have them read values and set the value in the correct place then destroy them if they're not being used.

The thing underlying them that holds that value and utilizes it is what it should be tied to, not a secondary object that is used to just facilitate the communication.
This means you'd need to give the widget some kind of identifier so it can identify itself and call to that other thing any changes that need to be made to that particular identifier, and the object managing it can just do what it needs to do based on that identifier.

GameUserSettings is the object that handles game settings, and it makes sense that it'd be the object to use in this case. If you want to use a save game object, that's fine, and a better option than the widgets themselves. So then your Save Game object just needs to know what to do with the particular setting value or when a value change. So you could create a save game object that has certain functions in it like "UpdateFloatValue" that takes in a tag of some kind and a new value. The function can then check what the tag is, and plop the value into whatever object needs that value, and also store it within the save game object itself, and doing the reverse for getting the appropriate tag and providing the associated value when loading

Your widget then just needs a few things defined about it when you add it to your menu.
The tag of the setting used by your save system and for determining where the value needs to be placed.
Definition of reading and writing the value from the save game object when its value changes.

Nothing else needs to even know about these widgets if they can manage themselves

chilly crane
# dawn gazelle The widget should just be thought of as something that is there to represent and...

So for this, I could setup a system where the optionline calls an event in the main menu using an eventdispatch. That then sends info to the savegame object, and also adjusts the option text so the user can see the currently selected option. From there, the save game object can implement the actual logic to adjust the graphics settings. It also has an int function that can be called on load so the graphics menu doesn't actually need to be created/destroyed

dawn gazelle
#

You'd have the widget itself do whatever it needs to do to store the values and have exposed variables that allow you to configure how you want that widget to behave when values change and what not so you can configure it when placed into your main menu widget.
The main menu widget doesn't need to know anything about the widget itself.

chilly crane
#

otherwise nothing is going to work

dawn gazelle
#

As an example...

#

Navigation could probably be done easily by a function that just retrieves the index where the widget is in whatever its contained in and the just return the index +1 if its valid, otherwise go to 0.

#

Don't need to know specifically about any widget.

chilly crane
#

all fine until I need to do this? How else am I supposed to update teh text without a direct reference to the widget that contains the text block?

dawn gazelle
#

(Again, just an example, assuming you're using some kinds of containers to hold these things)

dawn gazelle
chilly crane
dawn gazelle
#

Theres no event dispatchers involved here.

chilly crane
dawn gazelle
#

Create functions in your save game object for each "Type" of widget that you may need and the type of value you want it to store.

#

That "type" then needs a corresponding widget "type" that will call and retrieve values from the save game object.

#

All based on the "Setting Name".

#

Unless of course, you configure this within a single widget and have the widget construct itself how it should appear and function based on a few settings - a bit more advanced, but certainly doable.

#

So then flow is more like...
Widget value updates > Tells Save Game Object the Change > Save game updates value in save game object > Save game does whatever you want to happen next with the value

chilly crane
chilly crane
#

Why is the text shaking like that? I suspect it's got something to do with it failing to wrap properly?

frosty heron
#

Wrap?

#

Looks like it's just fighting with something

#

Like one frame it get set to something, the next it get set to something else.

gentle urchin
#

text can behave like that sometimes

#

with autowrap

dawn gazelle
#

wrapping because its too big, then it's too small to fit in the space it's in, then it expands itself to fit the space, but then it's too big so it wraps... etc.

frail pilot
#

Is there anyway to make it so it'll go back to playing my boxing animation blueprint states when an animation is over?

chilly crane
frosty heron
#

Look them up

frail pilot
#

Oh ok

gentle urchin
#

Now back to the InputActionValue issues

#

r.i.p

tropic token
#

guys, is there any chance to make it more convenient for a struct? Other then passing IsSet to see if the struct was actually something meaningful? Like you know if it would be reference to object I could pass nullptr and check for IsValid

gentle urchin
#

you can always wrap it in a uobject if it makes sense to you

tropic token
gentle urchin
#

I agree

tropic token
#

there's some pass by reference check box

gentle urchin
#

sends the struct as a reference to the original struct

#

instead of a copy of the original struct

tropic token
#

yea, okay, it's different

gentle urchin
#

yepp

#

what is "IsSet" reflecting?

tropic token
#

I use it to check if I need to show/hide remove/info buttons and if I should get item name from the struct

gentle urchin
#

I normally just check if ItemInfo is valid

tropic token
#

you can't do it on a struct

gentle urchin
#

being a struct, the only way for that to work is a function in a blueprintfunctionlibrary (or c++)

tropic token
#

like to check if it's default struct?

gentle urchin
#

yeah

tropic token
#

well, can make a method for a struct. like IsDefault or something

gentle urchin
#

so in my c++ structs i have an IsValid

#

where i just define which things to check for validation

tropic token
#

Nice

gentle urchin
#

most of the time, the 'name' is all i need to check

tropic token
#

I will do the same actually

#

thank you

gentle urchin
#

then in some nested structs i may add additional checks

tropic token
#

yep yep

tropic token
#

I will just do it like 🙂

gentle urchin
#

so to actually use it in bp you need to implement the bpfl in c++ aswell.. it's a bit backwards sometimes 😄

lost hemlock
#

**Nothing shows up **

#

It was working 2 days ago when I lastly saved this project, now I have no idea why it doesnt work

lost hemlock
#

This never gets called either

frosty heron
#

Break point w.e called it

frosty heron
tropic token
#

I mainly do my UI in cpp, that's where I needed that. Prolly it's not ideal, but.. xD

gentle urchin
#

Benefit of exposing the original IsValid (if you made one) is that any later updates to it keeps the UI intact without having to update how you check it other places ^^

#

Name is probably very safe to validate from tho. An item without a name is no item of mine 😄

tropic token
gentle urchin
frosty heron
#

Nvm got a brain fart

light citrus
#

do blueprints require casting to access functions??
I am looking at a blueprint and it's suppose to be AActor* but it can access an interface which is weird because there's no casting, it only mentions that the target is an interface!! 🤔

frosty heron
# light citrus do blueprints require casting to access functions?? I am looking at a blueprint ...

casting and interface is not the same thing. You use interface when you need to interact with classes that doesn't share the same base class (In most cases you wouldn't be using interface).
Use component if you need an interface like functionality.

To run a member method, you would need a reference to the class. If you have myCustomClass and you want to use the member function of myCustomClass then you will need reference to myCustomClass

#

and that's the benefit of casting, you can just pass something generic, check the type and run the member function if the cast is successful.

#

Casting can be thought of as a type check

gentle urchin
#

Interfaces sort of cheat in blueprint aswell doesn't they

#

they're callable from wherever, more or less always

#

as if they were in some shared library

#

static functions

light citrus
frosty heron
#

I mean there's no difference in blueprint or cpp

gentle urchin
#

isnt there?

frosty heron
#

you can run interface on anything

#

as long the object implements it

#

if it doesn't then it just doesn't do anything, bp or cpp

gentle urchin
#

right, but you can't invoke it without casting to it, right?

#

in BP you can blindly call it on whatever

#

didnt think you could that in cpp

#

but i dont really know 🙂

#

never used one, in cpp

frosty heron
#
if (GetOwner()->GetClass()->ImplementsInterface(UI_RotatingInterface::StaticClass()))
{    // ** Checks if Owner Implement Interface ** //
        const FRotator L_DesiredRotation = Cast<II_RotatingInterface>(GetOwner())->Execute_GetDesiredRotation(GetOwner());

You can cast anything to it

gentle urchin
#

Right, but you still gotta do the cast

#

in bp you dont

frosty heron
#

cast to the Interface

gentle urchin
#

as if they were static functions from some library

gentle urchin
light citrus
#

and how would you run interface on object that implement it in cpp??

IMyInterface* interface= Cast<IMyInterface>(myAActor);
you cant do myAActor->InterfaceFunction in cpp

#

you can do that in bp

frosty heron
#

yes you can? I just did that

gentle urchin
#

You're doing the cast tho

frosty heron
#

GetOwner() returns AActor

gentle urchin
#

what im saying is, bp cheats

#

and lets you call it on an uncasted actor/object

frosty heron
#

we casting to the interface, the object can be anything

light citrus
gentle urchin
#

object can be anything yes

frosty heron
#

how would that be different in bp

light citrus
#

in bp you dont have to do that

gentle urchin
#

but you cant just say
Object->RotateFunction() where RotateFunction() is part of II_RotatingInterface

#

you need the cast

frosty heron
#

Not sure if we are on the same page

AActor* temp_actor = nullptr;
Cast<II_RotatingInterface>(temp_actor)->Execute_GetDesiredRotation(temp_actor);
maiden wadi
#

You can also just use the execute calls which are static.

#

MyInterface::Execute_Function(Thing, Parameter);

gentle urchin
#

So they are static calls in cpp aswell?

#

oh nvm then

#

not the same

#

hence the "cheating" remark 😛

#

it's as if UHT creates static bp functions for the interface calls

maiden wadi
#

It technically is. You don't have to cast the thing you pass to it.

gentle urchin
#

true, just looks different

maiden wadi
#

That's mostly all the BP does, If HasInterface, ExecuteCall

frosty heron
#

really wished I used component instead. Only used intertface because I am copy pasting some one's system.

gentle urchin
#

I wish you did too

#

keeps sanity in check

#

😄

frosty heron
#

🥹

gentle urchin
#

now help me out in EIS ! 🥲

maiden wadi
#

Checkbox number 2. 😄

#

I'm useless with that one. I've literally never bound an input action in C++. 😂 I take a scripter stance on input actions.

gentle urchin
#

the worst part is

#

BP just works

#

no issue what so ever

#

so im inclined to move .. to bp

maiden wadi
#

I always do them in BP, because I also have a habit of putting most of them in components. Like building controls and the like are all in a component. And you can't easily bind IAs to a component in C++.

gentle urchin
#

really?

#

damn , never thought of letting components handle inputs

#

how does that work on an intercomponent level ?

frosty heron
gentle urchin
#

who decides priority ?

frosty heron
#

No idea, just saw component for handling inputs but I don't wish to chart into that territory

#

never even touched common UI 😦

gentle urchin
#

I've only added it as base

frosty heron
#

too many things to learn soo little time

gentle urchin
#

not actually used it

#

ha yeah

#

not enough hours in my life

frosty heron
maiden wadi
#
void AActor::EnableInput(APlayerController* PlayerController)
{
    if (PlayerController)
    {
        // If it doesn't exist create it and bind delegates
        if (!InputComponent)
        {
            InputComponent = NewObject<UInputComponent>(this, UInputSettings::GetDefaultInputComponentClass());
            InputComponent->RegisterComponent();
            InputComponent->bBlockInput = bBlockInput;
            InputComponent->Priority = InputPriority;

            UInputDelegateBinding::BindInputDelegatesWithSubojects(this, InputComponent);
        }```
```cpp
void AActor::CreateInputComponent(TSubclassOf<UInputComponent> InputComponentToCreate)
{
    if (InputComponentToCreate && !InputComponent)
    {
        InputComponent = NewObject<UInputComponent>(this, InputComponentToCreate);
        InputComponent->RegisterComponent();
        InputComponent->bBlockInput = bBlockInput;
        InputComponent->Priority = InputPriority;

        UInputDelegateBinding::BindInputDelegatesWithSubojects(this, InputComponent);
    }
}```
#

The bottom call in these two functions.

frosty heron
#

Hmm, which one is ease in ease out?

vagrant cobalt
#

Hi some of the actors in the level are failing to load, Has anyone had a similar problem before and have any idea of what the problem is?

frosty heron
#

i don't use it so dunnoe

vagrant cobalt
frosty heron
lunar musk
#

Metahuman doesn't has ik bones?

main flume
#

Can anybody help me: Why is there no collision on the procedural mesh component

gentle urchin
#

Only section 0 got collision created now

charred berry
maiden wadi
raw pilot
#

Guys how do i link the Keys of my map (Variant ID's) to each Instance of a button created? because names worked just like that.
But when i watched the value for all 18 created instances. they all have the last Key (Variant: Black) found. now i do understand thats probably because the first executes from completed.

But if i for loop into another for loop it will create 323 instances when all i need is for them each store/get the Key that equals(?) their Value from their Variants Map.

#

How am i supposed to change the loop to do that?

dawn gazelle
maiden wadi
#

Also the IDs really should be Names instead of Strings.

#

Names should probably be FText as well, unsure if that's just for user display or not.

raw pilot
wide beacon
#

hello, this code is suppose to spawn a circel and then that character is meant to go to that location. however the circle spans but it just doesnt move? if anyones able to help me that would be greatly appreciated. P.S if this is the wrong chat could someone please guide me to the right one. Cheers

raw pilot
maiden wadi
gentle urchin
#

Almost

#

It spawns 4 arrows going towards center

main flume
maiden wadi
main flume
#

Now gotta clean up the mess lol

maiden wadi
#

😄 I feel that. Some of my dynamic mesh graphs are... worthy of a flamethrower.

silk belfry
#

how do you make assets be compatible with all unreal engine 5 version? I currently made a vfx pack in 5.4 but it wont work in 5.3, please send help.

main flume
#

even better: it`s only colliding with itself and not with the rest of the world

magic stag
#

I am trying to make helmets that have visors glow through emissive textures correspond to the proper helmets through my character customization Ui I made a variable for texture object reference in my character creator data structure, then added the proper textures in correspondence with the matching helmets in the data table, went into my button change widget, created a variable named EmissiveTexture and used it as a get and connected to my swap head event which I added a texture object reference parameter here are photos

My problem is, as shown in the photos, in the character creator UI the get data table row emissive texture output is idle, and the change button widget is therefore not passing that data to the event. How do I fix that? Secondly, as shown in the last photo, the emissive texture output on the swap head event is also not dispensing that data. How would you go about updating the material that belongs to the helmet skeletal mesh asset ?

gentle urchin
#

screenshots

#

not shots of screen

stone field
#

"Lightshot" for the win

main flume
#

Still no collision on my dynamic mesh, why?

gentle urchin
#

turns out my EIS issues stemmed from the Trigger I used not updating the value untill Completed -.-

#

ugh

prime stump
#

Hi, ive got this code running on my main menu's player controller, its just supposed to rotate the camera slightly based on where the players mouse position is.. however it only works when playing in the editor viewport, if i launch in PIE or standalone it doesn't work, Offset X/Y & Desired Yaw/Pitch stay at 0 regardless of where the mouse is.. any ideas?

#

Ive also tried changing the 'Get Mouse Position on Viewport' for both 'Get Mouse Position' & 'Get Mouse Position Scaled by DPI', neither worked outside the viewport

gentle urchin
#

The input value

#

It stayed 0 untill treshold, then became correct value

dreamy sail
#

Hello, not sure if this the right channelf or this question, but here we go:

Let's say I have a map where I have a lot of static meshes that are combined (merged) from other single static meshes.

Can I do instanced static meshes or hism with the combined meshes ? Or it's better to do instanced static meshes or hism with the original meshes that the combined ones resulted from?

gusty shuttle
#

Goal: Try to rotate npc's head to look at player character for x seconds. I'm having an issue with actually rotating the character's head bone and setting it. I'm not using a poseable mesh nor am I trying to do this via animbp. Any suggestions for setting the bone rot?

dawn gazelle
#

And yea, I'm not sure if you can manipulate bone positions outside of the anim graph.

open idol
#

I'm trying to use the character from GASP and make it rotate with the mouse, I managed to get the movement working as I wanted but the character is not rotating with the mouse. I added a cylinder and it seems like something in the animation blueprint is overriding the rotation. Anyone got an idea for how I can get this working?

gusty shuttle
maiden wadi
open idol
maiden wadi
#

Odd. I'd assume something is rotating the mesh then. Which is.. super odd. Even things that anti rotate the mesh to character movement usually only do it from the waist down for legs.

open idol
#

if I disable the animation blueprint the mesh also rotates

little prism
#

Hi All, what is the best practise to avoid dependencied on initialization of objects? Let's say my actor1 needs to reference another actor2's component during "On Begin Play" but I get null reference errors as actor2 is not yet ready...

dawn gazelle
open idol
maiden wadi
#

Yeah you'd have to check the animbp then. That's spooky shit to be messing with mesh component rotation in the AnimBP though. :/

open idol
maiden wadi
little prism
#

inventory component is passed to HUD on begin play so it can be used to display current inventory

maiden wadi
#

For like a Press I to display inventory or a quickbar?

little prism
#

Press I

maiden wadi
#

In general, don't do that. Don't set forced refs in general.

If it's an initialized widget like a Press I to show inventory, then the widget can get the widget's owning player's pawn to get it's inventory component.

If it's a quickbar, the quickbar should be designed to wait for the owning player to have a pawn read, maybe a timed 0.1 s check. When ready, get it's owning local player's pawn and get the inventory.

#

HUD is a third party in this case which has no business caring about the character in question in this manner.

gentle urchin
#

If c++ is an option you can manage this properly 😄

little prism
#

I decided to use blueprint this time, I know c++ (to some degree) but thought of desiging UI in C++ is beyond my brain comprehension

gentle urchin
#

oh no no

#

just setting up the events for creating the hud / widgets etc

#

never would i suffer the pain of designing UI in c++ xD

maiden wadi
#

I highly recommend not. I see people doing it in the C++ channel often. And usually having severe trouble. And somehow still sticking to their anti-BP fuckery despite mountain of issues.

gentle urchin
#

😮

#

tell me the dirty details

#

looking back on my logic, it wasnt as perfect as memory told me

#
OnPossess() -> IsLocalController () -> CreateHUD();
OnRep_PlayerState()->CreateHUD();
willow gate
#

Why in the name of all that is holy would you CHOOSE to ignore the power of widget blueprints? That's just stupid.

little prism
maiden wadi
#

I'm all for C++. 😄 I subclass major widgets often, specially to write their internal handling code and such. But as far as creating and managing widgets? I'd never bother with it. I don't even really do that in BP much anymore.

maiden wadi
#

Also don't do this in the HUD.

gentle urchin
#

If inventory is ment to persist death, you might just place the component on the controller

maiden wadi
#

Do this in the Inventory widget when it's shown after pressing I

little prism
maiden wadi
little prism
maiden wadi
gentle urchin
#

There's also shortcut for it these days

#

GetOwningPlayerPawn

maiden wadi
#

Oh right, they did put that in.

gentle urchin
#

but scripting languages love the extra nodes, so old way is golden 😛

gentle urchin
little prism
#

thanks all, I guess I need to re-design a few things 🙂

willow gate
gentle urchin
#

Exactly

little prism
#

one more thing, I started reading about GAS - what kind of advantages it provides against using actors/components?

gentle urchin
#

What i do in UMG in hours, people spend weeks to design in whatever html shait they're using 😄

#

ohhhhh no

#

aberforth, hold tight!

dawn gazelle
#

I used to make websites by hand before all this WYSIWYG editors... I could make my UI 500x faster and more dynamic if I could just use HTML XD

gentle urchin
#

xD

little prism
#

?

willow gate
gentle urchin
#

guess i went ahead of myself. Authaer usually chimes in with a 101 good reasons to use gas 😄

little prism
#

😄

gentle urchin
#

It's a pretty good framework , but unsure if i can phrase anything specific for/against component/actors. That's usually down to code structure, separation of concerns etc

#

GAS itself lives in a component, sensibly enough

little prism
#

yeah, but that still has to be attached to an actor that characted actually "wears" or use

gentle urchin
#

Mine lives in the PlayerState. It has the necessary references to the relevant pawn (Avatar) and whatnot

dawn gazelle
# little prism one more thing, I started reading about GAS - what kind of advantages it provide...

I'm not sure what you mean advantages against using actors or components as the system still relies on both.
Most of the groundwork for handling anything to do with attributes, effects and abilities is already done for you, you need to worry less about how it all gets replicated, and because these systems are designed in a way that these things would interact with one another, it makes it far easier to make these objects interact with one another in varying ways without having to make lots of separate code and instead rely more on using tags.

little prism
#

but I guess it requires c++

gentle urchin
#

GameplayTags*

#

you can manage without,

maiden wadi
#

Only parts of it require C++.

gentle urchin
#

and there's helpers that solves the c++ parts

#

GAS assistent etc

maiden wadi
#

The only part that specifically requires it are Attribute Sets, but yeah that plugin fixes that.

gentle urchin
#

if you get past the attributes, the rest can be done in bp

#

which is pretty cool

little prism
#

ok, I'll read into this - thanks again

gentle urchin
#

it's was a steep learning curve for me atleast

#

loooots of new stuff

#

figuring out all the moving parts, how they fit together etc is pretty rough

maiden wadi
#

The primary benefit of GAS is something that I don't think a lot of people see until they've seen stuff without it on a larger scale. One of the biggest headaches I've ever seen is having visuals and abilities and attributes insanely interlinked It causes a ton of headaches, and it makes it much harder for designers of FX and designers of gameplay code to work together.

frail grail
#

Here I’m using the Make Rotation from Axes node and plugging the normal into the Forward, and then I’m trying to make the x of that rotation relative to the socket, and I plug that result into the Draw Debug Coordinate System to see what happens.
What happens is that it works fine only on one of the slopes and not with the other two; when the character steps on those slopes, the axis is no more facing the direction I want, and when this change happens, I see the X (Roll) has not changed (some kind of a flip happens from the Y or Z without the X changing). Does anybody know why this happens, and what can I do to fix it?

gentle urchin
#

Rotationsomthing + AxisFlippedSomethig = 93.7% Gimballock

white stirrup
#

how do i see what node connections are being used when playing the game?

maiden wadi
#

You may need to select the correct instance from the dropdown in the top center.

pulsar osprey
#

the main pain point for gas is that it's prediction is incompatible with the general network prediction plugin afaik

white stirrup
lost hemlock
# frosty heron Break point w.e called it

it doesnt get called, I know it used to work 3 days ago, but now somehow it doesn't idk, i didnt change ANYTHING though. It seems like maybe somethign might have not been saved properly

clever vector
#

I am having an issue where event dispatchers are not firing in a level BP in standalone. They work fine in PIE, but in standalone and the packaged game they do not fire. This is a problem in one level BP and not others. Any idea how I could resolve this? Also how could I avoid this in the future?

lost hemlock
#

@frosty heron and this isn't getting called either

queen vault
#

Hey I'm trying to apply a texture to my material and it looks different in game compared to the material preview. How do I fix? (EDIT: I FIXED IT)

lost hemlock
#

But the problem is this Clocked on Crafting Slot button thing is only calling update when the thing im looking for is already there

#

But the problem is those slots are not there in the first place so it would never update

maiden wadi
maiden wadi
maiden wadi
clever vector
maiden wadi
#

I'm unsure. If it is placed in the level you shouldn't have issues with that. 🤔 But the usual cases are often init orders of things where it works in PIE because it's init order is different than cooked game.

fierce scaffold
#

hi guys.
so i have this little spaceship on the twin stick top down shooter arcade. i'm using physics for translations on the left stick, thats nice, works well. i'm using the right stick for rotation, with a find look at. works well on its own. but i cant make it to work with the physics. it doesnt turn.
whats the trick ?

clever vector
fierce scaffold
clever vector
willow gate
#

So another quick question: I'm using seamless travel so I have a transition map that has a widget that's added to the screen that has loading animations and tips. Standard stuff. I haven't tried it in standalone yet, but in the pie it doesn't seem like the transition map is loaded because I never go to the tip screen. Am I misunderstanding how the transition map is supposed to work?

maiden wadi
#

Test it in Standalone. I recall there being issues with seamless travel in PIE.

#

It's worth noting that seamless is pretty "Eh". not worth it in most cases.

willow gate
#

I thought seamless was needed or recommended for multiplayer since you stay connected to the server/session

maiden wadi
#

IMO, the only thing seamless gives you over non is that it allows you to persist actors, and copy properties from playerstates. The first one has some bad bugs associated with it for networking that are rare and really fucking hard to track down, and the second isn't really a good use case because you should be able to associate data with a player without needing to copy it from their gameplay actor same as if they log off and come back.

#

And voice chat over the loading screen. Which you'll get blapped for anyhow if you try to do consoles.

#

Either way. It's okay to use, but it doesn't really bring enough to the table. Staying connected through a level transition isn't hugely important if you're not derpy with your systems. And it does not work in PIE, just doubled checked that. Your stuff will probably work fine in Standalone.

bronze mirage
#

hey guys, the game we're working on uses world partition, and we're noticing that blueprints that have construction scripts are constantly getting reloaded by world partition in the editor and marking actors as 'unsaved' when nothing changed. it's really annoying when you're dealing with source control. Has anybody else had to deal with that, if so is there any solution, or do we just need to avoid using construction scripts?

maiden wadi
#

What do you mean by marking them as unsaved?

prime stump
#

Hi, I need to use 'Get Viewport Size' as soon as possible when the player is loaded into the main menu but if I do it on the BeginPlay or OnPossessed of my player controller it returns 0 for both X & Y, adding a slight delay will make it 'work' but thats not the fix, any ideas how I should go about getting it?

maiden wadi
#

If you're using the top one, consider switching to the bottom.

mild jacinth
#

are state trees supposed to be an alternative to blackboard and behaviour trees?

prime stump
maiden wadi
maiden wadi
prime stump
maiden wadi
#

Huh. What are you using it for? It's not that surprising for PIE.

prime stump
maiden wadi
#

You could probably just get the value where you're doing the rotation. And ignore the logic if the size is nearly 0

prime stump
magic stag
bronze mirage
lost hemlock
dawn gazelle
# lost hemlock

Is what you're trying to communicate is that when you click one of these, nothing is appearing in these spots but you're expecting them to display something?

dawn gazelle
#

How are you setting this reference?

lost hemlock
#

I click all those buttons, nothing appears

lost hemlock
dawn gazelle
#

That's just the Type of the variable. How are you populating it with a value?

#

The default value is otherwise "None".

lost hemlock
#

and around 4-5 major events of mine which I just created aren't getting called

#

and same thing for these 2 new functions

#

(Not getting called)

dawn gazelle
#

For example, if you dragged out that variable as a "set" and tried to select something, you probably shouldn't be able to select anything, even if this particular widget contained a widget of that type.

#

I see that same behavior you have in 5.5.1, but in earlier versions, you couldn't select any object instances for the default value, even if an object of that particular type was present in the blueprint.

lost hemlock
#

so what would you advise against this?

dawn gazelle
#

You need to give the widget the reference it needs to use if you want to communicate to it.

#

You'll have to do so after the widget is created to give it that reference

lost hemlock
lost hemlock
dawn gazelle
#

Whatever it is you're expecting to execute "Clocked on Crafting Slot"

lost hemlock
#

I set the level of these items to a level you can reach by default so as soon as I play the game they should be spawning in my widget

dawn gazelle
#

Right now that click will do nothing if nothing knows it needs to do something when that button is clicked.

lost hemlock
dawn gazelle
#

Right... It must be getting created somewhere else and you need to pass it into here if you want to use it as a reference in here.

#

The logic you have right now is that on that button click is saying "Whatever is stored in Crafting Ref execute the interface "Clocked on Crafting"" If that reference is set to "None" then nothing will do it. If it's set to a reference to some other widget then that other widget can execute the interface call as you need.

#

The alternative... Is to make an event dispatcher in this "WB_CraftingSlot" and call it on that click event passing along the other values you want to pass along.
Then in the parent that is holding this widget, you can bind to that dispatcher by selecting the widget and you should get an event dispatcher binding option, and then maybe that widget has a reference to the thing you want to use and call "Clocked on Crafting Slot"

lost hemlock
# dawn gazelle

So should I be creating this output on my button? how did you do that?

dull flame
#

can anyone point out what im doing wrong here, casting has been a nightmare on steriods for me to learn compared to anything else

lost hemlock
# dawn gazelle

Sorry I dont understand, it could be because I got back from the dentist yesterday after 3 days of constant pain and a fair amount of pain persists so i find it kinda hard to focus the way I could before

dawn gazelle
lost hemlock
#

should I use cast to get that reference for example?

dawn gazelle
#

No. You need the reference to the thing and pass it to this widget.

#

Otherwise, pass the click event backwards to the owning widget (via event dispatcher) and maybe that has the appropriate reference itself.

#

No casting needed.

#

https://www.youtube.com/watch?v=EM_HYqQdToE <--- It's a long one, but it's what many people struggle with, and you're struggling with it right now.

Announce Post: https://forums.unrealengine.com/showthread.php?101051

This Training Stream takes a look at Blueprint Communication. We find that Unreal Developers of all levels can sometimes struggle through the concepts behind moving data between objects. So in this video we'll take a look at the different ways to make Blueprints talk to one an...

▶ Play video
lost hemlock
dawn gazelle
#

your "main widget" probably has reference to all the "WB_CraftingSlot" widgets.
your "main widget" probably also has reference to the thing (WB_CraftingMenu?) that you want to actually execute "Clocked on Crafting Slot"

You'd create an event dispatcher in the "Crafting Slot" widget with the properties you want to pass back and call it on the button click.
You'd bind to that dispatcher in your "main widget" and have it call the Clocked on Crafting Slot interface, providing it the reference to the thing that you want that interface called on (WB_CraftingMenu?)

lost hemlock
#

WB_CraftingMenu is the main widget

dawn gazelle
#

You probably didnt' need an interface at all for any of this, as an interface is meant to provide similar calls of functionality across objects that don't share a hierarchy and where each object can supply its own unique implementation of that function call.

dawn gazelle
#

You probably still want your inputs on the event dispatcher.
You probably wouldn't bind directly to an interface call... is it even still needed?

#

You probably should create an event that mimics what the Interface call looks like with similar inputs.

#

To bind the dispatchers you either have to select each of them individually and then click the + like in the example I had above and then have them call the event, (this would result in a lot more nodes) or you'd have to programatically do it by getting a reference to each of the WB_CraftingSlot on construct, looping through them and creating a binding to the single event (results in fewer nodes, but if you're having trouble understanding references it may be a bit out of reach).

lost hemlock
#

its disabled

lost hemlock
dawn gazelle
#

The + symbols at the bottom right here... These will show up when you have selected a widget that has an event dispatcher present in it.

#

Clicking on them will create an event automatically in this widget, not the one that contains the event dispatcher itself.

lost hemlock
#

Ok this is my button

#

I dont understand why do I need to create more events this

#

when this slot isnt even created in the first place

#

so this is a handler of click events and press events

#

but there's nothing (slots) showing up in the first place

#

It's been a few days since I didnt touch Unreal a lot and I already feel like i almost forgot everything

dawn gazelle
#

The symbols will be in the main widget where you've added them. You don't need to bind anything within the button itself.

dawn gazelle
#

Your old interface call was doing nothing as you didn't have a valid reference set in your "Crafting Ref" variable, so you had an empty variable as the target for the call, and because it's empty, the call goes to nowhere. So while the button click was set up to do something, it was attempting to do that something but because that variable is always empty, it does nothing.

The parent widget (WB_CraftingMenu) holds the logic that sets up everything else based on the button clicks. This is what your button widgets would've needed a reference to based on WB_CraftingMenu being the one implementing the "Clocked on Crafting Slot" interface. Instead, we're now setting up an event dispatcher in your buttons so that WB_CraftingMenu can listen to when those buttons are clicked, so that WB_CraftingMenu can then do whatever it needs to when those buttons are clicked.

lost hemlock
#

but how do i now implement that?

dawn gazelle
#

If you've added the event dispatcher to your buttons... You need to go back to WB_CraftingMenu, and you can select the placed button widgets, and click the + corresponding to the event dispatcher you created in them.

#

That then will give you an event:

#

You then have that event call the function you want when the button is clicked.

lost hemlock
#

I already have this

dawn gazelle
#

The interface does nothing.

#

The event dispatcher dispatches the event, but it doesn't have any input to pass back information like your interface does (you can add inputs to event dispatchers!)

#

And again, what you're looking at here is in your button the binding to the dispatcher needs to happen in WB_CraftingMenu.

lost hemlock
#

problem is I can't create any inputs ony my dispatcher

dawn gazelle
#

Nope.

#

And yes you can.

lost hemlock
dawn gazelle
#

While within your button widget, with the event dispatcher selected, at the top right hand corner there is + symbol to add inputs.

#

When you want to bind to that event dispatcher in WB_CraftingMenu
Go to WB_CraftingMenu's layout.
Click on one of the buttons in the layout.
Look at the bottom right of the screen for this section.

#

Clicking the + here will create a red event for when that particular button is clicked within the WB_CraftingMenu.

#

You can then have that event call this event and pass along the values from the dispatcher.

lost hemlock
#

@dawn gazelle something like this?

#

and then I must also call this event dispatcher at the start of this? but when i search for it it comes up as a function ? @dawn gazelle

dawn gazelle
#

Once the event dispatcher is called, that's all the "calling" of the event dispatcher needed. Now all you're doing is binding to it to know when it is triggered, and when it is triggered you want it to do something.

lost hemlock
#

yeah but the problem is I have got a lot of buttons on this one

dawn gazelle
#

If you don't want individual nodes for each button, then you'd have to do something like this.

lost hemlock
#

I already have individual nodes

#

But this one at the top will have no way to be executed

dawn gazelle
#

But they don't pass back data from the widget like you want...

dawn gazelle
#

Your interface was set up to pass back data.

#

So I guided you through setting up an event dispatcher that passes back data.

#

The click events you bound to are binding to the buttons directly on the button widget, which don't pass that data back.

lost hemlock
gentle urchin
#

A good coherent design pattern keeps adding functionality trivial

lost hemlock
#

Craftable slots are different from those category buttons up there

#

they have different functionality

gentle urchin
#

since they have a very singular, trivial task

lost hemlock
#

I swear to god 3 days ago everything was working perfectly

#

I dont understand

dawn gazelle
#

I was expecting that clicking those buttons I highlighted in green were triggering this button click, was that not the case?

lost hemlock
#

Those buttons up there work, the problem is they are not creating any slots even though they are supposed to appaer on "Unlocked" and on "Resources"

dawn gazelle
#

How do they "work" if they aren't doing what you expect them to?

#

If they must be clicked to show something then usually the click of them is what triggers that thing to properly show.

lost hemlock
#

So If I am to follow all the events here

#

and functions... it goes like this

#

And then that's where the slots are supposed to be created

#

This is also not getting called. Ever

#

Because this is completed way to soon

#

even tho i collect stuff

dawn gazelle
lost hemlock
#

it is still always zero.

frosty heron
#

YYYYYYYYYYY

lost hemlock
#

Well it was working 3 days ago

#

I dont even understand guys.

#

Well it seems

#

it should be getting the names from here

#

but you told me to remove that one earlier

#

names gets into an array

#

I think

dawn gazelle
#

The only thing you had here that I'm aware of that I said you could probably remove was your interface implementation which had nothing to do with names.

frosty heron
#

Wat am I seeing here anyway

#

Player object ref to soft ref????

dawn gazelle
#

If you do the binding like I said, you can hook it up to call this part of the function again, and pass along the slot into the "last clicked slot" and that should at least get that part working, whatever it does.

#

But I assume since you weren't manipulating the category buttons like I thought you were, they may not actually do that..

lost hemlock
#

I still don't get it

lost hemlock
#

@dawn gazelle is there an easier method?

vagrant cobalt
frosty heron
#

need help with math, I need to filter out any units that are within the blue region.
Does the calculation checks out to begin with?

gentle urchin
#

didnt i provide sample for this already 😄

fading sentinel
#

hello
pls, I need some assistance.
I am trying to use a trigger output named "NewsFinish" on my MetaSound BP to execute a Custom Event in my actor BluePrint

but i don't know how to call it inside my actor Blueprint

gentle urchin
#

you want the forward DOT UnitDirection

frosty heron
#

yeah and I normalize it too, even more not makign sense

gentle urchin
#

so delete those 2 parts ^^

frosty heron
#

forward of what sorry?

gentle urchin
#

your camera manager it seems ?

#

if player char is at the center, always facing forward, then that

#

for my healthbar stuff i used camera manager

frosty heron
#

does this makes more sense?

#

i just want to detect what's behind the player, regardless of it's orientation

#

so I just camera forward as the ref vector

gentle urchin
#

right

frosty heron
#

well my brain is shutting down, I actually need a vector that starts from the player location but pointing forward where the camera is looking at

gentle urchin
#

so dot value of < -0.7 or so should be a good start

frosty heron
#

atm everything behind the player is positive values

#

if they are infront of the character, it's positive sign

gentle urchin
#

green is forward, Red is -0.7

frosty heron
#

I wish I have the visualizer 🥹

gentle urchin
frosty heron
#

how can I produce the green vector? where the vector starts from player location and ends a few units in front with the direction pointing at where the camera looking at?

gentle urchin
#

the green vector is a direction vector

#

not a location vector

#

same as the red one

frosty heron
#

0o

gentle urchin
#

If you want to filter things behind the character but possibly in front of camera , then you're doing it correctly

#

since you're getting direction vector based on character location

frosty heron
#

🤔

gentle urchin
#

the dot product is calculated from the players position, since you're using that to create the UnitDirection

#

if you used the cameraManagers location, then that would be the 'base' for the dot product, and would give a different result

#

Did it make any sense?

frosty heron
#

make sense but I still don't know how to even produce a vector correctly kappa. Too much skill issue, need to start from the basic again.

gentle urchin
#

you were 90 % there 😛

frosty heron
#

don't know how to translate them, don't know how to rotate them, etc , etc

gentle urchin
#

If you want to switch the location base, you need your forward*2000 + baselocation

#

let me open Unreal.. my explanations suck

frosty heron
#

ahh adding them to translate the vector

gentle urchin
#

exactly

#

I'd suggest adding a few visualizers when testing things

#

DrawDebugSphere for center,

#

lines for Dot product values

frosty heron
#

is that a debug command? or something you make your self

gentle urchin
#

if you ahve an angled camera( likely), you want to normalize the forward vector aswell

#

Normalize2d

gentle urchin
frosty heron
#

wonder what unrotate vector does

gentle urchin
#

rotates it ccw

frosty heron
#

ahhh

gentle urchin
#

you could rotate with acosd *-1

frosty heron
#

so flipping?

gentle urchin
#

yeah