#blueprint

1 messages · Page 371 of 1

main lake
#

Pending update ? What's that ?

dark drum
maiden wadi
#

It's also worth a note that you don't actually render or display all of those. Just the top level of each X,Y cell. The rest is just data in some 3D array somewhere.

queen heron
#

what is the problem with this setup?

when I start the simulation, the class isn't being spawned on a grid

#

I tried this setup on adding new items in a vector array and the array would be empty too

maiden wadi
#

For a start, change your collision handling override. But if your array is empty if you tried dumping it into an array of vectors then what are your X, Y, and Z?

queen heron
#

the X Y and Z variables are changed in the scene

those variables are set to Instance Editable and Expose on Spawn

maiden wadi
#

But they're all over zero?

queen heron
#

I changed the X to 5 and its just nothing

maiden wadi
#

Are all of them above zero?

queen heron
#

oh wait!

#

I see the problem now

#

yeah, two of them was zero

#

and appearently that was the reason why nothing is happening

#

its been a long time since I've done a grid system

maiden wadi
#

Yeah. Your loops were seeing that their last index was -1. And since their starting index, zero, was higher, they just auto complete.

queen heron
#

now they all spawn how they should

main lake
queen heron
#

so that means the default value needs to be 1 and not zero

maiden wadi
main lake
maiden wadi
#

In BP only. I'd probably try to just do some ISMs in chunks maybe and show them all. They'll get culled anyhow and as ISMs you can avoid overheads. Like you don't have the ability to do voxels in BP, there's way too much low level math needed. 🤔

dark drum
maiden wadi
#

Yeah. But I feel like the math needed to figure that is going to cost more in the end than just adding the ISM instance maybe?

#

Well, maybe not. Just a neighbor grid validity check, but... BP. Slow.

dark drum
white parrot
#

Isn't the cpp route + PCG a better option?

maiden wadi
#

That's why I'm feeling like just making chunked ISMs like... 4x4x4 or 8x8x8.

maiden wadi
white parrot
#

Ah, well that just complicates things for no reason

maiden wadi
#

PCG feels scary here too. over four million PCG points. 😬

dark drum
white parrot
maiden wadi
#

I don't think I could do it at this point. I'd be in tears by day two without my libraries.

#

"WHY IS EVERYTHING SO UNCESSARILLY FUCKING HARD?!?!?"

white parrot
dark drum
#

I did some BP only prodecural generation stuff many years ago. It surprising worked well, averaging around 45 fps when generating.

maiden wadi
#

Funny enough the graphical coding part never bothered me as much. Probably because I approached it without a lot of prior written coding.

dark drum
white parrot
dark drum
maiden wadi
#

Don't even need a keyboard.

dark drum
white parrot
dark drum
white parrot
#

or even left alt + up/down, this scrolls super fast for large files

maiden wadi
#

I can't use GPT honestly. I find it a bit lacking. Even with giving it directives and rules. Claude tends to be a little more willing to plan and follow your styles.

white parrot
#

left alt + down basically goes to the next function

white parrot
maiden wadi
#

Gemini had issues maintaining rulesets for me. Too much doing it's own thing. Really put me off from using it.

Meanwhile I hand Opus 4.5 a file and ask it how it would approach a task and it keeps all of my previous coding styles, adds scopes counters and logs automatically, etc just because that's how the rest of the file is laid out.

main lake
maiden wadi
#

It can be. But it can also be simpler than BP in some cases.

white parrot
faint pasture
#

What is it doing?

main lake
maiden wadi
# main lake In my case for the game I want to make, which one is easier according to you ?

The only honest answer to this is simply whatever you are comfortable using that can get the job done.

For me this is a mix of BP/C++, because BP is quicker to iterate and test in. C++ allows structural changes and speed that BP can never do or has to do awkwardly and hackily.

If you're not comfortable with C++, try to find a way to manage this in BP. But if you have the time to get comfortable with C++ and want to, try it out. Even for basic systems. 🤷‍♂️

#

In your case. You have up to over four million entries of data. If you plan to allow this to be altered at runtime with user tasks like digging or whatnot. I'd recommend maybe a C++ system backing your BP code. It can iterate, do complex math, etc much faster. And if you wrap that nicely, you can still do most of your design work in BP.

next hollow
#

At least from the inital post and stuff.
It doesn't sound that complex, general design wise.
Or, is this gonna be like a fully fledged minecraft? mine-carts, falling sand, pistons, etc?
Cuz, removing 1 block at a time, or adding 1 at a time, shouldn't be bad in BP, or C++

#

As soon as you have physics, sand, light, moving mine-carts.
Yeah, BP is probably gonna have a stroke.

main lake
next hollow
#

Yeah, that'll probably start to have issues in BP, namely pistons.
Now you gotta move, and/ or remove/ add like 8 blocks at the same time, or very quickly, and effectively.

main lake
# next hollow Yeah, that'll probably start to have issues in BP, namely pistons. Now you gotta...

Like I want to make this kind of smooth doors https://youtu.be/5uaEQXwQ8q4

Link to download the mod: https://www.curseforge.com/minecraft/mc-mods/create

My social media:
*Telegram: https://t.me/MineEasyGaming

In this video, I'll show you how to build sliding doors with the Create mod.
I'm sorry, but I'm using a translator

#Create #minecraft

▶ Play video
next hollow
#

Yeah, I think BP would start to die, especially that last one.
Moving like 20 blocks all at once.
But, concept wise, smooth movements like that are possible.

crimson briar
#

I don't think it would cause BP to die

next hollow
#

You don't think so?
Keeping track of, and moving like 20 instances, potentially in multiple grid slices?
and, collision traces for all of them?

crimson briar
#

You coul;d easly design it by hiding/despawning the affected cubes, spawning them as a part of the piston for the movement, so it moves as one instead of changing the hism all the time. Then reposition the originals to final location and show them again. With some actor pooling etc

#

If it wouldn't have irregular dimensions, you could even make it a single collision block and spawn the cubes when moving as particles, they would be even lighter. And one single collision box would block the path for the time of moving

#

You can find several ways of how to do it more efficiently. You don't need to make systems in the same way as the player would assume they work

#

But as always - it all depends how you make it, hard to tell in a void which method would cause visible problems

dark drum
crimson briar
#

For material wizards there is probably even a way to copy materials from the singular cubes to one bigger cube so you would use one mesh for movement, just with different textures pasted on top of it

dark drum
#

I think the new BP instances system does something similar in reverse if I understood it correctly. You place a BP and if you get to far away it swaps it out for a static mesh. Its a shame it doesn't currently work with spawning them dynamically at runtime.

next hollow
#

Yeah, I saw that.
It was unclear if it actually switched back or not.
I saw some video.
Started as meshes, but when a var was changed, it became a full actor.

dark drum
#

It makes sense though. There's a ton of stuff that don't really need to do anything unless the player is near it.

idle crescent
#

Is this for graphics? Is the number the levels subtracted from max?

next hollow
dark drum
idle crescent
#

Is Epic max, or Cinematic?

next hollow
#

Yeah, if it can rep individual vars, and keep var values, after becoming a generic mesh, it may actually be great/ perfect.
But, I gotta mess with it first.

dark drum
idle crescent
#

Thank you.

fiery flower
#

Hi, can i change a socket's transform in sequencer while making custom animations?

dark drum
#

When getting an asset primary list, is the order its returned just alphabetically?

errant snow
maiden wadi
chilly root
#

Hello all,

I am trying to recreate the movement system of Eriksholm/desperados 3 where if you place your cursor on an invalid surface, it will find the closest legal area where the character can move to and project a movement indicator there. For testing so far i have the code you see in the image and a Navmesh set up with two obstacles. The small box works very well with this. No matter where i click on the box, a red sphere will appear on the closest point to the navmesh. On the bigger box though, only one side works, the one depicted in the image. on this side, no matter where i click (green sphere) a red sphere will be projected on the closest navmesh point. But if i click on any other side, or on the top, i only see a green sphere. The box is a simple shape. Any idea why this happens?

Edit: the projectPointToNah node doesn't return false when i click on the sides that don't return anything...

chilly root
past compass
#

when making object pools, does it matter where the pool is in the world? any recs for where to spawn this in

woven sky
#

hey guys does somene know how to prevent conflicts when rebinding inputs (with enhnaced input sys)

maiden wadi
maiden wadi
# chilly root

There's a checkbox for this. I can't recall if it's on the Mesh or the Component. Pretty sure it was the component. Like... GenerateNavSomething.

past compass
maiden wadi
# chilly root

Sorry for the double ping, just checked. 😄 FillCollisionUnderneathNavmesh

maiden wadi
past compass
maiden wadi
#

It'd be a better choice. Already has a global getter in BP by default as a subsystem. It comes prespawned with any world. Only downside is that if you need to set project parameters or whatever for it, then you either need to make some sort of actor you can drop in the world it can grab for defaults if you want world specific ones, or you need to make developer settings you can edit for project wide settings.

past compass
#

looking into it now, def seems cool, would actually think this would be great for a music manager as well, but that is completely different idea, but subsystem in genreal seems like what i've alwasys thought of a music manager would be

#

would i need my projectile classes to be in cpp tho ?

#

(they currently are not)

#

i suppose i coul djust make the ref a generic actor and then cast to the needed class

maiden wadi
#

Yeah. If it's just for pooling, you can stick with Actor.

faint pasture
charred berry
#

I have a blueprint lift with sequencer, created two door halves , shows in editor view, but when adding 3b4e ( first one), typing static in add button only shows static instance I've never seen this berfore, 5.6 here anyone else know about this ? The meshes are in editor view where I want them, but adding to BP and nothing shows up ( using static instance node) ???

past compass
#

but my bullet logic are current actors with some vars in them that handle dmg etc

