#blueprint

1 messages Β· Page 366 of 1

crude dew
#

Or should i put the condition into the transitional rule?

dark drum
crude dew
#

I just realised that, I made a Global Task from what I understand about these is that they run every time the tree is restarted therefore updating the values from the controller State Enum ? Thanks for the replies btw! , I just got used to Behaviour Tree;s now gotta learn a new system xD

#

Yup that seems to work thank you!

dark drum
crude dew
#

Its being run inside a Global Task

dark drum
crude dew
#

So i wouldnt need to do a tick event to check the value and assign inside the State Tree?

dark drum
crude dew
#

Ahh i see here I am checking the value inside the controller and not the one inside the tree.

dark drum
#

I've not specified a specific AIController type but you can select it here.

crude dew
#

Ye i have those in the Enter Conditions.

dark drum
crude dew
#

Without the tick the tree wont move out of IDLE state when selecting ROAM in the editor for some reason.

dark drum
crude dew
#

Ahh didnt see theres a tick option in the transition ! Ty!

dark drum
crude dew
#

Makes sense Thanks !

#

Works like a charm!

dark drum
#

Ideally you'd use the on event one but it's been a while and I can't remember how to do it. πŸ˜… But as a quick overview, you can have a setter function for your state on the AI controller so when it's update it sends an event so things know they should check the state. This can save having to check on tick.

crude dew
#

Ye i,ve only recently finished a couple tutorials on it so now trying to implement it into a not tutorial thing only way to learn properly lol

#

Tutorials are nice but I find if you dont experiment yourself then you kinda end up in tutorial hell and cant get outside the tutorial box xD

dark drum
crude dew
#

Gonna be fun trying to implement the perception system next πŸ˜„

dark drum
#

It's been a while since I've used state trees, do you know if you can run a state tree in a state tree?

crude dew
#

I did see you can have Sublinked Trees

#

So i would guess that would be nice if you have in RTS Scenario, Diffeerent units but they all can wander but some can harvest, others can attack, some might only flee etc.

dark drum
#

Wonderful! I first looked into state trees not long after it got added and whilst I thought it was good, its the one thing I felt it lacked.

crude dew
#

Im glad i could be helpful to you πŸ™‚

dark drum
#

It'll allow you to have different state trees and then a master one to pick which one it should run. Otherwise they'll get very messy. πŸ˜…

crude dew
#

ye true, Thats what i found with behaviour trees also

#

I know you could link other BT,s inside BT,s

dark drum
#

You can run a parallel tree as well as a task. πŸ€”

crude dew
#

but only recently discovered that πŸ˜„

#

Right time to get the enemy to smell the player XD

dark drum
crude dew
#

Thanks Oh btw , Do you know whta the Detect By Affiliation thing works I never quite understood why i have to check all 3 boxes and why i cant say "the player is Enemy" Just a thing which has bugged me for a little while and i never understood it. πŸ™‚

#

in AI Sight, Sorry i should have specified.

dark drum
crude dew
#

Ahh ok that explains it then thanks, Never knew it was C++thing.

hazy ether
#

When I play my project in standalone, it starts off black, and gets lighter over 15 seconds, why is the eye adaption system to janky! πŸ˜‚

#

Anyone know why this could be?

dark drum
hazy ether
#

I haven't got any PP volumes...

dark drum
hazy ether
#

Ahh, yeah... I had adjusted thoes...

#

Why are they inverted! why on earth does a negative value mean brighter! 😑

dark drum
# hazy ether Why are they inverted! why on earth does a negative value mean brighter! 😑

Physics! You can read about it here but meh. It goes over my head to behonest lol

https://en.wikipedia.org/wiki/Exposure_value

In photography, exposure value (EV) is a number that represents a combination of a camera's shutter speed and f-number, such that all combinations that yield the same exposure have the same EV (for any fixed scene luminance). Exposure value is also used to indicate an interval on the photographic exposure scale, with a difference of 1 EV corresp...

frail reef
#

Thank you so much for your help yesterday. After sleeping on it and a quick google search I finally figured out that I had to create a custom parameter before I could implement this solution

#

And now the elevator stops once it reaches the end of its z value. Great!

#

Now how do I get it back down if I interact with it a second time lurkin

#

Probably something to do with Event ActorBeginOverlap , so I'll have to look into that later.

lofty rapids
sacred linden
#

Hello, anyone has this problem, where everytime during packaging a project. If recent changes contain change to Structs (BP) then errors appear and you need to go and refresh nodes/ empty recompile blueprints? Is there perhaps some editor tool plugin that can do it instead?

dark drum
# sacred linden Hello, anyone has this problem, where everytime during packaging a project. If r...

Changing a structure doesn't load everything that uses it which would be required to automatically update it. There can't really be any automated way to do as there's no way of knowing what needs doing other than you looking at it.

The best you can do is look at the reference viewer for the struct and open each one and correct as required.

Personally, I would avoid changing a BP structure once you've started using it unless you absolutely have too. Because of the aforementioned, it can cause a lot of issues and even cause some BP to corrupt.

fleet prism
#

How do I make a double jump Ability? I've watched two tutorials the first one being on how to make a double jump whare all he did was change the max jump count to two and another on how to make an ability system but I don't know how to connect this things so that you can only double jump after collecting the ability for it. what is the easiest way for me to do this?

next hollow
#

I know some plugin exists for force recompile assets for this.
But, like Patty said.
That fixes the red error, but not any actual coding/ programming error incurred.
Such as adding a struct entry, now anything that edits the struct is gonna have issues.

flat coral
#

Ok I got a bad case of "Why Collider Not Colliding?!" This is A and B

#

And this is the code in A. It's consistently returning "true" even though I'm definitely inside the B collider

lofty rapids
spark steppe
#

i think in that case it might not recognize it

flat coral
spark steppe
#

use a method which causes a query, afaik Box/SphereOverlapActors does

#

and it should have a class filter

flat coral
#

Yep that works. God that's dumb.

tropic torrent
#

hey chat whats up

#

hoping I can fix this BPC and be free from this section of my blueprints for like

#

6 weeks

#

this isn't spawning the projectile when the function is called

#

supposed to replace everything here up to loop body

#

the launch isn't needed, so i deleted it (since there is a built in projectile movement component)

tropic torrent
tropic torrent
#

does calling functions from components just not work like that?

crimson briar
tropic torrent
#

fixed it

#

didn't add bpc

crimson briar
#

Also it is a weird way of handling projectiles. Do you always have only one projectile?

tropic torrent
#

the function is a bpc

crimson briar
#

So you add an actor component for each projectile?

tropic torrent
#

do i need one

#

I was using the one for now

crimson briar
#

Not really, I'm just asking trying to understand why you made it this way

tropic torrent
#

im ngl it stopped working

#

i didn't even do anything to it

tropic torrent
#

rather than copying and pasting the same blueprints every time

#

why did it work once then stop working πŸ’€

#

not even playing the level again goes back

#

okay i deleted something apparently lmao

#

thank god for ctrl z

#

its beautiful

#

it works for the DoT but doesn't work for the fireboll πŸ₯²

midnight field
#

Update: It appears that the problem is related to a bone on the original model that's missing from the default mannequin, called "attach". I tried adding the bone to the mannequin and re-exporting the retargeted animation, but this doesn't appear to have worked.

Using the non-retargeted animation now has perfect root motion, but the rest of the animation doesn't play because it's on the wrong slot, hence the need for a retargeted version.

Here's the comparison:

tropic torrent
#

so the IsValid prevents it from working

next hollow
#

I'm confused.
Are you confused why its not working, because of the isvalid.
Or, are you just stating that its the issue you found, and have now fixed?

tropic torrent
#

confused why its not working

#

when it doesn't have the isvalid, it works until the enemy dies

#

when it does have the invalid, no launch no damage

crimson briar
#

Actually not weird, since it allows NONE to be passed, nothing selected is probably just a NONE anyway

lofty rapids
empty marten
#

Hello everyone,
I have a question I am hoping someone can help me with. When making a Editor Utility Widget, is it possible to create an asset in it like a material instance and have that saved into the content browser? I'm trying to speed up my dev pipeline a little and am curious is all. If it is possible, does anyone have any documentation on the process I can learn from please? Would be appreciated πŸ™‚

spark steppe
tropic torrent
tropic torrent
#

that works for other things normally

lofty rapids
#

hmm idk why you think that

empty marten
next hollow
#

Yeah, IDK what its doing it on the execution line is supposed to mean.
Not like your code can be invalid, or something crazy.
Feel free to show proof of this execution line
But, otherwise.
Yes, the issue is no input, thus it always being invalid.

tropic torrent
#

the white line

#

if the white line is not valid, it stops

#

I use it the same way for other cases and it passes valid with the object unfilled

lofty rapids
#

thats not how it works tho

#

the white line is always "valid"

#

the is valid node checks the object

#

not the execution flow

tropic torrent
#

then it should be working, no?

#

Why would it return valid in other cases, but not valid here, if in both cases the object is unfilled

#

I'm not concerned about my other IsValid lmaoo

next hollow
#

Send pic of your other isvalid.
Cuz, there is clearly some confusion going on.

tropic torrent
#

sure im getting it

#

is there an easy way to find it lol

next hollow
#

You can search all BPs, for usage of the is valid.
Right click the node, and find references.
Depending on your UE version it will have an all button, or you gotta press a little biocular icon, to the right of the search box that appears

tropic torrent
next hollow
#

and, you know that works how?
Have you added a print string, or a breakpoint?

tropic torrent
#

movement speed went back to x2

#

i can double check with a print string though

#

sigh

#

one second

next hollow
# tropic torrent sigh

Yeah, I was gonna say, are you sure the speed ever changed at all, or are you using a big speed value that would even be obvious?
Cuz, if you used this for making it 2x.
Are you doing this same non-working logic on the /2

tropic torrent
#

one, you're right

#

i attached a print to is and isn't

tropic torrent
# tropic torrent

two, this ability stopped working before the isvalid was even referenced, and i removed a single branch and it started working

#

it uses the manual method instead of the bpc though

#

i do still need an isvalid in it, but i need to attach it to the array element

#

isvalid works correctly (no errors when the enemy is dead)
separate issue, first usage of this isn't working, i think it might be the array's fault?

#

the array comes from this in the blueprint component

#

and they're not really launching but it be like that sometimes

#

nothing is in the normalize i know why its not launching dw

tropic torrent
#

AAAAAAAAAAAAAAAAA okay i found out whats happening but i don't know why

#

1st: Hit enemies, nothing happens
2nd: Hit anything, enemies from first are hit

spare tinsel
#

hi guys. does anyone know why this isnt workin? i cant really see the problem. the content inside the EventIsButtonOn on the Redlight actor never triggering.

