#blueprint
1 messages ยท Page 224 of 1
like this? under health widget?
No, not like that
๐
in the event graph?
Do I do more with this?
Any one able to help with why I would get a crash of editor with this
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
You don't need that for CreateWidget. It's only required in a local coop scenario when you need special widgets for that player.
Neat, i always plug it ๐คฃ
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. ๐
What engine version?
I don't remember that much about 26. Could have been patched out as a known bug. ๐คทโโ๏ธ
well this is the thing, I don't have access to anything internal to go too deep into much, however, is there a way to see what thread an actor is running on ?
so if it's running on game thread or not
What does it mean for an actor to run on a thread?
Pretty much everything in blueprints in game thread
hmm i'm confused then why when I tell a audio component to play I get a crash of editor
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
that was the error I got
don't know if anyone know what the crash part of that is talking about ?
Does anoyne here know how you'd go about creating a vertex based lighting system
similar to that of a PS1 game
Nobody has time to read a 4 Mb text file
Show the important bit
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?
so I've tried calling play on the RVV and the RVM, Rail Vehicle View and Rail Vehicle Model. From what I can tell it seems these aren't running on game thread
but I'm not 100%
the event is a custom event
What types of blueprints are these?
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
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
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.
annoying thing is I did get this working at least once the other day
Let me get you a kind of trace of the flow
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.
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
well the custom event is my own making
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 ?
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 ?
so i have enmy ai and i want to add attack animation and i didt like thes https://youtu.be/V1CI6stHcHo but is did'n work and i try to add input key and play montage to see if was the bleuprint of the ai the proplem but it's didb't work to so can somone help (i added a default slot)
Where exactly did you add the input key to test? Print string after the input key to see if it's running at all
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?
If it's a trace, why not. But if projectile, handle it on the projectile upon impact
I can't get "Get All Actors of Class With Tag" to work in JUST blueprint, right?
I need to do something in CPP?
Wut?
Right now I'm getting all actors of class, checking their individual gameplay container variables against "has tag" and doing it that way
there's some jank in Gameplay Tags that requires some tinkering in CPP to use completely, I think
Ah. GameplayTags. Where are you storing them?
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?
Depends on the EditorUtility. But it sounds like you're in an EditorUtilityWidget? It should have an EventConstruct.
Right now the character has a tagcontainer variable, and I add/remove to that as needed
Hey thanks, yes I'm using an EditorUtilityWidget and there is a construct event, but I'm building the logic on the actor so it needs to bind to it
You could do it in BP. GetAllActorsOfClass, Iterator over them and dump those with the correct tag(s) into a second container, return. But it'll be much slower than a C++ implementation.
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
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.
The UI lord has spoken ๐๏ธ
Authaer can I get away with widget blueprints for like 800 items? Or they should be done with slates
Depends, what's the usecase? Nameplates, or inventory?
Prefer to learn less things to progress but don't want to hit limitation
Inventories and damage text
Okay, thank you for clarifying. I've been trying to practice de-coupling but seems I'm doing it wrong. I thought sending an event dispatcher didn't mean the actor had to have a reference and just listened. But I guess binding does need/make a reference? How do I get the actor to just listen for an event without the UI being aware?
Nevermind, I'm re-reading your last line. I'm approaching the problem completely wrong anyways. Thanks again for the info.
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.
@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.
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
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
Thank you for the insight, sorry for the late reply had to run to work.
What dumb easy thing am I missing to make this lerp move smoothly instead of teleport? ๐คฆโโ๏ธ
You're not actually moving the alpha from 0 - 1
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
Uuuugggghhhhh the thing I was trying to avoid for genuinely no good reason. Laziness I guess.
Thank you though, Seeker! Save my starting point?
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.
same results sadly
works for you, works for me. Thanks Seeker!
hmmm... the Z
new rotation is going for 0, add force or summat
forgot to tag
tag?
what do you mean?
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
I have glasses but that doesnt mean i read good
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
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
yeah its weird. It behaves as if the bucket is compleatly stationary. So it even bounces some when the rover rotates
any parents on the box yer launching?
head up, my skill level is very low but im down to bounce ideas
depending on what you want to achieve... maybe use a physics constraint (component)?
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
parent would be a ball. Same stuff tho
any suggestions are welcome at this point. Im out of ideas. Been at this for awhile lol
okay I got it working with constraint. Now the issue is I cant move the constraints root location around to use it for the animation
any suggestions?
did you constrain the box to the "basket"?
then the "root" should move with it (without doing anything manually)
when you say the box do you mean the rover or the box im trying to launch?
box = the small cube
so its launching, but im trying to move the root up. so it doesnt bonk my character on the head
it doesnt seem to move up when I use this
to be honest, keep it that way ๐
lol I know, but this is a proof of concept
the yellow thing around the box
and bucket? Oo
bucket is the basket thing
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
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
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)
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
@fiery swallow !!!! ๐ thanks again
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.
Yes just use their view direction
what about detecting if they are not moving?
If velocity > 0 ..
your ship has Spatially Loaded checked, uncheck that
THANKS!!! THAT WORKED!!
each time I restart the editor this breaks:
and I have to implement the interface function again
what's causing it?
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 ?
How can I isolate only left full arm using anim slot
sounds like something #animation can help you with
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
thanks I'll try that, it caused me quite a lot of pain yesterday
let me know if that does the trick so i can commit that to memory
sadly nope
that didn't work
I have to reimplement the function in the graph
is it a c++ interface?
no
huh.
there's nothing unusual about it really
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
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
Layered blend per bone node
Well what do you expect to happend anyway?
Looks like a jump to me ๐
I have animation montage. It should use isolated left arm.
Then it should combine the rest of animation with the isolated left arm animation.
Sure if you set it up correctly
I did.
Everything works fine.
Except the fact that during the jump (different animation), the left arm looks dead
Smells like bad weight painting to me
?
But unless you messed with the manny in skeleton editor prly not
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
This fixes the issue cheers

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?
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. ๐
From my understanding, it only cares about the Input Action itself so it shouldn't matter what IMC it's in, only that there's an active ICM with it on.
how come
Because you only have a left arm slot setup in the anim BP.
Then you'll want an upper body, a full body (sometimes just the default slot) then a left leg and a right leg. ๐
ah thats a classic one, that issue also exist in UE4
There are multiple causes for blueprints not saving correctly even if you save them
- Is that a c++ project?
- Do you have live coding enabled?
its by default
- there's a tiny bit of c++, 2. probably no
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.
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.
oh man I hate this. I'll do it when i'm done with the feature i'm coding now
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
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 ?
I would get the direction vector and distance from start to end. Then you divide the distance by intervals.
On your loop, use the index to multiply the interval distance and the direction vector and add it to the start location.
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
thanks ill look into that
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?
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?
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.
Thank you for responding. I'm definitely not doing something every frame. At the moment I'm just working on UI stuff and have a few widgets that require some communication between them when in use. I'm also just trying to understand BP Interfaces a bit more.
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
unfortunately that didn't solve the problem ๐ฆ
What are the hotkeys to collapse reroute nodes or something ?
I know only Q and shift+WSAD
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
xd
Try to right click on the file in the editor browser and relink it
hey another one ๐
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 *
I'll need to try that later, can't really restart now ๐
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
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
adding a actor an Unique* in an actor variable will that could for that "Class Type or that instance of actor" ?
unique*?
hmm yeah so whats the diff with add/addunique =?
If a reference already exist inside the array, it will not be added if you use add unique
ah ofc
makes sense
it just feels like when im using multishpere trace that it ignores actors if it already hit an actor kinda
it should return all the actor reference that the sphere collide with
well its not really :/
I would assumed the block would stop the trace
i mean I kinda know it just don't want to give definitive answer
yeah
@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.
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.
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
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
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
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
You can set the max texture resolution in the texture as most marketplace assets have much higher resolution then what is needed
Yea that will probably help, but I think the issue lies deeper currently ๐
8k healthbar texture
I've seen plant pot leaf use a 4k texture aha
(well 3, 4k textures actually)
For what only has 120x40 pixels avaliable
One asset had a 4k texture with a 100mb size. I compressed it to 8mb, effectively getting the same quality in-game as before ๐
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
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)
Right and those enemies will contain materials and meshes
I;m watching videos about soft references and other tricks now
๐
Yea and the towers do to
Still learning ๐
Like the class it self shouldn't matter ( maybe ) it's material, audio and textures are normally what clutter the size
I think I'm gonna need a major refactor, but better do it now ๐
If you softref the class, the class cam hard ref internally ๐
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.
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
Because in order to resolve a soft reference, it must know to which class it will be resolved.
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
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.
At some point you naturally need to resolve? What's the use of a soft ref if you never load or resolve it?
I have yet had the need to resolve to the actual class
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.
The softref may be of type MyClass, but i never resolve it as such
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
The variable is just an asset path,
With a type
The 'type' is just a filter
Hmm, I'm not so sure about that.
I say it with confidence, but its ofcourse all things i've heard, and not chevked
That makes it completely useless
Not at all
What differs it from a regular hard ref then
Just do what everyone says: keep the base class you wish to resolve to data-only.
Because the data can be unloaded.
That doesnt answer much at all
I'm still writing, though...
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++.
I'll keep that in mind, cheers!
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".
Thats what im currently doing
Then you're doing it right!
Yet soft class still seems pretty useless to me
It's anything but.
Yet your size map says differently
Loading the same cdo as a hard ref, with no actual hard asset refs inside, achieves the same 10kb load
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.
Sure, but now you have no control over loading.
I got a feeling this is but a bug tbh
See some forum posts suggesting the same. Ill have to do a deeper dive
How could it be a bug when the docstring for soft refs mention it as a caveat?
Wouldnt be the first time they've made mistakes there
I wanted to know, to create professions like Woodcutting, Mining, and others, in what type of blueprint should I do it?
Can you convert a string to a tag without C++?
Tried with memreport in standalone?
No, I personally have no doubts that it is intended functionality, which is supported by most reports -- but knock yourself out.
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..
SoftClassPtr isn't really the same, though.
And it doesn't disprove anything that was just said about standard TSoftObjectPtr.
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?
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
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.
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
The base class yes but not the child you could potentially select.
gotcha
so with the hard ref it will load the actual class
while with the soft ref it loads the base but nothing more
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
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
makes no sense for me that it should even load the cdo
here it is in action
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)
SoftPtr is a path and a WeakPtr to the specified type. WeakPtr causes the hard ref to force the CDO to load. But it can hold instances of children of that CDO's class of course.
This is the difference between using a soft class and a hard class ref. The default class that is selected is the same.
relink?
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.
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
That's Super::Abstract.
Does anyone have an example of when you would mark a class as const?
In BP?
yea.
Odd. Never used a const class. O.o
Yea i keep seeing it and often wonder what you would actually use it for.
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?
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
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?
If you know the direction you need to be facing you can always just do a "get controller (or pawn) rotation" and between float (A,B) to check if they are facing that direction with a threshold
Dot product!
It's the definite answer to checking if you're facing a certain direction in a game :)
Thanks guys, I'll try it out!
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.
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
Humm, lemme tinker, I'll give it a shot
I think you should just be able to replace your LookAt node with DotProduct (followed by > 0.f) and pretty much be set.
Just adding an image to show what I am referring to here so maybe it makes more sense than words. Each time the cast occurs for a new mesh it increases to C_n+1. And for whatever reason it only works on 0 ๐ฆ Not meaning to be pushy, just wanted to add the pic, just in case. And yes, I know the code looks messy right now (troubleshooting)
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))```
Are you not using the Input Actions and Input Mapping Context?
I use the Enhanced input
Keep in mind 0 is 90 degrees
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 +
Then you set those on the InputMappingContext.
I should not use Game User Settings to save and load settings for input then?
You can set dead zone and other modifiers in the Action like this
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.
Indeed, any tips to get it to like 45 degrees?
Ah in project settings I need this too https://www.youtube.com/watch?v=sV1X4zXan6M
This for debugging it if you wanna test some values
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.
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
Might have something to do with the blackboard variable being saved as an object, but read as an actor
Actually, general question, why can I get blackboard value as actor but not set blackboard value as actor?
(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
@night osprey Show the variable type
it's a custom class call ZombieBasic
Can you go over your variable panel
I have a feeling it's object ref not class type
Likely because you're using an object reference rather than an object class reference. Actor references can only exist when the game is running, so no default value can be stored in them.
yeah, it's object reference, but class reference does what I wanted to do
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 )
Except for objects placed in level at editor time, iirc
in c++, wouldn't parent pointers works on children classes too?
They will be reachable by the blueprint instance you drop in a level but the abstract class it self exist without a world so it got no instance to refer to
Yeah I meant for the object pointer not the class ๐
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
What do you actually want to do?
store children classes inside a variable, variable being the parent class
I think the question meant more "what are you trying to do with this implementation that led you to thinking that you needed this?"
for example, I have a parent class ZombieBasic, civiliansZombie, solider Zombie will be children classes. I want to store those children classes in ZombieBasic type varible when I spawn them inside the level
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.
The why still remains though Why does a parent class need to care about what inherits from it? This sounds like a data nightmare.
how would you do it?
No one can answer that until you give the why. Need use cases to give alternatives.
"the why?" I already told you what I wanted to do
When you spawn any ZombieBasic or child class, that variable would be able to contain them.
yeah, the thing is I need to set the default value.
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.
You can't from the abstract class since there is no instance you can set it to
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
Remove from parent doesnโt destroy it I think
Itโs just the opposite of add to viewport
Why youโre trying to make it invalid is the question
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 ๐คฃ
Thats actually true, it just doesn't get rid of widgets
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
dang it will be so much easier that way, I completly forgot about it! Thanks Moxie!
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.)
With character movement component there should be on movement changed event
hmm
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
Single player game?
No
but networking is unrelated to the issue, this is a problem even just running on the server without other players
It's related since on posses gets called on server
So for single player you can just use that event
To do something on possess, instead of begin play
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?
Ah, that makes sense
There's no way to mimic startup behavior when spawning a new character though?
Okay 1 ) How would I connect this jump IA event to the rest of this code? And 2 ) Should I just use the Space Bar event?
What behavior exactly?
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
On game startup, characters are possessed prior to BeginPlay, because everything happens simultaneously
but OnPossess is a reasonable workaround
I never ventured inside the game mode so hopefully someone else can clarify
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?
Thanks. On Possess will work for now at least ๐
Im trying to teleport actor that touches the trigger, but it never gets teleported.
The cast likely failed, or the overlap never happend (collision settings)
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
how do I get a vector x a float (ping please)
Can you print strings @dapper forge , check the other actor value
What is oxygencabparent derived from? Try posting a video
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
Well simulating pyshics can be the reason ? I am not sure
i tried disabling the sim
From what I know, if you simulate pyshic you are detached from the root
You can create the multiplication node off of the vector and right click on the pins to change their variable type.
My guess would be the part where you enabled physics
oh i tried that without the vector being connected and it just converted both
but yes that works thanks
huh
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
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
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
..
But if you are trying to attach simulated physics components then I have no idea
no, im not trying to attach sim physics
Well I never run into issues my self
Can confirm attach to component attach to actor works
can you jump into public boole?
vc
I haven't seen the right code
there is 3 nodes
Socket name from what component?
socket name gets fed correctly, treid print string name
The parent is left blank
And it doesn't make sense to attach an actor to one of its own component
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?
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
It's checking if the object implement a specific interface or not
i mean the toggle on the end
it doesn't seem to execute anything
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)
im trying to attach cube to a static wall. what should handle attachment logic? cube should "attach" itself to a wall or wall shoudl attach cube to itself?
Maybe the actor you pass doesn't implement the function
it does i checked with breakpoints
Then look at the implementation
^
haha then what is?
i would assume so
The cube should attach itself to a wall if the wall is actor you will need to use if am not wrong "attach actor to actor" node or something like that
Make sure you grab the one with the message icon on the top corner
these interfaces are always confusing with their function naming
You are the one in control of the naming tho
that is probably why ๐คทโโ๏ธ
Well do you have toggle function inside your blueprint interface?
If you do, call that function ( a letter icon should be present at the top corner )
What optimisation
Quick tip, don't use interface for "optimization".
Mostly youtube bullshit
i mean because of the cast
This code is soo redundant
redundant? haha how
Just get rid of the interface check at this point
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
yea but the interface check wasn't getting me a ref to the custom events in the actor
This is what I have right now, I feel like breaking the struct just to make an array is stupid, but I don't know how to get the bool info from the struct otherwise
You don't need to if you use interface
You call the interface function
Which is implemented in the actor (bp light bulp) in this case
shi i see it , gimme a second i'll try it
Gonna go b to sleep gl
alr thanks, night
GameplayTagContainer would probably be better for this. Then you can add and remove specific tags to the container, and it can generate an array of all the tags so you can do what you need to with those tags.
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?
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?
grid just generates a grid of points, whereas pathing grid generates only points that are on the navmesh
makes sense to me, thanks
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
The info I am accessing is inside a data table, I donโt feel like tags are useful in this specific instance (I do use them for other things)
Unless you mean putting a tag container in the structure for the DT, which likeโฆ.maybe?
add impulse with vel change set to true will let you set the velocity
keep in mind get component velocity is velocity relative to the root component, physics linear velocity is absolute
as designed, assuming that arch up at the top is a return line to the for loop, this code either loops infinitely if any of the booleans are false, or does nothing if they all are true, this is probably not what you intended.
If you want to know if any of the flags are true or if any of them are false, then use Contains Item on the array you've built from the boost flags.
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
Okay that was my big problem, was pulling out those bool values based on the DT. Hopefully I only have to make the array the one time ๐
Thank you
Any idea how I would implement
a(n) = 3n - 1
in blue print
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?
Make Structname
Exactly what I mean.
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.
You mean like a function?
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
Maybe idk about functions haha ill look it up
Ty though seems like the answer
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)
Make a function that loops on the array with for each loop with break.
When an element is false, you return false.
on completed return true.
Can you please elaborate?
what would that function do, just the boolean check?
Yes
ok
You want to find out how to check if all of the actor is dead right?
dead or out of combat
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
You are looping, but you're not taking -all- of the items in the loop into consideration. Only the first thing you find.
How would I check all of them without referencing their specific index
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)
The input is an array of boss ref
You don't want to do the loop there, you do the loop only in the function
You are still doing the same mistake
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
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
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
So what would break the loop then?
Well the break is not needed actually
Since the moment you return false
The function cease to run
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)
I did this, exactly as you said but I get the same exact results
'
every enemy that dies triggers the print string
You didn't do as said tho
How did i not?
You are setting there not returning
You are already half right before but now you removed the returned node
What you have here will always return true
Regardless what happebd
Try to go over the node and understand why you get such outcome
I did exactly what you said, and it still does not function correctly
All Dead never returns true
even when all enemies are dead
Debug on your end, check if you actually set the instances boolean to false (the bool being is alive)
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
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
Map Range Clamped?
! don't know what this is, Dr. Google time, thank you!
! Thank you! Didn't know this was a node! XD
I was trying to figure out what formula I needed to use haha
you could also use a floatcurve and sample the value (if you want non linear scaling)
@chilly geyser just making sure you see Ben's answer, your example results don't seem linear
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
Wasnt this not exposed to bp for the longest time?
How is the component values set?
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?
i am setting the lat long Alt at the time of spawning , and then i am giving possesion to the player controller.
the lat long alt variabl is the values in component
Show code
Does the entire logic here only get called by server?
So I would assume you edit the values in move to longitude?
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
Can't c in my mobile
You need to be aware that w.e u doing there only done in the server copy tho
ohkay
I would just init the variable via expose on spawn
so you mean we need to re update that value once the object is spawned and possed by player
Otherwise you will need to use replicated variables
ohkay
I mean it would be easier to just set a param on the spawn actor it self
So when the client receive a copy it will have that parameters
ohkay, will try something like that
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
Ohhh, I see what you mean (sorry for the late response I go to bed like a grandpa) - probably not for the specific thing I'm doing (on character creation I'm just checking which attributes get a boost, probably not something that will need a tag in it forever) but I will for sure use this for things like feats and traits
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
wouldnt it be better to have the stats as some tmap in the DT, and just set them that way ?
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'
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)
Just curious. Are you C++ capable? Even slightly?
(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 )
GAS would solve this by just simply making an infinite duration GE with the stats for the ancestry. :/ Apply it and forget it.
Thats also (as often times) a way of achieving it ๐
Extremely flexible system out of the box
But got some learning curve ๐คฃ
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 ๐
Itโs D&D rules - the stats change so infrequently and in such small jumps I didnโt bother with curves
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
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
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?
Anybody ever come across a bug that seems to have been around since 4.22 in UE5, crash on anim instance set
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 :
Sorry Just now seeing this. I'll check out this node too. Thanks!
Just saw it when I woke up thanks to your @ haha, Thank you.
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.
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
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
try closing and reopening the editor tbh, there's probably a smarter way but
Did you previously have a asset with that name?
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.
How to set an array of bools to true/false?
ForEach perhaps
Tried doing that but not sure how to execute it properly I think
can show screenshot of your setup
split the pin
Tried searching like 10 Dr. Google pages for it
Trigger it manually aswell as clearing
Split isnt an option for it
No.....
If false set false?!
Just set false
All of em
And you cant use the regular foreachloop
oh yeah i guess lmao
Thank you!
no don't listen to me my coffee isn't done
For Loop (0 to Last Index) -> set array element (boolArray, false)
sometimes our desire to be helpful overrides our ability to be correct ๐ญ
Like this?
I feel like that would just change the other variable x amount of times
Can I see the loop you posted? Maybe Ill get an idea from that
Let me make sure it does what you're wanting before I post it, I would feel terrible sending you down the wrong road
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)
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
probably doesn't want the check I assume
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
It doesnt seem to be working, but when i read it, it seems like it should so maybe my code somewhere else is wrong
That works when connected
thats why I think its not working somehwere else
Y
๐
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?
wish i could zoom by a half point lol
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
how come all your nodes are like half opacity
I really need to make a character sheet, because printing values over and over to make sure they're right is a PITA
i took that screenshot while running in simulation lol
XD
my poor PC, I have like 4 instances of UE open and I'm playing mtga on my drawing tablet D:
sorry that you have to squint, idk how else to show all of it lol
found the problem
rofl
from this post
nvm
you could theoretically throw it in that website, for future reference
yeah
it un did my fancy stacking
I assume Var Prayer 1 Over Head Array has all of the Var Prayer 1 booleans in it?
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
I debugged that its not setting it to false using a primitive method lol
It does tho
its not on mine
The code is correct
I know, seems to be correct when i first read it
You got something else going on
thats why i think theres something wrong with my code somewhere else
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
So its either an order of operations or something else you got going on
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
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
you only have one instance of BP Third Person Character in your level?
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
how areyou verifying that it's working/not working
!?
and how do you check them
really?
ofcourse not
it says true in top left when its on
It just stays on
so the original variable is independent from the array variable
My array is wrong?
๐ฎ
but there's no array that takes references of variables
so you either have to refactor
to using only the array
Nosebleed
or make due with your bunch of variables that you manually must alter
so its a copy and not a refrence?
yep
bingo
it always will be
so, how to fix?
either set the variables manually
rough
or refactor your code to only use the array
Can I name the bools in the array?
no
super rough
that's probably what you want tbh
What is the node to map?
you'd create a new variable
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
select the key variable first (string? Name? GameplayTag?)
then on the right side swap pto map
you'd set the location of the item to the trace location