#blueprint
1 messages · Page 20 of 1
Yes, but will it not return the current character the player is possessing? This parent class will never be possessed, as it is the base of all my character classes
Or am I misunderstanding?
Are you saying your parent char is casting to a child?
yea if it's a widget it's bound to a controller for that specific player
If so you're on the wrong path
No I want to get the parent class to edit a setting so that every child of the class has that setting applied
you seem to misunderstand what casting is. it is type conversion.
Yes getplayercharacter will return a reference to your controller character, but it will return it as a Character reference.
It is valid to cast it down to a ThirdPersonCharacter
In this case I want to get the parent class of all my characters and change a setting in that parent class
Oh okay so this should work then?
you want to change a setting in runtime to then affect all children through inheritence?
does open level by name not work in ue5? Seems no matter the solution I find on the internet/older discord post. nothing works. I've added the maps to the packaging settings,etc. But still can't load a level in a packaged project from my main menu's "load game" option.
Uhh yes, basically I have a character selection screen and want to change the current accessory of all characters so you can view and compare them for each character
Call a function in the child(ren?) that is implemented in the owner
Sounds weird but oh well
Hey all, I am having a few problems creating an on-screen objective indicator. I have an IndicatorWidget that I'm adding to my viewport, and then inside of my widget I store the world position of the relevant actor. Then I use ProjectWorldLocationToWidgetPosition. This works in-game, and I see my IndicatorWidget in the correct position, however if the actor ever moves offscreen then the IndicatorWidget seems to be forever invisible.
find all actors ?
Oh, right... of course I didn't even consider that
I'm pretty certain at runtime you stop all inheritence
It only affect the instance its invoked upon
Yeah I will just use Get All Actors Of Class, silly me forgot that I could just use that
Don't ref by name
Open level by object ref
So my bad thanks for your help
it might be better to use a PlayerState variable, and do an update call every 0.5s or something, to load in defaults from a player state, instead of doing a "Get all Actors" -> Cast to every time you click a change
Yeah, i tried that too. But then i'm only able to open 1 level with my load game button. If i put any kind of identifier or boolean before the load object ref. it still wont open the level. Even though it works/opens it unpackaged >.>
but if you are only affecting 3 actors, shouldn't be much performance issue
Update on event dispatcher , yepp
or bind an event dispatcher yea
but if you have like 200 character objects you have to search through in the world, then do a cast lol
Char sub to player state
Your issue is that names can change in a packaged build, most likely.
Could you show what you mean though. You can't open 2 levels at once anyway
So its a one way street
I mean like this. If i just do the obj ref. I need a way to decide which obj ref to open with my load game button. So for example i added that boolean to see if it was that level or not. and if it is, open it. It all works in editor fine that way, same as with open level by name. but again it wont load the level
I posted on reddit forgetting that I was a member here, lol
Does anyone have an example of how a parent/child blueprint should work? Ive been working on a damage system, but the blueprint that handles damage doesn't transfer to the child, and cutting+pasting it doesn't work because it uses self references that become broken (eg self is not a parent blueprint object reference) I know I'm missing something dumb and simple but not sure how its supposed to be XD
Hmm I see
my initial assumption is all references should be local variables and declared on construction but that seems clunky
do you mean that you don't see the event nodes/functions? if not, have you tried a Super call? to get the Parent nodes/functions ?
yeah basically I create child and its blueprint was empty, but it had the inherited variables
should I google up what a super call is?
it's just programming jargon, the child sometimes doesn't have implementations of the parent functions and you do a super call or your override the parent functions to do secondary things
Parent OnDamageTaken
Child Super::OnDamageTaken
okay let me explain more fully
I know they have Super calls in the UE Blueprints, I've seen them implemented
hoooold up

