#blueprint

1 messages ยท Page 224 of 1

gentle urchin
#

Outer outer outer

#

Gets you there

#

Iirc

bitter folio
#

like this? under health widget?

gentle urchin
#

No, not like that

bitter folio
#

๐Ÿ˜…

gentle urchin
#

In the widget

#

Just right click anywhere, and search for get owning pawn

bitter folio
#

in the event graph?

gentle urchin
#

Yepp

#

Or in a function, doesnt matter

bitter folio
#

Do I do more with this?

narrow sentinel
#

so reading up on this it seems somehow the function is being ran not on the game thread however I'm not sure how to force a function to run on a certain thread.

#

I don't have access to the source so can't do anything there

maiden wadi
#

You don't need that for CreateWidget. It's only required in a local coop scenario when you need special widgets for that player.

gentle urchin
#

Neat, i always plug it ๐Ÿคฃ

maiden wadi
#

It basically just changes what you get when you call GetOwningPlayer and such. Which will all be the same with a single player on the machine. ๐Ÿ˜„

narrow sentinel
maiden wadi
#

I don't remember that much about 26. Could have been patched out as a known bug. ๐Ÿคทโ€โ™‚๏ธ

narrow sentinel
#

so if it's running on game thread or not

faint pasture
#

Pretty much everything in blueprints in game thread

narrow sentinel
#

so it's bassically the Train Sim World public editor and let's just say it'm not massivly optimised, I don't have soruce to do anything internal to it and can only do stuff in BP, they however have done stuff to I believe have some things not run on game thread but run elsewhere

#

which means the actor i'm running the play function on must be not running on game thread

#

don't know if anyone know what the crash part of that is talking about ?

keen forge
#

Does anoyne here know how you'd go about creating a vertex based lighting system

#

similar to that of a PS1 game

faint pasture
#

Show the important bit

narrow sentinel
#

is just the call stack bit

#

right at end

narrow sentinel
dawn gazelle
# narrow sentinel Thats all i get

This is an indication that when you're calling the play, you're not actually running on the game thread. In what blueprint and off of what event are you calling the play?

narrow sentinel
#

but I'm not 100%

narrow sentinel
dawn gazelle
#

What types of blueprints are these?

narrow sentinel
#

so it's a derived class that Duvtail have made

#

they have one for their Rail Vehicle view and one for their rail vehicle model

#

don't know if that gelps

#

helps

#

if I was to create my own Actor Component would that defo be on game thread??

#

just thinking that maybe there is something within their BPs that force them to run on specific threads?

#

my thinking is if me creating my own Actor component to call the play function on for the audio component and my component lives on Game Thread that could end up being my only option

narrow sentinel
#

is there no way at all where I can check to see if something will run on game thread or not cause even when calling the play on the audio component from within a Actor component of my making thats within the RVV I still get the assertion error

dawn gazelle
#

Ok, at least it's an actor. So now it's just a matter of determining the correct event to use. You're saying you're using a custom event, but that custom event would be getting called from somewhere.

narrow sentinel
#

annoying thing is I did get this working at least once the other day

narrow sentinel
dawn gazelle
#

It won't matter. I can't troubleshoot a system I'm not familiar with. You'll have to find the correct event to call your play on. Right now, the one you're calling doesn't call on the game thread.

narrow sentinel
#

RVM i have bP actor component

#

the RVV received a call from an interface to play the annnouncement

#

There is then a call to the BP actor component that lives on each RVV which does the functionality to call the play on the audio component

#

the audio component lives in the RVV

narrow sentinel
#

so it's more so I need to find the location to add the custom event so when it's called its on game thread

#

out of interest

#

if say I move the play function into a blueprint actor but the actor component still resides on the actor that the play was being called on originally would I get the same outcome ?

#

reason I ask is cause my thinking is as the Actor component is UEs base logic and not Duvtails it would be spawned like normal and thus on game thread ?

narrow sentinel
#

so I've changed what I'm doing and this time I'm not running any functions at all on the RVV as I feel the RVV must not be running on game thread and hopefully it works

#

if this doesn't work then my next solution if that don't work my idea is a lost cause haha

#

So with everything on the rvm I still get assertion fail so this tells me both rvv and rvm must not be running on the game thread even though I'm sure it was working while ago

#

Is there no way at all to see where functions are being called on at all

#

What if I played sound at location would that spawn it in the world on the game thread or ?

zinc talon
frosty heron
delicate yacht
#

Hello, if I am making a weapon and I want it to apply damage on collision, should I have that function built inside the weapon blueprint?

frosty heron
#

If it's a trace, why not. But if projectile, handle it on the projectile upon impact

copper chasm
#

I can't get "Get All Actors of Class With Tag" to work in JUST blueprint, right?

#

I need to do something in CPP?

copper chasm
#

Right now I'm getting all actors of class, checking their individual gameplay container variables against "has tag" and doing it that way

copper chasm
# maiden wadi Wut?

there's some jank in Gameplay Tags that requires some tinkering in CPP to use completely, I think

maiden wadi
#

Ah. GameplayTags. Where are you storing them?

jovial sinew
#

What's the equivalent to Begin Play in the Editor Utilities? I'm trying to bind to an event that's called when the slider changes (On Value Changed) on a custom editor widget. In blueprint, the event is bound on Begin Play - what would that be in for the Editor Utility?

maiden wadi
copper chasm
jovial sinew
maiden wadi
copper chasm
#

Yeah, that's what I've been doing, just checking tags with hastag and a bool to put them into a container

#

it's just a prototype rn, if it gets off the ground i already have it in the todo

#

just trying to get this running right without opening ryder lol

maiden wadi
# jovial sinew Hey thanks, yes I'm using an EditorUtilityWidget and there is a construct event,...

You really shouldn't do this. Ever. For any reason. Even taking EditorUtility stuff out of the equation here.

UI golden rule: UI exists to display the state of gameplay objects and to give input to gameplay objects.

In short, your gameplay classes should never care about a widget. Making an actor care about a widget and it's slider forces that UI to exists for that actor in game, you link the classes together. Which you cannot actually even do with an EditorUtility class.

Instead, your widget should be given the actor ref. Bind an event in itself for it's own slider. When that changes, call a function on the Actor ref.

frosty heron
#

The UI lord has spoken ๐Ÿ—’๏ธ

#

Authaer can I get away with widget blueprints for like 800 items? Or they should be done with slates

maiden wadi
#

Depends, what's the usecase? Nameplates, or inventory?

frosty heron
#

Prefer to learn less things to progress but don't want to hit limitation

#

Inventories and damage text

jovial sinew
jovial sinew
maiden wadi
# frosty heron Inventories and damage text

It's exceptionally rare that you'll ever actually need to use slate for gameplay UI.

Inventory should be done in a Listview or Tileview. Main reason is that if you display 32 items, but that inventory has 500, a Listview or Tileview still only actually create 32 widgets. It's virtualized to show only what is required to show.

Damage text, I would do two widgets. Make yourself a primary widget that has a canvas in it. Make a second widget that is the damage text display. Make a way to be able to bind something somewhere when your player deals damage. The canvas widget can bind to that and if the event is relevant then create a damage widget and put it on the canvas at the right spot.

Pool your widgets you're using for display of course so you only ever end up with as many as you need and don't create a bunch of garbage.

maiden wadi
#

@frosty heron Also follow-up on the slate thing. Just to clarify, the exceptionally rare is the very rare cases where you actually need to create your own UWidgets and SWidgets. You can do most things without it though and there's really no reason to use slate for performance. I fell into that trap once. It is true that if you write strictly in slate, you get a bit extra performance from paint calls and such.

That said. You shouldn't care about that small performance so much, because you can get your performance back without writing slate, by simply using invalidation boxes correctly, and using less widgets.

Inventory is always my favorite on that one. You have so much going on in a tiny little widget. Background brush, border brush, probably a little glow effect brush, stack count text, status effect indicators, etc etc. I mean just these alone would be 4-7 Images, textblock, overlay. That's up to 9 widgets there, which you can entirely condense down to 3-4 immediately. Overlay, textblock and one image can manage all of that. Because the one image can be a material with all of the other brushes combined via some basic shader stuff.

