#blueprint

402296 messages · Page 757 of 403

austere aspen
#

yeah

feral ice
#

What is the difference between Hierarchical instance and instance mesh component? Tried googling it but it got too complicated

gentle urchin
#

Makes me wonder how you're adding it

austere aspen
#

I added a cube and that only rotates slightly too

gentle urchin
#

Doest the skeletal mesh rotate?

austere aspen
#

the same rotation as the sprite

odd ember
gentle urchin
#

Do you have any tick stuff going on with sprite rotation

austere aspen
#

no tick at all in my character

maiden wadi
#

@feral ice HISM has LODs, normal ISM does not.

austere aspen
#

I think the rotation not working might be because my character is a paper character, because when I used the top down character template and added a sprite to that it rotated fine

odd ember
#

makes sense

#

paper 2d is legacy now

austere aspen
#

no idea why though

odd ember
#

paper 2d was meant for sidescrolling action afaik

#

but I'm not sure how it works

#

it got deprecated long ago

austere aspen
#

ah welp, I'll just redo it in a normal character

feral ice
odd ember
#

I'm saying we don't know, or we can't tell

feral ice
#

whatever... Thank you @maiden wadi

feral ice
maiden wadi
#

Vaguely. Depends on your definition of expensive. Slightly more processing at runtime, but it can save you tons of performance on your rendering.

odd ember
#

it's still going to be cheaper than a SM due to being 1 drawcall instead of multiple

feral ice
#

alright!

#

Now that im reading it seems to be better in my case. Works better with foliage cuz of the LODs

maiden wadi
#

@feral ice Consider this. You have two separate ideas. Trees and walls. Walls are simple shapes, and you don't really want to deform them much if at all in some cases, so a normal ISM is perfectly fine here. Cause most likely whatever you're using this for will be completely hidden when parts of it aren't visible. Making more versions of this to LOD it is probably going to be a waste. Where as trees, you want multiple scaling versions because having 10,000 trees all at 40k poly's and full textures is a little too much when you can easily reduce 9800 of those trees down to 10k-6(yes 6, not 6k) polys.

atomic salmon
feral ice
atomic salmon
#

A communist rabbit?

odd ember
maiden wadi
#

The realistic thing is that you can feel free to use HISMs for pretty much everything until you need to optimize(if you do).

main orchid
#

That should theoretically work provided that the Ai's anim BP doesn't have root motion from everything enabled and the animation that plays while the character is "stunned" doesn't have root motion. Keep in mind the launch character node puts the AI in a falling state, so your jump animations (start, loop, stop) should not have root motion either. What is your use case? Why is the AI being launched? Is it being hit by a projectile?

sterile garnet
maiden wadi
#

Also. Since the topic is here. I'm still really sour that OnRep_StaticMesh in those classes isn't Virtual. :/

past prawn
#
#

The download link no longer works

#
odd ember
maiden wadi
#

@past prawn Presuming from the name that you are in UE5? I'm not sure about there, but Procedural mesh is default in 4.27.1 at least.

past prawn
maiden wadi
#

Hmm. That I don't actually see anywhere. There doesn't even seem to be mentions of it outside of that Trello board.

#

I'm fairly sure that's the same thing, and the description to it has a download link.

past prawn
#

Btw is there an advantage to using procedural mesh generation over imported static mesh?

maiden wadi
#

Faster iteration I would assume. I don't think you'd want to use procedural meshes a ton in normal gameplay. Have never personally tested, but just generally I would assume that the performance for procedural trees versus imported HISM component based ones would be pretty drastic.

#

If you could generate in editor and convert that to a StaticMesh asset though, I assume that would save a ton of time to create dozens of types of foliage much quicker than in like Blender or 3DSMAX.

past prawn
solemn zephyr
#

why can't I split "out hits"?

brazen merlin
solemn zephyr
#

that didn't work

brazen merlin
solemn zephyr
#

oh I was using the wrong node nvm I'm stink

#

needed regular not multi

brazen merlin
#

oh right, i get those mixed up too, couldn't see until i squint, but yeah, that's an array output

polar stirrup
#

Does anyone have an idea of where, if left blank, the location this will write to is by default? Or if I do give it a path, at which directory do I 'start'? "Content/whatever"?

dark crow
#

You can use Get Project Directory

#

There are other variations of it too

#

If you want it exported there, lol

zealous orbit
#

I ended up sending everything to C:/Temp, because laziness. GetProjectDirectory node is a good thing to know about!

polar stirrup
#

Awesome, thanks guys! Well then, I too now have mystery textures hidden somewhere haha

zealous orbit
dark crow
#

There's stuff like

Get Project Saved Directory too

#

And you can Append a string to create a folder for it

#

GetProjectSavedDirectory + Textures/

Will be saved in ProjectFolder/Saved/Textures

polar stirrup
dark crow
#

Yes, you gotta give the format

polar stirrup
#

Hmmm, strange that it's not working then 🤔

dark crow
#

Or wait

#

I think it's a HDR file

#

Not sure if windows can read that

zealous orbit
#

Let me post the BP I ended up using

#

I can't guarantee this is the best way to do it

#

It's in functional test code that never gets shipped with the game, so I didn't care if it is the "right" way to do it

#

In my case, I'm creating a dynamic texture that I pass to Niagara and I needed a way to save the dynamic texture to file

#

Looks like I ended up detaching the ExportTexture2D node. I don't remember the reason though.

polar stirrup
# zealous orbit

Thanks! Likewise, this is for debugging purposes as well. It's failing to write, however this at least gives me a direction to go!

zealous orbit
polar stirrup
zealous orbit
#

InputTexture is of type Texture2D

#

SavePath defaults to C:/Temp/export.png

#

Not sure why I have a filename there

#

Filename is export.png

#

This BP lives on a plane with a dynamic material instance that I can set the Texture2D to make it easy to visualize the texture in game

main orchid
# sterile garnet getting hit by a sword and then knocked back

That should be doable, but you'll have to do some extra legwork. If it's absolutely necessary to keep the root motion AI, then the knocked back or hit animations will need to have root motion as well. This is the only way I can think of to move the root motion AI in XY plane during a hit reaction. I'm not sure what kind of animation style your using, but you can add motion to the root of an in-place animation in editor. Here's an example: https://youtu.be/rSMqX7LLIuM I'd experiment with creating your own root motion animations or finding them via Marketplace, Mixamo, ect to see what works. The Launch Character node will give you the vertical velocity you need, and the root motion animations you create or find will give you the XY velocity you want. As an alternative, you could have the AI perform hit animations on damage that don't require Z velocity, and save the Z velocity for when the enemy dies. In that case, it'd be easier to simulate physics on the mesh and apply impulse. All of this assumes it's really worth keeping the root motion of course.

How to add root motion to an animation? How to make a charge attack? How to use root motion for a dash?

Welcome to How to... a snack-size video for a snack-size question in Unreal Engine 4.