so I have a projectile, on overlap event it reaches out to NPC_Parent to activate the deal damage event and despawns (easy example)
the event does seem to fire for NPC_Child, however I have to rebuild the entire event tree because every self reference and variable reference are broken when I cut and paste it over to NPC_Child from the parent
that seems super wrong
these all die you mean ?
on mouseover they will say something like "NPC_Child is not a NPC_parent reference blah blah blah"
which makes sense, the object reference is not the same
I was thinking I need to purge them all and use a local variable that is set on construction to "be" a self reference, this all seems dumb
how to make blueprints with square angles ?
you mean straight lines instead of curvey lines?
yes
so anyways, I "could" make the damage system exist on a secondary blueprint that handles all that but its still going to need to pull, like, armor values out of the overlap target, and then we're back to references needing to be more than one thing to work
I'm sort of winging this whole thing I'm just trying to understand what best practice here is, I'm sure I could get a dumb clunky system to work but I dont want to have to keep redoing it XD
So a parent does all generic things that all children have to do, then in your specific more specialised children you do a parent call to do the general thing, then do all the specific child only things, like
Parent (Character no input)
Child (Player Character has input controls)
So parent Character will handle ALL damage
and Child never has to override/change that
hm
even if your NPCs/Enemies/AI have no armour, cause you set it to 0, they still do the same maths on damage taken
so back up a sec
for* simplicity and debug quickness
I dont want to modify the blueprint within the child, but you're saying it doesn't need to exist at all, I just call the parent and it'll work?
you won't even really need to call it in Child most of the time, the Parent will do them even if they are hidden away in UE
As long as the parent does it exactly how you want, then the child doesn't need to know about it
I didn't think of that, I thought it would show the blueprint but it would be read only
I think the damage system passes a self reference to set its HP, I'll have to change that into an input -> output so its setting the HP on the child not the parent but that isn't bad
might just want to confirm with @thin panther but all Parent Class functions setup are hidden but handled by UE blueprints
If you override you must explicitly call them to extend
yea tea, tell us
if you don't want to change it from the parent, because the parent class is handling it, then you're all set up, although you can't see what it's doing in the Child BP
If you wanna extend parent functionality (play montage on hit f.ex) you override the function, right click the function syart and "Add Call to Parent function"
i have nothing to add but a t
If you simply wanna handle it in a custom special way,you dont call parent function
yeah thats got to be what was confusing me, I couldn't see it so I assumed it didn't exist, I had just finished basic AI stuff where you could see it but it was greyed out, I thought it would be like that
And if you're fine with parent implementation(possibly hopefully most of the time?), child doesnt touch it (override) at all
UE blueprints like to hide things
leftover from Kismet hiding everything on you
out of sight out of mind ig
let me has this out
(overlap event) -> get all overlap actors of parent_class , should include children
then call "takedamage" on parent class, passing on stuff from the projectile
should fire the event as if the child was the owner, so self references should work as long as all referenced variables are inherited
right?
Yes
yes
That is how OOP works yep
got it, thats easier than I thought it would be
the whole hiding stuff without explanation was what was fucking with me lol, thanks folks
Its made to be easy
the overlap should see the object, and then see it's an extension/child, and just use the object as normal
okay so i need some help with calculating the dodge teleport location
as you see i do make some type of tail effect
so i need to get the last input axis like forward or forward + right or left or backward then add like 20m to it then set the rotation to to be same as the viewport
how can i achieve that
A child always extends the parent
It is the parent, and then some
aaaaaahh that makes more sense
I am me but also my parent so they're both valid , i was getting "npc_child object reference is not npc_parent object reference) in the blueprint but that was cutting and pasting, not inheriting
Exactly
one sec let me help pain
hey so you have a transform you're applying, you can grab your current location then your final location to get a vector, then rotate it 180 degrees to get the direction you're coming from?
if you're doing a flashy visual animation to go to the spot, you should just use root animation and make the animation move the character
root motion*
i used a animation but wasn't really accurate with the rotations so i was talking about trying a new thing
kinda got it
like it made your offset in a rotation angle ?
the animations is like rolling so when it does the back roll or side it would need like 1 sec without input so i can get it to right direction but if i click dodge key so fast it would just dodge at the same direction and wont calculate to a new direction
It seems I wasn't needed after all :P
Swap pins if you want it the other way
sorry for ping
All good, I don't mind pings like that :)
i will try to find better animations and use them would be much easer
you can just lockout inputs during the animation, since it's a standard thing to do, some animations don't allow anim cancel in many games
one more question
I was messing with AI movement, and it seems very weighty framerate wise, like 50 npcs or so was slowing framerate significantly, and the movement was either jittery, or didn't update very quickly because it was move to destination and the destination (the player) was moving
I came up with another system that was just "move forward, rotate towards player, repeat ~30 times a second" but then the speed is entirely based on the timer rate.
can someone aim me at some simple / lightweight movement tech to google some info on? I'm not looking for much here but just like the previous question I feel like I"m builidng a shitty unworkable framework lol
yeah good idea
thanks ❤️
then you have some animations that can be cancelled and some that can't and your players can learn which ones can and which ones can't, like anim cancelling in Dark Souls
I think those ones lock out all animations but a set animation break so you have a known starting/ending point and not have to match every animation with every other one in a giant web of nonsense to avoid bugs XD
Thats when you get stuff like "well if you dash, then frame perfect crouchslide you can phase through walls" kind of stuff 🙂
I'm failing to get a direction vector out of an arrow in construction script, is it something not possible?
works in game
I could be wrong but I think you need to do that within beginplay, construction has some weird limitations because the arrow may not exist yet when it fires
It's a bit annoying, I guess I could spawn some mesh and then delete it
use that as input
Just use getforward or getRight vector
Invert if necessary
Assuming the arrow is alligned with one of the directions, that is
if you want the construction script to use the arrow for forward vector it won't have world co-ords, since your object doesn't exist yet in constructor unless it's in the scene
is that for me? no I mean the direction given by construction sript is unchanging
it is in the scene and it's not updating when I move the arrow
Hey friends, i've got a silly question here, I've got myself a 'main menu' from a marketplace asset, and i've got my own game content.
The main menu comes with its own playercontroller, and when i transfer from my main menu to my own game level, it comes in without a player controller/gamemode.
Where exactly would i call in the new gamemode/playercontroller?
variable is always the same
World Settings->Gamemode->GameController/DefaultPawn
These are set directly in the actual map
is world settings loaded in by default upon loading a level?
if you aren't streaming/retaining a game controller, then it grabs it from your Maps WorldSettings
and if you haven't changed them, you are probably an inivisible flying camera
gotcha, will look into it a bit more before coming back with more questions :)
thanks!
Hi guys, can you help me understand why this cast doesn't work? This is for a blutility to change lots of settings across blueprints. They are the type of BP I'm trying to cast to, yet the cast fails. When I use Get Class after the loop it says it simply is a Blueprint.
Hey, is it possible to replicate a web browser (widget) in multiplayer. At the moment, the server and client can access it, but the client can’t interact with it
What’s in this get selected assets function?
Try #multiplayer
BPs with BP_HeroPart as parent class
Thanks will do
Put a breakpoint on your for loop and inspect the incoming array
Good idea, rarely work with that. Ty :)
I'm even struggling to get the vector out of a mesh : / It only updates when the whole actor is rotated but then it's rotation is not the current one
What exactly are you trying to achieve with this?
I have a method to disallow misspelling.
As for the 2nd part... well that's bad if it's true. First tmie hearing about this, so I'll need to ask around or search up.
Thanks a lot for your time!
Right now I have a vector to pass some direction the the flag shader in the bounties attached to my cables, I want to replace the manual vector imput with an arrow, it works if I get the arrow direction at begin play but to see the changes I have to start the game every time I make a change
or I can keep the manual vector which at this point is better
hell we had one of these earlier
#ue5-general message
you never reference by string
How would you set an object to move in a single direction, but then apply random rotations that dont affect the direction...like an asteroid or shrapnel?
Hello, not sure where I should post this, I have been trying to fix this earlier today. At first I thought it was c++ issue but now I have no idea if it is a problem of C++ or BP.
I have a Pawn called VRPawn, there I have a class called UTrackedDevice (inherits UMotionController and creates ChildActorComponent for Visual, Grabber Component etc.). When I spawn in the C++ version of VRPawn the hierarchy is as it should be. But as soon as I spawn in the Blueprint version (called BP_VRPawn, has no code, just plain inheritance) the hierarchy messes up completely.
For some reason when I open the BP_VRPawn in Blueprint Editor the hierarchy is as intended. Am i missing something?
Thanks in advance!
Damn, that sounds scary...
I wonder if this happens to both stuff in the world and file assets, or just the world. (world outliner)
I have something like this already for getting portrait names for units, I read textures from a folder path.
you have other issues with referencing blueprints by string that i followed up with theere
Your screenshots don’t show if this is inheriting from the right class
You can't replicate widget to begin with
just make them open the same address?
Sorry, here. BP_VRPawn inherits from VRPawn.
What do you mean ? We did replicate it, it is just the web browser that do not
🤔 you might want to ask in #cpp , in case you missed some flag or something
I don't understand this whole thing with console commands... So if I call them in the editor, they are not saved. I need to call them every time I start the editor, right? Unless I put them in DefaultEngine.ini
Will do, thank you!
Widget only exist on local client, I think you misunderstod replication imo
Do it on the .ini file
things like texturestreamingpoll
I've exposed a vector in the end as a widget, using that to drive the arrow for visual feedback, everything is working now
@frosty heron In the DefaultEngine.ini?
Not sure, what console command are u trying to save?
Maybe I misexplain myself (very new to ue). Replication to me is when you have 2 players, when something happen on the server, it happens on the client. We are streaming a web browser through a widget and it appear on both the client and the server, we can’t not just interact with it on the client side but it works on the server side
I just try to understand this thing with config-variables @frosty heron I want the player to decide which vr.PixelDensity to use (in the settings of the game). And I wonder if I have to set the console variable every time I start the (packaged) game by myself.
I haven't done much mp stuff, I think #multiplayer guys can help you. If both the server and the client already have the widget open, then it's a matter of not setting Focus to the widget.
Widget exist locally on each client, what I suspect here is that you only enable focus on Server only
How would you enable to focus to everybody ?
The focus*
Try putting it in default engine
By ensuring that the InputMode UI and Game is set to anyone who are suppose to open the widget
Yes this works @frosty heron, but when I set " vr.PixelDensity 1" in DefaultEngine.ini and then the user selects " vr.PixelDensity 2" in the game and restarts it, it's at " vr.PixelDensity 1" again. I don't think that I should change the DefaultEngine.ini with my own functions.
imo don't use .ini file if you want to change it
just do a proper save/load system
Where should I look for it ? (The input mode UI)
whenever your map is open you can apply the console command 😕
You are already doing it, look at the bp u posted
Yes, ok @frosty heron I just thought that it's saved somewhere if I call " vr.PixelDensity x" in Blueprint or C++. But it seems that I need to save it by myself.
I'm not sure about that. I know GameSetting stuff get saved but that's about it
Yes there are some variables in GameUserSettings (scalability) that are saved automatically.
maybe someone knows how it work under the hood
Right, should we cast it to something else then character ?
This has nothing to do with setting focus to the widget, I can't comment on what you are doing. I just think if you have the widget open but you can't interact with it. Most likely your focus in that machine is not set to the widget
silly question
if you click on the widget on the server does it highlight or whatever on the client?
i cant find any proper documentation for the cropout sample project. whats the purpose of IM_Normalize and IM_Offeset found in the input folder
What the heck is that Alt+Enter warning
Alt+Enter only work in packaged game afaik
it will set your ScreenMode to Windowed Mode and auto resize my resolution to 1080p from 2k
yes those are instruction on how to force the game into window mode
You can do it automatically btw
Set your ScreenMode to Windowed Mode
but using your max resolution will end up hiding the the WindowFrame
if you set your resolution lower than your native resolution and setting it on window mode. you will see the Window right away
So I'm trying to rotate a sphere static mesh inside the cube to rotate toward impact point of damage trace. But at the moment sphere does not rotate toward impact point but at some random point in space. What am I doing wrong?
Don't use your native resolution
if you shoot it multiple times does it stay still or does it keep moving randomly?
what i want to know is why isnt the ui showing up in the build .exe
Do some debugging. Print the rotation target and watch the output of the RInterp
It gets continuous shot from the trace on tick and stays in place. If I move the actor it rotates again to some random point
hm, then its resolving correctly, I'm wondering if maybe the mesh just isn't pointed forward, or if its pointing directly at the point of impact instead of at the shooter, which I'm assuming is what you want it to do
it looks like it is facing the impact point where the laser hit it minus the up/down
oh you mean the sphere inside the cube , my bad
Yeah sphere rotates independently of the cube
okay hear me out
is the sphere upside down?
wait
if i draw an X/y it looks like its looking exactly flipped where it should
I think thats it, you're relative rotating it, but its starting location is wrong
but i dont understand why it shows 0,0,0 inside BP
I would have never thought about that. Thanks!
print out its forward starting vector a/rotation/transform/whatever nd compare it to the spheres without the hit firing and they should be the same, if they're not you're relative moving it based on the squares location not the spheres
every once in a while I can figure something out lol
I feel like the sphere is just upside down though, so its rotation axis is also upside down, so relative rotate would move it exactly where its moving
Hello, Is there a way to get all actors from data layer in runtime? Im trying to save data based on data layers. Or maybe needs to be done thru something else like cells, idk.If anyone can help me I would appreciate it very much :)Im using 5.2 and world partition
it looks like if crouch is true, you crouch, but it loops back to srv crouch and never becomes untrue(?), you'd have to break it out with print strings to verify
wait, how does it loop back to srv crouch? (I'm sorry if I may ask stupid questions, but I'm a noob in Unreal)
For #multiplayer stuff try that channel, they’re experts when it comes to replication
oh alright!
as far as I can understand, you press F, then set crouch local,
if its true you set the crouch condition
but you never unset crouch local
so once its set it can never be untrue(?)
I do unset it if it's false
crouch local is connected to crouch in SRV Crouch
oh i'm sorry I missed the first screenshot
na it's fine dw
wait a sec
I haven't done a lot of input stuff, but I remember setting up my firing condition, you're only firing on IA triggered, I remember setting two events, one for triggered and one for untriggered
so it was shoot, continiously run timer, then on release stop the timer
the uncrouch section may not be firing because when triggered the action value is always true(?)
Try hooking Started to F Crouch(True) and Completed to F Crouch(False)
as soon as I come home I'll try, thank you very much!
Hi does anyone know a Solution how i can make a small Matchmaking System.
Hi all, I have a logic question: I have an array of spheres and they change x y position based on incoming data. The incoming data is sadly not only in between 0-1000 but it can exceed up to 2000. How do I constrain the incoming data to 0-1000?
Clamp
Does anyone have any tips for an ability cast system? Mainly looking for help on where to start in the process. So what I'm looking for is some way of pressing an input, a channeling starts, and at the end of that channeling it casts whatever spell is selected. And you are able to cancel the channel at any time. Much like how you cast spells in world of warcraft.
Isent GAS css only?
No.
No, only the initial implementation afaik, and you can bypass that with GASCompanion from what I hear . And it’s cpp not css lol
Thats what I ment 😛 Okey I will have a look at it, thx 🙂
I don't want to clamp, I want to shrink, like I want the 100% of the data go between 0-1000
like a resize but based on percentage
yes! sorry @lunar sleet I thought clamp was just for clamping
There are many clamps 😀
So many things you can say to that.
LOL
I use that one to get percentages without possible divide by zero issues XD
If i suddenly hard ref a Data Asset on a client, that wasn't already referenced, will that just resolve itself or will I need to do some magical loading client side?
Testing in pie with multiple clients I'm sure is giving me false positivies from this... but perhaps its ok for DA's
Is Async Level Load without Transition map a bad idea?
I suppose if the current level is big and the map being loaded is big too, it can cause potential problem for memory?
can't seems to find easier way to make loading screen :S, I don't want to work with Slate
Didnt common ui bring something along?
I'm not sure, never get to use common ui
trying to follow Epic's Async Loading video. They have the same code in ActionRpg. I got most of the stuff working but I couldn't get the loading screen to be pretty so I'm trying to do another alternative
maybe I can just black screen, teleport to empty map then start the real loading there
Have you tried it and got lag?
no to getting lag because my map is not big enough yet, still very early in development
but the idea of seamless travel is so we don't load 2 big maps at the same time since it is required by design to have 2 maps 😦
I got Package->GetLoadTime(), not even sure if that's accurate but it seems to load the map in 0.00023 sec atm
Well then…. 😀
I'm just afraid of my design choice when the maps get bigger :S
Worst case scenario you add a transition if it becomes a problem
not the end of the world , no puns intended
Diving to slate as beginner is a nightmare 😔
Didnt scare me that much,
only a bit
added some icons on a premade custom node
Got no clue if i've made a mem leak but.. it shows atleast 😄
I only know basic stuff, no idea how to use shared pointer etc
me neither
Laura also says that we shouldn't use new on modern C++
but that just made me more clueless
yeh and MakeShareable, stuff that I have no clue about
so I did this but the result is that the spheres now lie in perfect lines instead of being scattered random as before, do I have to get the ratio between min and max IN values and then use the same ratio for the OUT values?
I got example from ActionRpg but they didn't go in details to customise the slate
No u don't have to use the same ratio
try some numbers to test to see how it work
wait I show you the difference between the two states
Value is 5
In range 0
In Range B 10
Out range A 0
Out range B 1000
Result is 500
yes that should be it, but I get those
so this is the normal data, without clamp
this is with clamp
in the one without clamp the array GET is multiplied *4 and sent directly into the vector
the one with clamp is like the spheres get multiplied
I have this video that has to play on certain conditions.. It's a video showing different images, why when the video starts it starts at a random duration and freezes?
From the GAS chat "FYI, GAS without C++ is not gonna work. Also not with "a little". You have to write quite a lot of stuff in C++." :/
Interesting, I’ve heard the opposite from really smart people
But realistically you’ll eventually need cpp for most games so 🤷♂️
That's the asterix
"yes*" it can work without c++
but it's limited
to quite the degree
companions solves some of this tho
Companions?
I have no clue really, from all that I have heard related to GAS it has only been C++ related. But then prehaps its is time to learn it..
I'm following tutorial for GAS if you want the link
but won't recommend it if no experience with C++ at all
Yes please 🙂
I have some, but not to the extent were im 100% independent with it 🙂
That already puts you ahead of many
so if I disconnect 'max of float array' nodes and write the right numbers it works, but doesn't work with 'max of float array' nodes connected... they should give me just the min and the max in the array, right?
I have no idea, gotta dive into the pure function.
but generally it should do what it says
Thanks so much for your help! I figured it all out. I needed to use pure world coordinates and subtract rotation of the cube frame from the resulting rotation.
And I rotated mesh 180 degrees 😄
PIE: Error: Only Local Player Controllers can be assigned to widgets. PC_Duel_C_1 is not a Local Player Controller. Anybody know a way to track this down, as it doesn't point to any blueprint
Help plezzzzzz
it's a material?
probably it plays when it got loaded
so whenever you see it, you will just see the current state of it
Multiplayer stuff?
SIngle player only have one PC right
yup, just the error is so generic
I wanna find out where to look
it throws nothing more into output log
It's a media texture. it spawns when the video spawns.
I think you are trying to feed PC to a widget that is not the machine (Must be the server) controller
I know that
but WHERE
it doesn't tell me
I create a bunch of widgets in a lot of places
also.. everytime I have to go to the media player, dobule click, touch a bit and save otherwise the media texture will start to show nothing
it's buggy as fk
????????
Guess I'll try my luck and hope I messed up in my hud
That's for DustEyezz
Ah ahahahahhaha
You can do stuff to the media player controller, like playing it at certain time
Ctrl+shift+F to find every instance of create widget
I just want it to play and work without freezing that's it.. I don't care if it starts late.. it's a video loop anyway
it is a bit buggy maybe, there is a time where it doesn't show anything. I have to move my plane that show a movie by 0.0001 just to update the material
great!
not sure about the freezing part, I don't share the issue
You might be using get player controller with index 0 on the server or something
I know what I might be doing wrong
I added another video in the same exact way and it works with no problems
but where is another question
Could be the media file then?
bad encoding, etc. Who knows
I would hope you’re not using a thousand get player controller functions in a multiplayer game where you’re supposed to use other functions
nah, get controller and then cast
How?
Then start by check if you accidentally used get player controller somewhere
Bad encoding maybe, you said it worked fine with other video
good idea
You'd be better off caching the values of min/max
I used the same exact things
I tried exporting in 25 fps like the working one and it freezes
I understood the problem, the map range clamped actually clamps the numbers after the 'out max' number, so the array just repeats the position of the spheres already placed. I need a "shrink" node, or something like that. A 'map' like in java where you actually map that range to another range.
this will simply not make crouching work
Sorry dude, not much idea. I do notice you have memory problem tho. your texture streaming pool is over budget.
That normally puts material in lower res and stuff. Could affect your video (maybe)
Try to open console and type r.streaming.poolsize 1600
Uhm... lemme try... otherwise I will reinport at lower resolution
Nah it doesn't work. It's a media texture playing on a widget I don't think it's affected by the world
You only reach the max value if the value of the array is max or above
ohhh widget
I've no idea, mine never freezes
Internally it basically normalizes the invalue and multiplies by the out range, offset by out min
Thank you anyway 🙂
The clamp part only happens on Input values that are outside of the input range. Fixing everything to the min/max of the input range
I have a progress bar on a HUD and I can see it. The print string below shows the percentage decreasing over time, yet the var never changes. What might I have missed?
Wdym? Which var doesn’t change? What prints on the screen ?
I get 100, 99, 98, 97, 96.....
Yet the bar stays at 100% filled.
Percent is 0-1
that might be the issue. lol, let me check
crap, that was it. I did a stupid "multiply by 100" LOL
I probably found the problem, I have the data coming from another application through OSC, but the arrays that are being created repeat twice the same number
but they are sent the right way from the other application, so I did something wrong in unreal
use AddUnique
Guess that's not reliable in a sense, as values might be allowed to be duplicates
genius! thank you!
You could check if the last value is == to the new value, and ignore it if so
still allows for later duplicates, just not sequential
ok yes this makes sense because with addunique I lose some spheres
yeah
how do i get a custom event from a widget blueprint to third person character?
call the event?
cast doesnt work because there is no object in widget blueprint
is there a function for this already or do I have to create a custom one?
You have to make it
i mean
it's just caching
OR get from the stored array,
put in "Last Index"
from the very same array
then just "!="
@gentle urchin ok I'm not understanding how to do it.. I have a == node where I can input 2 numbers (int or float) that gives me a boolean, so true or false if it's equal, and I have to use this, right? but how do I get "the second last number of the array" to do the math [is the last number equal to the previous one?]? and then where do I have to send the resulting boolean?
The arrow component on my blueprint has no visible details on the Details panel, it's completely empty. And I'm not even able to delete it, the option is greyed out. When I duplicate it, the duplicate has details as expected. Does anyone know what's happening?
Grab the last index from the array you're trying to add to. That will be the last added number when you "get" that index from the array
then compare that to the new float from the OSC plugin
@stuck sentinel generally you do it from the widget to the gameplay class.
Widgets can get the owning player and owning player pawn
Hey guys
How can I make my replicated project of unreal 5 (blue prints) work multiplayer through steam services i
ok now the arrays are fine, but still the spheres are weird if I use min max of float array
but if I manually put the exact same numbers that come out of the min max of float array everything is fine
Could your arrays be out of sync with the values coming in?
nah not likely
Personally I'd cache min and max tho
pre iteration
both to save perf, and to make sure they're always the same
the "create arrays" part is before the construction part, I created a custom event "on finished" that when the last number is added to the array triggers the construction part so in theory the arrays should be fine
how do you cache them?
Store in a variable..
tried that already, still same problem
kinda need to know the rest of the logic to give any more guesses
it's a simple for each loop that creates the spheres as static mesh components using x y size from the arrays
so the caching can happen pre loop
Hi all,
Does anyone know if its possible to set the range (value and/slider) for a variable, based upon another variable?
For example, if I have a variable set to a value of 50, can I then use that to set the maximum range for another variable? I can't seem to find any nodes that would allow this...
No, cant do that
That's a shame... 😦
you'd have to code that logic yourself, and it wouldnt work for editor stuff
Yeah, it was specifically for the editor side of things...
Thanks for the swift reply 🙂
(unless you roll full c++, which anything is possible, just varying mileage to get it to work )
No prob 🙂
hmm, that's a possibility then, but I dont want a massive headache... lol
Personally not something i'd try to do but 😄
Why does Doesn't work fire on begin and every time I call Character Ability it just says SEND EVENT it's like it's not even binded? Is this cause it's a UI Wigdet to BP?
Yeah, its a bit of an odd one, I'm still working on something for the "level designer" stuff I was mentioning to you a few days ago...
They can set the extents of a box volume (used to form a grid), and I'd like to allow them to allow some randomised offsetting of the position, but only to the extents maximum etc. I can override what actually happens, but it looks a bit odd in the editor if they have one variable that says "50", but then they can change the other one to "1000" (for example) but nothing reflects that in the level. By setting the max range for that variable, the editor would flick it back to "50" so at least its kinda obvious there's a limit etc. Nevermind... trying to run before I can walk probably 🙂
I believe theres node now that allows you to set a default value in the origin class ?
oooh, now that would make this very do-able actually, as what I'm testing it BP is likely to be moved to C++ anyway..
What’s with the cast to UI?
Ahows the clamp on the value atleast, but not in the details panel of the editor (clamp min/max)
But thats not important ofc.
yes
Do I need require this to bind ?
Ahh, it was actually in the editor I was hoping to restrict it, so the level designer couldn't push it passed the other limit that they'd set.
I mean, it would be on that variable. Just not the inner details of that var. The fields you showed.. so a bit unfortunate id say
Most tutorials I've watched do so?
You could make custom editor for it 😆
Prpb less work than figuring oit how to do those dynamically!
How do i disable a blueprint widget and enable a different one?
hmmm, I'll give it a go and see what happens, thanks again 🙂
Worst case, I'm just gunna get a few oddities occurring!
Custom Editor... lol... as in, my own version of Unreal? 😄
Where is this Widget reference being set?
Just some editor widget for that specific asset 😁
ooooh, I've never done that, sounds like something else I might wanna have a little play with in due course 🙂
Hey dude big thanks ;3
Works like a charm ;3
It seems i've done this in the past how can I make them the same variable so I don't have the create the widget twice?
Right click the return value, promote to variable. Then when reusing it, use an isValid check to make sure it’s not accessed before being created
How do I reuse it?
Get or drag from the left panel
These are two different blueprint
I had to put a 1 sec delay at the beginning of the construction part, now works fine
And where does it need to be reused?
Abilities
Well you’ll need a ref to the gun, or just create it somewhere more accessible, like in the player controller, so you can just get, cast and grab it
what the EU5 equivalent to coroutines from Unity
I see, yer it's pretty sloopy, as you can tell
should i just use a timer on something like a crop for a farming game
delays
thats it eh
No, there’s set timer by event/function as well, and actual coroutines (on the cpp side) I believe, Laura knows
for crops i might just do a system so every day. each plant has a % chance to grow to the next stage
when the player wakes up
like stardew
i feel like 100 crops with timers would be costly
I mean I wouldn’t use a timer for that
Do you have a way to determine when a day has passed ?
This is also when you have a manager class
100 crops managing themselves is unnecessary when you could have 1 manager managing 100 crops
bind on NewDay etc
if im doing the chance of growth per day tactic i understand i dont need timers. but im thinking i would need timers if i want each individual plant to have their own growth progress
which would be more realistic but more performant
You also don't need that for each plant to track its progress
Yep
You can even store a struct if you want. Like a crop, and a timestamp of when it was planted
Or just loop through and give each one a percentage chance to advance a stage
How much are you paying this manager cause I could use a new job
i suppose but then a plant planted at the start of the day would be the same as one planted at the end
lol
ill try something
Not if you store a timestamp :P
isnt that the same as tracking each one individually ?
i still need to do a check on every single one
Not the same at all
In fact can be orders of magnitude more efficient
This way you only have 1 thing updating versus 100 things
so i have a timer running. boom. plant planted at 5s.. then like every 10 seconds i loop through all the plants to see if any plant is ready?
Say for example you use a timer to advance the growth rate every minute.
With a manager you only have 1 timer running versus 1 for each plant. Then each plant can disable tick and basically be a dummy
Absolutely. Just check if the current timestamp - the planted timestamp is above your threshold
thank you
Or however you want to do it. Every 10 seconds you could roll the dice to see if it should advance a stage, if it doesn't, increase its chance to advance.
Similar to Minecraft's random tick speed
You could take it a step further and have the manager spawn instance static meshes for each plant and updates them accordingly. Significantly better than 100+ actors.
Absolutely. However the performance loss for 100 non ticking actors isn't particularly large
Don’t wanna go optimizing prematurely either
You do also reap further benefits of them being actors like instances where you want to interact with and harvest the crops
But we all know it's not going to be just 100 crops when players get their hands on it. (Unless there's only 100 spots to plant) 1000's most likely.
why not?
Again thousands still won't be much of an issue if you go about it cleverly
In one of my backburner projects I've got around 2000 without much issue at all
You end up creating extra work and going down rabbit holes. Build, test, optimize
You can never really guess what will be fast and slow, except for the obvious ones which you build around anyway
You should always profile and tackle the lowest hanging fruit
You might spend weeks for example trying to gain a few microseconds in BP, when your easiest performance gain might be porting something to c++ and gaining milliseconds
quick question, Is there a way to make the source sprite in a blue print come from a tile set? to create special rules for those tiles like ledges or special jump pads or interactable? i want to know if its possible or do i need to keep each image source separate?
You can do that with an instance based system. You just build it into the manager to handle the interactions on the instances.
Yeah but one is significantly more effort and might not be much worth the reward
It's definitely a consideration if you run into issues of course
But again, low hanging fruit and all that
thanks for the help guys
is there a way to store multiple models in one blueprint? or will i need a different blueprint for each crop stage?
3D Assets
I have a feeling with the manager object you should be able to handle significantly large crop numbers just fine with actors. And if not then you can look into instancing and whatnot.
im definately doing this
Personally I would keep each crop as a data asset or something.
Say you had 3 growth stages, your data asset would have a soft ref for a static mesh for each stage.
Then when you move up a stage you check the data asset and load the next static mesh, and set it in your crops static mesh component
Make sure to stress test and profile it before you ingrain the system too much. You may find tweaks like what patty suggested are in order if you want extreme amounts of crops
From my testing (a couple of years ago) my frames started to get a massive hit around 10,000 actors. So for me, I just do anything that is pretty much just visual, try instance where possible if spawning a lot is an option.
Of course everyone's machine will be different.
Absolutely. But for a game that follows a pattern like stardew valley, those numbers are rather unfeasible.
You will also run into other issues with those numbers in BP. Iterating and updating a 10000 sized array of crops will likely cause noticeable hitching. Hell by default BP only allows 1k iterations before throwing infinite loop.
It's why the profiling bit is so important :P
Ig tldr: depends on your game, profile and stress test and see what works for you
True, large arrays can be slow. BP can actually do 1 million loops before I throws the infinite loop message.
It's not too difficult to batch process across a few frames though.
And definitely, profiling is very important. It's how I learnt using multiply by 0.5 can be significantly faster than dividing by 2 haha.
If you’re keeping track of 10,000 crops one at a time, you might have an issue there 😀
this is the answer i got, this seem like the correct solution?
Hell at those numbers I'd say it's worth implementing a priority system, only updating the ones close by
I wonder if it's possible to use LODs for different plant stages. 🤔 granted it would only be viable if not using nanite and it's a low poly game.
Hm you'd probably still want your screenspace lods for that tho
With 10k crops you probably still want to display their last stage, but definitely want a lower lod
Try looking at Paper2D: https://docs.unrealengine.com/4.26/en-US/AnimatingObjects/Paper2D/ and PaperZD: https://www.unrealengine.com/marketplace/en-US/product/119ac60f33794bc5a27a9b67349bdfce
Also checkout #paper-2d
thanks seems to be the stuff i already know but didnt see that other channel thanks ill ask there
hi guys. Question: Does anyone know what could be happening here? I want to select a tree or anything that is on the map but all the "InstancedFoliageActor" are selected
The Foliage Actor is something generated when you paint trees and ... Foliage on the landscape
If you want to edit the tree , then you have to switch to Foliage Mode
@dusk yew
I don't want to edit it, I want to add objects in the world but I can't drag anything because the foliages are always selected
you could hit the Eye icon to hide the Foliage
can anyone tell me what this node does? i'm assuming it takes the difference between A and B am i right?
Normalized difference.
FRotator UKismetMathLibrary::NormalizedDeltaRotator(FRotator A, FRotator B)
{
FRotator Delta = A - B;
Delta.Normalize();
return Delta;
}
Doing a simple logic comparison but need a 'Switch on Boolean' flow control node.
How else to accomplish?
branch?
Yep thanks. Its all in the naming.
hotkey: if u hold b and left click in the graph itll make a branch node for u
you can do an empty select, or a float select, if you don't need to execute anything to get your variable, and the resulting execution is handled the same
but if the functions/execution are different, do a branch as suggested
I don't think anyone else is either.
It's probably because the actor that this is in is not a pawn or a child of pawn.
sorry wrong screanshot
Check the compiler results at the bottom.
i was angry
S'all good, just jokin about 🙂
nope didnt work
all im trying to do is make it so when i push the exscape button it shows the menu ui.
is this being called in your Character BP ? it might not be getting a correct ref of self to then* call Get Controller
You see how these ones don't have an error? If "self" is a "BP Game Manager" I doubt that "self" can also be a pawn which the Get Controller node wants.
yes its a GameManager and how do i atach the controller?
i tried draging the input maping into the controller but they dont work together
You need to get a reference to it. "Get Controller" specifically works if you feed in a "Pawn" reference.
If this is single player you can use Get Player Controller and that should be fine.
And because you're getting it like this, you don't need the cast as you're just casting to the class it already is.
What’s your goal here? You’re using 3 different input systems and 4 keys to say hello?
Use tab or something, escape exits the program, and unless you’re completely done with your game, changing it now is not necessary
And that flip flop is pointless, it won’t ever do anything to your print string because there’s nothing after it
You might need to learn some blueprint basics firsts, throwing random stuff together won’t get you very far
Try googling “your first hour in Unreal” and go from there
I use to use bp all the time but its been a long time and the new input system confuses me even after watching the tutorials.
and yah i was just playing with an idea i didn't think would work changing the debug colors.
am i not setting up the input right?
Hey folks
looking for some basic advice
here's a simple movement system, a timer fires it every .01 seconds (probably too fast) tells actor to move forward and rotate towards the player
problem is performance suddenly spikes when i reach 300 actors to unplayable, and speed/rotation rate aren't customizable per actor
this seems to work better than using the AI system which was suffering with basically doing the same thing and 100 actors, ideas?
if I set the timer to run .05 seconds I can get about 50 more actors before everything starts to die
I need to make a system to handle overlaps besides the built in one but it seems to me like the movecomponent / gt tickable / blueprint time is the culprit
actually it looks like disabling overlap entirely i can get up to about 700-800 actors, but i have overlaps disabled for everything but the player then cast them to the player so if igured they wouldn't be firing very much
Whats up its you're boy Carlos here "VIGOROUS DABBING" coming at you with a bit of a challenge "MORE VIGOROUS DABBING". smash that emote button and levee me a comment letting me know if you have ever had trouble with the new input system and how you where able to fix it.
Throw no shade, spread love and disease.
Until "a couple of minutes from now" I'm Carlos and this was another problem I ran into while using UE5.😎"DAB"
It looks fine
Reinventing movement is not really the way. There are some optimizations you can do with #gameplay-ai such as changing from walking to navmesh walking, and if you need to have like 1000s of them, #mass might be the way
Yeah I saw mass but its a bit over my head
I dont really need thousands, I was aiming for 1000, actually aiming for a couple hundred tops but figured I need performance now when everything is simple and standins
To start with, use tick instead of that 100 hz timer
You can get 1000 but you'll want C++ probably
why
You're basically reinventing tick but worse
yeah but its a lot slower than tick
Depending on framerate, you'll end up doing multiple updates per frame (when only 1 is visible anyway)
You can set a max tick rate
If you want butter smooth movement with 1000 units you're in C++ land
the other thing I saw was staggering the ticks between the units so they only fire every other or every third one but haven't seen an actual implementation
BP is like 100x slower so just put your movement in C++ if you're running into perf problems.
But I'd guess you would have better perf using one of the built-in movement components and just doing the direction math on tick in individual actors. Probably wouldn't hit 1k but 100 would be fine. Move it all to C++ and it'd run like a charm.
yeah i'm not learning c++
For fun, put a movement component on your NPC unit and drive it on tick
yoo you know a c++ equivalent for rotation from x vector?
It ends up calling down to this:
UE::Math::TRotator<T> R;
// Find yaw.
R.Yaw = FMath::RadiansToDegrees(FMath::Atan2(Y, X));
// Find pitch.
R.Pitch = FMath::RadiansToDegrees(FMath::Atan2(Z, FMath::Sqrt(X*X + Y*Y)));
// Find roll.
R.Roll = 0;
this should suffice right?
I think you could just do
float Yaw = InputVector.ToOrientationRotator().Yaw;
will try this now
seems to be about the same but npcs are smarter and obey speed limits ai moveto is simplier but seems to use more processing
Startrotation and primarytargetrotation would be different right?
@dawn gazelle here
I'm expecting an ActionComponent to appear in that list alongside InteractionComp and AttributeComp. All that's required for it to automatically show up there is that I add it to the header and instantiate it in the cpp of the parent class of the blueprint right?
// AARLCharacter::AARLCharacter()
InteractionComp = CreateDefaultSubobject<UARLInteractionComponent>("InteractionComp");
AttributeComp = CreateDefaultSubobject<UARLAttributeComponent>("AttributeComp");
ActionComp = CreateDefaultSubobject<AARLActionComponent>("ActionComp");
// ARLCharacter.h protected:
UPROPERTY(VisibleAnywhere, Category = "Components")
UARLInteractionComponent* InteractionComp = nullptr;
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Components")
UARLAttributeComponent* AttributeComp = nullptr;
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Components")
AARLActionComponent* ActionComp = nullptr;
Not sure if this is better asked in the cpp channel. But.. I defined them all the same..
Heh ChatGPT solved my problem in like 5 seconds. Absolute replacement for stackoverflow geeze... They upgraded it so you could send screenshots. I sent it exactly that screenshot, and then just different pieces of code
Looks alright to me
What was missing ?
I wouodnt trust everything chatGPT says
But if you're vary of the info youngetz it can be usefull
and it immediately said:
Heh yeah I know its not like.. perfect for everything. But its been soooo helpful with finding my issues
I think the key improvement is being able to send it screenshots. Its fixed blueprints for me as well
haha yeah exactly, I did send it more than I put here
I sent it my header file for ActionComponent
No wonder it could help
Yeah, but like.. I mean I dumped a lot of code there. I wouldn't have done that here
cause noone wants to read like 400 lines of white text code
with chat gpt you can just blast it with anything you think might be somewhere local to your issue and it'll process it all
anyway, the image processing feature is really neat. Also I'm using the paid one which is.. considerably better than the free one
Never used either of them
you're missin out! Don't do it for work stuff obviously. But this is like.. an actual 10x productivity for devs. It was much harder to use before the image processing
Cause you had to like.. backstory your whole problem
but now you just give it an image and say "why is it like this" lol
Like here's one from the other day:
I didn't even give it context I just sent it that image and it knew what I wanted lol
It was that day I leaned that in blueprint there's a CastTo<className>Class and CastTo<clasname> lol
is this gpt 4?
yes
Looks like s function call that should haooen in the attached actor
no i was casting to the ClassType and not to an instance of the class
Right , but why cast in the first place
Oh, sure. But I mean I didn't ask it to refactor the code for me. it told me exactly what I was looking for, which is how to solve my compiler error :p
Anyway the answer to your question is, "because its part of a tutorial that did it that way"
Fair enough
I was once told its never a good idea to use level bp is that still true?
Mostly
Its even more true now than before
still recovering from a "game designer" coding the entire game in level blueprints
If it shipped, it's more than i can say about any of mine
so there's that
It also left room for optimization, so that's great for future job opportunity 😄
Now that you mention it though, this is what that blueprint looks like currently:
It feels weird to me that the UI widget itself is the one that connects to events and spawns itself
UI setting up its own listen events is something i can get behind
feels a bit odd passing in owning comp tho
Okay.. well that's good to hear then. The owning comp is for the update function:
Its an AttributeComponent which contains state like health that can be modified
This on the other hand
What i'd do instead is update the delegate
I'd never want it to include itself in the delegate... but that might be a 'me' thing
Id have an "healthChanged" event, which includes Current / Max hp
and possibly delta's (altho you can usually work that out from existing info in the UI)
Hmm okay, yeah I think I see whatcha mean. I'll note that down so I can come back to it
Thanks!
Whenever you see yourself having to 'gather' the data from the component sending you the MyDataChanged event. you can probably find a better way
Heh yeah, fair point
unless ofcourse it's by design and the data is more than just a float
I'd say this is ok
in this case the data is replicated, and the broadcast is just a way to notify a BP on client side that 'some of the data in here changed'
Ahhh okay
For a generic Stat component, I'd probably do a more generic broadcast, with something like a GameplayTag to identify which stat was updated
compared to having one delegate for each stat
It keeps it easier to expand on aswell
adding a new stat is just a new gameplaytag. rest is handled internally, so to speak
Heh yeah. I'm definitely going to get into the whole GAS system fairly soon. I'm aware that its a steep learning curve haha. The videos that I'm going through right now build a baby version of it based on GAS. But once I finish this series, and especially if that baby version isn't enough for me, GAS is next.
At least everywhere online has told me that GAS is both extremely worth it and also a huge learning curve with a large amount of domain knowledge required
GAS is huge x)
it's great so far
but huge
Haha yeah. Its funny though like. last year I started designing an ability system. And I spent a couple months on it. Even did some mock ups. And then I watched a 3 hour video on GAS and was like, "wtf.. this is like exactly what I was thinking of" lololol
no shot I would've been able to implement it though. Designs are nice but apparently what I was about to start coding was much larger than I'd thought haha
Sounds like me with the statetree and partially mass,
altho i dont have gigabrain so my systems weren't nearly as comprehensive in any aspect
but the idea's were very similar
Haha! yeah exactly
I'm probably very stupid, but can someone explain to me why macros can't be used in child actors?
You can make global macros that work everywhere, but macros made in a parent blueprint can't be used in a child? That doesn't make sense to me at all 🤔
Good Question ( I don't know ) - they are also not possible to debug if I recall correctly, so I just went meh and never use them
From what I read online it says that macros do not support inheritence. Which still doesn't make a shred of sense to me, but okay?
The player is likely spawning after the begin play of the Manager
do i need to send the controller to the game manager after player spawns
I believe the enhanced input needs to be owned by the player
Although, i've never attempted setting up enhanced input this way. Have you watched the flow to see what's failing exactly?
You can try adding a small delay to see if order of events is an issue
HEVY SIGH AND MOAN!
SCREAMS
I'm fine
I am going to setup the exscape key "pause / menu button" in the player.
Make sure you're using the debug tools such as break points, and even watching the flow. These features are often overlooked and undervalued. They really make the difference to understanding what's going on.

im making my trees, bushes and grass with instanced static meshes.
I distribute them at runtime in randomized locations.
Is this better than using the Landscape Grass thingie?
By better i mean cheaper
Seems about the same thing
Just use foliage. Foliage is already instances static meshes
ok thanks
So i have a hotbar with items on it. When i pickup an item i want it to check if its on the hotbar and if it is update it (to change the amount text). I store the item in each hotbar slot. Should i check it against all of them one at a time with branches, or should i add all hotbar items to a map with what hotbar slot it is as the integer and check through the map each time? Whats better for performance
Theres an example, i do that for all 10 slots every time an item is picked up. Is that a bad way to do it?
how do i make a public static instance?
There should be better way
try the select nodes
yeah im fairly new, making my first full project with no tutorials to help learn more
That was sort of my question, is searching through an array more demanding than just looping through branches?
or is it all same same really
besides neater to look at xD
i enter spaghetti, then close it never to look at it again xD
until you have to look at it again
You could have an array and let that do it for you
tbh, i have 2 hotbars, one main one, and also one in my backpack / inventory menu, its confusing the shit out of my doing everything twice. i will eventually make them all sync properly
would i use a map instead of an array? so store all 10 hotbars as the interger, then store the item its holding as the other part. Then i input the item and it will check through it and spit out the interger for the slot number?
How do i asighn ui widget to this stupid car player? its spawning from GameMode DefultPlayerClass
only if you want it to
by using the set node
where am i setting it from?
shouldn't try to access pointer that you have not assigned
Anywhere that make sense. Generally when you spawn the widget
you get the return value
I can't use timer in GameInstance =(, must I finally install coroutine?
seems like the only option for delay
Ahhh
im going to spawn widget from player. dose player have Event Begin?
Try it
if i keep doing everything from inside the player i wont nee a game manager >.>
Then you will get the messy class.
If it is a player pawn, note that it could be destroyed...
your correct and i don't know how to respond
@frosty heron
A bit off topic but I like your character icon changes from time to time. Loved the cats though.
Thx, I changed it to promote my game when our discord server is up
but yea who doesn't love 🐱
Cat is back
You are still stuck at the create widget part?
Get your array , for each -> Create Widget -> Add it to the Vertical box as child
The result of the filter from the CSV
IM SETING IT BUT CANT GET IT INT THE SAME PLAYER
Name your variables
The one that made straight lines, this look nasty imo 😄
theres no point if its not going to work
i dont know how to change it back
HAHAHAHHAA
with a map, if i have an integer as the first part, and an object class as the second, if i want to replace the object class do i just use the add node?
well if you are asking people for help, generally it's a good idea to make it readable for them,
i just want to un hide the menu on when you press the ESC button 😿
if you name your variable maybe I have a better idea at what you want to do
right now I don't even know what new var represent
like it's a reference to widget or some object? I can't tell
try it after that
Yes
Work with the container, not against it
Because i have limited understanding of them but i think i understand the map haha, have 10 slots, they are the integers, then an object assosciated with each. then i just send the slot number over and get the object back
if i remove something say 3rd in the list in an array, and add something, does it not put the thing i add to the top and shuffle everything down?
I'm going to bed
btw it can't be plugged because you are trying to Connect an Object to a Widget Target
goodnight\
Cool, just don;'t forget to set it
why didnt you just say that
not sure what you mean
Use what I'm trying to hide as the variable >.>
I'm not sure what you are saying, sorry. English is my second language
That's not the point
the point is you must have spawn wrong Widget
YOu spawn a widget that spawn it self
Go to your Create Widget
Hi
does anyone know how to diasble ray tracing in shipped project?
make sure that you are spawning the Widget with the Text Box
how do you disable it in editor?
Not in edditor
I mean like any other game
it adds
First find out how to disable ray trace first.
When you want to do it in shipping build, you can just have a check
If Deployment == Shipping Then Stop Raytrace
Make sure you "refresh" the vertical box everytime u want to update the list.
By refresh I mean, clear children on vertical box
Your design, you think about it
now it's time for you to debug
Find out when you have to Refresh the list
No worries, make sure that the array for the filter you used
also not added on top of existing one
I probably figured it out. On Text Changed event, clear children on vertical box
see how that go
its 4am here
need ma slep
big thanks to you
i need to do is debug only
bless you my friend
👍
When importing a CVS for a datatable that has a text var do you need to include the NSLOCTEXT formatting or can it just be what you want the actual text to be?
NSLOCTEXT("[C1777E3C4063A3590FB10784F1A37A52]", "OEGF378ACK9NNIH87E0986BKBA662E70", "...")
Edit: yea it doesn't matter, it'll generate the relevant package ID and Key for the text var if not provided when imported.
Hi guys, working with Niagara here and I'm getting the bellow error. This is due to the circled Transposition below. I'm fairly confused since I'm essentially rote copying from the Content examples, which gives no errors for the same function.
More specificallym the transpore from HSL8 to RLocal HSL1
I'm trying to do a basic damage system. I'm new to development could somebody tell me what am I doing wrong? I couldn't see my damage texts
I'm using 2 same pawns or whatever it called and I maximized their hitbox to avoid missing It's a paper 2d game
Couple of things
- You have no damage class on your Apply Damage, not sure if you need or not.
- In your Hitcheck function are there any overlaps? Run with the debugger, your collision settings on the hit box might not interact with the pawn
- Don't think it's an issue here, but super bad idea long term using a tick. It should be on animation, or enter/exit collision for the hitbox
- Have you set break points with F9 and followed along with the debugger?
Firstly, thank you so much sir for your kindness. I'll quickly check up your reccomendations
No need for a damage class
It means the code executed up to that node, and paused there
damn, laura to fast
fewer words.
So it happened because the condition there was not completed? I guess there is no problem
Is there anyone who can come on stream and help?
I think questions like this are a bit annoying, sorry
You can step though, which is like move one node at at time. I think f10? Go into is f11? Can't join stream sorry. Tick happens like 10 times a second btw. Is that first boolean ever changed to true?
What alternative can I use instead of tick?
It's a paper 2d game where you use maximum of 20fps animations
I'm trying to place a damage system in the game I setted up the hitboxes etc but couldn't get string print on my screen which indicates damage system correctly works
So could tick be the source of my problem?
Thank you for your kind help by the way
it happened because you placed a breakpoint on pretty much every node
In on of my blueprints i have some variables i want to delete, but every time i do then compile it freezes. There are no references to them. i can change what type of variable it is and compile fine just not remove them
any ideas why?
You meant that thing yoıu are adding with f9 right? I just did it right now It used to be clear
You could find my full codes few lines above
that tells unreal to pause execution and jump to the BP once it reaches the node
Is there a way to manually remove them outside of unreal or anything? or is that not possible using blueprints
how do i succeed this node? it runs the gameplay behavior on arrival but this node does not complete or fail no matter how long i wait
Try asking in #gameplay-ai but you might need to use the vislog to see why it’s failing
Check your reference viewer
For why it freezes
Cheers, never heard of that I'll have a google
Right click the class in the content browser
oh sorry yeah i have checked reference viewer and also clicked to check all BP's. it shows no references
i went through everything and made sure it was removed everywhere
This sometimes happens to me. I remove -> Save -> compile in that order. If it still freezes, its normally gone when I restart and then I can compile without issues.
Cheers will give that a go
That actually worked and let me compile with no freezing
i kept saving before i even deleted them before so i didnt lose anything haha
It’s not normal behaviour for the engine, but who knows
Yea, i could never figure out what causes it. Like you, I triple checked the var isn't being used anywhere first. Sometimes its happened with var I just created and then changed my mind about needing it haha.
Yeah had me scratching my head for a while hahaha, ill try to remember the save xD im sure ill forget in time
Should always be saving anyways like OCD. You can always undo or source control if you need to rollback
I was saving, then deleting and trying to compile
instead of saving, deleting, then saving again then compile xD
i have git as source control, havent learnt anything more than saving and pushing commits. Ill learn how to pull when the time comes xD
I hit compile + save after every change
UE has a right click revert you can do on the bp
It’ll pull the last commit
Yeah wrong term
Partner? 😭
Tbh one of me is bad, 2 of me would break everything hahaha
Still learning a lot
Hi guys, first time doing anything with unreal blueprints really, so it might be a bit of a mess but I am trying to make a function that shows the item that the user is holding ingame by showing that one item and hiding the rest.
Can't think of any nodes to check for which item is currently being held and have looked online but don't know what to do here. Any ideas?
i'm thinking i'll have each item plugged into the sequence doing a check whether or not to show it
Well, if your item class has the details like the static mesh, you could connect the class connection into a "Get Class Defaults" and pull the information directly from the class. This'll work so long as your structure is using your base item class and your item class has the necessary information you need.
One more piece of logic to complet my Actor Utility Blueprint and thanks for the great feedback I've received!
I have the scale and rotation functionality working.
What I need help with is the instancing.
The logic is as follows.
User enters Total Instances amount.
If this value is greater than the number of selected actors, then the actor(s) are cloned or duplicated to reach the Total Instances amount.
So somehow will need a 2nd array and For Each Loop but not sure how to set up.
Hello, so I added a startup video to lyra (contents/movies) have have the video working (took forever to get correct codec settings), but my startup movie is playing AFTER i click play in the menu. Is there an easy fix for this? or do i need to create a blueprint?
how i can use timeline in widgets ??
Is there a better way to find one instance of a specific gameplay tag?
my bad just saw the gas channel
How do i get all the enhanced input action keys? I've gone through each and done the input settings to make it mappable. when i use get all player mappable action key mappings, it doesn't get any results 
oh hmm, i was using get input settings for the target
what interface do i need
What are situations where you would want to use casting over interfaces?
I know about blueprint communication, just wondering if I should perfer casting in certain situations
Got it, thankyou for the advice
Especially when they return the type ref for the thing they used an interface to avoid casting to
Its a tool for the toolbox, but not made for all jobs
I have an Array of Actor Object References.
How do i save that locally as some type of Array variable?
There is no variable of that type!
Actually I tried but Actor Object Reference is not the same as an Array of Actor Object References
ya, you make it an array
if I have a return value of a C++ component, how do I call a function on it
I mean call a member function of the component
Thanks. Appreciated!
Does anyone know or have resources on how to scale screen space widgets based on their distance that way they always stay the same scale
On tick check the "distance" they are and adjust the render scale based on the distance using a map range clamped node.
Distance likely being that you need a source actor that represents where the widget is in the world, and a target actor that you're using to determine the distance.
Hi guys.
I have an Array of Actor Object References and also a total number of instances or copies I need to make.
What I am stuck on is how to 'clone' or 'copy' these actors from the original array.
ie in the attached the For Loop represents the total number of instances and I need to define Item.
you want to add to an array, the actors but duplicate them a certain amount of times ?
Exact
The original array might have just 3 actors, but need 100 instances, so they will be copied in the new array
so you need 100 instances of all three ?
and when you say instances, you want to spawn them ?
No total
how do you know out of them, which one to duplicate ?