On top of this, Invalidation boxes are the second best way to get good performance out of UI. The first being simply not having wasteful widgets. Invalidation boxes simply cache their children and do not allow them to tick or paint until something else invalidates them or that invalidation box. So you save a lot every frame by not running paint and tick code in the widget until it has been invalidated which only has to happen when something actually changes. Note that this means no effects going on in those widgets though. If you have a brush doing some neat material effects, you can't invalidate that or the effect won't play.

teal tendon
#

hey guys I am making the detailed day and night cycle using the sun position calculator so can anyone tell me how do I calculate the accurate position of the moon using the get sun position node from the plugin, I mean the math behind it, would be a great help , thanks in advance

copper chasm
#

Building a context menu widget that populates based on options set on the object you're right clicking: Actor Components that feed into the widget on construct?

#

Make a base Actor Component, like AC_InteractionContext with something like "Examine" and then make children that would add things like "Talk" (on people), "Open" (on doors), etc - widget is created taking the base class as an input and the children can override where needed?

#

Essentially I'd like for everything to have a default interaction when left clicked, and then right click opens that context menu that provides more specific functionality if needed

frosty heron
olive yarrow
#

What dumb easy thing am I missing to make this lerp move smoothly instead of teleport? ๐Ÿคฆโ€โ™‚๏ธ

fiery swallow
#

A timeline can help you achieve that

#

It still won't be smooth though unless you save the starting point and end point is static, if either change it could effect the lerp in unexpected ways

olive yarrow
fiery swallow
#

Timelines used this way work b best bwith lerps and two static locations, so yes. Save the starting point usually. The end is usually similar or static

#

The alternative is more annoying but doesn't require static locations

#

Set actor location every frame using Vinterpto, and then do a check that you are nearly equal to the target location in order to break the loop

#

I usually just have a delay until next tick on the loop and then run the code again and again until the if statement is true

#

Though that method is controversial because you're essentially faking what tick does

#

But it's what I do.

reef totem
#

any idea why this is not keeping collision?

spark steppe
#

may be moving too fast

#

try enabling CCD on both

reef totem
#

same results sadly

olive yarrow
#

hmmm... the Z

#

new rotation is going for 0, add force or summat

olive yarrow
reef totem
#

tag?

reef totem
olive yarrow
#

forgot to tag you*

there's a "launch character" i think... i dont have unreal open. Either way, i THINK you're lockings its z axis with the new Z being set to 0

reef totem
#

the harness is being set to 0

#

not the box

olive yarrow
#

facepalm I have glasses but that doesnt mean i read good

reef totem
#

im trying to launch the box haha

#

my idea is to use the built in physics to launch the box rather than hardcode the launch

olive yarrow
#

it's interesting how the box seems to follow a bone when you start the launch anim....

#

or thats my assumption, it seems to keep quite inline with the chest while throwing

reef totem
#

yeah its weird. It behaves as if the bucket is compleatly stationary. So it even bounces some when the rover rotates

olive yarrow
#

any parents on the box yer launching?

#

head up, my skill level is very low but im down to bounce ideas

spark steppe
#

depending on what you want to achieve... maybe use a physics constraint (component)?

reef totem
#

i've tried physics constraint+bonesocket. I've also tried just contraints. The constraint cant be moved for some reason and the bonesocket+ constraint seems to be extremely unstable even once I got everything right. Super jittery

#

so Im back to square one. using a simple timeline to set the location and rotation of the bucket

reef totem
reef totem
reef totem
#

any suggestions?

spark steppe
#

did you constrain the box to the "basket"?

#

then the "root" should move with it (without doing anything manually)

reef totem
#

when you say the box do you mean the rover or the box im trying to launch?

spark steppe
#

box = the small cube

reef totem
#

so its launching, but im trying to move the root up. so it doesnt bonk my character on the head

reef totem
spark steppe
#

to be honest, keep it that way ๐Ÿ˜„

reef totem
#

lol I know, but this is a proof of concept

spark steppe
#

what is harness

#

the robot itself?

reef totem
#

the yellow thing around the box

spark steppe
#

and bucket? Oo

reef totem
#

bucket is the basket thing

spark steppe
#

yea sorry i cant help futher, i'm not familiar enough with all the settings in physics constraint component and i don't have UE in front of me right now

reef totem
#

gotcha no worries. This was about as far as I got with constraints, but until I can move them dynamically they wont be very useful

spark steppe
#