SUPPORT ME
Patreon I https://www.patreon.com/ryanlaley
Buy Me a Coffee I buymeacoffee.com/RyanLaley
Donations I paypal.me/ryanlaley

PRIVATE 1-2-1 SESSIONS...

▶ Play video
zealous moth
#

what is the vector 2D of the center of the screen?

polar stirrup
#

Okay awesome. Is there anything here that happens to look off to you, @zealous orbit ? The texture I'm using there is a default one that comes with UE. Figured I'd try that before my own. It's still unsuccessful for some reason.

maiden wadi
sterile garnet
zealous orbit
zealous moth
#

@maiden wadi

#

like this?

polar stirrup
sterile garnet
#

Would root motion be required to have the enemies follow a “move to” command? Aka they currently find random locations and wander until they see the player and then run at them to attack

main orchid
#

@sterile garnet No, root motion would not be required for that command

zealous orbit
dawn gazelle
maiden wadi
polar stirrup
zealous moth
#

I'm doing a lock on system. @maiden wadi
@dawn gazelle good catch!
Basically I want what is rendered currently, what is closest to my character in terms of distance and what is closest to the screen center

maiden wadi
#

I doubt I'd use viewport space for that. It's much easier and programmatically quicker to dotproduct from your camera's forward vector.

serene galleon
#

Does anyone know how to make a child of an existing data asset?

dark crow
zealous orbit
#

Texture format is a good point

zealous moth
maiden wadi
#

You get the direction that things are from the camera. You dotproduct that against the camera's forward vector. The one with the closest to 1.0 is the closest to the center of the screen.

polar stirrup
zealous orbit
zealous moth
#

I mean, let's say I use the forward vector and dot product. Then I get a number based on how much of it is similar....

#

ooooooooooooooooooh

#

nice catch indeed

#

I did want to limit the loop to only those on screen though

polar stirrup
zealous moth
#

but I can add that as a first pass layer

main orchid
#

@sterile garnet In general, I'd say if it's a multiplayer game, avoid root motion. If it's a single player game, only use root motion if you are using parkour animations, turn-in-place animations, or animations that have starts and stops. Root motion often looks beautiful and realistic in my opinion. But, I wouldn't use it unless you either have to or it makes a big difference in your project.

zealous moth
#

@maiden wadi

polar stirrup
sterile garnet
main orchid
#

@sterile garnet No prob. Good luck 👍

maiden wadi
#

Could work. To be fair, if it's dotproduct isn't > 0, it's likely not on screen The rendered should work as well though in cases where it's set to not be visible.

zealous orbit
#

Those settings are always determined at the time the texture is created

#

If using an existing texture, you can see what the import settings were when importing and reimport with new settings

#

I'm not sure the settings matter

zealous moth
#

easier to just jump ship