tropic torrent
#

finally fixed but it saves no code lol

#

how do i get it to shut up

tropic torrent
#

An ability

#

The ability is a blueprint (actor I think)

#

On Event Begin Play-> Spawn Actor by Class (Ability)
Keyboard Event 1 -> Start Ability

last peak
tropic torrent
#

ended up having to fix it over here with the dispatcher

spare tinsel
# last peak WHere do you set redlight ?

in the level. button and redlight are actors.

i found that if I add the function is active into beginplay. all the sudden the event starts working. however, this isnt sending the value of the boolean from one function to the other

last peak
spare tinsel
#

both are individual actors

#

with their own blueprints

last peak
#

so where do you set the variable redlight then

spare tinsel
#

button

last peak
#

THis needs to get set or you cant use it

spare tinsel
#

i dont get it, it has an object reference

last peak
#

That doesnt help you

#

now the object is - Redlight

#

But you have no clue what specific redlight it is

#

if you put 2 redlights in a level you have redlight 1 and redlight 2

#

how does your code know which one you want to change ?

spare tinsel
#

I only have 1 red light actor. Redlight is the name of the actor. not a light.

#

so i am making a reference to that object actor

last peak
#

Redlight is the name of the class

#

/blueprint

#

You know you only have 1 redlight in the level

#

but the compiler doesnt

#

The very dirty way is this
Get all actors of class Redlight - get 0

#

This will only work if you have 1 single redlight in your level

#

you do the get all actors of class before you do that

#

And you hook up the return of your get 0 to the Is button 1on

spare tinsel
#

wouldnt this alrady be "linked" with the interface?

#

it is added on both

last peak
#

im not sure what you mean with that

spare tinsel
#

the bpi

last peak
#

right now your red light is 0

spare tinsel
#

is on both

last peak
#

and what should that do ?

spare tinsel
#

send the info, but it currently isnt

last peak
#

ye because redlight is NULL because you never set it .....

#

i just gave you the fix

cobalt bramble
#

never had this before, cant connect this? asks to find a node when trying to connect to target

next hollow
#

cube is a component, you add components to actors.
You ATTACH components, to components, which is your confusion here

warm python
#

Guys, Any tutorials I can find of Shotgun reloads??

prime stump
#

Hi, I am having an issue with my widgets.. I am creating a widget component as and when its needed to display a widget at the location of an interactable actor to indicate that it can be interacted with, I am playing a simple animation to make it fade in and fade out by changing the render opacity when entering/exiting the overlap of an interactable actor, this works absolutely fine as long as you're looking at it while it happens but if you enter the overlap, it'll fade in the widget, and then you turn the camera so the widget is now offscreen and then leave the overlap it'll call all the code to fade out except it doesn't actually fade out until you turn back around to face the object so its back on screen before it fades..

Anyone know of a way I can fix this cause it looks like shit?

dark drum
prime stump
dark drum
prime stump
#

Didn't work lol

dark drum
prime stump
#

watch at the end, I run through the interactable actors and it displays the widget just fine, but when i turn around at the end all of them fade out together all at once instead of when i actually left their overlaps

prime stump
dark drum
prime stump
dark drum
prime stump
dark drum
prime stump
#

IsInViewport doesn't work either cause the widget's in screen space, this always returns false

prime stump
#

Unless there is a way that I can explicitly check whether the widget is on screen or not then im not sure I can do it while the animation is playing through the widget, I imaging this not ticking when offscreen thing is a property of these animations that they wont play when offscreen but play later when they are which suuucks lol

#

There is an alternative which is to have a timeline do the fading in and out but I tried this and its causing me all sorts of problems doing it that way πŸ˜‚ the problem also is that the actor component (BPC_PlayerInteraction) can't have timelines and nor can the widget itself so it will have to be ran through the pawn that owns BPC_PlayerInteraction

dark drum
#

Actually that's world space. πŸ˜…

prime stump
dark drum
dark drum
empty marten
#

Hey peeps,
When using the create asset node to create a material instance, it creates a material interface instead. Is it doing this because I don't have anything connected to the factory pin?

prime stump
#

It obviously knows when its offscreen in someway because it knows to only play the animation when its on screen but im not sure I can detect that through any of these checks πŸ˜…

quaint elbow
#

Hi everyone
I'm doing a student project on ue5, it's my first time working on the engine. We're doing a local coop game where two players control a robot, one player controls the bottom/movement, and the other player controls the top/shooting.
The thing is, I have no clue on how to make each player control their pawns (the robot is two pawns combined), or how to assign a specific gamepad to a specific PlayerController. I tried to look for the platformUserID but I dont understand how it works

sick sky
full badge
sick sky
#

local MP follows the MP rules

#

and people there knows more on how controllers are handled whern there is multiple players on a single device

#

since its more rare to hit this case in SP games

oak gorge
#