i would keep playing with them, i think the dynamics they add to the robot look kinda cool (even if it's maybe a bit too much right now)

bitter folio
#

using the laucnch character node with velocity plugged in, is there a way to make it so it laucnhes the player on the direction they look even if they are not moving

olive yarrow
little orchid
#

I'm in a bit of a pickle with level bounds, I'm using a default open world level to test ship mechanics, that I'm building. One thing that I run into is that the level itself is set for level streaming and all that stuff, but once my ship takes off and I reach a certain point it's like the ship just gets destroyed even though I'm going up, the kill Z is quite a very large number and I have level bounds unchecked... , and in this default level I'm also using Ultra dynamic sky for its space preset, anyway I'm not sure how to stop it from destroying the ship, and no I do not have any other types of restrictions around the level or any type of collisions or whatnot.

gentle urchin
bitter folio
#

what about detecting if they are not moving?

gentle urchin
#

If velocity > 0 ..

sudden nimbus
little orchid
tropic peak
#

each time I restart the editor this breaks:

#

and I have to implement the interface function again

#

what's causing it?

steady night
#

hey ive made a custom macro but i cant fetch it :/ ?? ive set the "parent class or main class to the class of the player but i cant find it in the list :/? do i have to add a macro library or something ?

fossil wharf
#

How can I isolate only left full arm using anim slot

gentle urchin
sudden nimbus
# tropic peak what's causing it?

I had this happen to me recently, I tried removing the interface from the blueprint and adding it back and I think it worked iirc-- not sure what causes that

tropic peak
sudden nimbus
tropic peak
#

that didn't work

#

I have to reimplement the function in the graph

sudden nimbus
tropic peak
#

no

sudden nimbus
#

huh.

tropic peak
#

there's nothing unusual about it really

sudden nimbus
#

oh right I think I literally just removed the interface in my case as it wasn't actually in use ๐Ÿ˜•

#

its definitely a strange thing-- the interface was sitting there for a long time and then suddenly it kept ejecting interface events when it was loaded in editor

tropic peak
#

yeah I didn't even touch it when it broke.. I was banging my head against the wall for 3 hours yesterday why my character doesn't move ๐Ÿคฆ

#

it just broke on its own

frosty heron
fossil wharf
#

@frosty heron

#

You mean like this?

#

During jump it acts like this xD

frosty heron
lunar sleet
#

Looks like a jump to me ๐Ÿ˜

fossil wharf
#

I have animation montage. It should use isolated left arm.

#

Then it should combine the rest of animation with the isolated left arm animation.

frosty heron
#

Sure if you set it up correctly

fossil wharf
#

I did.

#

Everything works fine.

#

Except the fact that during the jump (different animation), the left arm looks dead

lunar sleet
#

Smells like bad weight painting to me

fossil wharf
#

?

lunar sleet
#

But unless you messed with the manny in skeleton editor prly not

fossil wharf
#

I did not import my own character or anything. It's basically third person template.

#

If the character is running, the arm works fine

#

Only during jumps xd

fossil wharf
#

This fixes the issue cheers

slender idol
#

Hey, what is the correct way of setting up chorded inputs within an imc? For stuff like Holding Ctrl + G, should ctrl hold be part of a separate imc than what the G is?

dark drum
# fossil wharf

Just so you know, you'll only ever be able to play montages on the left arm with how this is currently setup. Setups get more complex when you start adding per limb montage slots. ๐Ÿ˜…

dark drum
dark drum
fossil wharf
#

well i can set up right arm slot too

#

x D

dark drum
wooden stratus
#

There are multiple causes for blueprints not saving correctly even if you save them

#
  1. Is that a c++ project?
#
  1. Do you have live coding enabled?
tropic peak
dark drum
# fossil wharf its by default

Unless you add the slot to the anim graph, they won't do anything. You have to setup how you would have them blend and what not.

wooden stratus
# tropic peak 1. there's a tiny bit of c++, 2. probably no

Ok, that means you have atleast edited c++ files.
I'll assume that you didnt handle the files properly.
Basically, whenever you edit a header file, you need to close the editor and rebuilt from source. There was a good reason for that but forgot it right now.
Anyway, whenever you edit a header file, close the unreal editor and rebuilt from source.
If you dont, you'll get blueprint saving issues.

tropic peak
#

oh man I hate this. I'll do it when i'm done with the feature i'm coding now

wooden stratus
#

To fix this, you'll need to close the editor, delete your saved, intermediate and binaries directory in your project directory and rebuilt from source

#

You can use live coding or hot reload if you dont use live coding whenever you edit a cpp file but if you edit a header file always close the editor and rebuilt

steady night
#

hey Math Question im trying to do 5x line traces between the "Start Loc" and "End Loc" how would i didive the locations in the loop ?

dark drum
graceful kite
#

I can't believe i have been banging my head against the wall so much becasue of this. Most of the things I've seen look to have the local enhanced subsytem in the pawn when aiming to control a camera. thank you

empty marten
#

Hey peeps,
When is it best to switch between using a cast to node and using BP interface instead? Is it literally a case of, the odd cast now and then is fine but if its a consistent thing then BP interface would be better or is there more to it?

young meteor
#

Hey folks

How do I get from having a Blueprint Name to getting the actual Blueprints class defaults? (or just a specific default variable if it makes a difference)

I guess "Load Class Asset Blocking" and then cast to the Class?
That means I have to load everything related to that class at once. Is there a way to just retrieve a specific variable?

young meteor
# empty marten Hey peeps, When is it best to switch between using a cast to node and using BP i...

My understanding is casting is completely fine and overstated from people saying it's "bad" or not "performant". The performance cost is basically nothing if you are not spamming casts many times every frame or something.
The consideration is more that you want to avoid writing casts in your code to many different Blueprints you might not need to load when playing.

So avoid creating a chain of casts to Blueprints you don't need loaded for sure, to minimize what you load into memory.

empty marten
thin panther
#

Interfaces are for implementing class agnostic behaviour, to have common behaviour on unrelated objects.

Say for example you have an interaction system. You might interact with containers, weapons, food, crops, NPC's etc. Or a faction system. You might have ownership of objects and NPC's which don't share a base class, but still have this small bit of common functionality.

Casts are when you have a direct inheritance chain. I.e., if you're only dealing with doors, you can feasibly cast to its bass class. Casting can incur a cost because of its hard reference which causes the target's default object to be loaded into memory. This also includes all dependencies in that class (assets, other hard refs to other blueprints, etc) . This can be bad, because assets are huge compared to the class, and memory can balloon. As you might have guessed, a base class that only includes common functionality and no assets is the way to avoid this.

#

It's worth noting, not just casting incurs that cost. Any time you use a blue hard ref to a class with assets in, the cost is applied, so make use of code only base classes and soft refs where possible

tropic peak
violet spoke
#

What are the hotkeys to collapse reroute nodes or something ?

#

I know only Q and shift+WSAD

teal tendon
#

hey guys I am making the detailed day and night cycle using the sun position calculator so can anyone tell me how do I calculate the accurate position of the moon using the get sun position node from the plugin, I mean the math behind it, would be a great help , thanks in advance

violet spoke
#

xd

wooden stratus
steady night
#

i wanna trace in the same direction as the "niagara effect" im spawning

#

so they both start in same spot but the spawned direciton is what im having issues with

#

or nevermind solved it

#

i was multiplying instead of adding *

tropic peak
#

If I want to hold a list of ingredients for a workbench (imagine dough maker - you have two ingredients water/flour). How can I store the list of required ingredients? Should I use a struct? How can I define the struct for each workbench (they all have a different purpose/ingredients)

#

My point is, when I define a struct like this:

#

that's how it looks in the editor. I'm obviously missing something important here, and perhaps it should be a DT

#

with X amount of columns for ingredients

frosty heron
#

It can hold reference to a class

#

Instead object ref (instances)

#

You won't be able to fill it since you don't have any instances exist in editor time

#

At the basic level you can have a struct of item class and an int for quantity

steady night
#

adding a actor an Unique* in an actor variable will that could for that "Class Type or that instance of actor" ?

frosty heron
#

unique*?

steady night
frosty heron
#

that's object ref

#

class would be purple

steady night
#

hmm yeah so whats the diff with add/addunique =?

frosty heron
#

If a reference already exist inside the array, it will not be added if you use add unique

steady night
#

ah ofc

#

makes sense

#

it just feels like when im using multishpere trace that it ignores actors if it already hit an actor kinda

frosty heron
#

it should return all the actor reference that the sphere collide with

steady night
#

well its not really :/

frosty heron
#

maybe it's set to block?

#

should be overlap

steady night
#

hm it is...

#

and blocking makes stuff behind it not react ?

frosty heron
#

I would assumed the block would stop the trace

steady night
#

yeah overlapping did it.

#

yeah seems so

frosty heron
#

i mean I kinda know it just don't want to give definitive answer

steady night
#

yeah

maiden wadi
#

@frosty heron@steady night This is correct. Multi traces of any kind will collect items into the array that it overlaps and will stop tracing when it hits a blocking actor.

Think flamethrower against wall. You don't want to flame the other side of the wall but youstill want to flame everything in the area before the wall.

dark drum
#

I'm currently looking at setting up volume settings menu and I can set the sound mix volumes and what no no problem but does anyone know how I can get what the current mix volume for the specific sound class?

This is how I'm currently setting the sound class mix volume.

final berry
#

Hello! So I'm trying to reduce the sizemaps of my actors, but not quite sure how to approach this.
My sizemaps are huge currently and a bit lost on how to go about it, can someone point me in the right direction? Pretty lost atm

gentle urchin
#

Hard references

#

To assets or other actors with assets

#

You want to avoid hard refs when you can, softpoint to assets and async load on demans

#

Sizemap will tell you which assets are referenced

#

You'll have to figure out how/where/why , and see if you can reduce that

#

Inheritance, baseclasses without asset refs, is usually involved to achieve this

final berry
#

Yea I see that the major problem is that the epic store pack I bought has massive textures, which are all referenced by a lot of actors because they are inside actors that use a couple variables from certain other actors/game instance

frosty heron
#

Soft ref is out of the scope for marketplace assets

#

It's something you implement by design

#

You decide what you want to load and when

leaden sage
final berry
#

Yea that will probably help, but I think the issue lies deeper currently ๐Ÿ˜…

gentle urchin
#

8k healthbar texture

leaden sage
#

I've seen plant pot leaf use a 4k texture aha
(well 3, 4k textures actually)

gentle urchin
#

For what only has 120x40 pixels avaliable

final berry
#

One asset had a 4k texture with a 100mb size. I compressed it to 8mb, effectively getting the same quality in-game as before ๐Ÿ˜…

frosty heron
#

Compression is prob another topic tho? Like if you have hundreds of items, you shouldn't be loading all of the icons and meshes when you are not going to see them all.

#

You can just load the one that players are seeing

#

If you are working with data table, be very aware of hard ref

final berry
#

Yea I think that's the major offender on my part

#

I have data tables that hard ref classes (for spawning in towers and enemies for example)

gentle urchin
#

Rip

#

Instantly

frosty heron
#

Right and those enemies will contain materials and meshes

final berry
#

I;m watching videos about soft references and other tricks now

#

๐Ÿ˜›

#

Yea and the towers do to

#

Still learning ๐Ÿ˜…

frosty heron
#

Like the class it self shouldn't matter ( maybe ) it's material, audio and textures are normally what clutter the size

final berry
#

I think I'm gonna need a major refactor, but better do it now ๐Ÿ˜›

gentle urchin
dark drum
#

Soft class refs do create a hard ref to it's class type which is something to be aware of. I find for best results, you would have a soft class ref for a light weight parent class and then set it in the relevant child.

gentle urchin
#

That sounds weird?

#

Why would it create a hard ref to the class? Completely misses the point then

#

I wanna test this now but wont be at the pc for a while

dry sleet
gentle urchin
#

If you do a resolve, sure but then yoi're back to the hard ref

#

You only need to know that its an actor class ..

#

Just like you only need to know a texture is a texture, not which one

dry sleet
#

If you can get away with resolving to AActor, then sure, only the AActor base will be loaded (and it already is).

#

But it you actually want to use the data in your class, and the soft ref is of that type, then you'll pay the linker cost for it.

#

Hence why the advice is to use lightweight code-only base classes for soft-ref'd actors.

#

You can cast to that cheap class and ignore any heavy data added to subclasses.

dry sleet
gentle urchin
#

I have yet had the need to resolve to the actual class

dry sleet
#

Do you mean that you usually hold refs to stuff like AActor, UTexture2d, sprites, etc.?

#

Because those refs all demand that those classes are loaded -- but since they're engine internals they already are.

gentle urchin
#

The softref may be of type MyClass, but i never resolve it as such

dry sleet
#

Pretty sure that still demands linking, if it is specified as MyClass in the variables list.

#

But if you've set it as a soft ref to AActor, then yeah

gentle urchin
#

The variable is just an asset path,

dry sleet
#

With a type

gentle urchin
#

The 'type' is just a filter

dry sleet
#

Hmm, I'm not so sure about that.

gentle urchin
#

I say it with confidence, but its ofcourse all things i've heard, and not chevked

dry sleet
#

And verified with the size map

gentle urchin
#

That makes it completely useless

dry sleet
#

Not at all

gentle urchin
#

What differs it from a regular hard ref then

dry sleet
#

Just do what everyone says: keep the base class you wish to resolve to data-only.

#

Because the data can be unloaded.

gentle urchin
#

That doesnt answer much at all

dry sleet
#

I'm still writing, though...

gentle urchin
#

So i say again. Its useless

#

Ok sry

dry sleet
#

If you'd be patient enough

#

If you have some data asset, say a dialogue tree, and it's 10 Mb because you've written the entire Encylopedia Galactica in it, then if you soft ref it you don't need to load the actual asset content automatically. You only need to load the concept (CDO) of a dialogue tree, which is probably 1 Kb in size, because it's a bit of C++.

final berry
dry sleet
#

The same goes for meshes and textures -- if you hard ref them, then the content of the asset will be loaded alongside the BP referencing it. However, if you soft ref them, all the engine needs is UTexture2D -- a tiny bit of C++.

#

Then you can say, at a convenient time (like when you're opening the inventory) -- "now please load the actual model".

gentle urchin
#

Thats what im currently doing

dry sleet
#

Then you're doing it right!

gentle urchin
#

Yet soft class still seems pretty useless to me

dry sleet
#

It's anything but.

gentle urchin
#

Yet your size map says differently

dry sleet
#

It doesn't, though.

#

Let me demonstrate what I actually would have done.

gentle urchin
#

Loading the same cdo as a hard ref, with no actual hard asset refs inside, achieves the same 10kb load

dry sleet
#

Data only base class

#

25 kB

#

If I needed to, I could extend ACharacter with an additional subclass before my big chunky BP_Character with all its models and what-not.

#

Often ACharacter is all you need, though.

dry sleet
gentle urchin
#

I got a feeling this is but a bug tbh

#

See some forum posts suggesting the same. Ill have to do a deeper dive

dry sleet
#

How could it be a bug when the docstring for soft refs mention it as a caveat?

gentle urchin
#

Wouldnt be the first time they've made mistakes there

rare pasture
#

I wanted to know, to create professions like Woodcutting, Mining, and others, in what type of blueprint should I do it?

bold shard
#

Can you convert a string to a tag without C++?

gentle urchin
dry sleet
#

No, I personally have no doubts that it is intended functionality, which is supported by most reports -- but knock yourself out.

gentle urchin
#

From epic staff;
TSoftClassPtr: Used for referencing class or blueprint types that might or might not be loaded i may read it with some confirmation bias but..

dry sleet
#

SoftClassPtr isn't really the same, though.

#

And it doesn't disprove anything that was just said about standard TSoftObjectPtr.

chrome dust
#

I'm looking for help resolving this glitch. I've had ongoing issues with the attach track in sequencer working inconsistently when detaching for at least a year, and I've finally pinpointed the cause, but I don't know how to fix it.

I have two different actor blueprints. For sake of example, we'll say Cube-BP and Sphere-BP. Both are in sequencer as spawnable objects. If I use an attach track on Sphere-BP targeting Cube-BP in the sequencer, it will work as expected, unless Sphere-BP has 'Run construction script in sequencer' enabled in it's class settings. If it does, Sphere will remain a child of Cube in the outliner, regardless of whether the playhead is over the attach track or not.

According to the documentation, "Instead of scripting the attachment of objects, Sequencer provides Attach Tracks, which will automate the attaching and detaching, using the same mechanism (USceneComponent::AttachToComponent)." My assumption is that for whatever reason, the run construction script in sequencer flag is causing this USceneComponent::AttachToComponent script is not being voided when the playhead is outside the attach track, but I'm not sure why, or what to do about that...

Any thoughts?

vagrant quest
#

does anyone know why the ProjectWorldLocationToScreen function returns screen locations that are massively distorted by distance? im trying to make waypoint system by using location of waypoint actors and at distances of only a few hundred meters the screen locations it gives are massively warped, always being above where the actor actually is

#

i tried different ways of getting actor world location and it does not change the problem

dark drum
# gentle urchin So i say again. Its useless

This is why hierarchy is important. Lets take projectiles for example. You might have a gun that can shoot different projectiles depending on what ammo the player has collected. When the weapon goes to spawn a projectile, it'll use a soft class reference of a projectile class. All projectiles would be children of this class. You can then update the soft ref as and when needed to the children classes without it force loading them. It will however force load the base class itself. However, if this is just a data class with core functions the size would be tiny as the heavy assets would only be in the children.

gentle urchin
#

if the size is tiny, it will be tiny as a hard ref aswell

#

so then what's the point ?

#

my randomclass with an actor ref vs actor soft ref is exactly the same size

dark drum
gentle urchin
#

gotcha

#

so with the hard ref it will load the actual class

#

while with the soft ref it loads the base but nothing more

reef totem
gentle urchin
#

While it now makes more sense, I still find it very strange that this is how it works

#

here i was , thinking the soft ref was purely a path

reef totem
# reef totem

I am attempting to move a bucket on my robot, but I cant seem to get the constraint to move while physics are in place

gentle urchin
#

makes no sense for me that it should even load the cdo

reef totem
#

here it is in action

fossil wharf
#

Hey, I have added mesh to a level map. How can I get a reference of it in my character bp so I can start rotating it on input action? (replicated too)

maiden wadi
dark drum
gentle urchin
#

yepp, I noticed that

#

tried it right after you said it ๐Ÿ˜›

dark drum
# gentle urchin tried it right after you said it ๐Ÿ˜›

Marking a class as abstract can be useful as well. It prevents it from being constructed/spawned. It's usefull for those base classes that wouldn't actually function if spawned because all the default values are never set or functions haven't been implemented.

gentle urchin
#

yeah im using abstract for my dialogue system actually

#

While there's a million things i dislike about my works IDE and dev solution,

#

I like the fact that marking functions abstract includes comments made in the parent abstract method

#

very useful if it's not easy to put in a single name how it's meant to be used

maiden wadi
#

That's Super::Abstract.

dark drum
#

Does anyone have an example of when you would mark a class as const?

maiden wadi
#

In BP?

dark drum
maiden wadi
#

Odd. Never used a const class. O.o

dark drum
desert lance
#

Hey all, new here, so if I shouldn't be posting this here, let me know. But, I am having a hell of a time trying to get a cast to PPAnim instance to function correctly after I switch meshes and cast to the new mesh. Anyone have experience with PPAnim instances, who is willing to have their brain picked a little?

spark steppe
#

i'm not sure if it's a good idea to move both

#

since moving the harness should already change the transform of the constrainst

gusty shuttle
#

Question, what's the best way to handle walking into a volume looking in a specific direction to trigger it? I know something with Forward Vector. Any keywords I could use for my search?

desert lance
dry sleet
#

It's the definite answer to checking if you're facing a certain direction in a game :)

gusty shuttle
#

Thanks guys, I'll try it out!

dry sleet
#

You get the camera's forward vector, and the forward vector of the volume, then get the dot product between those two vectors.

#

If it's positive, you're facing one way, if it's negative, you're facing the other.

gusty shuttle
#

I was noodling with the FindLookAtRot haha

dry sleet
#

Dot product is nice because it gives you a sane scalar to work with!

#

Just +-0

#

1s, there's a nice website for noodling with this too

gusty shuttle
#

Humm, lemme tinker, I'll give it a shot

dry sleet
#

I think you should just be able to replace your LookAt node with DotProduct (followed by > 0.f) and pretty much be set.

gusty shuttle
#

@dry sleet Perfect!

#

Thank you so much for answering guys!

desert lance
summer nexus
#

How do I change this settings in blueprint?

AxisConfig=(AxisKeyName="MouseX",AxisProperties=(DeadZone=0.000000,Sensitivity=0.07,Exponent=1.000000,bInvert=False))
AxisConfig=(AxisKeyName="MouseY",AxisProperties=(DeadZone=0.000000,Sensitivity=0.07,Exponent=1.000000,bInvert=False))```
desert lance
summer nexus
gentle urchin
steady night
#

question: if i wanna move an "actor" as i would with an character (npc) whats the best way of doing so since it has no movement component +

maiden wadi
summer nexus
desert lance
maiden wadi
# summer nexus I should not use Game User Settings to save and load settings for input then?

Not usually, no. If you allow keybind remaps, it should go in a USaveGame. GameUserSettings is for local stuff to that machine. Graphic settings, Sound settings and such. Anything that could be considered portable to a user goes in a USaveGame because they're transferred around with the player to different machines. Settings like color blindness, controls, UI and gameplay preferences, etc.

gusty shuttle
gentle urchin
#

This for debugging it if you wanna test some values

brazen pulsar
#

TLDR; I need to activate set view target with blend from a behavior tree.

Long version; I've got a dialogue tree working off of a behacior tree (there's an online tutorial I can link), but I'd like to change the camera and angles based on what's being said. I've got the camera set upside down so I can tell when it works, but so far, it just moves the camera down.

copper chasm
#

I have an actor component that does some basic math functions for RPG attributes on a base character class. For individual characters that are children of that class, should I give them the attribute variables directly and have the AC just run the functions to calculate/set them, or make child actor components for each of them

brazen pulsar
#

Actually, general question, why can I get blackboard value as actor but not set blackboard value as actor?

night osprey
#

(Programming related), base on my understanding of OOP, this should be allow but isn't in UE5. Let say I have parent class P, P has three children A,B, and C. When I create a P object-type variable inside of a class, I should be able to store A, B, and C in object type P, but default value option is grey out for some reason. Anyone know why that is?

#

So I have classes that derive from "ZombieBasic", but When I create an ZombieBasic type variable, I can't store children class as it default value, any help would be great

frosty heron
#

@night osprey Show the variable type

night osprey
#

it's a custom class call ZombieBasic

frosty heron
#

Can you go over your variable panel

#

I have a feeling it's object ref not class type

dawn gazelle
night osprey
frosty heron
#

Yes they ain't the same thing

#

One is a reference to a class (purple) the other a pointer to an instance of a class (blue )

lunar sleet
night osprey
#

in c++, wouldn't parent pointers works on children classes too?

frosty heron
lunar sleet
#

Yeah I meant for the object pointer not the class ๐Ÿ˜…

night osprey
#

also, I forgot to mention it's in gamemode class, so I can't just make it instance ediable, but yeah thank for help, looks like class reference is the way to go

frosty heron
night osprey
#

store children classes inside a variable, variable being the parent class

maiden wadi
#

I think the question meant more "what are you trying to do with this implementation that led you to thinking that you needed this?"

night osprey
dawn gazelle
#

Ok, so then you do need a object reference set to the type "ZombieBasic". This will allow you to store any ZombieBasic and its child class objects in the variable.

maiden wadi
#

The why still remains though Why does a parent class need to care about what inherits from it? This sounds like a data nightmare.

night osprey
#

how would you do it?

maiden wadi
#

No one can answer that until you give the why. Need use cases to give alternatives.

night osprey
#

"the why?" I already told you what I wanted to do

dawn gazelle
#

When you spawn any ZombieBasic or child class, that variable would be able to contain them.

night osprey
#

yeah, the thing is I need to set the default value.

dawn gazelle
#

The default value is like saying "This is the thng inside the variable currently".

#

You don't need to do that.

#

When you spawn something, then you set the value of the variable to the thing you spawned.

frosty heron
hallow jungle
#

hey people, I'm having an issue, I have an WidgetBlueprint that is either added or not on viewport, so when its not on it has a NOT VALID value, and when its on is VALID, but i'm struggling to send it to the "not valid" value after its valid (and removed as in the image).

Chat gpt told me if i set it and dont put anything after the set it would be set to none but that was a lie haha

lunar sleet
#

Itโ€™s just the opposite of add to viewport

#

Why youโ€™re trying to make it invalid is the question

hallow jungle
#

the widget is not supposed to show after a button is clicked, but is supossed to show when other 3 buttons are

#

i managed to get it to show on those buttons, but after I remove it from parent the widget wont show again after I click the buttons where its supposed to be shown

#

i reading it all again to see if confusing ๐Ÿคฃ

fiery swallow
#

If you want to remove and re add the widget

#

You likely don't want to clear its reference but rather set it's visibility to hidden / visible instead

hallow jungle
#

dang it will be so much easier that way, I completly forgot about it! Thanks Moxie!

proper tulip
#

I have a 2D sound that plays when I jump, How would i get the sound to stop playing if i am falling? I dont have a falling state in my Animation Blueprint. (Not too sure if I need a falling state to do it.) Im using the default Jump (not entirely sure how the template jumping works either.)

frosty heron
#

With character movement component there should be on movement changed event

proper tulip
#

the node?

frosty heron
#

Sure, play around with it

#

There should be falling state iirc

proper tulip
#

hmm

mortal coral
#

How can I spawn and simultaneously possess a new character?

It's causing me issues that BeginPlay fires before I'm able to possess. This is not a problem on game startup, but in-game when spawning new characters creates issues

mortal coral
#

No

#

but networking is unrelated to the issue, this is a problem even just running on the server without other players

frosty heron
#

So for single player you can just use that event

#

To do something on possess, instead of begin play

dapper forge
#

Hello.
4.27. attach actor to component does not snap it onto the desired socket or position.. it stays where it was "attached"
what do?

mortal coral
#

Ah, that makes sense

#

There's no way to mimic startup behavior when spawning a new character though?

proper tulip
frosty heron
#

You can use spawn actor deffered, if you want to do something before spawning the actor

#

But if you need to do something when a pawn is possessed, just use the on posses imo

mortal coral
#

but OnPossess is a reasonable workaround

frosty heron
coarse condor
#

I'm trying to get the player to just be slowed for a couple of seconds. The slow part of it works, but the speed doesn't come back even though I'm adding back the difference a few seconds later, any idea why it's not putting the speed back to normal?

mortal coral
#

Thanks. On Possess will work for now at least ๐Ÿ™‚

dapper forge
#

Im trying to teleport actor that touches the trigger, but it never gets teleported.

frosty heron
dapper forge
#

it did happen.

#

it did fired

frosty heron
#

You can use print string to debug, print the other actor, print on cast failed and print on after set actor location

#

Are you able to print the values? I don't see how else to debug this

#

Kinda straight forward to find out

wise ravine
#

how do I get a vector x a float (ping please)

frosty heron
#

Can you print strings @dapper forge , check the other actor value

frosty heron
#

What is oxygencabparent derived from? Try posting a video

dapper forge
#

i have 2 actors, 1 is teleporter, and second is OxygenCanParent. on screenshot is teleporter logic. OxyCanParent is just actor with mesh that is simulating phyiscs

#

when i drop oxycan into teleproter collision trigger, it does not teleport

frosty heron
#

Well simulating pyshics can be the reason ? I am not sure

dapper forge
#

i tried disabling the sim

frosty heron
#

From what I know, if you simulate pyshic you are detached from the root

dawn gazelle
frosty heron
wise ravine
# dawn gazelle

oh i tried that without the vector being connected and it just converted both

#

but yes that works thanks

frosty heron
#

The static mesh component is most likely detached from the actor? I think.

Maybe you want to try other comp and teleport the component instead of the actor

dapper forge
#

i tired to do it this way too

frosty heron
#

When you simulate physic as far as I know, it will be detached from the root

#

So even if you move the actor

#

It probably won't affect the static mesh comp that is set to simulate physics

#

You probably want to detect when the teleporter collide with the component

#

Not the actor

#

And move the component instead of the actor

dapper forge
#

the problem is, i cant move components or actors

#

it just refuses

#

ignores

#

what im tyring to do is attach actor to actor, and snap child onto position (key into door keyhole for example)

#

and it just never snaps onto socket, world pos, local pos

frosty heron
#

Check your attachment rule

#

Maybe try snap to target

dapper forge
#

..

frosty heron
#

But if you are trying to attach simulated physics components then I have no idea

dapper forge
#

no, im not trying to attach sim physics

frosty heron
#

Well I never run into issues my self

#

Can confirm attach to component attach to actor works

dapper forge
#

it just doesnt

frosty heron
#

What's that code even meant to do?

#

Attaching self to null parent

dapper forge
#

can you jump into public boole?

frosty heron
#

You need to plug the parent pin, parent being the component

#

What's a public boole

dapper forge
#

vc

frosty heron
#

I can't, on bed

#

Work soon

dapper forge
#

it never snaps

frosty heron
#

I haven't seen the right code

dapper forge
frosty heron
dapper forge
#

there is 3 nodes

frosty heron
#

What you showed me earlier was a mistake

#

You are attaching to nothing

dapper forge
#

it gets fed socket name

#

it never snaps

frosty heron
#

Socket name from what component?

dapper forge
#

socket name gets fed correctly, treid print string name

frosty heron
#

The parent is left blank

#

And it doesn't make sense to attach an actor to one of its own component

ionic quiver
#

I'm getting a box collision and seeing what are the current overlapping actors. When the static mesh actor that is being overlapped is set to moveable, it detects 1, but when it's static, it's 0. I have both collisions set to custom, to eliminate that as the reason for this.

Anyone know why setting it to static breaks overlapping actors, and is there a way to keep it static but still get them?

tawdry walrus
# dapper forge

You need to get the actor you want to attach too and put it in the target input and get the component and put it in the parent input

wise ravine
#

what is this doing/

#

i'm trying to get this

#

wont appear

frosty heron
wise ravine
#

it doesn't seem to execute anything

copper chasm
#

I have a Data Table that has in it a structure of booleans, I can check which stats get a bonus by character race - when I split out the structure pin I just get the structure, which I ASSUME has the bool data in it, I just donโ€™t know how to check it without 6 different if statements (and that feels incorrect)

dapper forge
frosty heron
wise ravine
frosty heron
#

Then look at the implementation

wise ravine
frosty heron
#

That

#

S not the implementation

#

Anyway

#

You probably pulled the wrong function

wise ravine
#

haha then what is?

wise ravine
tawdry walrus
frosty heron
#

Make sure you grab the one with the message icon on the top corner

wise ravine
#

these interfaces are always confusing with their function naming

frosty heron
#

You are the one in control of the naming tho

wise ravine
#

that is probably why ๐Ÿคทโ€โ™‚๏ธ

frosty heron
#

If you do, call that function ( a letter icon should be present at the top corner )

wise ravine
#

got it to work

#

how does it look optimization wise?

frosty heron
#

What optimisation

#

Quick tip, don't use interface for "optimization".

Mostly youtube bullshit

wise ravine
frosty heron
wise ravine
#

redundant? haha how

frosty heron
#

Just get rid of the interface check at this point

wise ravine
#

shi u right

#

hold up

frosty heron
#

If you want to use the interface then don't cast

#

Just plug hit actor straight to the toggle msg

#

You are not calling the toggle inside the blueprint interface, atm no interface is even used

#

Lastly make sure your bp light bulb, toggle event calls the toggle switch

wise ravine
copper chasm
frosty heron
#

You call the interface function

#

Which is implemented in the actor (bp light bulp) in this case

wise ravine
#

shi i see it , gimme a second i'll try it

frosty heron
#

Gonna go b to sleep gl

wise ravine
dawn gazelle
steel star
#

Ok what am i doing wrong here .. isn't there a "Set Physics Linear Velocity" node? All I see are these. And anyway, whats a drive/target?

#

Actually even better, why is there an Actor -> Get Component Velocity and not a Set? If it can figure out who is in charge of that to get the value, like .. just set it too?

left valley
#

quick newbie question, what's the difference between a points:grid and a points:pathing grid in an EQS test? And when should either be used?

sudden nimbus
left valley
#

makes sense to me, thanks

sudden nimbus
#

i believe it only returns points that have a navigable path from the context, and you can specify a distance limit to those points as well

copper chasm
#

Unless you mean putting a tag container in the structure for the DT, which likeโ€ฆ.maybe?

undone bluff
#

keep in mind get component velocity is velocity relative to the root component, physics linear velocity is absolute

sudden nimbus
#

If you'd rather run the same code for each of the stats, you could do this:

#

note however that you should store that map into a local variable and then operate on that, otherwise it will make the map on each loop which is pretty wasteful (and then you can use a reference to the variable to clean up spaghetti as well)

#

As far as I know, there is no way to just iterate over the keys/values of a struct unless you do something like what you are doing (you aren't missing anything there)

#

I'm ignoring design questions here-- yes you could use gameplay tags (and they are awesome!) or any number of things that might be better designs. just focusing on the exact question

copper chasm
frosty crescent
#

Any idea how I would implement
a(n) = 3n - 1
in blue print

cyan spire
#

Hello, i have a question regarding Struct Arrays. I made a struct (Item Quantity and Item ID), i made a array of that struct in my variables. How can i "create" a struct member?

versed sun
#

Make Structname

dawn gazelle
#

Then within your data table, you just define what tags are appropriate for the item in the data table. When you need to do some functionality based on those tags, you can create an array from the Tag Container and loop through them as you need and figure out what to do based on the tag being present.

dawn gazelle
undone bluff
# cyan spire

get a reference from the array by index ("get (a ref)") then set members in the struct

#

the array element in the for loop only gives you a copy

frosty crescent
#

Ty though seems like the answer

wanton goblet
#

So I feel like this should be easy to do, but I can't figure out how I'm messing this up. I'm setting up a combat music system for combat states, including resetting when all enemies are out of combat or dead.

I have an array formed by a 'Get All actors of class' which gets all of the enemies in a given level, which have a Boss Behaviour component with 'InCombat' and 'IsAlive' bools, I then want to check if those states are true for all items in the array, but doing it the way I have doesn't get me that, it just gets a smattering of all the different bools, not the overall condition.

Basically I need a way to see if the conditions are false for all members of the array, with a variable total length of the array, but I haven't found a clear way to do that (all online tutorials show fixed arrays with explicit array item ids being tested individually)

frosty heron
wanton goblet
#

Can you please elaborate?

frosty heron
#

Which part are you struggling with?

#

Break it down and do step by step

wanton goblet
#

like this? I'm getting the same results

frosty heron
#

Let's start by creating a function..

#

The input would be an array of your boss base

wanton goblet
#

what would that function do, just the boolean check?

frosty heron
#

Yes

wanton goblet
#

ok

frosty heron
#

You want to find out how to check if all of the actor is dead right?

wanton goblet
#

dead or out of combat

frosty heron
#

Output can be a boolean, call it bDead

#

One function at a time, just check if they are dead. You can do the same with out of combat with the same logic

wanton goblet
#

building that

#

nope

#

same results, where did I mess up

dawn gazelle
#

You are looping, but you're not taking -all- of the items in the loop into consideration. Only the first thing you find.

wanton goblet
#

How would I check all of them without referencing their specific index

dawn gazelle
#

You probably want that loop in the function itself.

#

return false if one is found alive within the loop

#

on completed of the loop, return true (noting that they're all dead)

frosty heron
#

You don't want to do the loop there, you do the loop only in the function

#

You are still doing the same mistake

wanton goblet
#

apologies, I'm confused a little, why would the 'for each loop' need to be within the function?

#

I set this up but I still get the exact same result

frosty heron
#

The function loop thru a given array, checks if any of the element is false, if there is an element with a value of false then the function will return false

wanton goblet
frosty heron
#

You are setting it up wrong and you are not doing what was told

#

What you are doing is extremely simple

#

On the false pin, return false

#

On true do nothing

#

On completed return true

wanton goblet
#

So what would break the loop then?

frosty heron
#

Well the break is not needed actually

#

Since the moment you return false

#

The function cease to run

cold lion
#

Hi I am trying to make my door mesh dynamic and for some reason the cube I put just disappears after I touch the collision box? (and does not return to it's origin)

wanton goblet
#

every enemy that dies triggers the print string

frosty heron
wanton goblet
#

How did i not?

frosty heron
#

You are setting there not returning

#

You are already half right before but now you removed the returned node

frosty heron
#

Regardless what happebd

#

Try to go over the node and understand why you get such outcome

wanton goblet
#

I did exactly what you said, and it still does not function correctly

#

All Dead never returns true

#

even when all enemies are dead

frosty heron
#

Can you stop saying that

#

I can do what you need in 10 seconds

#

But I'm at work

wanton goblet
frosty heron
#

Debug on your end, check if you actually set the instances boolean to false (the bool being is alive)

wanton goblet
#

That's set in the system here, and yes, it functions correctly

#

default to true

#

Ok, finally got it to work, the return node false was on the wrong pin

#

Thank you for your help, sorry for any frustration

chilly geyser
#

Is there a way to increase / decrease the size of a widget based on arm length of a spring arm. (don't want a 1:1 ratio of increase/decrease)
I don't know what formula to use to get these results....
1800 : 25
1450 : 43.75
1100 : 62.5
750 : 81.25
400 : 100

dawn gazelle
#

Map Range Clamped?

chilly geyser
dawn gazelle
chilly geyser
#

I was trying to figure out what formula I needed to use haha

spark steppe
#

you could also use a floatcurve and sample the value (if you want non linear scaling)

undone bluff
#

@chilly geyser just making sure you see Ben's answer, your example results don't seem linear

dire vine
#

Hello guys , one question
I have added one component named cesium globe anchor , and when i spawned the aircraft , tht component values are coming different on server and client

gentle urchin
frosty heron
fierce bay
#

Hello, I'm want to have a character that turns in the direction of the movement.
I checked in Character Movement โ€œOrient Rotation To Movementโ€ and unchecked โ€œUse Controller Rotation Yawโ€ of my third person character, but it doesn't work.
and uncheck โ€œUse Controller Rotation Yawโ€ for my third person character, but it doesn't work.
I've added an arrow on the capsule, but no rotation.
Any ideas?

dire vine
#

the lat long alt variabl is the values in component

frosty heron
#

Show code

dire vine
frosty heron
#

Does the entire logic here only get called by server?

dire vine
#

yes

#

it is in game mode

frosty heron
#

So I would assume you edit the values in move to longitude?

dire vine
#

yes

#

its pre defined function of cesium

frosty heron
#

Yea client wouldn't know that

#

Unless you are editing replicated variable

#

I would suggest to just do the calculation pre spawning, and set via expose on spawn

#

The client should get the same value when the copy in their machine gets created

dire vine
frosty heron
#

Can't c in my mobile

dire vine
#

okay wait

frosty heron
#

You need to be aware that w.e u doing there only done in the server copy tho

dire vine
#

ohkay

frosty heron
#

I would just init the variable via expose on spawn

dire vine
#

so you mean we need to re update that value once the object is spawned and possed by player

frosty heron
#

Otherwise you will need to use replicated variables

dire vine
#

ohkay

frosty heron
#

So when the client receive a copy it will have that parameters

dire vine
#

ohkay, will try something like that

frosty heron
#

This only work soo far tho, as in you will get the same values initially but if they need to be sync all the time, then you will need to mark your variable replicated

copper chasm
#

Although I just realized that a bool telling me whether or not to boost an attribute is useless when trying to then dictate which attribute to boost, so maybe I'll rethink the entire process LOL

gentle urchin
#

or tag container, if you only care if they exist .

#

your method gets complicated whenever you decide to change the attributes

#

add one, remove another..

#

using tags fixes this

#

gives you nice flexibility

#

boost also sounds prettty generic and unspecified. In my case im using values in the DT to dictate the amounts

#

that way i can 'configure' new things directly in the DT, with my supporting system just handling things (unless its brand new, and need to also be implemented in the pawn (like changing movementspeed)

#

so any given thing (in my case items) can be given a set of attributes

#

this data just churns into my supporting system and 'simply works'

copper chasm
#

hrm

#

For right now, I'm trying to do character creation, and each ancestry has specific attributes that get boosted at level 1. In the DT I have all the base info for each ancestry (which at the moment includes which attributes to boost) which I want to feed into the attribute actor component to apply those boosts to the attributes

#

I don't think it needs to be some kind of permanent flag

#

(I don't actually HAVE character creation atm, I just have a debug character set to level 1 that I can swap ancestries on as an enum and I'm trying to make all the stats populate correctly)

maiden wadi
gentle urchin
#

(This static data could in my example also have the growthrates of the stats per level, if they were linear

#

Or set them up with curves )

maiden wadi
#

GAS would solve this by just simply making an infinite duration GE with the stats for the ancestry. :/ Apply it and forget it.

gentle urchin
#

Thats also (as often times) a way of achieving it ๐Ÿ˜„

#

Extremely flexible system out of the box

#

But got some learning curve ๐Ÿคฃ

copper chasm
#

I did some work in GAS, and then hit a roadblock with turn based stuff, so I dropped it

#

Between my adhd and having to jump up and down from my desk for stuff, I like BP for being able to pick up where I left off ๐Ÿ˜‚

copper chasm
#

Just โ€œoh, youโ€™re a level 1 elf? You get +2 to int and dex and -2 to conโ€ or whatever, and then down the road you hit level whatever and can pick what to +2

#

There are probably a few ways to do this, but

gentle urchin
#

yeah for sure

#

many ways to skin a catdip your toes

copper chasm
#

I have kind of a GAS-esque system Iโ€™m working on in BP, maybe I could just set them up as tags and apply them as buffs and just hide the buffs from the player

#

Can you apply the same gameplay tag twice? I donโ€™t think you can

signal perch
#

When performing a line trace in the Construction Script, it does not detect collisions, but it works when connected to Begin Play. How can I solve this problem?

lone garnet
#

Anybody ever come across a bug that seems to have been around since 4.22 in UE5, crash on anim instance set

cyan spire
#

Hello, can someone tell me how to set a new member in my "Unique Array" when the item id is the same from the first element as from the 2nd element? So if the ids match from my input array to my "unqiue" array? Im trying to filter out duplicate array items which have the same id :

chilly geyser
chilly geyser
heady burrow
#

Im trying to rename/create an asset but it says the name is already in use, but its not, is there some cache that has to be refreshed or something like that? it happened to me before but went away, this time is here to stay apparently.

fast compass
#

Is there a way to instantly finish my timer by handle? I do not want to just clear it, but finish it and run the event its assigned to do when it finishes

stone field
#

So I recently stumbled on the possibility of being able to Disable BP nodes.
My question arises, could this be done conditionally at build time, or via some other magic means.
( I want to disable certain plugin bp node functionalities for platforms which do not support them, but which cause compilation errors if the nodes are present while plugin is disabled )

https://www.cbgamedev.com/blog/quick-dev-tip-51-ue4-ue5-disable-blueprint-node

copper chasm
dry sleet
#

If that is the case, you probably have a redirector left.

#

Redirectors are assets that take the same name of assets you've renamed, so that the engine knows what the new name is if something is looking for the asset using the old file path.

#

The way you get rid of them is by right clicking the directory containing the newly-renamed asset, and choosing "Fix up Redirector References" (or something like that). After that process is done you'll be given the option of deleting the redirector.

#

Just be a little bit careful! After deleting a redirector, you must be sure that all the assets that were "fixed up" are saved properly, and never roll them back in Source Control (for instance) -- because now that redirector is gone and can't do its job anymore.

chilly geyser
#

How to set an array of bools to true/false?

stone field
chilly geyser
stone field
chilly geyser
#

Don't know how to use it for this

stone field
#

that does not make sense

chilly geyser
#

I know

#

thats why I said Idk how to do it

#

lol

copper chasm
#

split the pin

chilly geyser
#

Tried searching like 10 Dr. Google pages for it

gentle urchin
chilly geyser
gentle urchin
#

No.....

#

If false set false?!

#

Just set false

#

All of em

#

And you cant use the regular foreachloop

copper chasm
#

oh yeah i guess lmao

chilly geyser
#

Thank you!

gentle urchin
#

Its a copy loop

#

Not a reference loop

copper chasm
#

no don't listen to me my coffee isn't done

chilly geyser
#

oh no

#

I lost it

#

was about to do that

gentle urchin
#

For Loop (0 to Last Index) -> set array element (boolArray, false)

copper chasm
chilly geyser
#

Like this?

#

I feel like that would just change the other variable x amount of times

chilly geyser
copper chasm
chilly geyser
#

Nah, I might just get ideas if it doesnt work

#

Trying some things with this one right now >

Squize โ€” Today at 11:38 AM
For Loop (0 to Last Index) -> set array element (boolArray, false)

copper chasm
#

that would look SOMETHING like this

#

idk if that's 100% correct, but that's getting the last index of the original array, running from 0 to the last index, and for each index, setting something

chilly geyser
#

That definatly looks like it will work

#

ima try it\

copper chasm
#

probably doesn't want the check I assume

copper chasm
# gentle urchin many ways to ~~skin a cat~~dip your toes

it occured to me while sketching this out at the dr's earlier that I have no idea how i'm going to make a character creation system in the first place, but I reckon I ought to make sure the thing I'm working on works before I try to eat that elephant

#

but also, I think if I just make an array of the attributes enum, I can just put an index in for each attribute that gets the boost and go from there

#

KISS

chilly geyser
#

It doesnt seem to be working, but when i read it, it seems like it should so maybe my code somewhere else is wrong

gentle urchin
#

Show code

#

Item is checked

#

Should ofc be unchecked

chilly geyser
#

nah, i have it set to false

#

on mine

gentle urchin
#

Good

#

Show code

chilly geyser
gentle urchin
#

That works when connected

chilly geyser
#

thats why I think its not working somehwere else

gentle urchin
#

Y

chilly geyser
#

Idk, trying to figure it out

#

making whole code look nice, then ill post

gentle urchin
#

๐Ÿ˜†

copper chasm
#

I do that shit too, I make sure my stuff is TIDY before I show it to folks lol

#

"I may be dumb but my coding practices are on point"

#

speaking of dumb, question - when I run in simulation and throw a delay node with a breakpoint at the end of my code, the code is correct, I have a map with values that show correctly in the code, but when I click on the map in the variables tab, the default values are still the same - that's supposed to happen, right? I'm like 99.9% sure it is, because duh default, but

#

variables in the variables tab will only ever show their default values, even in simulation?

chilly geyser
#

wish i could zoom by a half point lol

copper chasm
#

This is how I ended up solving my early early problem - not with tags or maps or booleans, just the same damn enumeration I've been using for everything else

#

womp womp

chilly geyser
#

how come all your nodes are like half opacity

copper chasm
#

I really need to make a character sheet, because printing values over and over to make sure they're right is a PITA

copper chasm
chilly geyser
#

XD

copper chasm
#

my poor PC, I have like 4 instances of UE open and I'm playing mtga on my drawing tablet D:

chilly geyser
#

sorry that you have to squint, idk how else to show all of it lol

#

found the problem

#

rofl

#

from this post

#

nvm

copper chasm
#

you could theoretically throw it in that website, for future reference

chilly geyser
#

its just a bad image

#

thought the branch was both 23

#

what website

copper chasm
chilly geyser
#

did that work?

#

lol

copper chasm
#

yeah

chilly geyser
#

it un did my fancy stacking

copper chasm
#

I assume Var Prayer 1 Over Head Array has all of the Var Prayer 1 booleans in it?

chilly geyser
#

Yes Sir

#

but

#

Maybe I need to do it on pre construct

#

lemme try that rq

#

nope

copper chasm
#

that might work for debugging it, if you throw athat in after the array set node

#

maybe, or maybe after the completed node before the next set, unsure

chilly geyser
#

I debugged that its not setting it to false using a primitive method lol

gentle urchin
#

It does tho

chilly geyser
#

its not on mine

gentle urchin
#

The code is correct

chilly geyser
#

I know, seems to be correct when i first read it

gentle urchin
#

You got something else going on

chilly geyser
#

thats why i think theres something wrong with my code somewhere else

gentle urchin
#

Not just seem

#

I know

#

The code works

copper chasm
#

if you're doing it with a button, it's possible if more than one actors use that bool

#

maybe it's screwing with it

gentle urchin
#

So its either an order of operations or something else you got going on

chilly geyser
#

those two button are the only buttons I am clicking, and the only other thing than whats in the code that uses those bools, is the array

copper chasm
#

actor components really only mess with the actor they're attached to unless you tell them otherwise, right? so I don't need the actor components to set owner variables - if the AC has the variable, the owner of it can reference it whenever?

#

I guess I can test that

copper chasm
chilly geyser
#

yeah, for this test

#

lemme double check i have it set to 1 player

copper chasm
#

idk why that's relevant, but I'm just riffin' trying to figure it out

#

also can you screenshot the details panel of Var Prayer 1 Over Head Array

chilly geyser
gentle urchin
#

how areyou verifying that it's working/not working

chilly geyser
gentle urchin
#

!?

chilly geyser
#

no

#

thats how I made the array

gentle urchin
#

and how do you check them

chilly geyser
#

this works right?

gentle urchin
#

no

#

not at all

chilly geyser
#

really?

gentle urchin
#

ofcourse not

chilly geyser
#

it says true in top left when its on

gentle urchin
#

well, sorry, itis not ofcourse but

#

making an array like that is a copied array

chilly geyser
#

It just stays on

gentle urchin
#

so the original variable is independent from the array variable

chilly geyser
#

My array is wrong?

gentle urchin
#

its not a reference to a bool

#

its just a bool

#

yes, your array is wrong

chilly geyser
#

๐Ÿ˜ฎ

gentle urchin
#

but there's no array that takes references of variables

#

so you either have to refactor

#

to using only the array

chilly geyser
#

Nosebleed

gentle urchin
#

or make due with your bunch of variables that you manually must alter

chilly geyser
#

I thought I have to set the array on construction

#

like this

gentle urchin
#

yeah no

#

the variables are not affected by whatever you do to the array

chilly geyser
#

so its a copy and not a refrence?

gentle urchin
#

yep

copper chasm
#

bingo

gentle urchin
#

it always will be

chilly geyser
#

so, how to fix?

gentle urchin
#

either set the variables manually

chilly geyser
gentle urchin
#

or refactor your code to only use the array

chilly geyser
#

Can I name the bools in the array?

gentle urchin
#

no

chilly geyser
#

super rough

gentle urchin
#

you can make a Map

#

name + bool

#

if name matters

copper chasm
#

that's probably what you want tbh

chilly geyser
#

What is the node to map?

gentle urchin
#

you'd create a new variable

native vector
#

alright so I have this system where the player can pick up physics objects with a line trace. But when the player holds the object, the object teleports to the maximum distance of the line trace, leading to an issue where if a player were to pick up an object on a table for example, the object would teleport through the table. How can I make it so when the player picks up an object, it keeps the same distance as the line trace hit result to the player camera?

#

I hope that makes sense

copper chasm
gentle urchin
#

select the key variable first (string? Name? GameplayTag?)
then on the right side swap pto map

gentle urchin