polar stirrup
zealous orbit
maiden wadi
#
AActor* APortalVillagePlayerController::TestFunction(const TArray<AActor*>& ActorsArray, FVector CameraDirection, FVector CameraLocation)
{
    AActor* ClosestActor = nullptr;
    float ClosestDotProduct = -1.f;
    for (AActor* LoopActor : ActorsArray)
    {
        const FVector DirectionToActor = (LoopActor->GetActorLocation() - CameraLocation).GetSafeNormal(); 
        const float LoopDotProduct = FVector::DotProduct(CameraDirection, DirectionToActor);
        if (LoopDotProduct > ClosestDotProduct)
        {
            ClosestDotProduct = LoopDotProduct;
            ClosestActor = LoopActor;
        }
    }

    return ClosestActor;
}```
#

Note that the array length of actors in both of those tests was 4,000

zealous moth
#

well in my case it's just a 1 time deal on input. find a target.

#

the test function up is cpp and the bottom is BP, is that it? @maiden wadi

maiden wadi
#

Yeah.

zealous moth
#

yeah loops are the worst

#

lol

#

that's why I made that extra check.

#

I'll probably construct it back into cpp later

maiden wadi
#

It's also the function overhead. C++ function overhead is nearly nothing. BP function calling is stupid expensive. So running even just the getters in that BP function is probably more expensive than that entire C++ function.

zealous moth
#

noted. I know all about expensive and loops in bp 😉 hence why i made all my stats and loops in cpp

#

for this case in particular, it was just a proof of concept.
and I wouldn't be too worried at the moment since it's on a single human input to toggle lock on

#

the tick will be to follow that target now

maiden wadi
#

Yeah. And I doubt you're going to be polling 4k actors. 😄

zealous moth
#

indeed. I'm assigning a BPI to potential targets also. but good job on the test! validates the performance check 🙂

fallen glade
#

Sometimes my pawn will take a random deviation from their forced path that I feed point to point. As you can see in the gif, the last green dot is missed. Use pathfinding is off

#

any ideas?

zealous moth
#

ewwwwww spiders

fallen glade
#

that's the spirit

zealous moth
#

looking at the behaviour it looks like it wanted to get it but skipped. is your acceptance radius high?

fallen glade
#

no, it's like 1 or 5

#

is it's the last point I feed it's 1

#

if not it's 5

zealous moth
#

what's the full logic? AI Behavior tree or just patterned?

fallen glade
#

Just patterned

#

go to point - remove point - go to point - remove point etc

zealous moth
#

show?

#

or is it a trade secret? 😉

fallen glade
#

no it's a bit big though 😦

zealous moth
fallen glade
#

neat I always forget

#

this is the bit that's troubling me @zealous moth

zealous moth
#

yeah looking at it

#

thinking

fallen glade
#

I know it's a bit much don't waste too much time on it but let me know if you see some nonsense

odd ember
#

like the path that you want it to take

#

you'll be able to see the deviation then

maiden wadi
#

It's not a behavior tree though.

odd ember
#

AI doesn't have to be behavior tree based

#

utility AI exists

fallen glade
odd ember
#

needs based AI

maiden wadi
#

Technically this could get thrown out of the AI channel. Doesn't have anything to do with BTs or EQS. 🤷‍♂️

odd ember
#

doubt

#

plus people post navigation issues in #gameplay-ai all the itme

#

it's almost like it's all connected

#

and is it really that much worse than solving plugin related issues in this channel?

fallen glade
#

Ok well I actually think this has nothing to do with the path itself but the way that I set and read my variables. There must be something I don't understand

odd ember
#

suit yourself

fallen glade
#

because if I don't update my path mid motion everything is fine

zealous moth
#

not gonna lie @fallen glade , the logic is overly complex using the structs.
I'd do 2 things:

  1. on tick, make it print what its target is
  2. once target is reached or aborted, print it
odd ember
#

chances are you'd have an easier time with BTs as well

#

they're quite easy to debug once you get to know them

fallen glade
#

sadly

odd ember
#

BTs can be done in BP

#

all my BT logic is in BP currently

fallen glade
#

Oh that makes sense.... what's the difference then?

odd ember
#

it's just a neat structure to avoid stateful AI

sterile igloo
#

Is it possible to add scene components (object reference) to an array variable (in the same blueprint) before runtime? When setting the "Default value" for the variable, I'm only able to select from content browser for some reason, and not from the list of components in the blueprint. Or is it disallowed because the scene components doesn't pre construct?

odd ember
#

you can do some pretty powerful things because of how the AI is structured

fallen glade
worthy frost
#

@sterile igloo that is not possible

odd ember
#

enact different behaviors seamlessly

fallen glade
#

never mind I'll shut up haha sorry @sterile igloo

stuck plaza
#

I have this issue where I created custom actor BP, added field Boxref and set its type BoxColliderReference. How I imagined this would work is it would ask me for a particular boxcollider within the world. It turned out to dont work this way. Instead it asks me for a class type or something? Is there way around this?

worthy frost
#

only chance you have to do that is via ConstructionScript @sterile igloo

mint mica
#

is there a known bug where you can make a copy of a working blueprint class that shows up in a set but the exact copy (different name) doesn't ?

odd ember
#

but you need to expose the variable

#

and the actor also needs to be placed in world, as an instance

odd ember
#

by design

sterile igloo
stuck plaza
odd ember
#

I mean you can just reference the actor type instead

mint mica
#

@peak wedge even still does it on newly minted ones

odd ember
#

and grab the box collider off the actor when you pass in the reference

stuck plaza
worthy frost
odd ember
#

I'm wondering why you even need a set

#

most likely you're running into this case:

mint mica
#

no, this is a different thing

odd ember
#

but again, is there any reason you need a set?

mint mica
#

the blueprint class should show up in that list but doesn't

odd ember
#

is the class marked as abstract?

mint mica
#

i haven't found that checkbox yet

odd ember
#

it's in the class defaults for all actors/objects in BP

mint mica
#

where do i find it, can't see it in class defaults

odd ember
#

might be in the other one, but it should be up top

#

let me boot up the editor

#

class settings

#

it's called generate abstract class

#

untick it if it's ticked

mint mica
#

already unticked

odd ember
#

ok, have you double checked that the parent classes are the same between the class types?

magic rose
#

Hi All. May be a simple answer but I'm a bit new. Is there a way to set a text variable in one blueprint, then cast it to an HUD class or would that all have to be done within the HUD class?
My main issue is there being no compatible nodes when I pull the "As Widget Class" node out of the "Cast to Widget Class" node. I have tried both the "Set Text Variable" node and executing a function and had no success so far. I think it is partly from not having the correct target?

mint mica
#

yes

#

the only difference between the two is name and one has a cube mesh and the other has a cylinder

odd ember
#

have all the classes been compiled and saved? could you reboot the editor and check if it's there?

mint mica
#

yes, , done it a few times,

odd ember
#

have you used cpp at any time?

mint mica
#

nope

#

all blueprints

odd ember
#

welp I'm out of ideas then

mint mica
#

same, i'm looking at it like its a bug

odd ember
#

sounds like there's probably a tickbox somewhere

mint mica
#

or that

odd ember
#

try deleting the class, restarting, and recreating it

mint mica
#

i', going to start a fresh project and see if it does it again

odd ember
#

well try deleting it and recreating it first

#

it might save you some headache if it works

magic rose
#

For reference on my above question. I'm thinking I am missing a step or completely missing the mark on what would go into those "Target"s in the first Blueprint

dawn gazelle
magic rose
#

Gotcha. Theoretically, would I be pulling the "As Asteroid Chaos HUD" into the target then? It seems to not be compatible

dawn gazelle
#

Probably not. That's not what casts are for.

#

Casting lets you take a less specific reference and get a more specific reference. Ie. a "Character" is a subclass of "Actor". "Character" has certain variables and functions within it that cannot be accessed if you're using an "Actor" reference.

trim pollen
#

I'm trying to make something that saves the transforms of My Actors for later recall. I have My Actors in a BP that spawns them, and another Actors variable in a Saver Blueprint class that I want to store them in. This snippet should set all information about My Actors into Planes, correct?

magic rose
#

@dawn gazelle Ohhhkay, I think I got it. Thank you so much for the help!

magic rose
#

(Or at least enough to experiment until I do haha)

trim pollen
#

Yeah, it doesn't work.

#

But I don't know what part, hence the question.

dawn gazelle
odd ember
#

I think I said to you before that BP saves aren't really functional

#

so it might be that

dawn gazelle
#

You'd have to create a GUID or something for each actor and store the information about it that you want to save.

odd ember
#

it's another half assed system epic did 😔

trim pollen
#

wow, really

#

that's... embarrassing

odd ember
#

I tried using them once and I couldn't get results, so I opted to create a save subsystem instead

trim pollen
#

if I know I'm going to have a few, say less than 5 actors, and I'm only interested in storing position and rotation

#

can I just make 10 variables in the save game that stores those?

odd ember
#

well if it works, sure

#

but if it doesn't

trim pollen
#

thanks, very helpful lol

odd ember
#

it doesn't matter how many variables you have

#

that's kind of the nature of using a half assed system

dawn gazelle
#

Sure it'd work, but you'll probably have trouble loading the right variables for the right actor.

#

You need to have some kind of ID system otherwise you're going to end up with spaghetti.

trim pollen
#

they're interchangeable

#

but i prefer non-spaghetti

odd ember
#

I don't think that's necessary generally. but I am in doubt whether or not the built in save system will actually save them

#

if location and rotation work, you might as well store transforms

trim pollen
#

yea

faint pasture
odd ember
#

UE4 for the most part functions on name strings as UID

faint pasture
#

Casting is "Is thing A an instance of class B?"

odd ember
#

there's some true GUIDs deep down in the engine

#

but I'm pretty sure they're not exposed to BP

trim pollen
#

so instead of storing an array of actors

#

i can just hardcode X transforms?

odd ember
#

well you can try

#

be sure to tick the SaveGame box for each variable you want to save

faint pasture
#

@trim pollen you want a map

trim pollen
#

why would a map work but not actor array

odd ember
faint pasture
#

An actor or a just says hey, here's a bunch of actor references I want to hold on to. It doesn't associate it to your stored transforms.

odd ember
#

generally if you save an actor, you save their transforms as well

trim pollen
#

:/

faint pasture
#

@trim pollen you are trying to store a bunch of transforms for actors right?

trim pollen
#

yes

#

if I play and save them, then try to reload them, it prints the right values

#

only after exiting and replaying it loses them

faint pasture
#

Actor references won't survive a reload I don't think

#

If they're dynamically spawned.

odd ember
#

they should get serialized if you tick the SaveGame box

trim pollen
#

what does that mean exactly? @ ce

odd ember
#

but yeah it's a fickle system so it might not work

#

that means it gets converted to binary "save data"

faint pasture
#

When are these cubes spawned?

trim pollen
#

on a keypress

faint pasture
#

What I mean is you spawn cubes, save references.

#

Then you restart

trim pollen
faint pasture
#

Spawn cubes, retrieve references. New cubes don't match the old references.

odd ember
#

just tick it

faint pasture
#

Do you need to save references to specific cubes or just the fact that cubes exist there?

trim pollen
faint pasture
#

Ok that's easy. Save struct can either contain an array of transforms, 2 arrays (classes and transforms)

odd ember
#

BP structs can't be serialized I don't think

#

at least not from the side of BP

trim pollen
#

I agree that this should definitely be easy lol

dawn gazelle
trim pollen
#

Will try this now, whatever it is lmao

odd ember
#

I see you're not using the OnCompleted exec

dawn gazelle
trim pollen
#

thanks, working on it now

#

what type is Actor Data?

dawn gazelle
odd ember
#

Map<FName, FTransform> it would seem

dawn gazelle
#

^

wet palm
#

i create save game, i check if it does exist, on true, it set value, it save it, it print it ( it print the correct value ), when i restart level it reset to 0 ( default value )

#

any help would apprecaite 🙏

trim pollen
#

how do I get Actor ID and Actor Data into the target thing?

odd ember
#

MySaveData is an object with those fields

dawn gazelle
#

Those are variables I created in the character and the save object respectively.

wet palm
trim pollen
#

ok so I have two blueprints here. The cube controller and the save game object

#

Actor ID and Actor Data should be in the save game obj?

dawn gazelle
#

Only actor data needs to be in the save game object.

#

Actor ID should be in the actor you're wanting to save.

wet palm
#

the save data is saving and working correctly 100%, but on level restart it restore all stuff to default

odd ember
dawn gazelle
#

Sure you could do that too 😛

wet palm
#

ok

#

ill try that @odd ember

odd ember
#

but yeah, the lack of true GUID in BP is annoying

wet palm
#

does not work

worthy frost
#

using names for identifying objects is bad

odd ember
#

tell Epic

wet palm
#

@worthy frost my save level object name is level slot, do u suggest other names?

#

@worthy frostwhere i ask about my save game issue?

#

Help

arctic radish
#

is there a way to do this without running it every tick? i feel like the tick is gonna cause performance issues

trim pollen
odd ember
trim pollen
#

all I know is get/set

#

or right click that outlet and select promote

dark crow
#

Why you doing that in the first place

dawn gazelle
wet palm
#

@odd ember @dawn gazelle

odd ember
odd ember
#

then you can start telling other people your project contains fancy things like indirection

dark crow
#

Anything but doing that on tick 👀

#

Just move it to a 0,0000000000001 seconds looping timer

odd ember
#

that's going to update a lot more often than tick lmao

wet palm
#

i did post code, what i do now

#

any help 😃

dark crow
#

Naah, it's gonna improve performance to extreme levels, real life simulator

trim pollen
dawn gazelle
trim pollen
#

I have a prefab representing my actor, a blueprint for spawning and executing the save code, and a save blueprint.

#

I know you can drag stuff in. It gives you options for "get" and "set". Neither of which make the target node that you have.

magic rose
#

I think I hit a wall and think I might be going about this the wrong way. Is there any way to take a Text variable from one blueprint and send it to a widget blueprint? The project I'm working on is 2d so I am trying to send it from a basic blueprint class

dawn gazelle
odd ember
dawn gazelle
wet palm
#

so u want to see where i load?

trim pollen
#

get gives me this.

dark crow
#

Is that in the SaveGame Class?
Or Character?

arctic radish
#

why is the type not compatible with the type

trim pollen
#

oops.

#

it wasn't

#

sorry 😛

dark crow
#

No no

#

The one in SaveGame is a Map

faint pasture
odd ember
magic rose
arctic radish
#

I don't think so

dawn gazelle
magic rose
#

Sorry. I have a username that I want to put on screen

arctic radish
#

bindings

odd ember
#

where is the username stored

magic rose
#

In this blueprint I am using for the Menu

odd ember
#

right that doesn't tell me much

magic rose
#

I guess I'm confused by the question

#

I have a username that I put into a text variable

odd ember
#

in what kind of class are you storing the text in? are you just storing it as a variable that you've written into a BP? do you have a string table?

#

ok

#

so this is user driven and you want to check it again the username

#

is that correct?

magic rose
#

It is stored as a variable in a blueprint. That variable updates when the user starts.

#

So when the user hits start, the variable changes to their username.

odd ember
#

cool, which class is it stored in?

#

game instance or some such?

magic rose
#

I think it says "Blueprint Class"

wet palm
#

@faint pasture

odd ember
#

what is the name and type of the class

magic rose
#

One sec. Ill investigate

magic rose
#

WBP_AsteroidChaosMenu

#

Oh wait

#

Edited

odd ember
#

you should not be storing stuff like usernames in a widget or HUD class

#

send it below

faint pasture
#

Username lives on PlayerState and should already be a property

wet palm
#

so what do i do now?

magic rose
#

So, technically what I am doing is pulling a username from a twitch chat, and it stores it as a text variable

#

Which is set up already. It's not the official username in my game

odd ember
#

all I'm saying is

#

don't store it in the menu

#

or in a widget

#

or in the HUD class

dark crow
#

It's really vague what your intentions are

odd ember
#

yep

dark crow
#

And what's the problem

#

Aaand your current setup

odd ember
#

that's what we're trying to get to

wet palm
#

Help

dawn gazelle
wet palm
magic rose
#

Sorry, I must be explaining poorly. I have a text variable in the HUD, that will display a username on screen (my intention is to put the username on screen, in the HUD)

wet palm
#

so it should print 1, but it prints 0

#

that is a diffirent level where it load the int

odd ember
wet palm
#

but in the level

odd ember
#

or is it purely cosmetic

wet palm
#

where i set my int

magic rose
#

No. Purely cosmetic

wet palm
#

it print 1

odd ember
#

ok that's fine then

faint pasture
wet palm
#

u mean the level slot string?

faint pasture
#

responded to wrong guy but I'm out anyway, this is a spaghet clusterfuck in here lmao

odd ember
wet palm
#

no

dark crow
#

But we're talking about some twitch getter here?

#

From what I understood

odd ember
#

yeah I don't think that matters

#

it's not access related

wet palm
#

ok

dark crow
#

Yeah, but if he's getting the Username and he wants to display it, and it's already being received, then what's the problem in showing it?

wet palm
#

what username?

magic rose
# dark crow And what's the problem?

My problem is that I am having trouble casting I guess. The way that I have it set up, is in one blueprint(that is already set up), I have a text variable. I would like to take that text variable, and send it to another text variable, within a widget blueprint,

arctic radish
#

binding

wet palm
#

maybe i have cast issue too?

odd ember
arctic radish
#

bind the username to a variable then make a function that sets it

odd ember
#

I suggested using GameInstance

magic rose
odd ember
#

lmao what

magic rose
#

(responded to the wrong one, sorry)

wet palm
#

ok

odd ember
#

I was gonna say

magic rose
#

Hahaha

wet palm
#

hahaha

#

so what do i do now?

trim pollen
#

getting "prefab plane object is not compatible with actor Object reference" when i try to hook up the target to array element

dark crow
#

Are you trying to Connect Prefab Plane with Target of Actor Name?

trim pollen
#

i'm not sure if Actor Name is supposed to go in the prefab or the save file... I tried both and getting the same error

#

this is in the spawner blueprint

#

and I'm trying to connect array element-> target->actor name

wet palm
#

@trim pollenhelp

dark crow
#

Then it would need to be in the class that gets looped

#

Aka Prefab Plane for you I imagine

trim pollen
#

I tried that as well

dark crow
#

You would need to call the one from Prefab Plane, not just try to connect again after creating the variable to the same one

dawn gazelle
# trim pollen I tried that as well

You should have a variable named "Actor Name" in your Plane Prefab.
Hover over the "Target" pin on the below... It'll tell you what class that particular node is looking for.

#

Once you have "Actor Name" in your Plane Prefab, drag off from this and do "get Actor Name"

trim pollen
#

Should this node also be in Plane Prefab?

dawn gazelle
#

Which node?

trim pollen
#

The whole thing you drew up for me.

dawn gazelle
#

It should be wherever you want to do your loading from. End of the day, you probably want it to be in your gamestate or game mode or something like that... Not necessarily in a character.

#

Or some other actor for that matter.

trim pollen
#

Alright well, I have "Actor Name" in my plane prefab

dawn gazelle
#

Could even be controlled in UI if you really wanted to.

trim pollen
#

and another blueprint where I'm doing saving/loading. and a third bp of the saving class, I guess.

#

in the save/load blueprint, I can't connect the Actor Name node to the Array element outlet

dawn gazelle
#

As I've said... Hover over the "target" - it's probably looking for a different object.

#

If it is, delete it.

#

Drag off from the Array element on the loop and do "Get Actor Name".

trim pollen
#

Sorry, I think I'm following exactly what you're saying... I hover over "target", this is what I get?

#

when I drag off from array element (as in, click, hold drag, press enter to make new object), and then type get actor name, it creates the node without the connection

#

sry wrong variable

dawn gazelle
#

So when you're hovering on that target, it's telling you the class it's looking for. If the object you're feeding into it doesn't match the class or is a child of that class, you can't feed it in... Just like this.

trim pollen
#

right

dawn gazelle
#

So if you drag off from the array itself you're getting a direct reference to the object.

trim pollen
#

Yes, I've tried that

dawn gazelle
#

You're not doing what I'm saying. Drag off from the array element pin and start typing "Get Name Actor".

#

oh wait

#

I see

#

You have an "Actor" object reference

#

what is the array you're feeding into the loop?

trim pollen
dawn gazelle
#

Disconnect the array and the getactor transform from the loop

#

Once disconnected, connect the array from the "Get All Actors of Class" node and then connect the get transform and you should be able to plug the array element into your target now.

#

ie. make sure these two pins are disconnected.

#

then reconnect them.

#

but reconnect the array first.

trim pollen
#

lol ok, that seemed to work

dawn gazelle
#

It's one of the caveats of working with references and wildcards that you find on some nodes.... If you connect up the "GetActorTransform" first it'll end up making the array type and elements of "Actor" class.

odd ember
#

so after all that work... did the save system actually work out the saving?

raven sentinel
#

Anyone know how to find which montage is played when I use a Slot node?

arctic radish
#

I have a value of type ALS_Overlay, how can I compare the overlay state the function returns and the one it should be?

#

is there a way to make it a string or smtn

#

oh toString

dawn gazelle
#

don't do toString. Enums don't convert to friendly strings in packaged builds.

arctic radish
#

oh

sinful light
#

Looking for the best way to implement multiple events for a single actor. I’m trying to create a actor which is a generator. It has two box collisions for the fuel on top and the on/off switch. Right now I have a line trace that looks for a interaction interface actor. But from there I’m lost.

arctic radish
dawn gazelle
sinful light
trim pollen
#

how do I get this "MyActorID" inlet?

dawn gazelle
#

After you compile, you may also need to refresh the spawn node if you already have it in the graph

trim pollen
#

think I have it exactly, but still no dice

#

refreshed all nodes

dawn gazelle
#

The loop on the top should be connected to the Add node, and the completed of the loop connected to the async save.

trim pollen
#

oops, soryr

#

trying now

#

IT WORKED

#

IT WORKED!!!!!!!!!!!!!!!!

#

🥳 YEAAAAHHHHH

#

thank you @dawn gazelle @odd ember @faint pasture 😛 thank you sooo much

#

hmm ok something is wrong though

#

they're all saved with the same transform

icy dragon
#

Well, that was anti climactic...

trim pollen
#

close enough, can probably take it from here :)

dawn gazelle
#

It isn't a full solution... Just the basics of trying to save data from multiple actors and spawning them. Eg. Is there something spawning the actors with an ID to begin with?

trim pollen
#

yup

slate hound
#

oh it's only that variable

#

I can add tooltips to other variables in the same blueprint

#

oh it's a function variable that's why

#

forgot

#

why does it even have a tooltip text box then

gentle urchin
#

Prob some default details panel for the variable type or smth

odd ember
#

yeah it's boilerplate

zealous moth
#

Having a hard time setting the right rotation. I am using the fps template and i want to lock onto a target.
I managed to get a target and eztract the world location but i am not sure how to make the player aim and look at it.
I tried using the lookat and get the rotator and force both relative and world location of my camera component but it just wont do it.... am i missing something?

odd ember
#

can you show your code?

zealous moth
#

@odd ember

odd ember
# zealous moth <@!224571781862653952>

looks correct enough. have you tried with breakpoints? does your bool ever trigger? you don't need both the bool and the validated get, one would be enough

zealous moth
odd ember
#

ah yeah

#

use set control rotation

#

since your camera is likely controlled by the PC

zealous moth
#

set control rotation?

#

gasp

#

ok! it aims at the sky

odd ember
#

probably you need to take a look at how you capture you lock actor

#

and again, that boolean is unnecessary

zealous moth
#

it has other functions as well

odd ember
#

for all of them you can just check if your locked on target is valid

#

that's the same as the bool

#

and why you can cut it

zealous moth
#

true and done

#

i still dont get why the rotation is off

odd ember
#

what is off about it?

dawn gazelle
#

This is what I do... Smooths out the transition to the lock on as well.

odd ember
#

I just got done building my camera system... and while I was wrapping it up I found out there might be a simpler solution that works better

#

so RIP

#

is there a way to recompile all blueprints?

zealous moth
#

no idea

#

and i redid it and it worked

#

no idea why 😄

#

thx @dawn gazelle

worn plaza
#

still need a bit of help regarding cine cameras and zooming in

#

no matter what i do the camera just does not seem to zoom in. i confirmed that the focal length is setting correctly and it appears to be according to print screen, but the actual view is unfortunately not that

odd ember
#

probably better to ask in #cinematics but have you tried adjusting the field of view?

worn plaza
#

i have not, i can try that, but i thought it was supposed to be done with tthe focal length

#

thanks

odd ember
#

I don't know how real cameras do it

worn plaza
#

hmm, yeah field of view doesnt work either

#

its very strange

odd ember
#

but generally zoom in virtual games is usually done by field of view adjustment

#

try with a regular camera first and see if that works?

#

maybe it's just the cine cam not behaving

worn plaza
#

same behavior with a normal camera

#

theres probably code somewhere int his project that is doing something to cameras 😦

odd ember
#

sounds like it

#

worth trying with a fresh project to confirm

worn plaza
#

going to try that now and let you know

#

worst part about working and nobody being online on a friday night is i have nobody to actually ask to see if they messed with any code related to the cameras lol

#

okay it works with a fresh project so it has to be something with the other project im working on. thanks @odd ember

merry blaze
#

So I'm trying to disable the CanDash boolean here whenever my character is in midair but it's not working

#

Any suggestions?

#

It seems that IsFalling is in the AI, so I don't know what conditions to put

brazen merlin
#

Looks like it should work as long as you check it often, I have this sort of check happening but it's done in the anim blueprint. If it's just not working for whatever reason, you can try out the EventOnLanded to see if you can set the bool

merry blaze
#

It's not working. My dash function is still runnign on the default value

brazen merlin
#

So is it ever being set false?

merry blaze
#

Nope

faint pasture
merry blaze
#

Called the node?

scenic kindle
#

hey i got an issue

merry blaze
scenic kindle
# scenic kindle hey i got an issue

basically I'm using a flying template for my game.
but when I replace the default mesh with my own static mesh, it's facing the wrong direction.
I fixed this by adding a scene and making it the root node
but if i do this, the collision stops working
any help?

brazen merlin
merry blaze
#

I have a function in cpp that is supposed to be calling on that boolean

brazen merlin
faint pasture
brazen merlin
merry blaze
#

For starters, I have no idea what I'm doing in blueprint in the first place

brazen merlin
scenic kindle
brazen merlin
brazen merlin
scenic kindle
#

these are the collision settings for my mesh

brazen merlin
brazen merlin
scenic kindle
brazen merlin
#

hmm, okay, now take a loot at the mesh where it used in blueprint, the settings of the mesh can be changed there too

scenic kindle
#

k i see them what about it?

brazen merlin
#

well it might have a different collision setting in bp than in the static mesh viewer

scenic kindle
brazen merlin
#

and you said using a scen component fixes rotation but makes it so it doesn't collide?

scenic kindle
#

yep

brazen merlin
#

does that mean it will collide but be backwards otherwise?

scenic kindle
#

it will be sideways and offset

brazen merlin
#

but collision works?

scenic kindle
#

with the scene component, no collision

#

without the scene componenet, has collision

brazen merlin
#

if its just the transform we can fix that in the static mesh viewer, you won't need the scene component

scenic kindle
#

can't change it tho

brazen merlin
#

its this section in your static mesh viewer

scenic kindle
#

oh ok

#

i set it up how i want it and it works

#

thanks a lot

brazen merlin
#

awesome!

merry blaze
#

Managed to get my dash to work, now I need to work on my jetpack function

orchid spruce
#

Hey guys! I was wondering if someone would be able to give me some help with a project I'm working on. I'm making a game that requires a wall running mechanic. I've set it up following a tutorial, but I need some further help. I'm trying to make it so the player can only wall-run on certain walls. I was told that I would have to use gameplay tags to set something like this up, but they're a new concept to me. Would someone be able to help me out? Thanks in advance!

trim matrix
#

Not gonna lie man I didn't understand most of that

atomic salmon
# orchid spruce Hey guys! I was wondering if someone would be able to give me some help with a p...

In Unreal you can assign tags to actors and components so you can distinguish them from others and make them have special properties/bahaviors. Step 1 is to click on your runnable walls in the level, then go under details and set an Actor tag like “runnable”. Step 2 in code is to use Actor Has Tag(“runnable”) whenever you meet a wall to check if it is runnable, then activate the run on wall part of the code.

orchid spruce
atomic salmon
orchid spruce
#

awesome! I’m gonna try it out just now, thanks so much!

atomic salmon
#

Keep in mind that BSP’s are good for testing/blocking out a level but for the final game is better to use real meshes.

orchid spruce
#

I'll keep that in mind, thank you!

trim matrix
#

How do I get this to be a "Message" like the node below it

atomic salmon
#

Yes

#

When your character gets near that actor and hits it you can take the hit actor from the Hit Results and check if it has that Tag

#

That’s one way to do it

icy dragon
trim matrix
#

I fucked up my widget

#

It wont show up at all now

orchid spruce
#

I think I may have done this wrong. See I was following a tutorial that had me set up my characters movement in a component class. I can't seem to make a reference to another actor inside of it to check if the wall I'm hitting has the tag or not

#

sorry if that doesn't make sense, I'm super new to this 😅

atomic salmon
#

But a hit event on the character’s capsule should work as well

orchid spruce
#

so would I do that in the playercharacter blueprint?

atomic salmon
#

Yes

#

Because that’s where you switch from normal walking to wall running

#

I assume

#

Or show some of your code so we can check

trim matrix
#

So I was tryna make it so when a "Teru" was collected, a light and particle system appeared, however now my widget wont show up at all and Idk what I broke

#

The collection system still works and goes up by 1, it's just the widget wont show up

#

This doesn't get called at all and I'm not sure how to fix that

orchid spruce
#

and this is the vector it is checking for

atomic salmon
#

So do this

#

Drag out of Out Hit Actor

#

Then use Has Actor Tag with a Runnable tag

trim matrix
#

When I put a breakpoint here, and press play, it stops immediately
That shouldn't happen since the widget isn't inside the sphere, right?

orchid spruce
#

and do I want to attach that to this AND statement here?

atomic salmon
#

And do a Boolean And of its output with Out Hit Blocking Hit into the Branch node

#

I would AND into the branch node

#

So you can only run in the walls tagged as Runnable

orchid spruce
#

onto this one?

atomic salmon
#

Yes

orchid spruce
#

Awesome!

trim matrix
#

Can I have some help pelase

atomic salmon
orchid spruce
#

So I'm getting a lot of errors with that

atomic salmon
#

Like?

#

Yes they is right

#

Because you are not always hitting a wall

trim matrix
atomic salmon
#

You can use a second branch after the first one to check the tag but only if blocking hit is true

atomic salmon
#

It is like saying I’m seeing an overlapping actor let me check if it implements this interface

orchid spruce
#

So I added the second branch, but now I don't seem to be wall running even if I'm touching a wall with the Runnable tag

trim matrix
#

Im trying to get my widget to show up when overlapping with the sphere again

orchid spruce
atomic salmon
bright frigate
#

is there a way to have a construction script be more "real-time"? As in, I wanted to have my lights react within the editor when I changed a value in the daytime. But I can only seem to get it to work if I compile the lights blueprint, otherwise it doesn't react to changes. But the SunBP for example, instantly reacts whenever you change any of the values.

orchid spruce
#

like this right?

atomic salmon
atomic salmon
#

If the print string never shows it means the tag is not being recognized

orchid spruce
#

okay so it doesn't seem to detect that I've hit a runnable actor. I put a print string and it doesn't print when I ran into a tagged wall

atomic salmon
#

And you tagged a BSP?

orchid spruce
#

yeah

atomic salmon
#

Can you try tagging a cube mesh instead

orchid spruce
#

going to try with a mesh

atomic salmon
#

And then hitting it with your character

orchid spruce
#

Works fine on a mesh, not on a BSP

atomic salmon
#

It should work in principle

#

But I had never tried it on BSP’s

orchid spruce
#

so it seems to work on meshes, but not BSPs. It will work for what I have planned! Thanks a million, you've been a huge huge help 😁

atomic salmon
#

You are welcome!

#

@bright frigate check how the SunBP does it

#

It’s very likely in its own construction script

trim matrix
#

How do I make it so when the widget overlaps the sphere it becomes visible?

atomic salmon
#

You have to ensure that the overlapping actor (I guess your widget) implements that interface

trim matrix
#

The sphere calls an interface which has the following functions
And this is the logic for the desk of which is opened using the widget

#

And this is the macro

atomic salmon
#

Looks ok to me

#

But if the widget is already open it will never become visible

#

So make sure it is not open to start with

trim matrix
#

What do you mean by open?

#

Oh the "Open?"

atomic salmon
#

That Open?

#

Yes

#

If that is true the Closed macro goes to false and Set Visibility is never executed

trim matrix
#

So do I flip true and false?
Because it's not open in the beginning

#

This just stopped working randomly

atomic salmon
#

Learn to use Print String to mark certain parts of your code to see whether they are being executed

#

Maybe you changed something in the overlap settings and it doesn’t overlap anymore

trim matrix
#

I know that this isn't being called at all

uncut lark
#

Whats the difference between using components or just coding straight in the actors blueprint?

atomic salmon
#

Ok then the problem is before that @trim matrix

atomic salmon
#

You can reuse the same component in multiple actors

uncut lark
atomic salmon
trim matrix
#

Okay I found the issue, I set it to "On interact begin" instead of "On overlap begin"

Except now when I try to put it back to the way it was, I can't plug in the target?

#

And that's how it was previously

bright frigate
# atomic salmon <@396990950842564608> check how the SunBP does it

yeah I've been looking at it but in the construction script it's the same as what I was doing, where I just put in the logic for when to set the lights visible and when not. But for me I need to compile. So I don't know where the SunBP is doing things real-time because that's the dead end for me.

#

There's also this but I'm confused because this is the parent construction script in the first place

atomic salmon
atomic salmon
trim matrix
#

It's the exact same as the bottom one but just "end" instead of "begin"

#

Thankyou for the help!

atomic salmon
timber knoll
#

You also in blueprints channel nowadays, marco? 😅

atomic salmon
timber knoll
#

Haha fair

bright frigate
atomic salmon
#

👍

bright frigate
#

btw, I have this logic where I can select a point light or a spotlight. Now this works, but regardless of choice, the editor always shows the associated properties of both lights.

atomic salmon
#

In software engineering, rubber duck debugging is a method of debugging code. The name is a reference to a story in the book The Pragmatic Programmer in which a programmer would carry around a rubber duck and debug their code by forcing themselves to explain it, line-by-line, to the duck. Many other terms exist for this technique, often involvin...

bright frigate
bright frigate
atomic salmon
#

Which means C++

bright frigate
#

ah okay, can do but I guess not that important. I'll try some things in the bps just for curiosity's sake

atomic salmon
#

Look also in BP Utilties and editor automation with BP’s

#

You can create your own editor widgets and use them to do settings etc.

indigo quest
#

Hello, I was watching Ryan Brucks Water stream on the Unreal channel, and he mentioned there was a blueprint function for querying wave height, normal etc. In a location or on overlap but I can't seem to find any more info on that.. he said it was in fortnite... anyone has some idea if it's out there somewhere or how I could go about doing it myself?

bright frigate
#

@atomic salmon is there a way I can convert this to a regular BP? This was once a point light to which I added logic using the add script blue button. So it was kinda unplanned but so much went into this that it would be useful if I can convert this to the usual format of "default scene root" and all that. Because in this case, I can only add things under Point Light Component and not outside/side by side of it

atomic salmon
#

And the point light parented to it?

trim matrix
#

This function doesn't get called in my blueprint
But the breakpoint works here

bright frigate
bright frigate
atomic salmon
#

It will ask you if you want to make it the new root

#

Voilà

bright frigate
#

yea but here it doesn't let me do that

atomic salmon
#

Ah ok because the parent class is a light

spark steppe
#

that doesn't work because you inherited it from a parent class

bright frigate
#

yea

atomic salmon
#

You can change the parent class under Class Settings

spark steppe
#

for your streetlight you may want to make an empty actor, add a static mesh component which has a point light component and the audio component as childs

atomic salmon
atomic salmon
#

Just in case it goes bad

atomic salmon
bright frigate
#

ok so I made a copy and changed the parent of the copy. It lost the point light.

bright frigate
atomic salmon
atomic salmon
atomic salmon
#

This is one of the cases where BP’s fall short of C++

trim matrix
bright frigate
#

I managed to do the replacement method, but is there a way to copy that exact point light component over with its settings? I could copy it but 'paste' was greyed out

atomic salmon
bright frigate
#

thank you btw so far

atomic salmon
bright frigate
#

or I misunderstand how to

#

I'm still working with a copy so I have the OG BP as is

spark steppe
#

you could try drag'n'drop from one blueprint to the other

#

but i wouldn't expect it to work at all

atomic salmon
bright frigate
#

haha dang oh well

bright frigate
atomic salmon
#

Yeah that’s the thing with inherited

bright frigate
#

For the new light component, do I just use the constructor like regular to expose all the light settings?

#

since the OG BP was inherited, these were all exposed by default

spark steppe
#

you can select the component in the hierarchy and apply your custom settings

#

theres no way to expose them to the blueprint root

trim matrix
#

I figured out the issue, not how to fix it

atomic salmon
#

@trim matrixwhat is the issue then?

bright frigate
trim matrix
#

"Progress has begun" is set to false by default, which is good
But I need it to convert to "true" when I press the "E" key

#

and I think I do that with this

bright frigate
trim matrix
#

But that doesn't get called so the issue lies here

spark steppe
#

and prone to add multiple further issues

bright frigate
spark steppe
#

just don't do it if theres no good reason for it

#

if you change that later on, you'll need to update the light, and such nonsense

#

if the light gets updated from somewhere else, the values don't match

trim matrix
#

It doesn't stop when I put a breakpoint so Im kinda stuck

spark steppe
#

just work directly on the light component

atomic salmon
#

@trim matrixI still think the interface doesn't get called for some reasons

#

so let's go back to the interface calling

trim matrix
#

Interface

atomic salmon
#

You should open Class Settings for your target actor

#

Make sure it implements the interface you are calling

trim matrix
#

Wait target actor as in the player or the desk

#

Desk holds the desk interface as well

atomic salmon
#

So the interact actor you are calling the interface on implements that interface as well?

trim matrix
#

Yes

bright frigate
#

well it broke my constructor for some reason. Now it doesn't react to changes in daytime set in the editor (it works fine in-game)

#

doesn't make sense, logic is the same, all that changed was the reference

trim matrix
#

Alright I did it

#

So the actor was the reason it wasn't working, cuz it had the interface implemented as well

bright frigate
trim matrix
#

I've got this item here that you can "collect"
When you pick it up, I want there to be a particle effect that pops up

I've got a particle system set up but I'm not sure how this essentially works

#

Is it because the collectible actor is destroyed that the particles aren't showing up?

gentle urchin
#

Spawned at locationz so wouldnt thinknso

trim matrix
#

So what am I doing wrong

gentle urchin
#

Not sure. Is the sound playing?

trim matrix
#

Sound plays yeah

#

Point light doesn't seem to show up either

gentle urchin
#

Particle spawns at 0,0,0

#

World loc

#

Bet thats not where the dolls are

trim matrix
#

I thought it'd spawn at 0,0,0 of the actor location

#

How do I get it to the actor location

#

Do I need to make a particle system in the viewport and have it "auto play" in the blueprint?

gentle urchin
#

Just get actor location

#

Also keep in mind that you shouldnt destroy an actor you're still running code in

trim matrix
#

Oh

#

So would I hide the actor?

gentle urchin
#

That could be a way yes

#

Make sure you somehow block it from being picked up again

trim matrix
#

Is that the reason the lights not showing up, cuz the actor is being destroyed?

gentle urchin
#

It could be contributing to it, but for now the location is the main prob

trim matrix
#

Is it possible to offset the location?

#

Right now it's inside the actor

gentle urchin
#

Yes ofc

#

We litteraly just manipulated its location..

#

But if you hide the teru its sorta safer imo

#

Otherwise you have to do some extra steps to make sure it doesnt spawn in yet another blocked area

trim matrix
#

I know but how do I build off this into offsetting it?

gentle urchin
#

Youd use that as a base

#

And manipulate it further

trim matrix
#

how.

gentle urchin
#

With regular math

trim matrix
#

You're not being specific

gentle urchin
#

No.

trim matrix
#

Do you want me to use variables to manipulate the location?

gentle urchin
#

On purpose 😅

trim matrix
#

huh

gentle urchin
#

Up to you how you wanba do the offset

trim matrix
#

google time.

atomic salmon
#

@trim matrixyou should really take to time to go through a basic Blueprint/Unreal Engine course. There are great ones (for free) on learn.unrealengine.com

trim matrix
#

I have no time

spark steppe
#

xD

atomic salmon
#

Are we doing your school assignment here?

#

That wouldn't be very ethical

trim matrix
#

No

#

I'm simply asking for some help on my "school assignment"

fiery glen
#

dude, I assure you actually learning would be faster than asking for help every step of the way

gentle urchin
#

^

trim matrix
#

I know

thorn ermine
spark steppe
#

i want the good grade tho

thorn ermine
#

fo sho

gentle urchin
#

Earn it

spark steppe
#

me?

gentle urchin
#

Whoever wants it 😅

trim matrix
#

I'm not really able to go back to that class and my teacher knows fuck all as well
I'm going to sit down and learn myself properly when I get this out of the way

spark steppe
#

does your teacher sell the games you guys have to make as "homework"?

#

dang that sounds like a business plan

trim matrix
#

No

spark steppe
#

who wants to be my pupil?

fiery glen
#

there was a "gamejam" on here where the dude was going to sell all of the games wasn't there? lol

#

always on that grindset

spark steppe
#

i bet that happened before

willow phoenix
#

any ideas on how to call the "socketed" mesh on an other mesh? i don't want to spawn it, because i have different meshes on different sockets (or if i spawn it, i want to spawn the socket specific one :3)

spark steppe
#

you ask for naming suggestions?

fiery glen
#

make a ref to it a public value or make a getter function?

#

call it MyAwesomesocket3Final

spark steppe
#

why not MyAwesomesocket3FinalLatestAndReallyFinal?

fiery glen
#

I guess we should ask what "socketed" really means

willow phoenix
#

wait

#

xD

willow phoenix
#

sad node spawns pebbles. thats fine most of the time, but sometimes i want it to spawn something else, dependend on the static mesh the sockets are on

#

== branches seem not to work with static meshes

spark steppe
#

wait, are you the guy with the 1.000.000 line traces from yesterday? 😄

willow phoenix
#

nope

spark steppe
#

ok

#

two options, either you iterate over all child components and look at which socket they are attached

willow phoenix
#

just 3 sockets on a few hundret meshes, so just ~300 times this gets called lol

spark steppe
#

option 2 is to store references

#

if each socket is only holding one mesh you could use a map which has FName, StaticMeshComponent reference

#

so the lookup is easy

#

option c.) add a scene component for each socket you attach to, and attach the mesh components to the corresponding scene

#

and there are probably 10 other ways of doing it

obtuse herald
#

I would recommend option 2

#

Performance wise the best you can do

#

looks clean aswell

spark steppe
#

yea, but 2. only works if you attach only one mesh at each socket

willow phoenix
#

hmm the map sounds good

#

but the "add static mesh" component spawns only 'one' type of mesh, i can't even use the value output to set it to another mesh

#

wait nevermind

#

wtf

spark steppe
#

sure you can change the mesh on it

obtuse herald
#

'set mesh'

spark steppe
#

thats the whole purpose of it

willow phoenix
#

i swear to the blueprint god, it did not work like 2m inutes ago

#

belive me smepais

#

thanks btw too 🙂

willow phoenix
#

works like a charmanda

#

❤️ ben

#

❤️ toyboy chan ❤️

spark steppe
#

i totally misunderstood your question before 😄

#

but glad that it worked out

#

i thought you wanted to store a reference of the component, not of the mesh to assign

#

but whatever, as long as it works out

#

and i would rather iterate over the keys of the map instead of the sockets on the mesh, but the performance difference is negliable

#

would just make more sense imho

willow phoenix
#

mean, using the index?

spark steppe
#

you can get the keys as array (which are your socket names)

#

you may then have to check if the socket exists on the target mesh tho

#

just keep it as it is for now, it's probably faster than checking each time if a socket exists

willow phoenix
#

right now it just gets all sockets on a static mesh, if there is nothing thn its already complete. or am i misstaken?

#

the "static mesh" gets spawned into the world, sometimes it has sockets, sometimes not

spark steppe
#

keep it as it is if it works

willow phoenix
#

sure, but im interested in the mechanics! 😄