hello all,i have an little problem about something i want to achieve : i have created in an Asset action utility an SK To BP blueprint the bp is created from an parent i chosed (with an SK component) but now i want to assign the skeletal mesh component variable from there but that where i block, any idea how to achieve this (i'm in ue5.5.4) thanks for the helps

hard girder
#

I gots a question! So i have blue printed to chaze chacater on site

#

But when the player gets behind the enemy they stop completely

#

And then go back to searching

prime stump
fleet prism
#

Is anyone able to tell me why this isn't working? I followed a short tutorial on how to change the material of an object in as the game is running and its not switching colors. Its supposed to go from a glowing red color to glowing green.

lunar sleet
gentle urchin
maiden wadi
lofty rapids
#

because i don't see where you set the mat to the new dynamic material

maiden wadi
#

Need to see the material itself. Because I'm pretty sure they didn't name the parameter in the material M_RedGlow_Inst to dictate the color.

lofty rapids
#

if you plug in the source like that it automatically sets it ?

#

i've always had to set the material to the new instance after

maiden wadi
#

That just gets the material that they already have specified in the primitive and creates a new instance of it.

#

Which clearly works. They see red. I assume or they'd be asking why they don't see the beginning color. They're asking why it's not changing.

#

It's not changing because they're passing the name of the material they created as the paramter name for the color.

lofty rapids
hard girder
#

The ai preception using a sight cone @lofty rapids

lofty rapids
prime stump
lofty rapids
hard girder
#

@lofty rapids at this point no but im thinking it would be best to do that, i was hsving issues that the BT was constantly chasing no matter where i was

ruby cobalt
#

RepNotify.. you guys knew about this stuff?

lofty rapids
lofty rapids
lofty rapids
harsh remnant
#

Hey everyone!
Quick question.

I followed a tutorial on YT about a stamina system.
Everything works except that my character keeps running even if the stamina is at 0%

lofty rapids
#

can't tell anything without code

lofty rapids
hard girder
#

Basically i ger behind him mid chase itll go back to roaming

hard girder
lofty rapids
hard girder
#

yeah just realised that my bad

lofty rapids
#

but its working thats good

#

so it percieved him atleast

#

so what i do is when percieved flip a boolean

#

then flip it back when to roam

hard girder
#

yeah it goes back to roaming which is good

sharp crane
#

Why do some of my maps not generate a world partition minimap even after selecting the build option?

ruby cobalt
hard girder
lofty rapids
sharp crane
crimson briar
# ruby cobalt i've been using bools and branches on event tick to refresh some stuff when vari...

RepNotify is mostly for multiplayer.
If you want it's behavior, you can easly make your own. Instead of using a Set node for the variable, make a function/event called SetMyVariable with the new value as an input.
Inside you only need to check if the new value is differnt than the previous one - if yes, set the variable to the new value and proceed with your code that depends on this variable changing.
Then you call this event/function instead of using a Set node

lofty rapids
# hard girder

i'm pretty sure what happened is he lost sight of you and then he's not still chasing a bool will fix this

#

then you just need to figure out when to switch it off

ruby cobalt
#

also using repnotify is 1 click to have the function built for you and already organized to be called whenever another source updates that variable

#

seems clean

crimson briar
#

You would still need to write the code inside the repnotify then. Using it instead of a custom event/function only saves you the time it would take to create the function/event itself

hard girder
ruby cobalt
#

yeah but that code would be the same no which method I use.. atm i'm using event tick + branch so the code is all around that

lofty rapids
maiden wadi
hard girder
sharp crane
vestal totem
#

I have a widget that loads button widgets TWO levels deep. I need the buttons 2 levels deep to be able trigger an event on the top most parent widget, to control which menus to be displayed. These use a DataTable to define the text value and such for each button programmatically, rather than defining each manually.

I am successfully doing this by passing an event delegate up to the middle widget and then up to the parent.

But is there a way to have the parent widget bind to an event dispatcher, or an interface, from the button widget directly? I couldn't figure out how to bind to the calls from 2 children deep. Hence passing up through the middle widget.

Right now most of the buttons just do nothing, or tell the menu to revert back to the Main list. They'll eventually call individual handlers.

WBP_Menu - contains a CommonAnimatedSwitcher with multiple WBP_MenuList instances inside.
WBP_MenuList-contains a VerticalBox and adds WBP_MenuButton widgets inside using a category enum.
WBP_MenuButton-Populates some text and receives onclick events passed down from the WBP_MenuList-calls up through the chain to change the menu

errant snow
# vestal totem I have a widget that loads button widgets TWO levels deep. I need the buttons 2...

You can, assuming that you can access the widget inside the widget.
But what you’re doing right now is actually the right thing to do even though it seems a little silly and extra steps.
It makes it easier to reuse the widgets at each level, it makes it easier to change the implementation of the middle widget and it lets the events that you bind to be more contextually relevant to the event being broadcast.

vestal totem
#

Hmm. Ok.

Accessing the widget inside the widget has been the roadblock to the idea. I can only seem to get one level deep with things as they are.

Makes it feel less flexible to me, since I could hypothetically change the middle widget around and break everything. If the top and bottom could communicate more directly I could avoid that maybe.

Is it better to use an interface for this vs the delegate (I think) I used?

I use an interface to pass the I lock down but a delegate to pass the menu change up. Tried a few things and this is the last attempt.

empty marten
#

Hey peeps,
Anyone know why this Create Asset node creates a Material Interface instead of a Material Instance like its suppose to?

#

Other issue has risen as well

#

Whenever I open the interface and click save, it then dissapears from the content browser

errant snow
# vestal totem Hmm. Ok. Accessing the widget inside the widget has been the roadblock to the ...

An interface wouldn’t be appropriate in this case.
It’s not less flexible because the boy thing you have to keep consistent when changing that middle widget is the dispatchers that you bound to. That’s your public API. Every else, including the widgets spawned by the middle widget, becomes an implement detail you should be able to change without the user of the middle widget knowing.
Making changes to the public API, be that dispatchers or regular functions, requires updating the users of that API.

harsh remnant
# maiden wadi Because you didn't tell it to stop. Without seeing code, that's about the best a...

Here is a link from the turorial.

https://youtu.be/cj67xUcc2GQ?si=j-pfoBYnyXHJTeE2

you can also send me a private message

In this video we talk a bit about Component Based Design, and build a Sprint that uses Stamina for our First Person Character. Since we build our Sprint and Stamina as 2 separate components, we can reuse them quickly and easily on other actors!

00:00 - Intro
00:55 - Sprint Input
03:27 - Sprint Component
06:22 - Sprint Structure
09:36 - Sprint F...

β–Ά Play video
maiden wadi
#

Not even ten seconds in and I'm annoyed with this tutorial. "Do it on components instead of the base blueprint class".

WTF is a "base blueprint class"? Presuming you mean "instead of in the character actor class most people might normally put this logic in".

Like dude. You're making tutorials. Your words actually mean shit. Use them correctly.

#

Omg, he said it again. FFS. COMPONENTS ARE BLUEPRINT CLASSES TOO.

dry monolith
#

what is my best bet for getting a 3D position in screen space? e.g. if the object is on the top left of the camera view, I want to get say (0.2, 0.2)...

#

I see this node, however I'm not using a player controller, just a camera

harsh remnant
maiden wadi
# harsh remnant What do you suggest om how to do it? The correct way

Stepped away for a few. But watching through it. And while I would do this in GAS. His approach is fine. He just really needs to stop calling the Actor class "base blueprint". It's a drinking game by the time you hit 40 minutes of this.

But for your issue. What you need are some event dispatchers. In your stamina component when it's tick hits zero stamina it needs to broadcast an event dispatcher. Then your character or your sprint system can bind that on beginplay and make the sprint stop.

maiden wadi
dry monolith
maiden wadi
dry monolith
#

Exactly. Pretty much the same as that node but with a camera component input rather than a player

#

It doesn't look like I can do it in blueprint, it's not a biggie as I can work out another solution I reckon

maiden wadi
#

I'm 90% sure that there isn't a specific node for that. But it's still doable. It's essentially some line plane frustum projections.

dry monolith
#

In my animation blueprint I am getting all actors of a class, and setting a referene to an actor placed in my scene. I print out the display name and it prints fine, however, in the update animation event loop it shows as undefined? Any idea why and how is best to set the reference?

#

I've even tried setting it in the event loop but it also just endlessly shows as undefined!

crude dew
#

Hi, I figured I would try to incorporate EQS into a State Tree (Not used EQS before) but am I missing something Im not sure how I get the resulting vector locaiton from the EQS result to go into a MoveTo node please ?

crude dew
# dry monolith

I,m no pro but see if i can help πŸ™‚ What are you trying to achieve? I can see you get all actors of Gaze Target ( A BP I assume named Gaze Target)

maiden wadi
crude dew
#

Have you tried the Try Get Pawn Owner in the Event Initialization ? I assume Gaze Target is the name of the BP this Anim BP is attached to ?

dry monolith
dry monolith
#

the idea is that the metahuman will always look at this actor

crude dew
#

Well do the Find Look At Rotation node inside the actor.

maiden wadi
# dry monolith

Make sure you're looking at the right BP. The editor runs a version of the AnimBP that isn't in the level for editor display. And it's usually selected by default.

dry monolith
#

yeah I thought the same thing, but it’s the same blueprint. It’ll print to the screen etc

dry monolith
maiden wadi
#

I mean the instance though. There's a dropdown somewhere in the top of the AnimBP that lets you pick the instance displayed for the debugger.

dry monolith
#

ahh I get you, let me see what instance i’m looking at

#

but still it’s odd that the blueprint cant set the reference right?

maiden wadi
#

Well if it's the editor one, then that means there is no Gaze thing to find.

crude dew
#

Something like this might work inside the actor.

dry monolith
#

Thats pretty much what I have at the moment in terms of setting the ref

dry monolith
crude dew
#

Also when your simulating the blueprint check you have the right one viewed as took me a while to understand you have to get the active one from the drop down

fleet prism
#

I made an blueprint that changes the material of an object from red to green and it works but theirs a small issue, Its supposed to be glowing When its red it glows but when it switches to the green its no longer glowing. Is thier like a node I could add to have to glow again or do I have to do something else?

dry monolith
#

that was so weird, thanks for the help and you @maiden wadi

maiden wadi
crude dew
maiden wadi
# dry monolith that was so weird, thanks for the help and you <@143471961723371520>

πŸ˜„ It's because when you test in PIE there are two worlds.

The editor spins up a world for the AnimBP so it can spawn it and display it for you in the little display world when you're editing the animation.

And then there's also the PIE world where you've opened your level with the animation in.

In the editor world where the anim is being displayed for preview, your other actor doesn't exist but in the PIE world it does. If that helps?

dry monolith
dry monolith
fleet prism
maiden wadi
crude dew
#

@maiden wadi Im being either blind or dumb I can only find an Array result from the EQS Query OnQueryFinished event. Thanks for the help

maiden wadi
maiden wadi
crude dew
#

These are all the options I can find for the OnQueryFinished.

#

Im not sure why I do not see a simple "Get Best Result From Query" or something.

fleet prism
maiden wadi
crude dew
#

@fleet prism
1 : Do you hgave a Dynamic Material Instance with a Parameter named Red_Glow?

maiden wadi
# fleet prism yes

Can you show the RedGlow material? Where the Red_Glow param is being used?

maiden wadi
fleet prism
maiden wadi
fleet prism
maiden wadi
#

Essentially the multiply was just making your green value far too small. And it was unnecessary since you want to set the color directly. So putting the color directly into the emissive is good. Another thing you could do is make a scalar multiplier and set it to some 1-50 value, and multiply the color by that and then only set the color in the 0-1 range. That would at least multiply the colors uniformly. But it's not necessary unless that's something you're after, to control the bloom manually.

plush hornet
#

Hi all, Is "detach actor" componet bugged or something? It doesn't work when I try and call it in a custom event. Only if it runs in the same event as when I call Attach to parent??

dark drum
plush hornet
# dark drum Not that im aware of, what are you trying to do and whats actually happening?

Im attaching an actor to the player as part of an ability when my player is in the air. When the actor hits the ground the attached actor is detached and then destroyed. Spawning in and attaching the actor works fine but it will not detach no matter what I do. I tried making custom events in the Player charecter it doesnt work. I tried making the events in the attached actor it still doesnt work. I used a print string to test if the custom events are being called and they are being called. The only way it works is if detach actor is on the same event as attach actor. Separately it doesn't work. And weirdly enough if I try to detach and destroy it, if it is attached it will duplicate it, but if its ran off the same event no issues.

#

Im using GAS by the way but that shouldn't impact it surely

dark drum
plush hornet
dark drum
#

Does anyone have any idea why I'm getting this message?

Blueprint Runtime Error: "Accessed None trying to read (real) property CallFunc_GetDynamicMaterial_ReturnValue in not an UClass". Node: Set Texture Parameter Value Graph: SetIcon Function: Set Icon Blueprint: W_HB_Element

This widget is used in another place and works perfectly fine but I'm trying to use it in another widget but getting the above.

ornate trail
#

just noticed this looks like a slate function? That might work differently then

dark drum
#

I've even tried this but then it just states the DMI isn't valid. πŸ‘€

ornate trail
#

yeah it's coming back null

dark drum
#

Yea but even switching to use the DMI variable directly, I just get accessed none. Very confused. haha

ornate trail
#

makes me think the resource it null then

#

since the only way it can return null is if the cast fails

#

do an isvalid log on the icon before you pass it?

dark drum
#

This widget is used in another widget and it works fine in that one. πŸ€” Just not sure what I'm missing.

ornate trail
#

seems to be this UObject* Resource = Brush.GetResourceObject(); can't get the resource for it

#

if there's no brush asset there's nothing to set

dark drum
#

Oh, switching to on initialized instead of pre construct works. πŸ€”

ornate trail
#

probably a timing issue, preconstruct you don't have anything to set yet

dark drum
#

Interestingly this still doesn't work. 🀣 Just gets set to white.

ornate trail
#

spelling color with a u smh

dark drum
ornate trail
#

you'll find it

dark drum
#

Yea, just one of them days. πŸ˜…

ornate trail
#

tell me about it, control rig hell for me

#

could have used a blendspace but noooo, had to get fancy

dark drum
ornate trail
#

cool when they work tho

storm stream
#

It is good to using GetAssetsbyPath and then get correct asset mesh in replacing inventory items? or its only mean to work in editor? I have a problem, in PIE everythings works, i get the item, use it and mesh is found by path then replaced, works as intended, but in shipped project i found a issue, one of my meshes on XX path cant be found (?) its new added mesh, rest of them works fine, only that one cant be found by "Get Asset Registry" (i think its the issue) How data registry works? I need somehow to register my new added mesh to it or what? or its only for development purpose, not for game.

dark drum
# storm stream It is good to using GetAssetsbyPath and then get correct asset mesh in replacing...

It should work but if an asset isn't directly referenced, it might not get packaged automatically. If this happens you might have to manually specify that it should be packaged. You can also run into issues with the path names so personally I would try to avoid it where possible.

Generally for items you'd have something that contains most of the data for an item in a single place such as the icon for UI, mesh/skeletal for how it should show in the world, material overrides etc... Primary Data Assets can be a good option for this and you can use the asset manager to load groups if needed.

The reason i mention this is because manually specifying a path for each item could cause massive issues if a file is renamed or a folder is moved.

storm stream
#

I using Data Asset, just i have variable name for meshes and then i search for it.

#

But ye, it issue with registry, my mesh is not packaged automatically, u know where i can add it manually?

summer tendon
#

hi editor utility actor can call function from editor utility widget ? how to get reference ?

dark drum
dark drum
dense rampart
#

i'm making an enemy ai script for a turn based strategy game but it's just normal movement, is this blueprint right?

#

i am just shortening on what the issue could be

surreal peak
dense rampart
#

i got the other part sorted

surreal peak
#

Ah sorry, DestTarget I think.

#

Names are hard to read in the image.

#

Oh it's BestTarget I guess.

#

That one. You are basically setting it to "nothing" every time.

dense rampart
#

ok so how do i sort connecting destination?

surreal peak
#

You just want to connect the Player to it that you found the score for. Although the longer I look at the function, the worse it gets.

#

And then connect "BestTarget" as a Getter to "TargetActor" on the AI Move node after moving it.

dense rampart
#

now I am wanting to calculate the movement so that if it reaches 100 movement with each step and once it does the enemy stops moving and then the the turn switches back to the player

#

though I am not sure why the vectors can't subtract

fleet prism
#

Ok I asked this question in materials a while ago and no one awnsered me so Im try here. I was making a scan effect and when I was making the material to be able to see scanned objects behind walls and stuff with post processing. And I select my object and set the render custom depth to true instead of getting an outline on the object I just get theis weird green lines on my screen.

crimson briar
autumn pulsar
#

Can I set the animation blueprint for a mesh? I'm trying to make an armor system, and wanted to swap out a mesh with another one with a new animgraph for animdynamics stuff

#

Additionally, I'll need empty skeletal mesh slots, can I just set those to nothing? or is there a specific thing I need to do

next hollow
#

All of those should be possibe/ yes.
You can set the anim instance, for the anim BP, and they should be fine as just empty/ null.

autumn pulsar
next hollow
#

One is the component, aka what actually holds the info
One of the mesh, of what to render, in said component.
Sounds like the Map is using the mesh one, and not the component one.

autumn pulsar
#

oh I see, I had updated the the map, but didn't update the "add"

#

so it was asking for the wrong thing

lofty rapids
#

A – B = (a1 – b1, a2 – b2, a3 – b3)

dense rampart
# lofty rapids

Oh that one subtracts ok? thank you. I am just so close to of the results I want, I am just now calculating so if the enemy move hits a number range like 100 it stops and the. It switches back to the player’s turn rinse and repeat

lofty rapids
lofty rapids
#

most likely

#

or in bp it's length

sharp grotto
#

Is there someone who has experience in ynnk plugin for metahuman and non-meta characters lip sync and facial animation.
I really need help for this plugin how to use it and faced some issues.
Please message me.

#

Ty

autumn pulsar
#

So I'm trying to make an inventory system, and I was looking to have item stacks. I have the incoming item class, but I wasn't sure of the best approach to "match" it with my inventory. Would I be better off using an array then cycling through all of it until I find a match, or would I use a map for that?

#

Additionally would it be better off to grab the class?

#

Each item should be its own UObject type

next hollow
#

Your only real bet would be going over the loop of all items.
A Map I guess would work?
But it seems like it’s be a bit too weirdly confusing.

autumn pulsar
#

I could have a global table of all items, but that makes adding new ones a headache

next hollow
#

That table would still be an array to loop over anyway

autumn pulsar
#

yeah and if I wanted to set stack sizes an array would be better

#

since I can loop to find the next stack

next hollow
#

It’d be an array no matter what?
An array of item objects, or an array of stacks.
One is just an extra step to change the stack size. (Aka getting the item object)

autumn pulsar
#

Wasn't sure if "map" was a hashmap in Unreal

next hollow
#

A map is.
But there’d still be an array of the items.
That be the objects, or the stacks.

autumn pulsar
#

If I have say itemarmor and itemweapon and they both inherent from itembase, if I do a class check between itemarmor and itemweapon, would that pass?

#

Does calling a return node break a for loop?

#

Guess I'll find out

next hollow
#

Yes.
It ends the function, so sequence, loops, etc end

autumn pulsar
#

sick

autumn pulsar
#

I'd have the sort of "host object" that has the item information in it, and I'm wanting to "yoink" that and attach it to my player

#

Though it may be better to store as class references instead?

crimson briar
dense rampart
#

okay I am nearly there but i have set this up and i did have other print strings as far as after the branch however nothing seems to be in affect

crimson briar
dense rampart
lofty rapids
#

you print on just true, just false ?

#

print on both, and see if either show up

narrow pulsar
#

Has anyone figured out how to make the crouching of movement component smooth? While still being replicated for multiplayer

north bobcat
#

anyone in here know anything about saving variables in ue? It's not working for me for some reason lol

nova rivet
#

you have to make a save file blueprint and copy all the variables you want to save to it, if I remember correctly

tepid willow
glass blade
#

does this qualify as a latent(async) node?

next hollow
#

Latent, but not β€œasync” in the expected context.

#

I think async is more like.
Jumps from the node, to a 2nd thread, to then return later.

While timers are you set, and there checked on the main thread per tick.
They also don’t return data.

autumn pulsar
jovial steeple
#

That node is not latent or async.

#

All the node itself does is register a new timer in unreals timer manager.

#

This action alone is not latent, as it can be completed instantly. Thus it is useable in things like funtions.

#

It is also not technicly async.

#

However you can use that node kind of like an async task. You can also use it to get the same functionality as many latent nodes (Like Delay). This is where the confustion comes from. However, that node alone is neither latent or async.

autumn pulsar
#

The node itself isn't async or latent, but the timer it sets is

#

So you can accidentally screw up by having a rogue timer set a variable

maiden wadi
narrow pulsar
narrow pulsar
crimson briar
dense rampart
narrow pulsar
#

The timeline:

#

I did find that if i use a spring arm with camera lag speed turned on it works perfectly even without a timeline but it feels hacky and kinda scared it may affect other things

#

I think I know what the issue is but I do not know how to fix it. The CMC Crouch moves the camera a tiny bit down (it does not move it from 64 to 32 for some reason dunno why) so what's happening is the crouch happens -> moves camera that tiny bit from crouch -> lerps the rest of the distance between that position until the 32 from "crouched eye height"

crimson briar
#

Oh, I thought you didn't include the actual crouching yet and were testing the camera on its own- since there is no code triggering the crouch on the screenshots

narrow pulsar
#

I'm using Ninja Input Plugin, it calls the crouch() from CMC

#

But even if I did it manually it would be the same issue

crimson briar
#

Well in this case yeah, you either use the CMC handling of crouching - I believe it has settings for changing the crouch eye level etc. Or you disable it and do your own with a timeline.

dense rampart
#

still having some trouble, from what the testing is going is that doesn't conisder the ai blueprint as valid though the class settings for the pawn are correct for it so I am not sure on the issue

crimson briar
spring magnet
#

Something is up with unreal respawning and it's driving me up the wall.
If I have 3 player starts, but I cover 2 of them with a mesh, the engine still rolls the dice and attempts to spawn the player at one of the covered ones, so 66% of the time, the player spawns, immediately gets destroyed, and the camera goes to 0,0,0. How does this make any sense?

crimson briar
# dense rampart nope

Sigh.
A Blueprint/Class is a template for creating objects.
A variable of this type is a container for holding a pointer to once specific object spawned in the game. By default a variable is empty, meaning there is absolutely nothing there so you can't call functions on it.
To execute code on it, you need to get an instance of this type and put it inside the variable.
For instance if it was inside some AI blueprint, you would use a node called GetController (or get ai controller, I don't remember if it was named like this) - this gives you the reference to this AI controller if it has one. You can then put it into a variable for example or use right away.

#

Since you are iterating through the enemies you probably want to use the Array Element controller, instead of the variable AiController

#

You just need to cast the GetController to your aicontroller before using it

#

Or check if there was a Get for AiController specifically, I don't remember

crimson briar
spring magnet
mortal palm
north bobcat
#

just aint happening

#

it just prints that string on the right picture

crimson briar
# north bobcat

What is the name you use, inside the MainGameSaveFile string? ANd is it ever changed?

#

Also check if the file is created inside the folders. It should be inside YourProjectName/Saved/Game Saves or smth like that

lofty rapids
lofty rapids
#

thats just the type

#

you need to actually set the variable

lofty rapids
dense rampart
lofty rapids
#

you need to actually assign it the value

#

like you can have a variable that is a string, but you have to set it's value

#

so you can have a variable that is a bp

#

but you have to set its value

summer tendon
#

can i call within editor a function to game instance ? or it needs to be done on run time ? (play) ? i wanna store a value there and load another lvl and load it without "playing"

dark drum
summer tendon
dark drum
summer tendon
#

all doing outside of play it is inside of editor utility widget

dark drum
summer tendon
dark drum
north bobcat
dark drum
north bobcat
#

oh

#

so I just duplicate the variable name there?

dark drum
north bobcat
#

this will do lol

summer tendon
north bobcat
#

I thought the variable name was the name that saves lol

dark drum
north bobcat
#

why

dark drum
last peak
north bobcat
#

just in case

dark drum
# north bobcat why

Some operating systems don't handle spaces in file paths very well. Sometimes gets replaces with %20 i think.

north bobcat
#

I see

#

It works ty

dark drum
last peak
#

Mhm its a confusing thing at first in object oriented programming, its also hard to properly explain haha

dark drum
ocean cloak
#

I'm looking to seriously level up my UE5 Blueprint skills. My goal is to gain the professional knowledge needed to build complex systems independently, rather than just repeating steps from specific tutorials.

Could you please help me find the absolute best, most in-depth, and structured video course or series? (It doesn't matter which platform it's onβ€”YouTube, Udemy, etc.)

I need a resource that explains how the whole toolset works and why we use specific techniques (like Interfaces, Casting, and Event Dispatchers), not just what to click.

crimson briar
#

I doubt you will find a course that will take you to a "pro level" whatever it is. You gain this sort of experience mostly by making systems yourself, failing, and figuring out why it failed.

loud vessel
#

Hey, I have a very weird problem.
I just installed UE5.7
and when I tried to package just a default template project, I got these errors.... (Check Image and text file)
Any idea what I may be missing?

Also, I have Visual Studio 2022 Version 17.8.3
(The lastest is 17.14.21 but I don't have it downloaded --> is it Required for whatever the fix is?)

Please @loud vessel Tag me if you know the answer, or what I should do, or need more info.

#

I tried to search (Youtube/Google), but either couldn't find anyone else with the same problem....
or simply didn't know exactly how to search for this particular error.

dense rampart
dark drum
last peak
#

then you set your controller variable to that

ocean cloak
dark drum
dark drum
maiden wadi
#

I'm not sure there even honestly is a resource on that. It's just pure experience.

ocean cloak
dark drum
maiden wadi
#

To be fair, having just BP skills is a big 😬.

BP is a scripting language and meant to bridge the gap between designers and engineers. Like even if you're going to be a non C++ tech artist, or a mission designer, or dialogue person, or etc. You still have to incorporate a lot of the other things.

If you're designing systems front to back, you're an engineer, and you NEED C++.

dark drum
#

I which BP's supported Polymorphism, i feel like being able to overload BP functions could be useful. πŸ˜…

white parrot
#

For most simple use cases you don't need C++.. you do however need to learn how to program rather than how to code

maiden wadi
dark drum
maiden wadi
#

Ohh. You're meaning like same name different arguments.

#

Yeah. The joy of everything being a name lookup mostly.

dark drum
#

Dual Classes (multiple-inheritance) could be cool as well but you can just use a component in most cases.

dark drum
# ocean cloak I need a resource that will teach me the logic and fundamentals of the entire sy...

Start with this. You don't need to worry about understanding the actual code. (You can skip the polymorphism section)

https://www.geeksforgeeks.org/cpp/object-oriented-programming-in-cpp/

maiden wadi
#

To be fair you can't do the class thing in C++ either with Unreal. UCLASS is specifically one class. Interfaces are a special case on that.

dark drum
#

Access Specifiers and Encapsulation is probably a big one a lot of newer individuals don't use. πŸ€”

maiden wadi
#

Newer. Haha.

#

I've seen people who've been doing this for nearly a decade who couldn't encapsulate their way out of a wet paper bag.

#

Getting people to fucking design actual systems and use an APIs makes you feel like that torture guy on the first episode of Alias.

dark drum
#

I don't like people touching my stuff so it all gets set as private unless I allow them to call something. πŸ˜…

I've seen a few examples where someone had a setter function so it would call an event dispatcher but the variable was still public.

#

I wish you could set properties as protected in BP though. Only being able to set as private can be a pain when dealing with hierarchy.

maiden wadi
#

Curious if they did that because of the reparenting tool.

#

Dumb reason, but I'm still curious.

dark drum
narrow pulsar
#

Its just when the scope because complex that it really requires c++

#

Even for a lot of complex projects some stuff in bps is completely fine

maiden wadi
#

That's not even remotely true. You can make a basic game with BP only if you're careful. But you will be cutting corners and ignoring features that even basic C++ allows.

lofty rapids
#

i'm working on a scripting language that is inside a BFL

#

basically a VM exposed to blueprints

narrow pulsar
#

I mean theres games made 100% in bp that are quite complex and have a sht ton of features

lofty rapids
#

ime c++ is basically required, there are things you literally can't do in bp

#

and the performance gain on serious tasks is enormous

#

you can make a full game

narrow pulsar
#

Bright memory for example

#

Idk I use both but I feel like I could easily make them in bps alone its just a question of performance and replication/networking issues existing with bps

#

So no mp games for bps

lofty rapids
#

i mean i do multiplayer with bp rpc

#

i just had to expose some stuff

#

for like timing

#

so i needed a bit of c++ to expose events but thats it

#

it seems to run ok for now lol

#

what part would i need to have in c++ ?

narrow pulsar
#

For performance any loops

#

And i havent done much replication in bps at all

#

I avoided it completely because always heard bad things abr it

#

Abt

lofty rapids
#

its just a bit complicated to get anything to work

#

as far as to get one thing to work you need like four times the code

#

once you get an idea bout replication its actually nice to have

#

i've done networking in the past and this makes things very nice imo

last peak
#

Like polymorphism, Unreal engine is polymorph heaven

#

Learning Pointers and syntax is probably the hardest part after bps

full badge
last peak
#

ye 100%

full badge
#

being not able to pass variable reference through events is kinda pain

last peak
#

ye i mean you can just send the entire object and then directly manipulate the variable but that brings its own problems with it and is annoying

full badge
#

yeah

#

im just sending variable name
then set the variable through set property by name

maiden wadi
# narrow pulsar Bright memory for example

This game requires a source build. So it's not purely BP.

And while I will admit that the game looks very nice from the footage I've seen, from an engineering standpoint it isn't insanely complex. He leans a lot on existing features like the sequencers. It really does showcase the creator's artistic and cinematic skillset. But the programming requirements in this game is not complex.

crude dew
#

Hi, If i wanted to reevaluate a tree state on every run of the tree to check that a Enter Condition is still true how would i do this please?
The tree is shown below it is checking the Enter Condition of the Chase Node to ensure the CanSeePlayer and Chase is true to enter,

But IF the player moves out of sight then I want the tree to say CanSeePlayer is false and then return to Idle or some other branch plz. Been stuck a few hours on this so thought I,d reach out here. πŸ™‚

#

This is the chase logic

#

Updated Tree

jaunty solstice
#

How do you get random variation for a float value in a Blueprint Actor?
Can I access the world coordinates somehow and use that as a seed value for a random multiplier?

crude dew
#

Is this what your after ?

jaunty solstice
# crude dew Is this what your after ?

Thanks. I think this might work.
How do you get the current actors location? Is that Get Local Transform or?

Also instead of Make Random Stream should I instead be using Make Random Stream From Location?
Just using regular Random Float in Range won't work because all your Blueprint actors have the same random value unless dynamically instancing at runtime.

crude dew
#

What exactly are you trying to do just make a random vector for a location in the world ?

#

Get Actor Location will give the Actors location in the world

jaunty solstice
#

Yep thanks!
Get Actor Location >> Make Random Stream From Location >> Random Float in Range from Stream

Correct?

crude dew
#

I think this is what you are trying to do

#

Ignore the GetControlled Pawn node if you are doing this inside your actor, Then you can put a Min and Max and then it will always return the same value between the min and max depending on the actors location i think.

jaunty solstice
#

Thanks!!
Had another workflow question>
When creating a BluePrint actor for a Cinematic is it necessary to copy your logic from the Construction Script to the EventGraph (Event BeginPlay)?

Or is this only necessary when making dynamic (runtime) changes from Sequencer?

crude dew
#

Ah not done any work in Cinematics/Sequencer yet so cant help with that soryr. ; (

last peak
jaunty solstice
#

Next is some random color variation😬

last peak
#

Ah well

#

color should work similar

jaunty solstice
burnt edge
#

anyone know why my interface function isn't showing up in the blueprint functions list?

dark drum
dark drum
dark drum
# burnt edge yeah

Is it a child class? If so, you might need to enable show inherited properties.

burnt edge
lost hemlock
#

Hi, I spent 2 days to write a function in C++ that would serialize my render target so that I can save/load it

#

this is the file

#

But I realized my visual studio & visual studio code didn't properly expose my functions to my blueprint

#

I asked almost 10 people who are really experienced in C++ coding with unreal engine & vs/vsc, but nobody could understand wtf was wrong with my Visual Studio .SLN etc.

#

so i decided that I must do this in blueprint instead...

thin panther
#

visual studio and VSC has no bearing on what gets exposed to blueprints

#

UHT and UBT is doing the blueprint exposing for you

#

It might be more helpful to share the code than a chatlog

lost hemlock
#

lol, omg

thin panther
#

lol

#

that's a new one for me 🀣

lost hemlock
#

πŸ’€ sorry about that

#

anyway this is the code I was trying to send, lol

#

this is how I did it... but It worked only once at first, then it no longer worked...

#

I think I broke something with my source files...

thin panther
#

your header is what's important for exposing functions to unreal

lost hemlock
#



// Fill out your copyright notice in the Description page of Project Settings.

#pragma once

#include "CoreMinimal.h"
#include "Kismet/BlueprintFunctionLibrary.h"
#include "Engine/TextureRenderTarget2D.h"
#include "Engine/Texture2D.h"
#include "Kismet/GameplayStatics.h"
#include "Kismet/KismetRenderingLibrary.h"
#include "GlaxFunctionLibrary.generated.h"


USTRUCT(BlueprintType)
struct FRTColorData
{
    GENERATED_BODY()

    UPROPERTY(BlueprintReadWrite, Category = "RTData")
    TArray<FColor> Colors;

    UPROPERTY(BlueprintReadWrite, Category = "RTData")
    FIntPoint Size = FIntPoint::ZeroValue;
};

UCLASS()
class TERRAVIVE_API UGlaxFunctionLibrary : public UBlueprintFunctionLibrary
{
    GENERATED_BODY()

public:

    /** Read pixels from a render target into a serializable color array. */
    UFUNCTION(BlueprintCallable, Category = "Glax|RenderTarget", meta = (WorldContext = "WorldContextObject"))
    static FRTColorData RenderTargetToColorArray(UObject* WorldContextObject, UTextureRenderTarget2D* RenderTarget);

    /** Create a transient UTexture2D from a color array. */
    UFUNCTION(BlueprintCallable, Category = "Glax|RenderTarget")
    static UTexture2D* ColorArrayToTexture2D(FRTColorData Data);

    /** Fill a render target from a color array. Returns true on success. */
    UFUNCTION(BlueprintCallable, Category = "Glax|RenderTarget", meta = (WorldContext = "WorldContextObject"))
    static bool ColorArrayToRenderTarget(UObject* WorldContextObject, FRTColorData Data, UTextureRenderTarget2D* Target);

};
#

oh yeah this is also the header

lost hemlock
#

but anyway, today im planning on doing that in blueprint

thin panther
#

ah ok it's recent

#

Ok, might be worth bumping the conversation, it seems people just went a bit inactive (granted now isn't it's most active time either)

lost hemlock
#

I think I need to try it in blueprint

#

Im debating it, although not sure which option would be easier at this point

thin panther
#

You should definitely ask there. Your issue isn't with the blueprint scripting language, it's an issue with C++

narrow pulsar
#

So I'm having some issues, how can you make crouch from CMC smooth instead of instantly teleporting your camera? I saw there are some guides on youtube but when I follow them they do not work at all. The screenshot results in the issue in the next video: I found out the issue is because my capsule moves down when crouching and the difference between the standing height & the crouched height is whats causing the instance snap

https://medal.tv/games/unreal-engine/clips/lB62x3Y8huVxWhTmH?invite=cr-MSxFMTAsMjAwNTA1NDU4&v=6

prisma crag
#

I'm trying to package my level (which has 3 levels, the main menu screen which is just a UI, the actual game itself called 'Terminated' and an end screen which lets the player close the game) but whenever I try to package it I keep getting this error consistently:

PackagingResults: Warning: Visual Studio 2022 compiler is not a preferred version PackagingResults: Warning: Unable to generate long package name, EndScreen. Input 'EndScreen' is not a child of an existing mount point. PackagingResults: Warning: Unable to generate long package name, Terminated. Input 'Terminated' is not a child of an existing mount point. PackagingResults: Warning: Unable to generate long package name, MainMenuMap. Input 'MainMenuMap' is not a child of an existing mount point.

I've included them all in the Project Settings > List of maps to include in the packaged build and everything works on the coding side.

The build DOES package itself but the main menu doesn't take me to the game (though it works in the editor). Is there something I'm missing? If I need to add any more information please ping me and let me know Salute

lusty ginkgo
#

Hello,
Has anyone worked with the AnamorphicLensDistortion and LensFile nodes within an EventGraph; either for an Editor Utility Widget and/or Blueprint? Specifically when working with the 3DE4 Anamorphic - Standard Degree 4 lens model.

#

I'm researching how to import and process existing animated anamorphic lens distortion parameter values from a txt file output from 3DEqualizer to auto assign onto an existing Lens File, rather than manually setting Lens Data Points.
If anyone who's used 3DE before, I'd be interested to know what direction was required to process this type of data into UE5.

crude dew
# dark drum That's not how state trees work. They don't tick like behaviour trees. Instead i...

Oh ok, Thanks for the reply I thought things like Evaluators and Global Tasks would cause a re-evaluation of the enter condition but i guess once its entered the state it stays there until Finish Task is called (Which would send it back to a transitional state using (OnStateCompleted) I guess ? So if the AI Move To is called but never finishes (IE, It never reaches the player the tree will never leave the Chase state right because OnMoveFinished never triggers the Finish Task ?

Is this correct? Just thought I would write a thing to see if my understanding of the trees is correct, Once again thank you !

dark drum
hollow drum
#

Can some tell me what i am missing this is on the Event Tick chain in my playercontroller blueprint. I am making a card game and I want to click and drag the card around the screen and with this I am able to, only thing is when I first click the card to pick it up it lifts to the Z20 which is supposed to happen but it does not just lift straight up and allow me to start dragging from the spot i clicked. It repositions the card so that the point i clicked is under the mouse cursor after lifting the card. I dont want it to do the reposition part. The Return Value on the inverse Transform Location node is connected to new location pin on a Set World Location node

dark drum
hollow drum
#

@dark drum Sorry forgot to mention that is what the Relative Grab Location node in the Screenshot is

dark drum
dark drum
hollow drum
#

it allows me to start dragging from where i clicked it's just when the initial click happens the card is at 1z height and then it moves to the Z20 height and when it moves to the Z20 height the Raycast impact point is no longer directly under the mouse cursor so it repositions the entire card while at the new Zheight so that the original impact point lines back up with the mouse cursor and i dont want it to do that

#

this is how the Relative Grab location is set

#

@dark drum I rewrote that last message to better explain what my issue is

narrow pulsar
#

Has anyone managed to get a smooth camera transition working for crouching when using CMC's crouch()?

dark drum
dark drum
narrow pulsar
dark drum
narrow pulsar
#

hmm

#

I guess I could try that

#

Just not a big fans of delays like that since it'll be multiplayer but yea

dark drum
narrow pulsar
prisma crag
dark drum
prisma crag
#

because my intent was to have the game start at the main-menu (as its own level) and then it goes to the maingame (terminated) and end on EndScreen. The nodes I have to do that are all in different levels to eachother. (Terminated DID have a node that looped back into itself, however i removed it but got the same errors)

maiden wadi
narrow pulsar
dark drum
prisma crag
#

the first image is my MainMenu - > Terminated one

The second one is Terminated - > MainMenu (Done via a widget that appears on the player's death)

the third one is when the player beats the boss and goes from Terminated - > EndScreen.

maiden wadi
# dark drum Attaching the camera isn't a bad option. However, I found that sometimes the cam...

No I mean like. You put a bone on the mesh itself. Similar to attaching a sword to the "Hand_r" bone. Except this one just doesn't move normally except when you crouch and prone. So the animation itself drives where you want the camera. After that it's all about feelers and tests and such.

So your capsule resizes instantly, doesn't matter so much, but your animation which is already driving the character's visuals can also drive the camera's "desired location".

#

Would still need extra handling from the manager though. I really should look into that new gameplay camera thing.

narrow pulsar
# dark drum Pretty much.

So I got this working and it works really well except that when testing in multiplayer the client starts kinda spazzing out:
https://medal.tv/games/screen-capture/clips/lBBfRjce0W4QHqopj?invite=cr-MSxrMEMsMjAwNTA1NDU4&v=9

It works perfectly fine for the host though but yea

Watch Weird by Steeljardas and millions of other Screen Recording videos on Medal. #screenrecording

β–Ά Play video
dark drum
narrow pulsar
#

will give it a test

prisma crag
narrow pulsar
#

I'll have to see if I can figure out a way around it

narrow pulsar
#

Since main screen was playing as listen server it was updating in the server and causing the desync

dark drum
prisma crag
#

I managed to resolve it, all I had to do was enable Generate Abstract Class and change the parent class of my level to something else, then switch it back

#

I don't quite get how it worked but I'm not going to complain

#

I do have a new problem now, where I keep getting this warning and none of my NPCs are moving in the packaged builds (though it works in editor?)

LogCrowdFollowing: Warning: Unable to find RecastNavMesh instance while trying to create UCrowdManager instance

#

I have a recastnavmesh in my level, though I don't know why it's not working

tepid solar
#

Hi guys. I want to access an actor from another actor. To be precise I want to access an staticMesh that I made to an actor from the player Actor. I tried to get the parent of self and then search for childComponents with a tag I set beforehand but that doesn't work.

dark drum
tepid solar
#

No the static mesh already exists in the world

tepid solar
dark drum
prisma crag
#

is there any way to use my player's variable on the level blueprint?

I'm trying to make a door and a key (the key is the variable on the player) but I'm not quite sure how to call it.

tepid solar
white parrot
prisma crag
last peak
#

and there you go

prisma crag
#

so just make the door it's own individual script?

last peak
prisma crag
#

I'm afraid I put all my door-related stuff there already Deadge

last peak
#

i mean if you are solo in a small project ok go for it but its bad practice

prisma crag
#

Yeah it's just a solo project, but I'll keep it in mind for future reference

#

with that in mind, is there any way to do it within there?

last peak
#

for anything else that is not your player you probably want to use a interface like Pingo said

white parrot
# prisma crag how would I go about doing that, if you wouldn't mind explaining?

You create an interface (instead of creating aBlueprint you create a Blueprint interface). inside you define a function
"Unlock" and add a parameter that matches your key variable Actor/String however you defined it.

In your door BP, class settings -> add interface -> the interface you just created, it will be added to your functions list under the same name "Unlock".
double click to implement it, as in what happens "when you receive that key variable".

assuming you have an overlap event on your door, when the overlap event triggers you dereference OtherActor and call the "Unlock" and pass in the key variable.

white parrot
last peak
#

i just imagine a entire dungeon where he has to script every single door lmfao

maiden wadi
#

Composition is a wonderful thing.

prisma crag
#

granted their code is copy and paste cause this one is the only one w/ the lock gimmick

last peak
#

why copy paste the crap 6 time if you could just create 1 actor

#

and place it 6 times in the world

prisma crag
#

Uhh?

#

good question

solemn fog
#

Hello! I just started learning Unreal Engine. Could anyone recommend a good Blueprint tutorial for beginners?

maiden wadi
#

To start off with. Literally anything to get used to the engine. What or how your learning matters less than getting oriented. Anything that is like a "build some game style thing" with a bunch of episodes are usually good. They'll run through a bunch of different topics.

Past that you can do more specific implementations.

Casting is not bad. Interfaces are not great. Composition is wonderful. Datatables are okay, DataAssets are better. Make systems and an API. Do not put gameplay logic in Widgets.

solemn fog
#

@maiden wadi Thanks! This is really helpful. I’ll look for a small game-style tutorial to get used to the engine first. Also good to know about DataAssets, composition and avoiding gameplay logic in Widgets β€” I wouldn’t have known that as a beginner.

white parrot
solemn fog
#

@white parrot Thanks for the information!

prisma crag
last peak
#

You get your player character - this is your current player character object with that you cast to your player - this is your specific player instance - you get its variable

prisma crag
#

OH

#

I'm a fool

#

my apologies

last peak
#

Everyone starts somwhere

sand shore
# prisma crag Would there be no alternative? I'm trying to get an already-existing boolean fro...

Level script can directly reference actors already spawned into the level. You could have the player’s pawn already in the level and possess that after the controller gets set up, to directly reference it in the level scripts.

But then if you change the possessed pawn, then the level scripts will break. Others have already indicated you might wanna avoid the level script, so I won’t lump more of that advice in.

jovial hemlock
#

Can you still launch or add impulse to a character if the mesh of that character has simulate physics set to true to make it ragdoll?

rough pecan
#

I'm having some troubles here with a weapon pickup system.
The pickup works fine and all, but I can't figure out how to get a reference to the character the weapon is attached to.
I'm destroying the weapon pickup actor, spawning a new actor, then attaching it to the Hand.
But anytime I try to get Attached Parent, Attached Actors, or anything like that it shows None or gives a nullptr.

last peak
#

THen on spawn actor from class you can set it to whatever it is attached to

tribal gazelle
#

I'm trying to work out the best way to store and retrieve variables like character, mesh etc. and access them via actor components and can't seem to find anything on this. Does anyone have a specific process they do?

last peak
#

Do you want to access the variables from the component

#

or the other way around

tribal gazelle
# last peak Hmm what do you mean exactly?

I want to store variables like character, mesh, capsule component, player controller in one place which I can access via actor components. I am doing the references in a single actor component but I am getting all sorts of problems doing it that way

last peak
tribal gazelle
last peak
tribal gazelle
# last peak But what are the problems you are running into ?

The juggle between controller spawning first then character being spawned then controller possessing character - even if I set the references after the posses it still is not working. (well it does but the controller reference is returning none) I am just assuming there is a much better way to do it.

last peak
#

Is there a reason why you want to store the controller ref on a component ?

tribal gazelle
last peak
#

I mean im not sure if there is a better way i usually tend to store important variables that i want to access somwhere else in a component too and so far i havent encountered any problems with it

tribal gazelle
crimson briar
# tribal gazelle I want to store variables like character, mesh, capsule component, player contro...

It is not wise to store references in a single place like this because then you risk binding everything in your game together. Which means it will be harder to reuse elements and more stuff can break when one of the things changes.

As to your problem with the references not being valid - if two actors exist in the world, you don't have a guarantee which one will be created first. So in a case where you need a reference to another actor before the current one continues - you do a small loop in begin play. Try to find the actor -> if it is valid, great / if it is not valid -> delay/timer for 1 second -> loop back to the same code looking for actor

last peak
#

Wait

last peak
#

Thats indeed a bad idea

crimson briar
#

I think he wants a singular component for storing references to various things so other components can easly pull from it instead of looking/getting them the other way. And yeah, it can be a bad idea depending on what exactly he wants stored there.

sand shore
#

It feels like this is adding a lot of maintenance complexity for not a lot of benefit

#

A lot of these references are already cached like the controller’s current pawn

last peak
sand shore
#

But then this type of out-of-order initialization will continue to plague this cache component

last peak
#

THe one and only, the most holy god class was born into existence

#

providing unity in a chaotic environment

maiden wadi
#

Not even initialization as an issue. It's pure madness. Like you already know you're working with a character clearly. Just get the owner and pull the shit.

And the player controller is gonna suck. Maybe not for a VERY specific game. But playercontrollers on pawns can change. Caching it in relation to a pawn is... 😬

last peak
#

i once worked together with a guy who did create such a monster, his reasoning was "its easier to get the references this way"

#

He wnt super angry when i told him that this is complete trash

#

That garbage bp took 10 minutes to load XD

maiden wadi
#

I don't even like it when people cache references in like Beginplay a lot of the time. Extra maintenance for no gain drives me absolutely nuts.

lean flax
#

Can accessed none crash a packaged game?

hardy merlin
#

Is there a BP equivalent to Ensure? Or a plugin for that behavior?

south obsidian
#

A new day, a new problem. I have a question. How can I modify/make the doors timelapse to use physics? I mean, stop at obstacles instead of going through them, as I've been doing until now. I've tried to solve something with AI and searched YouTube, but with little success. An example is from a BP vehicle. The vehicle is running on the Vehicle Chaos System

modern cove
#

Matter of curiosity: When a game is built with Unreal Engine 5, how many CPU cores does it utilize?

maiden wadi
crimson briar
# lean flax Can accessed none crash a packaged game?

Yes it can. Blueprints have some guardrails so it doesn't crash in the editor, but there is a big chance it will in packaged game. If you have situations where you are not sure if something will be accessible, add an IsValid node or a validated get before using the variable.

maiden wadi
#

They won't crash in a cooked game either. They are guarded there as well. It just won't work.

crimson briar
#

Hmmm, I had one experience where it was not the case. But maybe you are correct and it was related to something different, not just a none reference

dark drum
gloomy swift
#

Getting this warning which is causing an error with a json function, when starting the project. Refreshing the bp code fixes the issue until project restarts.

Failed to find script package for import object 'Package /Script/JsonBlueprintUtilities'
gloomy swift
#

Changing the JsonBlueprintUtilities plugin to load on PreDefault fixes it but it's not scalable to the team... CommonUI had a similar issue a while ago and I fixed it by copying the plugin and changing the load time, but doing the same with JsonBlueprintUtilities results in unresolved externals

errant snow
woeful mesa
#

Does anyone know why my code isn't working? I have made it so that every second (dayspeed), 1 gets added to minute. When minute = 60, set minute to 0 and set hour to hour+1. I have printed them and it works, but it wont print the string "Times up" when the time is 13:30 (as hour is 13, and minute is 30)

#

Oh wait nevermind

maiden wadi
woeful mesa
#

Ok thank you

normal raft
#

any one know why this isnt reverting my gravity

hardy merlin
errant snow
normal raft
# normal raft

nm... would help if the death impulse wasn't literally knocking him to orbit

#

but yeh not sure if any ones seen this little issue that you kind of run into with the CMC gravity and the Mesh Simulate physics they dont seem cohesive and at times its really counter intuitive

#

like stop all camera movement should be a thing

#

still allowing the gravity to tick

#

cam movement == your actual movement in planet games

#

I guess i could redesign the logic of the camera sync .. so it knows that the character is dead and continues to track the carcus

tropic wolf
#

I've been using things like Sphere Collision components to visualize functionality that has its own math (not using the Sphere Collision in any logic other than setting a default on Construction), in this case the landing radius for this falling actor.

In this case, the landing position will always be aligned with the landscape, so I only really need a circle shape as a visualizer instead of a sphere. I don't expect it to be completely compiled out, but is there a better way to do these visualizations that doesn't require making custom Static Meshes?

#

Draw Debug exists but it requires a duration, appears in play, and 0 isn't infinite

crimson briar
tropic wolf
#

yeah it's literally just for visualizing the value you change in editor

#

the moment you hit play, it should not be visible

#

I'm thinking I may need a custom lightweight component that I code in C++, without any other suggestion

crimson briar
#

I once made a grid from a tutorial that was a bunch of manually calculated triangles, very efficient etc. You could probably make your own component using this method for visualization too

tropic wolf
#

triangles for a wire mesh?

#

or was it "solid" with actual tris

crimson briar
#

Triangles for lines. Two long triangles make a line. You could make a semi circle with them too

#

It is somewhat involved to set it up. At least it was for me, as I don't know much about the actual triangles

#

Found the tutorial but it was for a grid, not a circle. But it will give you a hint what I'm talking about: https://www.youtube.com/watch?v=Q4AOmT9aOEM

Support the channel through donations. Crypto accepted!
PayPal: https://paypal.me/reidschannel?locale.x=en_US
Patreon: https://www.patreon.com/reidschannel
Bitcoin: 1JFwWHr4X6uAeoZadukzqKjzFBj3Qjy7Sk
Ethereum: 0x2B2Bc108F1Cc0fF899959dEF3226637787d8C3dE
Dogecoin: DNQ33YnhpWoTBokBNVkZP5ub8KTLkpyjpv

Join our community discord!
Discord: https://dis...

β–Ά Play video
tropic wolf
#

found this, will need to do smth in C++

crimson briar
#

Oh yeah, I keep forgetting about it lol

woeful mesa
#

Does anyone know why I keep getting this error of infinite loop?

I'm making a day/night cycle, and i want it so that day is long, evening is short, dusk is long, night is long, dawn is short, which is why i made all of this.

However, when the time hits 24 hour (which is night begin hour), it causes the error. When i change night begin hour to 0, it crashes when the time is 21 hour.

brisk glade
#

what's the best way to have something like a timeline curve, but with a "time"/duration that is editable during runtime?

so let's say I want to always use a "ease in out" curve to interpolate a float, but the time will be different every time

something like lerp + curve asset?

next hollow
#

Could do scuffed stuff, and change the timeline speed.

brisk glade
#

how can I do that?

next hollow
#

Should just be like set speed?

#

Sorry.
set play rate

brisk glade
next hollow
#

Did you get the timeline?

soft lion
#

Hi I'm not sure if this is the right spot anyways, but I'm struggling so bad with a Modular Character I'm not sure why this is happening.

If I have this setup like this in the character, the Chest is the standard Character Mesh and all the other parts are just attached. If I do like this, then my player loses all movement input controls. I cannot move at all, and my breakpoint values it does not seem to recognize the Movement vector. However, I use the FGameplayTagBlueprintPropertyMap from GAS to change booleans inside my anim instance, and when I have it like this, applying the crouch tag successfully changes the boolean, so I can change animation states.

#

The property map

#

If I change it to where the Legs are the leader component and the chest is a follower, then I regain input controls and I can move again, however the property map and tags no longer function and I cannot change any animation states

#

I mean wtf

brisk glade
soft lion
#

When I add movement input it turns the WorldAccel value to move a direction to 0 0 0

soft lion
#

nvm something bizzarre is happening I'm reverting my source control. I went back to single mesh not modular and I get no input still

#

something broke weird

crimson briar
#

Possibly the capsule collides with the bodyparts blocking the movement

crimson briar
soft lion
woeful mesa
# crimson briar And wheat follows after the part of ConvertTime you showed? SInce it happens on ...

I would use blueprintUE.com, but its blocked in my country now :/

Anyways, heres a video to show what is going on. You can see on the first attempt (3:45) it glitches. Then 2nd attempt it works because I change a few things, however it's not returning to the daytime speed. I'm unsure whether to just start over or not. https://youtu.be/FNVaykOUg78

blissful moat
#

Heya, I'm trying to make a weak point component for my enemies but I can't seem to make a component from anything with a collision. How do I go about this? I'm working with blueprints only

next hollow
#

You just can't in BP.
Your next best would be, use a "manager" component based off ActorComponent and make it find the spheres based on a tag in them.

blissful moat
#

That should be doable, thank you so much!

soft lion
# crimson briar Do you have collisions enabled for the bodyparts on the channel that the capsule...

So I forgot that in my game I have Data Assets that hold Character info, including their mesh. For some reason in my blueprints I then decided to put all these pieces in there with values as well as load the SoftMesh at BeginPlay, so it was giving a double mesh and idk if that had anything to do with it, but now that I went and changed my Data Asset to just have the modular pieces labeled and then async loaded and such I have no more problems

#

I made this init

#

and I can switch on this to get each piece appropriately

#

The chest is the leader bone and there's an assertion that the leader bone is valid when you set leader pose so I had to make a custom event cuz it async loads sometimes and only after the chest on the primary mesh is loaded and set then I can set Leader Pose

#

But then I can just come in this asset and label and load them all individually

cosmic kiln
#

good evening gentlemen

#

i need some help, i haven't asked for it here in a long ass time

#

is anyone available?

#

it is "simple" to fix i think, i'm just being stupid about it

modern cove
narrow pulsar
#

Anyone knows how to make arms always stay on camera even as you move camera around? (First person)

next hollow
#

Attach them to the camera.

cosmic kiln
#

i fixed it myself by now anyway

crimson briar
# woeful mesa I would use blueprintUE.com, but its blocked in my country now :/ Anyways, here...

Uh it is kinda hard to get a grasp of this code, too many variables and branches for things that are too similar.
I don't know where the problem is but I would suggest changing the code.

  1. Make one, single, looping timer. Like a DayTick. This timer would trigger every minute - or faster, depending how often you want to check for the day change, might be every second.
  2. Make an Enumarator containing the times of the day. Like Morning, Dusk, , evening etc.
  3. Then in the event bound to the timer you increase the time and do your general code that should happen - sun rotation etc. After that you do a switch on the enum. On each pin of the enum you do a simple if with the time check if the time of day should change and change the enum to the next.
  4. Here you can also do some other code related to the change of the day time.

Another thing I would recommend is to not use variables for the hour/minute/second because resetting them is cumbersome. Make one variable that contains your time in a single float. If you sue seconds, it will contain the number of seconds since you started counting the time. If you only need minutes, then minutes.
And make pure functions that will be called like GetHour, GetMinute, GetDay etc. Each on of them will return what you want based on the calculations from the singular SecondsPassed variable for example. If you don't know how to do it, you use a modulo operator. It gives you the rest from dividing a number by another. For example 140 % 60 would give you 20 - so if the 140 was the number of seconds, it means by doing SecondsPassed % 60 you get the current minute. And by doing SecondsPassed % 3600 you get the hour.

Of course you can still cache these numbers but having a single point that contains the time is less prone to errors than changing several variables individually.

Just a suggestion though.

woeful mesa
crimson briar
#

Remember you can just duplicate the blueprint in the content browser, so you can try an alternate version without destroying your code

last peak
#

Are you reseting hour somwhere ?

#

MY guess whats happening is this
Firs iteration is fine

#

second one hour always seems to be false

#

so you go in you check day timer the branch is false so it does evening timer the branch is false so its doing night timer there the branch is false too so it checks again for day timer and there is the infinite

#

The easiest way to check this is with a breakpoint at these branches

narrow pulsar
#

I'm making the camera follow my head bone for "true fps" where I can see my feet, legs, etc... However, I don't want my camera to move when the player hit animation happens, is there anyway I can prevent it from moving? (Before you recommend attaching the camera elsewhere, I can't, I need it to be attached to the head since I have heavy body bends, if it doesn't follow the head when I look down it'll see inside my own body or even my back since my body bends forward and the camera isn't going with the head.

last peak
narrow pulsar
distant grotto
#

why does get child component not return anything?

last peak
narrow pulsar
#

I don't want the camera to "play" the hit animation if the head bobs around

last peak
narrow pulsar
#

Well ideally I'd figure out a way to have it follow the head without actually being attached to the head

last peak
#

Im not sure if i understand what you want to do

#

You dont want it attached and you dont want it to follow the attack animation but you want it to follow the head

#

But the head plays the attack animation

#

Do you want it to follow the head or not

next hollow
#

Sounds like you should add some like "head camera" bone.
So, animate the physical head, but don't animate the head camera.
Still with the body, but also not doing crazy loops, with roll or something?

last peak
#

so just lock the rotation then

#

if thats what he wants to do im not sure

#

im confused

next hollow
#

Sounds like he basically.
Wants to follow the head when looking.
but, also not follow when rolling, with a front flip sorta shit.

#

Locking its rotation, would still make the cameras location do a loop.
hence the idea of a head camera bone.

crude dew
#

Hi, Could someone tell me the best way to approach setting a widget component set to screen space to not be seen through world objects please.
Option 1 : I do understand that I could use a World Space widget and then update it on tick to face the camera but is this sounds expensive to do?
Option 2 : I know I could also use a line trace from the camera to the actor to test if the player can "see" the enemy and then try to do a add to viewport on a created widget at the actors location in world to screen ?
Am not sure if theres anymore ways to do this though ?

crimson briar
# crude dew Hi, Could someone tell me the best way to approach setting a widget component se...

No, ticks are not "too expensive to use". Ticks are there to be used. If something needs to be updated often, tick is often a good place to do it.
Tick itself is not very expensive. The whole "don't use tick" thing is mostly misinformation.
The thing about a tick is that it has some overhead to be called - like every blueprint node has some overhead. It is veeeeeeeeeery small and usually the codee and calculations you do with them are way bigger than the nodes themselves.
If you need the tick - use it.
If you don't - disable it so it doesn't bog the tick stack or whatever it was called.

Updating the position of a few widgets won't have any performance impact on your game. Unless of course you will have 100+ of them on the screen at once. BUT then still it is not certain it will have more impact than the code itself - this is where you profile to see what is the biggest thing impacting performance.

crude dew
#

I am aiming at possibly 10 max (I doubt the player will be able to see more than 10 at 1 time through line of sight realistically

#

So based on that would you say Option 1 or 2 is perfectly fine? πŸ™‚

#

thanks for the replyu btw!

crimson briar
#

If world space widget can achieve what you are aiming for I would use that. Option 2 if there is more you want to do with it

crude dew
#

OK thanks !

last peak
#

Prefer other methods over it but its not that bad to use it

narrow pulsar
crude dew
#

I tried this Rotate The widget to face the character then asked ChatGPT to advise me on Stat Slate and it roasted me lol
"2. Tick Widgets: 1094 calls per frame

This is the core issue.

No game should tick 1,094 widgets every frame.

Healthy = 10–100
Large MMO = 200–300
Your project = 1,000+

This is why Slate is exploding."

Update : Apparently the editor puts a tonne of overhead on slate, In a standalone game mode the slate is 0.02ms. I never realised this as not looked into profiling before.

#

This just amused me whilst testing out various things. πŸ™‚

#

This is the code that caused it and I had about 10 enemies which only 3-4 of them at a time were visible (And WidgetComponent set to Automatic Tick so only tick when visible)

dark drum
# narrow pulsar

As the capsule half height is reduced, you might need to move the skeletal mesh up or down so that it remains within the bounds of the capsule. When you call crouch/uncrouch, you might need to then reset it.

crimson briar
# crude dew I tried this Rotate The widget to face the character then asked ChatGPT to advis...

Sounds like a ton of crap. LLMs are as good as the data they have access to. I doubt it has enough data to calculate performance costs, since it is not something people document online because it is incredibly case-dependant.
Also testing performance in editor is never a good option. You can use it to roughly compare one solution to another but the actual profiling has to be done in standalone - even better, in a cooked dev package

crude dew
#

@crimson briar I just uploaded a screenshot of the profiler which is what it got it,s info from , but you are correct about it being case dependant and the LLM is only as good as the data it can scrape from online but I did learn that testing in Editor is a bad idea and didnt even consider the overheads of the Editor, So a valuable lesson learned.

last peak
#

where are the 1k + calls coming from ?

crimson briar
#

It is overhead on one side, and preloading on the other. The editor keeps a lot of stuff in memory that the game itself wouldn't

crude dew
#

I do not know where the numbers come from ChatGPT spat em out at me after i sent it an image of the profiler this is the image it worked from

#

After testing in standalone which was suggested I got this result which looks a lot better i think.

#

Sorry I just realised this is the wrong place to put this, Many apologies to the mods.

#

I kind of went off on a tangent and the Blueprinting from Rotate Widgets fell into profiling.

last peak
#

content browser, details panel .................

#

if you would remove your widget you wouldnt have much less calls

#

Also you dont have to post your profiling in the profiling channel if we have a discussion here .... that would be pretty weird

crude dew
#

Ah ok thanks !

crude dew
#

They are for healthbars above the enemys which are using World Space so they get Occluded by the geometry in the world.

#

So the player can only see them when they are in view of the camera.

#

You can see them here.

#

I wanted to use screen space widgets but i figured that because im not using 100,s of them using WidgetComponents and then updating their rotations wouldnt be too expensive to do and because a lot would be culled by the camera view there wouldnt be too many active at one time, (Unless Im wrong and these widgets are still updating and rotating even when behind geometry, In which case I,ll look to deactivate them if the camera cannot see and activate upon camera visibility)

If i fly around in editor whilst it,s running i can see the widgets are still there will this mean that they are still being rendered even if the player camera cannot see them ? or are they always going to visible when you detach from the player character and fly around in editor?

dark drum
narrow pulsar
#

So I'm having some stutters when moving backwards, it's really weird, the replication is working flawlessly but the camera is really weirdly stuttering. What could be the cause?

#

(Idea is to slow down backwards movement), as for why I don't have add input, I handle that elsewhere.

frosty heron
#

you have to work with CMC framework by having the state in the movement struct (FSavedMove).

narrow pulsar
#

oh I see, so gotta move it to c++

frosty heron
#

doing it any other way outside CMC, you will just end up getting corrected.

narrow pulsar
#

yea that makes sense why it wasnt working, was actively fighting the server since I send my input data through cmc in c++

frosty heron
#

Client apply their movement locally, then send the info in the FSavedMove which get send to server.
Server simulate on it's end, if the movement is valid then that's all good but otherwise client will get corrected.

#

https://discord.gg/uQjhcJSsRG
In this video I setup a new project and create a custom character movement component. I also implement movement safe sprinting which works at any ping.
https://github.com/delgoodie/Zippy

0:00 Create New Project
1:02 Setup File System
02:50 Create Custom CMC
04:43 Saved Move Class
08:37 Compressed Flags
13:35 Client...

β–Ά Play video
narrow pulsar
#

Thank you! Appreciate it gonna have a look

maiden wadi
# crude dew I tried this Rotate The widget to face the character then asked ChatGPT to advis...

These numbers are 100% bullshit. You don't base this kind of shit off of "good, big MMO, bad." Like how the fuck does MMO even consider into this? What if I make a 4billion player MMO that is nothing but people clicking one button on the screen.

Context is INSANELY important.

Shooters? Much less UI costs usually. UIs are simplified usually. There's not a lot going on realistically.

Adventure games it depends on the complexity, like an RPG can have a ton or be very streamlined.

Strategy games? Lol, 300-1k is kind of normal. There's a LOT of stuff going on here that requires UI presence.

crude dew
# maiden wadi These numbers are 100% bullshit. You don't base this kind of shit off of "good, ...

lol thank you for this input, Its helpful to see these problems with LLM,s this is what prompted me to also post it as I figured some more knowledgeable people than myself might be able to tell me if this is sound advice that I could use as a rough guideline for future projects or complete bs... It also told me that a good point to aim for is 2-3ms maximum for slate calls and that to keep a stable 60 fps I should aim for 16.6ms overall, Is this bs and i should just test or are these reasonable guidelines to aim for? Just wanted to clarify if possible.

#

Personally I would imagine testing and actually seeing the performance and checking the things manually instead of aiming for some arbitrary numbers from the LLM would be best, But am curious to know the more experienced users opinions and how far wrong/right the LLM is.

white parrot
#

Aiming for 60 fps / 16.6ms overall is correct, but i wouldn't take the advice of GPT too seriously

maiden wadi
#

Highly depends on your game. Strategy games for instance can be as low as 30fps. It's less important that things run smooth and more acceptable. Meanwhile on a shooter, 60 FPS is eeek. 60 is a good baseline though for most games to try to hit.

For slate time, Again this varies. If your game has a complex UI and the other game mechanics don't eat up gamethread time. It doesn't matter if your UI time takes 5ms of the gamethread. But there are easily games that will shit themselves if that number even goes over 1ms.

crude dew
#

Thank you both for your input, I really dont want to rely upon GPT for information on UE but in the same vein I don't like to feel like im bothering people on here all the time xD

maiden wadi
#

We live to be bothered.

dark drum
maiden wadi
#

Definitely one of the better ways to considerably drop prepass time too. Less elements overall.

white parrot
maiden wadi
#

I haven't used it for anything other than specific C++ implementations. Fixing up classes or adding new feature sets. But the new Opus 4.5 is pretty good so far.

And as I usually mention it's worth noting that you should always customize your AI. Make sure it responds to you in the way you need it to. By default they're designed to pick up on what they think you want and frame them in a way that seems appealing. Tailor it to think that it needs to teach you. Have it explain it's answers, show it's sources, etc. It gives it a majorly different tone with the right context that makes it focus on the right things over "flatter user til it subscribes".

sudden garnet
#

Hi everyone, quick question please.. I have a variable called "Attack Radius" in the blackboard which I've manually set to be 600, but I'm unable to get this value from the blackboard into this Blueprint Task. Any ideas of what might wrong?

maiden wadi
crude dew
#

Not sure if this is a problem or not but you are telling AIMoveTo TargetActor AND a Destination you only need to feed it the FirstPersonCharacter as a TargetActor not both

maiden wadi
crude dew
#

Ah ok didnt know that : )

#

sooo much to learn XD

sudden garnet
#

Thanks, that didn't work but maybe I need to fix something on the AiController or in the Behavior tree