#

they have VFX on them as well

past compass
gentle venture
#

assuming I have everything else connected, does removing an index this way update the struct in the original array?

maiden wadi
# past compass or were you suggesting the bullets dont need to be actors ?

Well. Realistically you could save a need to instantiate so much if you turned them into structs. You could pass primitive data to the renderer if you wanted rather than using components. Or just render everything in a niagara emitter probably with some injected data.

Then your movement updates become basic traces and if you maintain low memory allocations with removeswap calls and such. Your bullets could be in the thousands for what you'd pay for 20-50 bullet actors.

maiden wadi
past compass
#

my bullets are actually just an actor with a component that (on tick) moves a line trace based on velocity, so itsl like a glorified line trace with fake gravity / velocity

#

not sure how i'd be able to use that logic in a struct tho, might be a bit outside my understanding

maiden wadi
faint pasture
past compass
past compass
faint pasture
#

It's dummy simple

maiden wadi
#

Right. So structs are essentially identical. The main difference is that you do the movement updates on a single array of bullets all at once for memory alignment rather than for each in their tick or whatever.

faint pasture
#

I mean not exactly since Chaos is a PBD engine but the point stands, faking physics IS how physics is done.

#

Simulation is just faking it with math

past compass
past compass
#

and are you both suggesting the same thing here ?

#

so i dont over confuse myself

maiden wadi
#

You do your current update work in a tick function right?

past compass
#

in a componenet, on the bullet actor*

#

for clarity*

maiden wadi
#

So your thing registered it's tick callback at some point. So did the rest of it's type. And some array just comes along and tells it to tick. And then you do your math on the object.

Two issues with this, one is that it's an object, which means it can be anywhere in memory, it's not contiguous.

The second is that this tick indirection means more functional overhead.

Instead of 100 things running tick. you make 1 manager run a tick

Instead of 100 tick functions running to update the thing individually, you have 1 manager that runs over the array of them to update them.

#

By having the array of structs in a manager you're looping over contiguous memory, which means it can all be shipped to the CPU at once. It doesn't have to fetch it. Faster.

And by not having this thing call this thing to have this thing call that thing, and having a bunch of virtuals, etc etc. You pay no real functional overhead. Faster.

past compass
# maiden wadi So your thing registered it's tick callback at some point. So did the rest of it...

ngl, almost confused me more, but maybe not... let me try to simplify what youre saying in my own words:

basically, instead of each bullet running it's own tick logic etc, and perhaps even having multiple bullets at once, running multiple ticks at once, you're saying that there is a single manager that ticks and any "bullet" with this new concept, would essnetially be working off of that singluar tick, no matter how many bullets are firing at once, etc ?

maiden wadi
#

Correct.

Firing a bullet becomes registering a struct in this array.

A bullet being destroyed is this struct being removed from this array(using removeswap)

Movement updates are iterating over the array of structs to trace and update their positions using your physics logic

You can represent any bullet like this because a bullet is nothing but the idea of a thing of some size/shape moving at a specified speed with a specified mass. At which point everything beyond this is just visual.

past compass
#

wanted to understand before i went into , appreciate you explaining

#

now.... to actually do it

#

assuming the subsystem concept is still in play here for the managing aspect of the actual bullets, yea ?

maiden wadi
#

Sure. A WorldSubsystem is perfectly fine for this. At most it might need to spawn some special actor for effects if you want to go that route to allow easy scripting on them, but 🤷‍♂️

past compass
#

nice, and also, would this all be best done via C++? would be ideal to make like the bases in Cpp and then be able to extend it in bps

#

the world subsystem, for sure in c++ , that you already mentioned, but for the remainder of what was discussed, like the removedswap, which im assuming is c++ only

maiden wadi
#

Pretty much all of the bullet updates and stuff would be C++, yeah.

past compass
#

nice, will be good leanring process here

past compass
# faint pasture

for ref, is this essnetially part of what we were talking about above? . and what file / class is this in ? assuming a c++ bullet class of some type ?

past compass
#

was curious if it's relevant code to the concept of what we were taliunga bout, aka can i steal it

#

(not actually steal it, but utilize as ref in some way)

faint pasture
#

Here's the main architectural difference vs an actor with a projectile movement component.

Actor: (many of these)
PMC:
Tick:
Do math, cook up next position, sweep to it, detect hits

vs

Subsystem: (One)
Tick:
For each ProjectileStruct in AllProjectiles
Do math, cook up next position, trace to it, detect hits

The important thing is that the 2nd approach is MUCH more cache friendly. For 1 or 2 projectiles, it won't matter, but for a bunch of them, it'd be gobs faster.

past compass
past compass
# faint pasture

is this struct in the subsystem file or would the projectile struct be in it's own header file?

faint pasture
past compass
thin panther
#

The only thing worth noting is that if you end up using lots of C++, you're increasing your compile times by doing so. It's not a huge deal though, there's nothing technically wrong

dark fossil
#

hey i just started unreal and im using the first person template rn
im trying to add a sort of double jump when you jump off a wall
can someone help explain why hit 2 and hit 3 arent being printed or any of the other actions?

sand shore
dark fossil
#

ohhhh so everything has to be connected via white line?

sand shore
#

The nodes towards the right do not have an “exec” connection “input” and are disconnected from the event entry point

sand shore
dark fossil
#

ohhh 😭

#

thanks

#

i knew i shouldnt have learned with chatgpt

sand shore
#

All the nodes that don’t have the white triangles are called “pure nodes” and they work differently

#

But that’s all automatic and you don’t need to worry about it yet

dark fossil
#

ahh ok

#

thank you!

sand shore
#

Nodes that are red are usually “event” nodes, and are “entry points” that are called from something else

#

So, here, your On Component Hit event is called when you bonk or are bonked, and then the flow of execution follows the white wire, to the print string, and then it stops

dark fossil
#

i see

#

okay yeah

#

so like

#

red is event

#

ones with triangles are actions

#

ones with no triangles are operators

sand shore
#

Yes!

dark fossil
#

okay thanks!

sand shore
#

That’s a solid framework to have while learning

dark fossil
#

it works!

sand shore
#

I know it's an old series, but if you're struggling to find resources to learn BP and you're relying on LLMs, you might even give "Blueprint Essentials" a try - https://www.youtube.com/watch?v=zaVY5A0hqiI&list=PLZlv_N0_O1ga2b_ZaJoaR5dLHOFw4-MMl

I can personally vouch for it being useful because I watched it when learning the engine

For the full tutorial playlist:
https://www.youtube.com/playlist?list=PLZlv_N0_O1ga2b_ZaJoaR5dLHOFw4-MMl

This video overviews the concepts of variables in Blueprints and how you can create and use them.

A link to the wiki for further notes is available here -
https://wiki.unrealengine.com/Blueprint_Essentials:_Variables_Overview

▶ Play video
#

Blueprints execute from left to right, right? Well, mostly. But sometimes they have to execute in interesting ways that may not be obvious at first. In this video we discuss how Blueprint execution works.

A link to the wiki for further notes is available here -
https://wiki.unrealengine.com/Blueprint_Essentials:_Blueprint_Execution_Order

▶ Play video
#

That'll cover what I just summarized

lunar sleet
#

And if you’re relying on LLMs, don’t

faint thicket
#

I've got an animated box.fbx it represents a train.
How can I use a blueprint to swap the box with the loco mesh, and then spawn a wagon that will inherit the anim, but just be offset in time?
That's optimal because all wagons follow the locomotive.

Ultimately I'll have very long track alignments and so, very long animations. I don't have splines available in unreal.

Currently I automated spline IK rigs in 3ds max and make big exports of long animations, then big imports into unreal, and it's amateur.

I don't play levels, I just render sequences.

zinc ermine
#

a quick question, is Level streaming necessary for games that are not open world, but composed of smaller levels that are traveled trough a loading screen or are cull distance volumes good enough?

surreal peak
#

The idea behind level streaming is that you have a persistent level open and load/unload smaller parts of it based on where the player is. You can of course hide that loading time with a 2D loading screen but one usually places the triggers for the load in such a way that the player doesn't have to wait.

#

If you were to switch between 2 persistent levels via e.g. the OpenLevel node, then you would usually use a loading screen to cover the active load time during which the player doesn't have a pawn etc.

zinc ermine
#

so it is not needed for small-medium levels? optimisation-wise

dark drum
faint pasture
#

Burn that bridge when you get to it.

unique atlas
#

Does anyone know if there a way to use legacy camera shake with ndisplay?

past compass
# faint pasture Doesn't matter, I like to put gobs of stuff in one file

i have created the subsystem in cpp (can share if you'd like in #cpp ), but i have a question regarding hit's / visuals. how do you handle the hit of the bullet? so that you can apply damage, visual FX etc. i made a callback/delegate, but i realize that this will essentially be called no matter what on anyone that has the event subscribed to, so in other words, anyone with a gun, which would not be the intended logic. but i just added it cause i thought i might be the move, but now that i realize it's a subsystme, it def is not the move. unless there's a solution with this , like checking the attacker to the owner of the weapon that i'ts firing on (which would work, but a little janky). but yea just curious how you're handling the visuals and the impact itself with the logic from the tick ?

dark drum
past compass
# dark drum Why would the gun need to bind to the subsystem in the first place? I would assu...

that's probbaly the better move, i guess that's what i was asking about is where would i best do the damage? i don't love putting all the logic in cpp cause iteration is a bit more challenging for me that way, but i did make a data asset that is essnetially all the bullet stats including damage, and i do send that in, so i could probably just appply the damage in the actual subsystem, but wasn't sure what/where would be the best method

#

as well, i would like the ability to control hit VFX via the hit result, and doing all of that in cpp would be a bit over my head, but i suppose the subsystem was too

dark drum
# past compass that's probbaly the better move, i guess that's what i was asking about is where...

One thing you could do is have an actor component you can place on things that can recieve damage that controls the VFX. Assuming you have some sort of stat system for the health, the VFX comp could bind to an on damage recieved type of event.

The subsystem applies the damage (through the stats comp) which triggers the event dispatcher which then triggers the VFX. You could set your VFX comp up to be configurable or even use a data asset for specifying the different types of VFX it can use.

#

Everything's a system. 😅

hearty rain
#

I was considering exploding everything into subsystems and actor components, I was afraid it would be overkill but apprently it's not 😅

#

Lyra is choke full of small components

dark drum
hearty rain
#

yep, just gotta get into this programming paradigm 😄

past compass
#

i could make an interface and call the interface function on that weapon when there's a hit, i can use the interafcew to call a funky on the weapon. i think that might be a solution. this way no delegate at all, and will ensure it only happens on that single weapon

dark drum
past compass
grim canyon
#

Hi, any idea why NPC wont move on standalone mode?

past compass
#

the subsystem's entire goal is for pooling bullets, so im trying to keep it for simply that

dark drum
past compass
#

so prob the latter

dark drum
# past compass not actors, i learned about this yesterday but it's just a struct / data basical...

I'd probably make another system 'ProjectileHandler' that handles the data. It could bind to the pool system and then do something with the data that's passed through. If you want to go wild, you could have 2 custom uobjects for handling damage and VFX that you can specify in the Projectile Handler. This can allow you to swap out how it handles the data as you experiment. Maybe even have the class passed through as part of the projectile if you ever want special weapons to be handled differently.

You can then have generic damage and VFX handling but create children for something more exotic.

past compass
dark drum
past compass
# dark drum It would work, but an interface could result in an lot of copy paste logic. To m...

i see what you mean, it doesn't worry me too much to have to copy / paste if needed, and as of now, i don't have any 1 gun that is like the other, so i'd imagine all children will be unique but i could see how there could possibly be multiple guns where the VFX would be the same, but i could just have the master do the logic and then change anything necessary in the children (actual differetn guns)

#

but you are right, the bullet shouldn't care after it's fired about which gun fired it from, just not sure where else i'd do the logic without adding a whole new system, which does seem like overkill for somehting i could handle right inside the gun itself

#

but i could see how if i unequip my weaon before the bullet hits something, that would cause an issue

#

yea that last part is a deal breaker, so maybe not the interface

dark drum
past compass
#

no doubt, nothing can be worse than using GAS so im down to make it happen

#

(i hate GAS)

#

lmfao

dark drum
past compass
#

and i geniunely despised gameplay effects and tags, it's a mess imo

#

overkill to the max unless you're a massive team and need a unified framework

#

i digress on that

#

now... would this "projectile handling" system be a subsystem too? or in what way were you suggesting a system like that be added ?

dark drum
past compass
dark drum
#

Projectile data should probably contain things like the instigator (player that fired it), velocity on hit, type of projectile, then optional damage and VFX class. (null if not specified)

past compass
#

hmmmmmm, a part of me is just considering doing the interface in the character or the player state, to ensure that even if i dequip it will still work

#

im a simpleton, if i can understand it, i lik ei t

#

the subsystem would work, but i just don't know what would make that better vs shoving it into the character or playerstate

#

i also just learned about subsystems and making them in cpp, so it's a bit new

dark drum
past compass
#

but,.... im close

#

i can feel it

#

the subsystem to subsystem just seems like i found a new toy and im taking it everywhere and shwoing everyone it

#

i would like to handle it right inside the gun (or the bullet, but there is no bullet now, just a struct)... but maybe i could do it all inside the subystem?

#

maybe i could add the VFX/SFX to the data asset im sending into the subsystem when i fire a bullet, and then i could actually just do all the logic inside the subsystem from there, but i wouldn't know exactly how i could spawn VFX / SFX properly but i know i could at the least send the refs

dark drum
past compass
#

i just learned about subsystems (which are sick btw) and feel like it;s just shiny and new and i could od everything in them, but not sure if tha't sreally the play

dark drum
past compass
last peak
past compass
merry mirage
#

Does anyone know of a way to reliably get time until AnimAnotify?

hearty rain
#

what do you mean ?

merry mirage
#

In Animation Montages you can have notifies, and I am looking to get "Time Until Notify" (in this case notify of class, but I have that part sorted out already.) when it starts for some logic that I'd like to be animation-agnostic.

There is a GetTriggerTime in c++, but it does not seem to be very reliable to the actual trigger-time 😅

faint pasture
#

Firing a projectile should be the last thing the weapon cares about unless you're doing something strange

past compass
#

I’ve run into some issues trying to make it spawn visuals via the subsystem tho

faint pasture
#

just put enough info in your Projectile data so you know what to do when and if it hits something

past compass
#

I can get client visuals to work as the predicted shots will be able to play the visuals but the server shot won’t play the visuals for other clients

#

How are you handling that side of things? Assuming it’s a multiplayer setup?

#

I can share current code but basically have everything I need being passed into the subsystem for fire bullet event, in the function it will check for hit and will do damage if a player/enemy. But visuals etc seem to require something else

#

The most obvious answer would be to make a separate visual manager actor but this feels like it kind of goes against the idea I had in the first place. But maybe I could use this visuals manager actor to manager all visuals instead but not sure what options I have

white parrot
hearty rain
past compass
#

an actor would allow that to become pretty simple

#

but yea, would like to not have to add an actor just to spawn some vfx

plush hornet
#

Hey all, Im making a turn based RPG and I have an Array of 3 charecters set up and they spawn into the world. How would i get the relative location of all 3 characters and then move them to a new location? I just want them to run forward to a new spot. Thanks

jaunty solstice
#

I have a Blueprint Light Actor with exposed properties in my scene.
Why when I change all the properties in the original Blueprint to private (No eye icon) are the properties still exposed on the BP Light actor instances?

limber oyster
#

Is it possible to set metadata specifiers like AllowedClasses on a FSoftObjectPath blueprint variable?

dreamy sail
#

is there something that I can use instead of "on see pawn-> ai move to" for better performance ?

I just want a simple logic for the AI to follow the player when he sees him, but this one is killing the performance once I have 20 or more AIs

maiden wadi
slim lotus
#

I need help, every time i click "New Game" and then exit the game, this error message pops up. can someone tell me how i fix this? The main menu is in a separate level from the actual game, and the pause menu is obviously in the game separate from the main menu.

plush hornet
slim lotus
#

idk if you mean to do this, but it didnt work.

last peak
#

I dont know if thats the cause of your issue btw but thats what they meant

dark drum
slim lotus
last peak
#

I also thought about load order

#

Havent even considered that it might get created in the game instance

slim lotus
sand shore
# slim lotus idk if you mean to do this, but it didnt work.

idk if it'll help but try setting the input mode BEFORE you use Open Level?

I would expect that the open level node would either return immediately, having the playercontroller still valid, or it would not return until it had fully created at least one player controller, which would still leave the playercontroller valid, however, it's worth trying to change the sequence of events to see if it does anything

slim lotus
sand shore
# slim lotus i tried it and its still showing the error.

hmm. Are all these screenshots of the widget graph? like these are all inside of widgets?

Because if so, you can use "get owning player" node to fetch a controller. UWidgets aren't supposed to exist without an owning player controlle r

slim lotus
#

Yes its for a widget graph, but its still not working.

sand shore
sand shore
#

Well, you can make that error go away by using an "Is Valid" node, before calling a function with the controller as a target or a parameter, you can check "Controller -> Is Valid"

#

works for any object/actor/component, too

slim lotus
#

now it just doesnt open the fpmap

last peak
#

player controller - isvalid`?

slim lotus
#

still doesnt work

sand shore
last peak
#

before the isvalid

#

oh well on second thought

#

that will probably not change anything

slim lotus
#

still doesnt work.

last peak
#

What happens if you simply remove the set input mode from this ?

sand shore
#

well my pause menu never created itself so I don't know how that's happening for you

slim lotus
slim lotus
#

could this be it?

#

AH HA

#

it is that

gusty veldt
#

Can someone give me a hand, I'm not sure where I'm going wrong? I'm trying to move the camera while paused, and it's causing horrible blur. I start the game paused, and can move the camera fine, unpause and it's fine, pause again and it's no good. I'm not sure why it's working the first time the game is paused, but not after.
I'm aware of this: https://www.tomlooman.com/unreal-engine-moving-camera-paused/ and I've tried setting bIsCameraMoveableWhenPaused immediately, and every time the game pauses, and neither seems to affect the camera blur

Quick tutorial on how to update camera while your game is paused in Unreal Engine.

slim lotus
#

removing the input stopped the error

trail parcel
#

I m doing a simple "grow numbers" game and I want to add many different items to upgrade without the need of creating 4 variables for each one (buy, cost, lvl, generation). Is there a function I can use to make It easier? That s all in a widget btw, that was the easiest way I found to do that.

If I can also get the get and set "Money Player" directly inside the "Handle Money" function that would also be helpful

frosty heron
#

@trail parcel You need to explore structs.

#

on the other note, doing game logic in Widget is TERRIBLE.

#

Your widget job is to display the state of the game. Not holding it. The game should work with or without the widget.

trail parcel
frosty heron
#

I'm not attacking your learning journey, everyone start from somewhere. Just calling out bad practices so you don't have to deal with more issues.

trail parcel
#

I didn t want to do a lot of casts and I couldn t figure out how to output something with messages

frosty heron
#

sounds like a seperate issue. Cast can be harmful or harmless, depending on how it is used.

sand shore
#

This is why I asked where you create the widget

trail parcel
slim lotus
frosty heron
#

Cast is integral part of programming.

sand shore
#

This is also why people ask you to share all the things that could be relevant

#

Idk gg best luck fam

trail parcel
frosty heron
#

can't make a working game without polymoprhism.

#

some good info to see common unreal quirks.

mental trellis
trail parcel
frosty heron
mental trellis
#

😛

slim lotus
#

anyone know how to disable the "Escape" key for exiting play mode? because i cant test out the pause menu with it.

#

and every source just tells me something useless

autumn pulsar
#

Does UE have a way to "clean" blueprints?

#

I have some leftover garbage that's preventing this from compiling

#

This variable doesn't exist

#

I can't delete this variable either because it's a ghost wishyWashyPensive

#

Deleting unused variables doesn't work

#

I can't make a new one with the same name

#

duplicating the blueprint doesn't absolve it either

#

Do I just, have to remake this?

trail parcel
#

Managed to reduce the work of adding new item infos to just this

#

Now is there a way to create their new interface as easily too?

#

Rn I would need to copy / paste, change all names and bindings

slim lotus
#

How do i set up a back button in the settings menu widget(being used as a child widget), to send me back to the parent widget, so either the pause menu or the mainmenu depending on what level youre loaded into?

maiden wadi
maiden wadi
# slim lotus How do i set up a back button in the settings menu widget(being used as a child ...

This can be as simple as handling a key down and removing the widget. But that in itself can be a hassle.

If you're not using it and you're willing to take the time, I'd recommend checking out CommonUI because this is one of the things it handles really well. It has a "back action" that allows you to simply deactivate the current activated widget. Deactivation can do whatever you want but by default it removes the widget from parent.

maiden wadi
crimson briar
latent sluice
#

why is it not possible to use Macro that are made by their parents or components?

hearty rain
#

Macros are not really functions, they are pieces of code that gets copied during compilation

latent sluice
#

oh, ok that makes sense

#

guess I'll copypasterino

trail parcel
gusty solstice
#

Hello fellow nerds 👋 Could someone point me to a good resource on how to detect the last input device, and how to get the correct key binding for an action for that device using the Enhanced Input system?

narrow sentinel
#

Anyone know a way in state tree to set a state tree parameter regardless of it's type ??

full badge
#

it acts like esc without exiting editor

last peak
#

All game logic in widgets, save all references in the game instance, use get all actors and loop trough the entire thing each time you want to find a specific actor, cast from player to everything else muhahahahahahah

trail parcel
#

How can I assign an event in the upgrades widget when that custom button is clicked?

crimson briar
#

Using a dispatcher most likely

#

Item widget has a dispatcher and calls it when clicked. The widget that contains items binds it's own event to every item dispatcher when creating them

trail parcel
mental trellis
#

Add a parameter to the event.

trail parcel
#

I want to pass that ItemInfo

crimson briar
#

It looks different than adding a parameter to functions for some weird reason

trail parcel
hearty rain
#

Any ideas as to what could make my ragdoll skeletal mesh not doing proper "self-collision" ? The arms sometimes go through the body

rose crest
#

Sounds like Do not redeem

queen heron
#

just found this blueprint event node in my character blueprint

haven't been on this area of the blueprint graph in a long time, but I think this kind of event node means nothing will call it?

haughty depot
#

hi all, I am curious about doing a seamless transition from a 3rd person pawn to a sequencer cutscene.
Is there an existing unreal feature for this, or do most developers handle it manually? like moving the player pawn to a specific position and binding it to sequencer?

queen heron
autumn pulsar
#

I ended up just remaking the blueprint since it didn’t have too much

maiden wadi
trail parcel
#

How can I make that button bigger without messing with the text inside? Tried using size box but didn t work

maiden wadi
trail parcel
maiden wadi
#

How much bigger though? Are you wanting it to stretch to the closest dotted lines? Are you wanting to just add like 32px on the left and right?

#

How you want it matters for the answer.

maiden wadi
#

The stretch or the specific pixel sizing?

trail parcel
maiden wadi
#

What is the button's slot? Can you show it's details panel with it selected?

maiden wadi
#

The details panel should have an Auto/Fill setting. Set that to Fill. And then set the horizonal thing to stretch instead of center.

#

Should do what you want and horizontally fill the sizebox.

trail parcel
maiden wadi
#

Can you show the details panel of the button with the sizebox wrapping it?

maiden wadi
#

With the Sizebox wrapping the button and the button selected, can you set the Horizontal Alignment to the two longer lines on the right?

maiden wadi
#

Select just the button

trail parcel
#

Thanks for the help

maiden wadi
#

🥳

warped juniper
#

Next time do use the #umg channel, should givey a faster and better replies and keepsthe place on topic

warped juniper
#

And while at it: I have been working on a character class but need some feedback... What function would you reccomend for an MP ready character push? Like imagine a moving piece of level collision like a sliding wall that is meant to push the player to the sides... I can't use set actor loc because that doesn't really feel clean and is harder to replicate for how often it would be needed

autumn pulsar
#

How do the event dispatchers work? I'm trying to bind to an event on my target actor

#

but this doesn't seem to be calling despite the E_Died event firing

mellow folio
#

Is that last blue node on the bottom supposed to be happening on the target? If so the two blue circle should be connected.

autumn pulsar
#

the targetted actor should be calling e_died

#

which then calls TargetActorDied

#

which calls "Stop Target Actor" on the Source actor

pliant musk
#

I'm loading some stream levels that have replicated actors; I'm multicasting the load so they spawn on all clients, but for some reason remote actors aren't moving and server actors are, does anyone know why this would be happening?

rose crest
rose crest
pliant musk
#

Okay that's exactly what I thought; so I can technically create a different level with all of my dynamic actors and ONLY load it on server and the actors should replicate if told to?

rose crest
#

Yes

#

Oh, and replicate movement

#

There's separate bool

#

I think, I don't have Ue open now

pliant musk
#

No worries I've been trying to figure this out all day lol and this is basically where i landed

rose crest
#

It also solves issue with actors duplicate on clients during late connection/reconnect

pliant musk
#

great yeah so I'll be able to load all static geometry, then load replicated actors from server excplicity

trail parcel
#

How can I show only one number after the "." ?

frosty heron
trail parcel
next hollow
#

Do the drop-down on the “to text” it should have values for max decimal places

autumn pulsar
trail parcel
frosty heron
#

@trail parcel

#

just the ToText is enough actually

trail parcel
grizzled goblet
#

unironically just tried to search for a 'Switch On Bool' node i'm so done

autumn pulsar
grizzled goblet
#

i know

#

thats why i find it so funny that i genuinely tried to look for one

autumn pulsar
#

I'd rather be making those kinds of mistakes rather than getting baffled as to why my event dispatchers aren't working

frosty heron
#

Try debugging too, see if you made it past the cast.

autumn pulsar
#

and the bind event receives a correct result

shut blaze
#

I am spawning the enemy character in a blueprint, one problem, the character is always stranded in mid-air and doesn't fall. But if I drag the blueprint from the content browser it works fine

#

help?

autumn pulsar
#

Can you not subscribe to events on other actors?

frosty heron
#

Yeah, always print string the ref to debug

frosty heron
autumn pulsar
frosty heron
#

this function will execute whenever an enemy is destroyed.

autumn pulsar
#

Yeah that wasn't working for me

frosty heron
#

I have no issue with event dispatcher, I'm sure you just have to debug and find the fault somewhere.

#

hard to do it from my end without having your project.

autumn pulsar
#

yeah for sure

frosty heron
#
Epic Developer Community Forums

Thanks for this answer. I was having a different issue but this helped me. I’m spawning an Actor (BP) to scene level, that has an AI controller. Since “Auto Possess AI” was only set to “Placed in world” (not spawned), it was not working, but when I manually put the BP in the scene, it worked. So after a lot of testing, “… or spawne...

autumn pulsar
#

Can I trace a call?

#

Oh

#

I think I see the problem

#

When the other actor stops targeting, it unbinds all events

#

and not just the ones it's currently subscribed to

#

That did it

#

for some reason the actor when possesed by AI was failing to target something and spamming stop target actor

#

which was unsubscribing all my events fatdog

pliant musk
#

omg I'm freakin out

#

I've been trying for days; I have multiple levels designed with interactable actors all over; but I randomly generate the way each level loads; but when I load the level instance, it all works fine on host client, but not on remote; I can't

#

do i literally have to spawn all actors I want properly replicated?

#

And spawn them in the precise location that I had them?

autumn pulsar
#

Are you generating from a seed?

pliant musk
#

I have level chunks that I'm spawning and rotating to create a randomly generated group of levels that create a 4 quadrant system

frosty heron
#

if you are using seeds to generate the content, you should be able to tell clients to mimics the environment without turning every actor into replicated actors.

#

so the only things that is random is the seed. That can be replicated to clients. Client simply generate the level using the seed the server sends.

pliant musk
#

Yes but my actors are characters that need to be synced across network, their movement and all need to be replicated; I also have interactable objects that need to sync with how they are interacted

frosty heron
#

Characters should be set as replicated actor. That's not negotiable.

pliant musk
#

THey are

frosty heron
#

the interactable objects should be replicated actor too.

pliant musk
#

They are

frosty heron
#

So what's the issue?

#

replicated actor simply need to be spawn by the server

#

Client does 0 work.

#

When the client join the map, they will get the same state as the server.

pliant musk
#

Okay lemme run it from start

#

Server creates seed
Multicast loads level instances based on seed defined by server
All actors are already placed within the level.
All actors are replicated

End result:
Host actors all function properly
Remote actors don't move and don't replicate their information properly
This is ONLY the case with loaded level instanced, and works perfectly fine when all placed within a persistent level.

frosty heron
#

I have no opinion on level instances as I don't use them. You should ask in #multiplayer .

However Multicast should never ever ever be used for anything stateful. Meaning, if it has to be sync across machines, then don't use multicast as they can
get dropped and will not run on machines that have yet to join (also break when player needs to reconnect).

Multicast just run a function on all connected machines for a one time event. You best changed your approach and ask the multiplayer guys.

#

If I can remember correctly, actors are tied to the world.

#

the world you spawn locally will not be known by the server.

#

hence why we can't really have clients going to different world than the server. Think of World of warcraft where you can enter different region.
Sadly the multiplayer framework that come with unreal is only good enough for something like Counter strike where the server host one world.

#

Ofc you can make almost anything including MMO, but all those MMORPG using Unreal doesn't use the replication system that comes with the engine.
They would make their own backend.

haughty depot
timber beacon
#

Hey! I am pretty new to the engine and I was woundring how do you change the color I want to make it all black and just want ot add neon light affect to it!

#

also how do i turn on the modling back on? I am trying to figure it out but cant find it 😭

verbal kayak
#

how would i clamp a mouse cursor movement on a circular area?

crimson briar
verbal kayak
#

i do that already

#

its just really wonky on the edges

#

but i move it with my mouse.

crimson briar
dusty iron
#

The player sometimes falls through the floor for no clear reason.

When I only use the TileMap floor, collision works fine.
But if I place another collision-enabled object on the stage, the floor collision suddenly stops working and the player falls through.

If I remove that object and reload without saving, everything works again.

Why does adding another collision object break the TileMap collision?
Is there a correct way to handle this

wide beacon
#

Hello, I am trying to create 2.5D, platformer and I, want the gun to aim wherever the cursor is. This, is my blueprint but I cant get it to work. The gun seems to roll rather than aiming up and down.

full badge
autumn pulsar
#

I think the issue is you're misunderstanding how "deproject to world" works

#

hard to describe, but think of your computer screen as a tiny little rectangle in front of the camera

#

when you deproject and get the position, you're getting the world position on that plane

faint pasture
#

or at least compose the target location into the reference frame of the gun's attach parent if you must use relative

autumn pulsar
#

Here's the logic I use

#

basically I draw a line into the scene, then clip it by a plane created from my player's position, then subtract the result of that from the player's position to get a vector to where the cursor is pointing

#

You may want to normalize the vector since it's just for aim unless you want distance as well for other reasons

#

like drawing a laser pointer

faint pasture
#

yup exactly

autumn pulsar
#

Also kind of funny, I make the vector length 5000 so I have something to clip, but if it's too short then the clip fails. But if it's too long it reaches floating point precision errors and snaps to 45 degress fatdog

#

Also, anyone have any suggestions on how to abstract animations?

I'm making a weapon system, and generally each weapon should have unique animation sets. But also different characters with different skeletons should be able to wield the same weapons

#

I was thinking of just using names and then a datatable list of animations or a slot based system

#

Then characters just load all that when they equip the weapon based on weapon type

surreal peak
white parrot
#

Yeah, i think Lyra does that? maybe

autumn pulsar
#

like a troll character might swing an axe very differently from a humanoid character

alpine ravine
#

hey question about blueprints, can i rotate some meshes in 90 degree minimum randomly on those assets? and make a little offset for each on the Z axis and rotate the floor at 2 degree min and max ?

autumn pulsar
alpine ravine
#

https://youtu.be/8NLBM1PnBV0 i found this for now but it seems too complex

In this video, I will guide you through the process of creating a BP_Array step-by-step. This will enable you to quickly add assets, with the capability to modify transforms, introduce randomization, and optimize draw calls for better performance.

Music from #Uppbeat (free for Creators!):
https://uppbeat.io/t/oliver-massa/orange-clouds
Licens...

▶ Play video
autumn pulsar
#

But if you're wanting to make a game you'll need to delve into blueprints one way or another

alpine ravine
timber wind
trail parcel
#

How do I cast from one widget to another?

timber wind
timber wind
trail parcel
#

That s what I m asking

timber wind
trail parcel
#

The main goal is to make a 1x , 10x and max upgrades options

#

The cast is to update the prices shown accordingly

thin panther
#

is WB_Items a parent or child of WB_Updates?

dark fossil
#

is there some kind of button to clean up and organize blueprint nodes 😭

thin panther
trail parcel
thin panther
#

Then you're misunderstanding what a cast does. A cast is checking if a type can be made more specific. Take your character for exmaple. Because it is an Actor, it can be held in an Actor Object Reference. But because not every Actor is your Character, the things specific to your character would be unavailable. This is why you cast, you're essentially checking "is this specific actor of this other more specific type", if that answer is yes, you get to access the things specific to it.

WB_Item and WB_Upgrades have nothing in common, other than WB_Upgrades contains some WB_Item's. However, that doesn''t make it a WB_Item and thus the cast will always fail

#

What you want to be doing is taking one a reference to one of the WB_Item's in the blueprint graph of WB_Upgrades, and performing whatever checks are needed

trail parcel
thin panther
trail parcel
thin panther
#

Your second way may work. You'll always have a method to get a reference if you've actually got that widget contained in another. If they're spawned dynamically, you can save the reference when you spawn it, otherwise it should just be available if placed in the editor

timber wind
trail parcel
thin panther
#

yes. You either add them into an array, or you have the array made dynamically. Normally you wouldn't hardcode the number of items like that, you'd have them spanwed by something based on some data somewhere

dark drum
kind estuary
#

Im making a tile based tactical battle game. I have an actor with a static mesh component.
Since its tile based i dont need collisions or physics.
But i have 1 ability that is rarely used, that will shoot enemies and project them into the air.
What do you suggest i do here?
Make all actors carry physics and collision just because of this ability, that is rarely used?
It sounds like a waste

maiden wadi
unreal token
#

can someone help me? why are my trees flickering?🥲 they are two separate mesh made into a single one in a blueprint but I don't think that's a problem at all

maiden wadi
unreal token
#

how do i do it???

#

found it

narrow pulsar
#

Anyone here got a lot of experience with hit traces? I'm currently facing the problem that my swords get a bit too deep into the player/wall before it "registers" as environment/pawn, i wanted it to be a near instant feedback (or at least better than it is currently).
I know this can kinda be solved by increasing the tick rate of the traces but is there any other way you guys know to improve this type of thing?

I'm currently using sphere tracing (1.5 size spheres) ~10 per weapon with minimal gaps between them. Performance is also important

autumn pulsar
#

Or just an animation

alpine ravine
timber wind
# alpine ravine ok i can move one object but how do i say all thos eobjects in my level should r...

You can right click on pins to "break" them, so you can go from
Transform (color orange, has location, rotation, scale)
to having separate
location
rotation
then you can break the location vector further (right click 'break') so you'll have x,y,z

starting from the relative transform of your mesh, you dont want to set the location to a fully random one, right? you'll want to break the location vector and add an offset only to z or something
Same with rotation, you dont want it to be full random, you probably want to change only one axis, so when you put the pins back together keep, say, the old x and y and a random z made with (old+offset)

alpine ravine
#

make rotator seems better

#

now how do i apply that to all those selected objects instead of one? and random for each object? i cant just drag them all here, they will have the same transform at the end

timber wind
alpine ravine
last peak
#

Damn sounds like a horrible time

trail parcel
#

Is there a way to change just one variable from a structure without needing to set everything else together? If I don t do this all the other values are reset

trail parcel
errant snow
trail parcel
next hollow
#

Right at the bottom

trail parcel
#

Thanks

haughty depot
#

hi all, is using widget for flashing effect the entire screen a good idea?

hearty rain
haughty depot
cedar vine
#

I’ve enabled both collision and physics on the helicopter. When it falls, it clearly collides with the landscape, but no hit events are generated. Why does this happen?

hearty rain
#

do you have "Simulation generates hit events" enabled ?

dusty iron
#

UE 5.5 Windows packaging issue.

Output Log shows:
LogFab: Error: Login failed - EOS_InvalidParameters

But Cook / UAT / PackagingResults are all successful, and the game runs in-editor.

Can EOS_InvalidParameters actually cause packaging to fail, or is it a harmless EOS auth log?
If harmless, what should I check next?

Thanks.

alpine ravine
narrow pulsar
#

Anyone here got a lot of experience with hit traces? I'm currently facing the problem that my swords get a bit too deep into the player/wall before it "registers" as environment/pawn, i wanted it to be a near instant feedback (or at least better than it is currently).
I know this can kinda be solved by increasing the tick rate of the traces but is there any other way you guys know to improve this type of thing?

I'm currently using sphere tracing (1.5 size spheres) ~10 per weapon with minimal gaps between them.

frosty heron
#

@narrow pulsar if you make the trace frame dependent, then you will not get a good result.
Even worse in lower fps.

#

if the animation comes from anim sequence or montages, then you can bake that information.

narrow pulsar
frosty heron
#

because the less fps, the less trace you will get.

#

So I am doing the same thing, but i baked the data into the anim notify state.

#

and i simply slice them to X number of points.

#

when the animation play, I trace on every points until the current time.

#

the result is, no matter the fps, I will have consistent trace.

narrow pulsar
#

holy that sounds like a lot of work when you have dozens of weapons with multiple different attack animations for each hahaha but will look into that

frosty heron
#

Play anim on my BakeActor. make sure the anim have the anim notify states for the attacks.
Click bake -> Run logic to slice the anim notify states and insert the data -> Profit.

#

takes a week for me to do it, but honestly can't see any other way to have reliable attack trace.

#

Right now I am just tracing the points using line trace, but I also want the option to do it with spheres / boxes for larger hit detection.

narrow pulsar
#

Yea I tried line tracing but found it to be too inconsistent when you want to do something like bone hits (which I do since limb system)

#

Bones are super thin so they often landed in the middle of theline traces

#

I was thinking of making player hitbox with phys assets but that's probably expensive

frosty heron
#

the important bit is to know where the trace should be.

narrow pulsar
#

How often is your trace being run there btw? Like for example at the moment I set a limit of 35 hz when running the tracing since I need really good hit detection, I assume we can do something similar when doing the method you explained above

frosty heron
#

it doesn't matter what fps the system is running

#

because it has the data baked into the animation. Thus it can replay / re-simulate any missing points.

#

you can see the first video, I am still getting the same smooth line with 5 fps.

#

Back when I was learning I used Dynamic combat system from the market place.

#

and when I test on low fps.

#

The attack stop hitting the enemy and vice versa.

#

went wtf, and found out the limitation.

#

you should draw debug your trace and running it on low fps. Imo game shouldn't break with 30 fps or 144 fps.

narrow pulsar
#

have you tested to see performance from doing your way and running regular hit traces tied to fps?

frosty heron
#

project still bare bone but I drop like 20 enemies and kept attacking my self.

#

didn't lost a single fps, so I don't even bother to profile it.

#

line trace is very very cheap.

#

If something needs to run every frame, then good chance it belong to tick.

#

don't micro optimize until it become a problem imo.

last peak
#

I always struggle with npc's i dont know what im doing wrong but especially pathfinding seems to kill my frames

frosty heron
last peak
#

Ah i see ^^

frosty heron
#

Back in UE4, I lag soo hard with 20 NPCS.

#

forgot what I did but I managed to place like 80++ in a map

#

with 140 Fps still.

#

if you don't see all the characters all the time, consider hiding when not visible.

last peak
#

Days gone had this insaneley efficient system for their hordes

#

To me this is black magic

frosty heron
#

Yeah, I am really suprised how they do it.

#

probably not using CMC

last peak
#

I think each horde is only one single character and they did a lot with just animations for each individual zombie

#

And ye probably their own movement comp

frosty heron
#

If you are doing crowd there's like a few trick to increase performance.

#

like shared anim blueprint or something like that.

#

Don't really have much opinion, I am still working on my inventory :D.

last peak
#

Uhh masterclass

#

next to dialogue

frosty heron
#

really praying that my PC don't die with just 30 NPCs.

frosty heron
#

I think dynamic shadow is one thing that really kills performance.

#

at least in UE4

maiden wadi
kind estuary
# maiden wadi Not enough info here. What does shooting them in the air do? Presumably since it...

so basically imagine a turn based tile based game with tanks. and the tanks just shoot each other and die on their tile, but then i have this nuke ability that blows them all into the air, kind of. you see? this ability is rarely used, and makes me think it is pointless to add physics to all my tanks just for it... right?
But it would be really nice to hit them and see them all flying into the air or being projected...

maiden wadi
kind estuary
maiden wadi
#

I need to know if they just jump straight up and down, if they get knocked back in an arc, if they fly off the map entirely, etc.

kind estuary
#

no its not straight up and down

#

its like an explosion happens so they get thrown into everywhere

#

should they come with physics?

#

so since that is something that happens very rarely

#

is it worth it to give physics to all the tanks when this nuke ability doesnt happen most of the time?

maiden wadi
frosty heron
narrow pulsar
#

How would I make it ao that the players mesh and any weapon gets blocked by world static like the capsule component that doesnt allow u to fall off the map? I block world dynamic and static in my mesh and weapon mesh but they still go through walls and stuff

last peak
maiden wadi
#

Yeah. 😬 Most FPS games solve that with that weird camera trick. Other games just let it happen. Some FPS games I've seen interp the gun away from the wall when you're too close. Wonder if IK stuff could handl that a bit?

narrow pulsar
wicked osprey
#

Hello guys! Do you know any projects or videos about Active Ragdoll and self balance body like in Gang Beasts or Human Fall Flat?
I found this video, but I have no idea how he can do that

https://youtu.be/BmuwVB3Zjgk?si=pX0aWDIpeCmj1odN

A fully simulated active ragdoll system built in Unreal Engine 5, designed for realistic, dynamic, and responsive character movement. this system uses physics-driven ragdolls that automatically self-balance, allowing characters to recover from pushes, falls, and impacts naturally

If you like it, please subscribe to my Gumroad store: https://cod...

▶ Play video
storm solar
#

Im working on a action rpg like the tales of series and im pretty deep into development now.
I have AI working, moving targeting attacking and chaining attacks.
Im trying to figure out how to have it block on reaction to an attempted hit.
An example is below.
https://youtu.be/7SJwFjFlR6c?t=204
It's at 3:26, the whip enemy.

It looks like for these games the enemy has a chance to automatically guard an attack if they are not currently attacking.
How would I set this up in my current project?
My initial idea is to have a check if an opposing actor is within ~50 units away from you and is attacking (has an attacking gamplay tag). If true, and you are able to, block it.
I was thinking this would work in event tick for AI, but I know event tick is not great to use in unreal. Is there a better alternative?

I recently got around playing some of my Tales series backlog and decided to look into some mods for Tales Of Symphonia (PC) version and I found few entries which I thought I should share with you people!

⭐ InstantGaming - https://www.instant-gaming.com/en/916-buy-tales-of-symphonia-pc-game-steam/?igr=SUG1

  1. Special K - https://wiki.special...
▶ Play video
last peak
#

It depends on what you are doing on it

#

doing a single bool check - gameplay tag check is REALLY cheap

#

if - other actor attacking && distance <10 && Not attacking - if random int in range (0 - 100) > your random chance for blocking eg 25 - call block

#

But you dont even have to let this run on tick, you can just bind a event to the attack action

storm solar
tough kiln
# storm solar Im working on a action rpg like the tales of series and im pretty deep into deve...

I'd push back a little on the above. That particular check is cheap; distance checks less cheap; but it also bloats your tick function scales poorly.

A cleaner approach imho would be making it event based. Put a collision shape around your actor (cylinder, I'd imagine), set the bounds according to your distance specs. Set up collision so that it triggers an event when another character enters and do something with that event.

A more common solution is to have enemies notify an event manager (e.g. world subsystem), this then checks if any actors are in range and notified then via an interface. It's more dynamic as you can trigger events for all kinds of actions and build in a complex interface system to work alongside it.

last peak
#

ideally your attacking actor knows who his target is, you can then either call a event in it with a interface, a component or you simply bind the event

#

General rule of thumb for the event tick is this
Whenever you want to use it ask yourself - would a timer work too? Would events work for what i have in mind?
If the answer is no, by all means use the tick

mental trellis
#

Or simply: "do I need to do this every tick?"

storm solar
#

Now that i think about it I have event notify in all attack animations.
I can check where the attacker is in relation to the their target instead of the other way around.
That way I wont need to use event tick and it'll account for attacks that have multiple hits.

barren tangle
#

Hey, when i put a variable into a local variable. and continue to work with the local variable, is it the same variable? or there are 2 differents?

#

i want to clean that, but i wonder if use local variable could help... or if it becomes 2 differents variables (not the same reference)

faint pasture
barren tangle
#

Item and Ball

#

i know it's ok for the Index because it's a value

#

but not sure for the 2 others

#

i want to say no

#

but not sure

faint pasture
#

In that case, yes, kinda. Since they are pointers to an item and ball, and not the item and ball themselves

#

a new Item is not created here, a new POINTER TO AN ITEM is.

barren tangle
#

so here it's ok if it's a pointer to the same input item?

faint pasture
#

just use Item

barren tangle
#

it's just to have more clarity on the blueprit

faint pasture
#

it's less clarity but sure

faint pasture
#

I'd just do this and call it a day, simple.

barren tangle
#

SO you think the first approach with all line everywhere is more clear?

#

it's less clarity because it's pointer?

faint pasture
#

It can literally be this simple

#

This is barely a function

barren tangle
#

it's not the same dispatch event and it's not the same enumeration

#

is it more clear like that?

faint pasture
#

yes if its a different event then sure, branch

#

I'd lose all those reroutes but sure that'll work

barren tangle
#

the select node seems to be more usefull that than expected

faint pasture
#

select is awesome

barren tangle
#

but i have to keep the switch or i wrongly use the select?

faint pasture
#

looks fine

barren tangle
#

I will try to use more the select it seems to be a good node

dapper wave
#

Hey all, can somebody tell me what is the correct approach when giving the player the ability to change gamma? I heard that despite the name, using cmd "gamma <value>" is considered bad practice as high gamma value tends to wash out colors. I've also seen two other methods by using cmd "r.toneMapperGamma <value>" or by changing the "Exposure Compensation" setting inside the post process volume. What is the one considered correct, what are big games using? Or are there multiple methods that are correct?

sand shore
# barren tangle

Seems like both of them serve a purpose in that screenshot. But yeah, they’re both really useful

dapper wave
#

Ah, that's very useful information. Don't know why I didn't think to look into lyra. Thank you for pointing it out

crimson briar
# barren tangle

If you were asking because you wanted to avoid long wires - you can use the input from functions as a Get like with normal variables. But you need to search for it, since it is not draggable like blueprint variables are - just right click in the function graph and type in your input variable name (like Get Ball) - it will show near the end. No need to create another local variable.

barren tangle
#

thanks!! that's amazing !!!

last peak
#

^Dont let anyone tell you reroute nodes suck
They are beautiful!

barren tangle
#

lol

barren tangle
crimson briar
#

Reroutes are fine, but once two wires of the same color cross each other,it becomes annoying

kind estuary
maiden wadi
#

@dapper wave The console command does the same thing. Engine handles the console command and sets it's own Gamma.

maiden wadi
kind estuary
maiden wadi
kind estuary
#

so in my system i dont do it at all in the ISM. The ISM is just graphical, it has no collision

#

Inside the actor that contains the index of the ISM, i have a separate collision

#

🔀 its a bit twisted but works

maiden wadi
#

Ah, so you'd be knocking away the collision thing and the ISMs just follow it, that works, yeah.

kind estuary
odd widget
#

hiya all, got some code that isnt working no matter what i do and this has been a prevailing message from the start, i havent seen anything seemingly directly caused by it but if nothing else i just want it off my screen so it can stop distracting me. any idea how to fix it?

odd widget
lean flax
odd widget
#

ok...i truly have no clue what happened so im truly sorry if anyone else has this issue and is looking here for help...i just put my head on my keyboard in resignation...and it seems to have fixed it somehow???

faint pasture
#

All my homies HATE reroutes.

haughty depot
#

dont tell me, reroutes added another blueprint overhead?

next hollow
#

Travel time matters for code. 😛

fiery swallow
olive sedge
#

If I want to play a cutscene when the game starts and immediately spawn in a player (single player) AFTER the cutscene ends, how would I do this? Having a hard time with it, would appreciate any help.

stone nymph
#

Hey yall
I'm trying to do something a little funky with my character controller but I'm having some trouble doing it.

In short: it's a typical FPS controller, YX with the mouse to look around, with some model in front of you attached to the camera so it follows.

But I want to be able to turn on a boolean and essentially.. detatch the camera from the model? so it stays in place but the camera can rotate around freely still..

Is there a way to do this? if I don't bind the model to the camera the rotation doesn't follow and I can't find a node to apply the rotation to it properly..

surreal peak
# stone nymph Hey yall I'm trying to do something a little funky with my character controller ...

Hey, so maybe it helps knowing that the camera on your character is mostly just a fancy offset. UE works with the concept of ViewTargets, which are Actors. When your Controller possesses a Pawn, by default it makes it the current ViewTarget. The game then offsets the location by the first Active CameraComponent it finds.

You shouldn't change the ViewTarget unless really needed, because it touches other systems as well, but it's also not the biggest problem to simply call SetViewTargetWithBlend on your Controller, passing in a new Actor.

If we assume you can't do that for various reasons, you could instead make use of the PlayerCameraManager. Similar to Controller and Pawn/Character, you can make your own BP child class of it. You tell UE to use your new class by specifying it inside your PlayerController BP.

Inside the PlayerCameraManager you can override an Update Camera function which allows returning a new transform and fov iirc. Here you also have a convenient getter for the current ViewTarget. Since you know that it's your character, you can cast to it and check for your Boolean to then do something custom for the returned transform, while still keeping the ViewTarget as the character.

ancient marlin
#

Please help! Im trying to set up ai perception, but when I add both “set value as object” like in my schools tutorial video my ai stops randomly wandering around and they both stand in place. I don’t know how to fix it. Tried removing them one at a time and its definitely the top one that's causing issues.

stone nymph
ancient marlin
#

Here's my behavior tree

dapper wave
crimson briar
# ancient marlin Please help! Im trying to set up ai perception, but when I add both “set value a...

You could try to replace the set to nothing with Clear Blackboard Variable but it is more of a good practice, for actor variables it probably won't change anything. It matters for variables like vectors for example.
Other than that, debug. Launch play in editor, open AI Debugging, tab to your behavior tree, select one of the available actors at the top and inspect which node they are stuck in and what are the values.

lusty delta
#

I'm working on optimizing the tick behaviour of my blueprints.
stupid enough unreal has tick enabled for every actor and component by default.
so as far as I understand, the tick in the class settings is the one I can use in the event graph.
then what are the other ticks for on every component? Say on the movement component, I disabled that, but characters still move.
and could there be a problem disabling all those ticks?

maiden wadi
# fiery swallow I don't think anybody really knows, everyone just ignores it. It's really annoyi...

@odd widget It's "intentional". There's quite a few bug reports on this even in UE4. It's a problem because events allow latent things.

It's marked as ByRef because technically it is AFTER it's copied. It does this to preserve the array because it can't know if it's safe to use the original in Events. Picture the following.

  1. FunctionA has a local array of pointers.
  2. FunctionA calls EventA passing it's local array of pointers.
  3. EventA has a delay first thing so FunctionA cleans up it's local memory.
  4. EventA would now have an array by ref to garbage data.

Instead what happens is that the array is copied somewhere. What your note is stating is that it won't affect the original array because Events never do for the above potential issue in step 4.

The real fix is to mark the array const. This notes that you're aware that the array will not be modified and you have no intention to modify it. BUT now we're getting into Epic making assumptions and being lazy.

Const is greyed out, so is PassByRef.

PassByRef is because you're referencing your copy that it made earlier, I assume it needs this but I can't be sure.

Const is greyed out because bad BP assumptions. They assume that you want the ability to alter the copied array, add to it remove from it. Meanwhile most people just actually copy it and alter that. But that is the reason it's not marked const.

So the note is trying in a really terrible way to express that your callsite's array will not be altered because you're working on a copy that is not really the same array, it's not a real by ref as you'd think of in normal coding standards. Traditional scripter hand holding gone wrong by lazy description.

fiery swallow
#

So it gets referenced later, and then copied

maiden wadi
#

It'd be less of an issue if Epic wouldn't try to badly handhold designers and confuse even normal gameplay programmers by trying to hide their ubergraph data handling. Even a hover tooltip on the Note thing to explain this partially would go a long way.

inland walrus
#

I made an investment 😂

#

Compile and save

#

Very satisfying to press

mental trellis
#

Every key should be hooked up to ctrl+s.

ornate trail
#

and occasionally ctrl+z

maiden wadi
dark drum
ornate trail
#

very important as well

maiden wadi
ornate trail
#

RL farming non-simulator

maiden wadi
#

Would play every day.

#

Specially today. I really don't want to modify the Flow plugin. 😮‍💨

ornate trail
#

it's a blender day for me at best

dark drum
olive sedge
#

If I want to play a cutscene when the game starts and immediately spawn in a player (single player) AFTER the cutscene ends, how would I do this? Having a hard time with it, would appreciate any help.
I tried this in the level blueprint

event begin play -> create level sequence with a reference -> play-> bind event to on finished and reference to custom event (spawn player after cutscene) -> get actor transform/rotation and connect to spawn actor (put my actor, and used this location) -> possess . This is what I tried and it didn’t work, at the start of the game the screen flickers under the map, then plays the cutscene, then goes back under the map.

maiden wadi
olive sedge
#

Sure, let me load it up.

#

Gonna send a clearer screenshot give me a second

lusty delta
olive sedge
maiden wadi
#

Connect the output of your SpawnActor to the InPawn

last peak
lusty delta
olive sedge
maiden wadi
#

No. Sec

#

Green line

#

You have to tell your controller which pawn to possess, right now you're telling it to possess nothing.

olive sedge
# maiden wadi Green line

It didn’t work, it still flickers under the map in the beginning and then returns to that spot after the scene, should I have a pawn class specified in world settings?

#

It spawns in the middle of the map underneath

maiden wadi
#

Can you click on the SpawnActor node and hit F9? Or right click and add a breakpoint? And then play. Make sure that finished delegate is called and ran.

olive sedge
dark drum
olive sedge
#

And an arrow above the spawn actor node in blueprints

maiden wadi
#

So it does run. F9 on the Possess node and click the play icon at the top of the editor.

#

Hover the SpawnActor's ReturnValue pin and make sure it's not invalid.

olive sedge
#

Not sure what’s stopping this from working

maiden wadi
#

I'm a bit confused by this unless you have other code somewhere messing with possession or view targets. This should be ran so long after normal gameframework stuff that none of that should be messing with it.

#

On a whim, can you try setting the collision handling override to always spawn?

dark drum
# olive sedge

Disconect the 'Player Character' from the owner of the new character. Also, change the collision handling to always spawn.

maiden wadi
#

Curious if it's spawning and destroying it but it's showing as valid in the debugger cause it's pending garbage.

olive sedge
#

It didn’t do it despite those changes, what’s weird is this is a new game so settings are fresh. I haven’t messed with anything related to this.

maiden wadi
#

Next random curiosity. Can you add a 0.5s delay before the SpawnActor call?

olive sedge
#

Goes back under the map, this is extremely strange. Haven’t had anything like this happen.

maiden wadi
#

This under the map is your 0,0,0 spot right?

olive sedge
#

Could it be related to the world settings? I have these settings right now.

maiden wadi
#

Shouldn't be related. Pawn being non there just means a default one won't spawn.

#

It's acting like you have no view target. Which Possession does automatically. Even a Pawn with no camera gets it's viewpoint from the 0,0,0 of the pawn, so you'd be looking out from it's stomach, not world's 0,0,0

olive sedge
#

It’s the world 0,0,0 with the head stuck in collision with a floor making it be under the map, from what I see

maiden wadi
#

Wait the character is at world's 0,0,0 too?

olive sedge
#

Yes that is the camera flickers

#

When starting the game the camera flickers and we have a view of that 0,0,0 spot. After the cutscene it goes to that same spot and does the same thing but rather than flickering, it stays at that spot.

dark drum
olive sedge
dark drum
olive sedge
#

It’s just an actor instance

dark drum
olive sedge
#

Just an empty actor

dark drum
# olive sedge Just an empty actor

If you don't play the sequence and just call the spawn actor of class node, does it create the instance of the character? (You might need to add a tick delay)

dark drum
#

And I assume its being called in the level BP?

olive sedge
dark drum
# olive sedge

Editing a previous screenshot doesn't fill me with confidence you've tried what was suggested. Especially considering it would have been easier and quicker to just take a new screenshot.

maiden wadi
olive sedge
#

I am editing a previous screenshot because I just shut down the computer to run some errands. Nothing more, nothing less.

maiden wadi
#

Or was that pawn?

#

I can't remember. I clearly don't use the level BP enough. 😂

dark drum
dark drum
odd widget
#

heya all, anyone know why this is happening? my debug keeps saying its flipping between true and false for wether the pathing is partial, looking at it in the bp says its always true and the actual goal is off screen, which as you can see the nav mesh is broken off from(so to my understanding the path should always be partial since it can never reach its destination

surreal peak
odd widget
#

so that probably means the issue im having is with my code itself which ill post after i grab my dinner 😅

surreal peak
wheat citrus
#

does an event dispatcher guarantee that the subscribers run their bound events synchronously? So if I have a tick event on one component would a subscribing component run its bound event during the same tick?

mental trellis
#

Yes

wheat citrus
#

perfect, ty

odd widget
# odd widget so that probably means the issue im having is with my code itself which ill post...

right, so i think these are the neccassary screenshots, basically whats wrong is that sometimes it will let me place a tower despite said tower blocking the only available path to the endpoint which should be prevented. whats weird is that the hologram and the path color seem to not match up, with green hologram being placable but yellow being unplacable, and blue paths being valid while red are invalid, if a hologram is blocking the path the path should be red and the hologram yellow

odd widget
#

alls i want is to make 2 paths, one that the enemy follows and one that shows where the enemy will follow if a tower is placed there and if theres no way to get to the end to prevent building

#

and for it to be the same for every single enemy from a spawner with no character or pawn movement to keep things optomized as can be

minor pagoda
#

Hey, does someone know why the asset manager forgets the referenced asset in a directory I set like this? I mean, sometimes it loads some of them, when I restart the editor it forgets everything and when I change something in asset manager project settings it find all of them again 😕

maiden wadi
timber beacon
#

How do i save projet? because when i save and close unreal it goes in my folder and have to grag it out i am just making a map rn

timber beacon
#

i have to grab it out from here to the map like i can save it but it doesnt save in proper space on the map

#

so would i always have to grab it out to add it to the world while working on it?

#

ohhh alright!

surreal wagon
#

Hello. Why when spawning a lot of enemies the ABP completly breaks?

sick sky
#

be more precise, what is "breaking" ?

#

ABP can be expensive if you run a lot of them without MT applied

surreal wagon
#

the character movement has a race condition

sick sky
#

this screenshot and text doesnt help

#

what is the BP, what is the event, what is your issue

surreal wagon
#

This is the ABP, I get a race condition Blueprint Runtime Error: "Attempted to access BP_GenericEnemy_Chicken_C_10 via property GenericEnemy, but BP_GenericEnemy_Chicken_C_10 is not valid (pending kill or garbage)". Node: Set MovementComponent Graph: EventGraph Function: Execute Ubergraph ABP Generic Enemy Chicken Blueprint: ABP_GenericEnemy_Chicken

#

Only If I don't drag and drop the pawn

#

If I print it out to screen it does print the correct name

sick sky
surreal wagon
#

But it does not "get" it

#

The event is anim play

sick sky
#

set movement component cannot be run if the cast failed

surreal wagon
#

It points to this

surreal wagon
surreal wagon
timber beacon
#

how can i just make this glow up and not reflect anything I am trying to just make a system for the person to tell that its a wall or obstical in the way without showing to much light

warped juniper
#

What function / system do you reccomend for forced movement logic?
Namely for things such as sliding walls, wind currents that move floating actors long, that style of logic.

#

Ideally I want options for both instant acceleration and gradual for versatility's sake

stone nymph
#

Guys.. how can one UNDO changes made in a blueprint's viewport?

#

Like, I moved a model to test something

#

but if I undo.. now it undoes my blueprint stuff

#

closing without save doesn't seem to discard either..

tropic torrent
#

on the wall's material

hearty rain
frosty heron
#

some of your chicken probably spawn at the same location and you don't have always spawn try adjust location as the spawning method, resulting in abortion.

sick sky
elfin finch
#

Sorry for cross posting so soon, i assume some people who could help out wouldnt see it at all if it's only in CC lurkin

vast thicket
#

Hello, i'm making a game as a beginner, and i was wondering if there's any bp's/code that i can reference to create a grab system. I have figured most of it out aside from how to rotate an object while holding it, and how to use scroll wheel to push/pull the object while being held

glass blade
#

When i get the index 1 element in my array and it only contains 1 member, how does it still return the member and not none? Isnt 0 the first element in the array?

#

does it like default back to 0 if it does not find the specified element?

#

oh wait nvm, my array had 2 members

mental trellis
#

Lol

faint pasture
#

that'll totally depend on whether you're using kinematic movement, physics, your own code, etc

faint pasture
warped juniper
errant snow
# minor pagoda anyone on this?

What do you mean by "forgets them"? Forgets the entries in the project settings?
Also, none of those settings with "load" anything. It's more of a registry of primary assets and nothing loads until you tell it to explicitly.

minor pagoda
#

I also added a delay to see if there was any race cond, but it's a matter of time

#

I tried setting the directory, the specific asset list and both of them but I'm having the same issue

#

This is the class btw

class DREAM_API UDR_PetSkillData : public UPrimaryDataAsset
{
    GENERATED_BODY()
public:
    UPROPERTY(EditAnywhere, BlueprintReadWrite)
    FText DisplayName;

    UPROPERTY(EditAnywhere, BlueprintReadWrite)
    TSoftObjectPtr<UTexture2D> Icon;
    
    UPROPERTY(EditAnywhere, BlueprintReadWrite)
    TSoftObjectPtr<UCurveFloat> ProgressCurve;

    UPROPERTY(EditAnywhere, BlueprintReadWrite)
    TArray<TSoftObjectPtr<UDR_PetExpeditionData>> Expeditions;

    virtual FPrimaryAssetId GetPrimaryAssetId() const override
    {
        return FPrimaryAssetId(FName("PetSkills"), GetFName());
    }
};```
errant snow
#

The directory is definitely the better way to go. If you hover over the assets in the context browser, does it tell you the primary asset type?
The asset ID can messed up if change existing assets to primary assets or change the asset id of existing types.
It's possible that could be temporarily correct/fixed for a single editor session (if that's the thing that's messed up)

minor pagoda
errant snow
minor pagoda
#

it's a data asset created from DR_PetSkillData 🤔

errant snow
minor pagoda
#

So I create DA based on UDR_PetSkillData but it should display PetSkills as the type?

errant snow
#

Only as the Primary Asset Type. It'd still show DR_PetSkillData as the Native Class.

minor pagoda
#

Oh I see, after resaving I got what you said, but why is that?

#

Just a bug?

errant snow
# minor pagoda Just a bug?

Not quite. The default behavior matches the primary asset type to the name of the most derived native type.
So if you create assets first, it will create them with a type of "DR_PetSkillData". If you then add an override that says that for that type the type should be "PetSkills" instead, it won't be updated for existing instances until you save them.
Not really a bug, but not handled as gracefully as some might like because it's not something that should change frequently. Usually you set this sort of stuff up before making any assets.

minor pagoda
errant snow
#

No problem!

#

Hopefully this fixes your issues! But even if it doesn't, now your assets are in the right state for further testing.

barren tangle
#

Hey small design question, i create a fonction : CanXXXX or IsYYYY
that return a boolean.

Is there a way the output of the node doesn't have a name? because the name is on the function?

#

it's just looks like double information, but maybe there is a default name to provide to just have the output node without name?

#

you see here the function name is IsDangerous and the output is IsDangerous 😄

white parrot
frosty heron
#

especially if you don't need to cache the result.

#

Also that's weird, the output name should be what's typed in the return node?

white parrot
crimson briar
#

If I have a function like this that is self explanatory and returns only one bool - I just name the bool "Result"

#

It is short enough to not stretch the node unnecessarily and you see what it means from the funciton name

barren tangle
#

Only the output

frosty heron
#

a nameless variable sounds counter intuitive anyway.

barren tangle
#

is it the "same" node?

frosty heron
#

not the same node but I would bet it does the same job / effect.

#

unless you need the bool value to be plugged somewhere, I would just use the former.

barren tangle
#

thanks i didn't know 🙂

frosty heron
#

1 less node in the implementation though, so unless you need the bool value, use the former.

narrow pulsar
#

Do you guys see anything else I should turn off in AI to improve performance when they're "sleeping" (no players around)

chilly root
#

Is there a reason a "Does object implement interface" node always returns false when the object is a widget blueprint and i have tripple checked in class settings and the interface is actually implemented?

crimson briar
chilly root
maiden wadi
#

Can you show your code and the widget's details settings?

chilly root
#

sure, gimme a sec

maiden wadi
#

Otherwise we're just throwing random things at it.

crimson briar
#

Yeah, it is common to mistake the component for a widget. But if it is not the case here, code and details are needed

chilly root
#

I've added the player controller and the widget screens, let me know if you need more

crimson briar
#

Well you need to connect a valid object to the test object

#

Checking against a class is pointless

frosty heron
#

It's probably null, at least at the time of accessing.

maiden wadi
#

It's interesting though. Conceptually that should still work. I'm curious why it doesn't.

chilly root
chilly root
frosty heron
#

it should if not null.

maiden wadi
#

I'm curious why it'd be null though. In theory that should be a check against the CDO.

chilly root
maiden wadi
#

Need my IDE now. Too curious not to look. 😂

frosty heron
#

where do you actually set the Selection_Box_Widget?

chilly root
frosty heron
crimson briar
chilly root
frosty heron
#

yea imo, it should be working

#

its pointing at the same object

chilly root
#

Weird then, but it's way out of my skill level to figure out why 😅 . I'll leave that to you amazing people

maiden wadi
#

It's worth noting that there is a class specific one that would work without that. But at that point you shouldn't need the check. You shouldn't even need the check you have now, conceptually.

#

Cause it doesn't pass the correct object for some reason. O.o Wtf?