#blueprint
1 messages · Page 343 of 1
ok so now I have something like this, its able to fly away but really really slow
and its shaking around too much, it doesnt fly smoothly, it moves back and fourth and gets too long stuck in place, moves weirdly
so they're just shaking around, not flying
Target Location is this
x: 0 y: 0 z: 10.000
ok I fixed it
Does anybody know about difficulty scaling through (UI settings in Menu) in Blueprints??
Why did you mark it all in spoilers?
yo how do i set this root component of the foliage actor as movable? do I really have to edit the C++?
you should be able to change it through bp
works! thanks!
I'm really struggling with this. I need to mask the areas where the green static mesh overlaps the borders. I first tried a stencil mask but that only removes whole meshes not parts of meshes (i also found it very confusing to set up).
Then i thought it might be clever to use a world aligned material on the static mesh moving within the swing timer, but i've been going around in circles trying to get this to work.
The border graphic is a texture material applied to plane, the same for the background. The timer works with two static meshes moving along a spline and checks for collision when the player clicks.
I created a plane that was the same scale as the border plane and tried to apply the world aligned material to it with a texture made on the same scale as the border so it would fit perfectly, but for the life of me i could not get the scale or tiling of the material to match.
Is there a simple way to do this that i'm missing?
got any more pixels?
I believe that’s exactly what I’m doing, but I haven’t been able to adjust any of the parameters from the Healthbar MID variable
Greetings everyone, I had a question regarding the delay node. Should we avoid the use of delay node and if yes then what should we use instead of delay.
Delay exists for a reason. It's avoided for the same reason people avoid casts. It's abused, then leads to bad code, etc.
The primary issue with delay is that you cannot affect it's timer. If you need to cancel the callback or whatnot to clean up the state. If you're fine with this, Delay is fine. If you're not, use a SetTimerByEvent so that you get a handle to affect the timer.
Guys, is this make sense?
In what context? What is this chart for?
overall, mostly UI, is it common UI directly called subsystems
In general if I stare at it long enough, yes. But I don't like this graph. It's putting two concepts in one which is widget creation and widget communication. And it muddles the ideas because if we're talking about widgets communicating with the subsystems I'm not sure why the PlayerController and HUD are even on here. Widgets talking to the subsystems and listening for their events is perfectly fine and normal. But this graph makes me almost think you're routing some back through the playercontroller to the hud to the widgets.
In general just have the minimum amount of objects care about the UI
If it can just be the thing that created it then good
nothing else needs to hold a ref to the ui, it can just bind to dispatchers and such
Thank you for your response.
Funny enough I don't even really use HUD anymore. Things that need request menus generically through CommonGame. Only things that hold refs to UI are GameplayAbilities for special cases.
for example, player controller triggered open inventory, it tells player HUD that player needs to spawn inventory UI. basically player hud manages creation and destruction of all widgets. after creating the widget. the widget will communicate directly to subsystem. for inventory case for example item being used or moved. UI tell subsystem directly and receive response through delegate.
Which is fine. I do get that. But like I said, it muddles the two concepts. Creation and communication are very different things. If you need them in the same graph I would find a way to separate them more clearly somehow.
previously I centralized in controller, the flow become complicated and bloated in 1 place routing subsystems to UI. I gradually moved to this flow, but I want to confirm this first
Funny enough, despite all of the general UI recommendations in tutorials and such, I don't use the PlayerController or HUD almost at all anymore.
yeah we can just place the widget directly in player controller actually, same, I wonder what is it for, lol. but I will think that for UI manager for now
what your are using to manage the ui sofar?
what makes your ui?
pawn?
My UI is added in one of two ways. Either it's a HUD or Menu. HUD here being a heads up display not the AHUD actor. These are usually general concepts for the gameplay area. For example the main menu has a hud widget, the combat game has a hud widget, the map editor has a hud widget. It usually determains the default widgets placed in it as well as what widget to show when you press escape, etc.
HUD and Menus are added via PushContentToLayer. How that happens differs. For example opening an inventory from the playercontroller is bad for me. Inventory exists relative to the pawn it's on. If I'm controlling said pawn. I also need the inventory to close based on gameplay state. Maybe they get knocked out or take damage and there's a settings to close inventory for those times. For this reason pushing the widget and listening to be able to remove it is an ability. The ability pushes the widget to a layer and saves a ref to remove it if needed.
More generic widgets like the options menu are just pushed from other widgets using the same PushWidgetToLayer call.
The other way UI is added are UI Extentions. More generic tagged areas in existing huds or menus.
For quick testing, I still use AHUD beginplay to push the initial HUD widget. But even then if I was shipping I'd wrap it in the similar thing Lyra has for experiences that can activate. But after that initial push the AHUD does basically nothing else.
What's the owning object for CommonUI?
oh my, i forgot main menu and level transition, i need to test this i guess. thanks anyway, need to explore and test more about this, i really neglected UI learning for long
Hi. Have a question. How do I can make trace or smth else for detect actors that are "inside" of 3d widget?
Need to record what actors are covered by widget.
you could tag the ones you want and loop through checking the position is in the square
probably make it do it within a range so you don't loop through everything for nothing
through checking the position is in the square
i don't know how
that exactly what am i asking
you can try project world to screen node
can't get what to do next
get the world position of the things you want to check
and check if they are in the square
it will involve some math
ah, got it
i though about that
"If the point's x-coordinate is within the box's left and right boundaries, and its y-coordinate is within the box's top and bottom boundaries, then the point is inside the box. "
Hello, can you recommend any tutorial series that would teach how to have player vs. NPC's interact with blueprints? So that for example, when the player walk close to other actors, they run away or fight etc.?
but how to get these coordinates?
i imagine you know the width and height of the field, in which case you can easily figure out from the screen center,
how can i make it so my arm/grapple actually locks on to what was hit, so it doesn't move around whenever i move. or so it doesn't move away from the object when the object/mesh got stuck on something
hey im using a particle effect at "circle indicator" but when im moving its blurring as hell
if i remeber there was some setting in the material that made it "static" or well not static but it dident act liek this
how are you keeping it there ?
how are you sticking to it in the first place ?
im just setting the location to wherever i grabbed it in the first place
im doing the same for the moving object, but making it so i can move it around slightly
it's rendered in world
not on screen
Cascade particle system, component
on character bp
i remember there was some settings that solved it
cant find the right combination x>(
🙂
any way to get this physics panel instance editable?
help? :/
guess I have to set em manually
expose variables, and set the setting on begin play
alr alr, still annoying not all options are changeable, but I guess I got enough
They are instance editable.
?
@maiden wadi wasent it you who told me how to fix the particle blurr thingi :/ ?
the cube has the physics, idk how to add for the whole actor tho
so I think that is the problem
Which particle blur thing? Unsure offhand. 😄
What do you mean by the whole actor? Generally physics goes by the root object simulating.
Actors themselves have no transform. It's a misconception with their helper functions. All SetActorTransform does is move it's root component for example. You can have one actor and make two different balls bounce from it with two different static meshes.
@maiden wadi
Kurtuluş Alpha 1.0.3.5 – Climb & Jump Voiceover
Tırmanma ve zıplama hareketlerine bağlama uygun seslendirmeler eklendi. Sesler, hareket tipine ve ortama göre dinamik olarak oynatılır.
📜 Sosyal Mecralarımız:
Leartes Studios:https://www.youtube.com/@leartesstudios
Instagram:https://www.instagram.com/kalpakgames...
Discord:https:/...
I have no memory of that. But that to me looks like post process motion blur.
not using post process and motion blurr is disabled :/
Can you drop a post process volume in the level, set it to infinite extents and disable motion blur on it? For science?
Cause I can see even your grid is bluring a tiny bit and I'm not sure if it's video or that.
The only other thing I can find even remotely relative is something to do with skeletal meshes.
did no change.
hm
i had this issue before, a while back but someone told me about some settings in the material that solved it
I mean you can avoid that by setting the translucency pass to ofter motion blur, but that shouldn't have any affect with motion blur off.
Discord, that wasn't the part I said to quote.
xD
But it might be worth trying to change that translucency pass to after motion blur.
Maybe someone fucked it up with recent graphics works.
ah
Last stop if this does nothing is anti aliasing
Ah, right cause it renders later. I dunno. But if that is the case you have some sort of post process messing with it.
hmm
you shut off motion blurr in the emitter ?
hmm
Emitter?
is there a setting for that ?
That looks like a plane with a material on it. 👀
its a emitter
idk the web says so, but i can't find it lol
Hmm. Not a bad idea. I migh thave to profile that sometime. I did it on RS2 with just a plane attached to the marine with no collision.
i mean i could do that also tbh...
try: r.motionblur 0
does that fix it ?
His motion blur is off globally and I had him put an infinite extent volume in the level with it off.
makes sense
So I dunno. I'd mess with other post process settings maybe. May be something other than motion blur.
Disabling AA is also a start too maybe. I don't remember when they mess with frames.
i found it
or i found my other project using the same particle and that one works
just trying to find what i changed
Anyone help I'm using floating pawn movement for my Space Ship AI Movements however it seems a bit clunky on it's movement where it seems to jerk as it move towards the target location
I'm doing this on tick of State Tree Task for when I want the ai ship to move
I've noticed as well that the AI NPC which moves around the space station a character type also seems to have this jerky movement as it moves around
The ship jittering means it's colliding with something most likely.
The thing inside of it jittering is more likely that the CMC is sometimes fucky with it's bases and corrects weirdly. I don't recall how to fix that.
Assumptions though. Hard to guess without seeing it in action.
i'll get example after i've ate
Is this running on tick?
Yeah well the state tree task tick
It's calling add movement input
As the ship has the floating pawn movement component on it
So the normalise just makes sure the direction going into the add input node is what it should be
you might get some smoothing with vinterp
try this one
Where would I use rhe interpreted though cause im passing the direction into the add movement input ?
delta time from tick, and interpspeed 1-10 as you want speed
and plug it to set actor location
So can I not use floating pawn movement here then ?
yes just set the last direction
and use that in the interp
add direction, set to last
interp from last to desired
Ive lost you here haha sorry
So the target direction would be the out of the interp
yes
this is what ai says to do
I think you can plug GetActorLocation to the Current
arr right okay I get you
the best if you try 😄
and then the world direction of the add movement input will be the last direction ?
or target direction
well i'm gonna need to see if this will work in terms of how state tree tasks work
bro it's like 30 seconds pulling nodes and trying? and tell us if it's working lmao 😄
it's just a vinterp
i use interp quite a bit personally
it smooths stuff out real well
and lerp if you can get the alpha right
as far as it's the same exact thing on tick just smoother
it will fix your issue which was jerking
it does fix it why does it though out of interest cause it's just a world direction so how would that cause jerkyness to happen ?
Also in this screen recording any chance someone can tell me if the AI NPC is doing the same thing as I can't decide whether it is or not it's touch and go for my eyes to determin haha
because there is no smoothing and also this logic with - actor location from target and normalizing it is weird, if you printed the target location it would be more like steps than smooth increase
arr right okay fair enough yeah the logic might not be perfectly sound
i think we need more context how it currently works
like what logic you have that it gives these results
im just setting the location to wherever i grabbed it in the first place
im doing the same for the moving object, but making it so i can move it around slightly
break hit point
i can send images if you'd like
when you hit something you need to start timer by event looped with like 0.02 - 0.05 speed that takes the thing that was hit and starts setting its location on this timer to the location of your arm, when you stop holding input then it clears timer and drops the item
its on event tick
i mean
i'm pretty sure that's what i'm already doing
you need to describe how EXACTLY you want it to be working
i want it to be literally stuck to the object/floor
how do you regulate the length of arm?
and not move the cord/arm at all
oh wait
do you mean, like if i get past a certain distance, it disconnects?
or just how far i can be when i hit the object/floor
yea because you need to lock the lenght I guess in time of hit otherwise it's gonna be really weird
well i can make it disconnect past a certain distance later. no?
i mean. it shouldn't matter with whats going on
it matters a lot, also you shouldn't cast because it limits you
how does it matter?
get Hit Actor ref and Set this Actor location to the location of your arm
what does it change about the fact that my arm isn't actually locking on to the object/floor. simply setting the location which can be moved
how are you setting location of something that you hit?
it's event tick and this thing is getting set as Target which event tick is using?
and completed action should set target to null so it would be dropped
Input Action -> Hit - > Set Target
Event Tick -> Get Target -> Set Target Location to Get Hand Location
you can use Sequence to put it on different pin, just this logic
uhhh im not sure what you mean here
Sequence node let's you add pins so all these things can be executed at once but are just separated like roads, so it's easier to see execution and flow
won't distrubt what you have already and can let you add another road
Input Action -> Hit - > Set Target
Event Tick -> Get Target -> Set Target Location to Get Hand Location
This is how you make sure things are sticking to your arm.
and the wiggly thing of your arm you handle yourself
uh ok. so when you mean "hit -> set target" you mean the impact point? or....
you can get Hit Actor from that node
yes, Promote that Hit Actor to variable
wait
and then use that variable on event tick
oh ok
just Actor, no cast
alright. what happewns now?
you need other way to choose if these are t hings you can hit (collision channel maybe, PickableChannel)
Line Trace By Channel gives your Hit Actor, right?
you have variable now Hit Actor, use it to Set
ok.
take it slow
and what do i plug into "Set"
you can drag from it a nd Get Actor Location
this
plug this Hit Actor to your variable
and 2nd thing you have to do, when Input Action is completed you ahve to set Hit Actor (your variable) to NULL, so just call Set without plguing anything
it doesn't move
however now it stays put when i pick up objects
actually nvm it bugs out, bad
yeah ik
but I need to make different puzzles in my game
I dont wanna make a different blueprint just to change one value
for example I have a cube I can move around freely, and another that is locked on the X axis
by whole actor I mean, somehow add phisics for "the root" so even if I had other meshes it added physics to everything
(was trying to find a way to show physics properties in the details panel)
but yes its a bit illogical what I just said, I just wanted to make them instance editable :/
I think I can only code it tho
They are instance editable though? I don't know why it's not showing up for you. But.. sec
can u show me, I do miss stuff most of the time
This sphere here. I can edit it's physics settings. This is settings in the details panel in the level editor.
BP it is from
Probably not selecting the mesh in the details
OH NO WAY
😄
(Pretty new here) Is there a way to bind an event without having the delegate line I want to bind the event in one spot but have the functionality somewhere else in the blueprint but trying to do so leaves the delegate line running across the screen
hey ive made this crouch input in my player bp but when it happens, the player clips into the floor, ive tried with and without root motion enabled
If you mean the red line, use CreateEvent.
if i dont adjust the half height it dosnt clip in the floor, but i need to adjsut it so the player can crouch properly
Thank you this helps a lot for organization
wdym by 'crouch properly'
so their collision shrinks and dosnt get blocked by the level collision
there a crouched capsule half height variable in character movement component
what about just changing that
is that not what im changing when im setting the half height?
like if the half height is changed by character movement, it will adjust the location of your mesh and capsule automatically to stop them from clipping into ground
so, yes? no? 😭
it is
so if im doing that already whys it clipping in the ground😭
character movement component will adjust half height first when crouching, then adjust location
but you only adjust the half height and didn't adjust location
idk why are you doing this
since the cm component already adjust the half height
huh?
it didnt tho. which is why i set the half height
make sure in character movement can crouch is true
it's off by default
Use create event node
anyone knows any solution to this? i have ue 5.3.2 source and now build doesnt work due to this new weird error
I have this same error, but gave up on it. I let somebody else package now 😂
Hi guys! I'm trying to simulate my vr basketball game with mouse and keyboard. I tried using a first person character but it's only able to do the basic movement, look and jumping. i've been working on this for about a week now and still no progress. what should i do to make it work? or is there an easier way to achieve this?
but he should also have the same error?
this is so messed up. i feel the only solution for me is to upgrade my project to 5.5 to use DOTNET8. but i have a custom server integration which i heavily modified to me own needs which is only supported by 5.3. Now i have to rewrite all these server codes again if I do upgrade
Hello. Can the time value in a Timer By Event be set dynamically or is it an initial set only?
Meaning that each time the event is triggered in a loop, can the value that is provided in the Time input be changed or not?
yes, from the return value of the this, promote to variable (that will be a timer handle), using that, u can change the time at runtime.
Hi everyone,
I need to build one unified system for NPCs, but there will be many different NPCs with different actions.It is NPCs inside of hotel
For example:
1.A woman at a buffet table picks food onto her plate, then goes to a table, pulls out a chair, sits down, and starts eating with the utensils on the table.
2.A bellboy takes luggage from the player’s hands, carries it to a cart, grabs the cart handle and pushes it to the hotel room, unlocks the room with a key, then takes the luggage and places it on the bed.
How can I make this modular ? And NPC can dunalically interact(grab, put) object in the level?
I would suggest to take a look at State Trees. You could have your base NPC class that has a common foundation (skeletal mesh, movement, various other required systems) and then run all your actions through State Trees, you could have one State Tree per "archetype" of character you describe and just change it based on which character it is
So what you want to do grab the ball and shoot it ?
It's okay I figured it out. Thanks
Here is the thing I was trying to create first person shooter locomotion for my character. But the thing is, that when I move forward, backward, left or right, the whole body kind of lean towards it even though I am using layered per bone and cutting off the upper body from spine_01. If you take a closer look at the hands, it would look like that they are kind being dragged and not staying still which looks weird. Any ideas on how can I fix this?
i think you picked the wrong blend space type, you want blend space 1d for simple stuff
Does this command (stat slate) display only game statistics?
Or does it display the game and engine statistics?
And how can I make it display only game statistics?
I imagine stat slate is related to the UI (slate part of the engine)
You can do stat fps, stat unit
But to properly disregard the engine’s effect on it, run it in standalone or packaged
idc
is there a way to make an specific point light not be detected in a scene capture component?
doing a little blueprint to swing randomly some bulbs, doing it with an array system but the delta seconds and time dont work well, it goes at light speed
If this is purely visual, I'd recommend doing this in a WPO shader. Much less cost.
hows that done exactly?
lel
When it comes to shaders, can't beat Ben Cloward's guides.
https://www.youtube.com/watch?v=cBW3a0XVXsQ
There may be simpler guides. But it's essentially you tell the GPU to just make the vertexes move about based on some math.
Is it possible to get objects based on the folder they are in in the level editor?
For editor reasons, probably. For runtime gameplay reasons, no.
what is the best way to set up AI aiming, aim offsets?
Set up the concept of an ai having an aim direction or the visualization of it through the animation?
Do it the same as your player's pawn
Doesn't matter if it's driven by an AI or PlayerController, the pawn is a thing who's "look direction" is defined by the ControlRotation
that's 1 way to do it and the most common
Create a file and name it ** Directory.Build.props** with VS, within your source folder. Then, add this to file and save it.
<Project>
<PropertyGroup>
<NuGetAudit>false</NuGetAudit>
</PropertyGroup>
</Project>
This will disable the audit check, so be careful.
Hey guys, newbie to game dev here, I'm trying to make a game about playing as a ball moving through some obstacles to help me learn how to build some different things in the game, however, I currently can't get the ball to move relative to the camera, I'm using the older input system just to get the hang of things, I intend to change it out at some point, the problem is commented in red
I'm not sure I'm following this entirely. I've had a very long day and tired. But I'm semi sure the red box is in the wrong place. I don't think you need to rotate the sphere here. It simulates physics doesn't it? I think you need to use your inputs and use your camera's transform to transform your input direction for the torque.
That would be the logical way to do it, thanks
Also, be careful here. I'd recommend doing this torque in tick. Cause right now you can apply torque twice in a frame. Save some inputs off of these events like your active forward/back and left/right and consume those in tick to zero them out and apply them to the toque.
does anyone know a good tutorial for option saving in unreal engine? like save files?
You're talking about an options menu? Like gameplay/graphic/audio settings?
Yes, but more specifically one that explains how options settings are saved to a text file or something, that is then loaded on startup
if that makes any sense
if that's not possible, a good options tutorial in general would be fine
Hmm. Skipped through four so far and they all hurt in the soul.
Omg. This one is using combo boxes for everything. Never touched gamepads apparently.
Lol. 😂 Make a settings menu, then start changing settings in game with the console command instead of making them settings for the showcase.
Matt Aspland's is probably the closest I'd come to recommending I guess. He commits an offensive warcrime with hard coding his resolutions, but the rest of it is at least decent. None of them really explain much about how they're saved and none of them are doing anything not in GameUserSettings.
I can't go into super detail at the moment, but the correct way to handle it is that you're supposed to save local settings to the GameUserSettings. Usually you extend this in C++ and add anything that isn't there.
Then there is a Shared settings which is a savegame.
The primary reason for both is that Local is meant to house stuff specific to the hardware you're on. Shared is meant to house stuff that can travel with the user. For example if you have two PCs and one is worse than the other and you're colorblind. One PC can have lower local graphic settings and the other higher graphic settings, but the color blindness setting can be shared and end up on both.
That said you can get away with one or the other for simpler implementations. In BP only you're stuck with mostly using game user settings for what is in it and doing any extra settings in the savegame regardless of them being local or shared intentioned.
As far as how they're saved. GameUserSettings uses a config file. It's just an object that is created early in the application launch and reads config variables from GameUserSettings.ini. When you save your settings it writes back to that config file. Everything in it is already set up to load at engine start for you, so fairly automatic.
For a Savegame implementation, you have to load the savegame yourself as early as you can. GameInstance's init function is an okay place. You can even keep it in GameInstance for easier reading globally from the places that need to get the settings. Then your options menu simply needs to read and write to it per setting similar to the GameUserSettings calls and save it to slot as well when done.
how do I properly set up variable jump height? the built in max hold time is fairly useless as it relies on just the "Jump" node so cant be used with anything else (also allows pressing against ceilings) so I need to create it manually, found a bp setup for it before but cant find it at all now
check jump z velocity variable in character movement component
I said variable jump height
like hold space to go higher tap space quickly for small jumps
Use enhanced input to increase a variable when completed jump
huh
Any one see a reason that both the begin and end overlap would be firing at the same time?
Hi everyone!
I’ve created a journal system in my Character Blueprint, with a page rotation mechanic already working (in 3D form, not a widget with images that represent pages).
Now I’d like to add a widget — containing text and possibly other elements — directly onto the paper pages, with each page showing different content.
Does anyone know the best way to set this up in UE5?
there might be multiple component in your trigger, one of the component might begin overlap while another trigged end overlap
I reparented my character to a wrong one, reparented to the correct one and now all class settings are gone, also mesh and everything, is there any way to fix?
Did you try reloading the asset or restarting editor?
restarting editor yes, reloading asset how?
Restarting the editor would reload it.
You have the correct parent in the top right, but you get no class details or components?
i get the components, but all the class settings and component settings are messed, either unticked or different who knows what values. I had to set the mesh to show up in the actor editor but doesn't show up in the world, and it;'s not hidden
O.o HiddenInGame is true or false?
Should be Visible and HiddenInGame that affect that.
But in general I don't think you can reset them easily. If you get lucky you might be able to put a previous version of the file back from the autosaves.
oh nice, I will try autosave
You know where you find them?
yeah but it's old af T_T
i worked on the char today and latest is 10 days ago
was a nice save tho, ty, didn't know about it
Yeah. :/ Could maybe copy it in and set a different name. Open it and see if it loads. If so you could just copy settings maybe.
print string the other actor and throw in GetWorldTime too to debug.
Hello. Can I add a variable of this type to a struct?
I can't seem to find this variable type in search when creating a new variable. However I can promote the input for a open streaming level node for example into a variable.
seems like a hard reference, you wouldn't ever want that.
if the bp is loaded the world will be loaded, so you will end up loading the world without even opening it.
only soft ptr to the world should be used. I don't think it's available in bp.
alright Ill just ask the robot as usual
is it normally helpfull? I kinda stop asking chat gpt because it doesn't solve the problem most of the time when you ask Unreal specific issues.
especially CMC
if anything it makes me want to punch the monitor becuase it spit non existing functions all the time.
yeah sometimes, often not but if anything I often struggle to understand the way it types it since it cant show a blueprint graph of course
usually its more about giving me the idea of what to do rather than actually solving it for me
often pen and paper ain't enough. Afterall we know what we only know. I tend to look at other people code and example project for ideas and implementation.
I don't know if enhanced input already have anything built in for something like holding or tapping. But I see someone using macro that just checks the time the key is pressed and released.
If less than X time then it's a tap, if more then it's a hold. An exec pin will be fired for respective action (tap / hold).
No this variable type can be manually selected in BP unfortunately
Variables of type world are always soft in BP
I just resorted to loading by name. Not super ideal, but yeah it is what it is I guess 
That color is always for soft object refs
not ideal, if you change the name then your code breaks.
thanks a ton, this is incredibly helpful
You've given me more than I could ask for
Hey Im using text components inside my blupeirnt and everything works fine except one issue. How to control text wrapping with longer text? Is this even possible to create more than one line in this compoent?
@maiden wadi one last question (or two, I guess) what should I do instead of hardcoding resolution? Also, where do you reccomend I handle the saving logic for options/game settings etc? Currently the options specific stuff it is inside the widget blueprint that specifically handles the options, wondering if this is acceptable
IMO the widget should just be a portal. Use it to access and request affects. If you need to put the logic somewhere I would either make a subobject for GameInstance and store it there, maybe even in the SaveGame class you do the saving with anyhow, it can double as a manager maybe. Or in the GameInstance itself. If you were in C++ I'd recommand a LocalPlayerSubsystem, but doing that easily in BP only is more tedious and difficult.
For the resolution... sec. Editor is booting after a code change.
You can access them here. This will give you resolutions that the user's hardware has reported they can use.
Btw @frosty heron Random fun fact I just discovered after years. BP Cast node only does a if (thing), not an if(IsValid(thing))
lol
I found that out super recently as well.
It was trolling me for like 3 hours one day.
Yeah, I had some AI stuff killing components off and suddenly got spammed by it and was just staring at the BP code like "Wtf?... There's a cast node there, htf can it be pending kill after a cast node that does a validity check?!... Unless..."
Yeah, same exact thing.
Destroyed a component, but kept a ref to it behind a cast.
When garbage collection triggered, all errors would stop.
I wonder why cast isn't an IsValid?
Unsure. I find a lot of C++ users for some reason don't actually do IsValid a lot.
So, maybe just habitually overlooked. 🤷♂️
You can't cite performance. It's a BP node.
I used to do just if(blank) when I first started, not realizing the specific C++ difference.
I had assumed it was just some magical version of IsValid, and was working well so far. 😛
Then, it stopped working correctly...
My general rule is that if I'm just pulling data from it I'll do a simple If. If I'm doing anything nonconst, even passing it out to something that could ever do something non const, it gets an IsValid
This feels like the same thing, that I learned in BP a while back (with GC, and how thing still exists, but has the garbage tag)
So, you could still pull values from a invalid ref, cuz its memory data still existed, and the engine just is waiting for cleanup
so question about streaming levels, you can obvs make then visiable or not at runtime question is from my kowladge loading a stream level brings stuff into memory
so if say I wanted to still affect objects within the stream level i'm turned visibality off on so nothing is rendered on that stream level would I still be able to call functions etc on the objects which reside within that level ?
How can I make simple pixel operation on a Texture/Render Target?
You're talking about drawing to like an individual pixel?
yeah
I don't have my old code for that. I was encoding some data for shaders into an RT. But from memory it was just calling uhh.. Either calling DrawBox or DrawMaterial on the canvas.
I have some code somewhere for drawing lines, we use it to draw notes on an RT for bug reports. But that is less pixel specific.
is it possible to add a list from a datatable inside a button etc so when I name the button(text) i can choose from a dropdown menu instead of writing in each name manually? i thought i could create an enum from a datatable in the editor utility script
Sounds more like you want a stringtable?
hey guys i have an issues with my projectiles for my "guns" the projectiles rotates follows velocity and it works for most projectiles, while some are using niagara emitters as visuals but the niagara emitters dont rotate, they are set to local space any ideas what could cause that ?
example, the first ones dont rotate at all while the other one works as intended. so thers something in the Niagara thats locking it somehow
that is not something ive learned about yet, could you tell me how i could use it?
It allows you to set predefined text values from a stringtable. Such as... Sec Need to open a side project so I don't mess stuff here.
no worries, take your time
i saw a video where someone did this from an enum, but i was hoping there was a way so i didnt have to fill it out manually
Ah, that's a little different than I was thinking. I thought you just wanted to be able to pick some text that way, not a type.
I mean that looks like they're just using an enum? Then using it's value somewhere for something probably?
yea it is, but i was hoping i could do it without manually filling out an enum
like if it became 100 different things instead of naming each by text i could use a drop drown etc.
just if there was a way to save time
Is the text just strictly for display?
If i could add more variables to it it would be nice too, but anything would help. its for a skill tree-ish where i would need the name on a button with the skill and then when hoovered i need a description
What defines your skills? Datatable entry I assume?
You could use a datatablerowhandle. And just set that. Then let the widget populate from it.
It lets you pick a datatable, and then a rowname for it, and the rowname is a dropdown like that.
would i need to make individual buttons for each then? the picture was from a button that was reused, but its not a problem if i just need to make more buttons
Not new blueprints. You'd place the same button in another widget and set it's instance editable property.
okei thanks, ill look into it and see if i can figure it out ^^
1 * 2 * 3 * etc...
I made something that works that i need to repeat a few more times, but it got a bit too complex and before i finish it i wanted to check if there was another way that was easier.
I got 5 or 6 different variables, only 2 will be "active" at the same time.
The 2 that is active should be added together and sent to the next part of the logic.
If one is no longer active it should be removed again.
Is it possible to use a bool to stop an "Add" node?
tag on reply pls
if i am saving and loading my game, and i save the player transform, and the current level name, then on load i load the level and set the players transform. why does it instead load spawning to the player start actor in the level instead of the set transform from the save, the save and loading functions are inside my game instance bp
why not delete the player start actor if you’re not using it?
i am using it for when the player first enters the level on a new game,but when they save the game i want them to be able to spawn where they saved/left off
Maybe the transform is not valid, or fails due to collision present and spawns at default, or likely, your initial spawn logic is occurring after the load spawn and overriding it
I’d start by printing out the values of the new xform on load to see if they’re even correct
it does spawn the player at the transform for like a split second then to the player start
i do have a loading screen widget i made i thought possibly could overlay while some logic to fix the player being spawned in the wrong spot is happening, but thats as far as ive gotten w trying to fix this aside from shuffling the nodes around
i havent touched anything w player start its just using the third person template defaults
Yep, so that logic might be loading after your logic
Thats the default behaviour of the game mode. You do want to override that and handle the spawning by injecting your logic that check if a save file exist or not.
how do i do that?
Override the relevant function in game mode that spawns the character at the player start.
You will have to figure that one out, I haven't touch it.
Might not even be in the GM, I can’t recall where Epic put it
this?
It’s important to note that BeginPlay events don’t necessarily fire in a specific order, if that’s where these logics are initiated
The logic should be handled in the GM so it doesn't fight the existing function that spawn the player in the player start.
If you go to the override window in GM, show the lists of options.
Try handle starting new player
Or spawn default pawn at transform 🤷♂️
Check if save game exist. If not call super (or call to parent in bp i think )
If save game exist, then spawn set actor transform. Done.
I think the issue is Im using complex collision for this and apearently that makes the object "hollow" and would fire end overlap as I passes through the edge
how am i getting the transform from the save game, id assume casting but what do i plug intot he object of the cast node
Casting is just a type check. You will have to pass your save game object.
the result of load game from slot
to find out if the generic savegame object it creates is a NH_SaveGame
If you load from your main menu you should already have your save game object reference set in your game instance.
where am i putting that, i thought i was overwriting functions
Then you should have loaded the game long before this, or just load it blocking
Your loading has nothing to do with overwriting the function.
yea i do, but you said in game mode for this
Yes i do and u are just not understanding the loading bit.
i am trying..
You should already loaded your save game file before the map is even open.
E.g at the main menu.
thats what i have setup..
And the answer has been given.
no? you told me to overwrite the function in the game mode, how am i using what i set in my instance bp in the game mode?
then get the savegame object from whatever is holding the ref to it
If you already loaded and set your save game object then use that object to pull your saved variable.
show where you save a ref to the savegame object
and what type it is
i have already...
Get MyGameInstance->GetMySaveGameObject->GetMysavedTransform
Don't even need to cast if the save game object variable is already the type.
Can you post again? The last picture doesn't show that.
if i am doing this in game mode.. how am i getting my instance's shit in it, yall have confused me
just type get game instance
the game mode can get the game instance
GameInstance is persistent object. You can get it anywhere.
and i have.. how am i getting the save game ref from that?
GetGameInstance-> cast to my game instance -> get save game ref -> get transform
ok so assuming this is in game instance
Spawn default pawn at transform -> get game instance -> cast to your game instance class -> get save game ref -> is valid? -> yes -> read stuff off it
i jsut said i have that..
thats rly not my fault.. im sitting here trying to understand, no need to act shitty
Im not adriel have also said what to do. You are soo eager to reply, please take your time to read and implement.
Do you know what casting is?
i am...
This is what you have to do
you don't need to care about save slots at this point
the save has been loaded
it's SaveGameRef
just read the data off it
well ive been told both so 💀
You are just misunderstanding we are saying the same thing.
again. sitting here trying to understand
Here's what your code should do verbatim in english
OK we want to choose where to spawn the player's pawn at.
Let's see if GameInstance has a save game ref.
OK it does, let's read the last saved position off of it.
Sounds like you were told something that contradicts because its not.
you said to check if the save exists
Yeah? Or you can just check if the save game ref is valid.
You want to be overriding the function that returns a position or transform. That function returns an actor to use as the start spot. You won't have an actor wherever you saved the characters position at.
Yes that's better.
so im just doing the wrong shit still..
@faint pasture should it be on handle player start?
Either that or spawn pawn at transform
whichever one lets you manually set the transform of the pawn
Sounds good
that dosnt have a transform tho for the output
You return the pawn here
just choose whether to use the incoming trnasform or the one from the save game
this is where you actually spawn the pawn
spawn it at the incoming transform unless there's a saved one, instead spawn it there
sothis,
yeah so fill in the 2 paths
set actor transform?
spawn actor of class class being the thirdperosn bp?
protip, you can have multiple return nodes
probably being the result of GetDefaultPawnClass or whatever on New Player so it won't be hard coded but yeah
closer to this?
Almost there
Might want to change the spawn rule to adjust location, always spawn. Otherwise you may end up with no pawn if for some reason the location is somewhere between the floor or a wall.
do i need to promote the class to a variable, it wont let me drag it into the spawn actor node
This is a random spawn of 3 objects in 6 different places, how do I stop it from spawning 2 objects in the same place?
I'd just shuffle the array and get the first 3 of them
try drag off it and hit spawn actor
making the class the clas of my player bp just gives me a freecam even when adding a possess node
As Adriel already said:
Also: Generate and save the array to a variable, before looping. Otherwise you generate it over and over again in each loop for no reason
thanks
hey yall im not sure how to exactly ask this question but,
Im looking for a way to use a dropdown selection (like an enum) when calling a function. But i need that selection to associate itself to a certain class so that I can use that certain class in the function.
For instance in my pics, i want to pass that input into a setter of that type of class.
how can i do this?
Do you actually want a class ref or a valid ref to an object of that class ?
I believe just a class ref , because when this function is called there may not be an instance of that class in game yet
If it’s to spawn an actor from that class and depending on the scale (i.e. how many diff object classes you can choose from) you can do switchOnEnum and get class, selecting that specific class. If you have a lot, you can probably even pass the enum’s text value and convert that into an actual class name
hmm ok , im familiar with get actor of class but not "get class" i dont see that as an option?
i figured i couldnt use get actor of class because that checks for an actual in game instance of that class right?
Get class only works on a valid object to return its class type
If you do this manually it would be switchOnEnum -> Shotgun -> SpawnActorFromClass Shotgun already selected in the dropdown
And so on
One spawn actor node for each return type
For each execution path you’d just save that spawned actor into the same variable if you need to use it generically (but you’ll have to cast back into it later if you need to access class specific things)
ah yes , i see how that would work for your example. But I have other check in the function prior to spawning the actor and need to ref the inputted class prior to spawning it
Then you need to go the other route where you turn the text into a valid class
I’ve done something along these lines where I pulled a text/name from a DataAsset and spawned the class from that name
I don’t have it in front of me but iirc I think you can use one of the conversion nodes to convert a name to an actual class name
cool! looking up right now what node can "convert a name to an actual class name"
typed in "conversion" but didnt see an obvious answer 
But it might very well be that I did something like have a DataAsset for each object, and looked up that specific asset using the keyword, and the DA referenced the class within it - in fact I’m almost 💯 that’s what I did
Sorry, it’s been a minute, I’m having a hard time remembering but the latter is probably what I ended up using
Given I had to use it to create a sort of card system within the UI that also allowed spawning an object from that class
haha k! , ive never used a data asset before , so ill google that and try to give it a go . TY!
@lunar sleet So i was able to get my objective done via this method. I guess only downside is I have to create the variables within the function (if that's a downside idk? 🤷♂️ ) . Still going to check out the Data Asset method as well though
maybe theres a better option! , but the reason i want to use an enum is for the dropdown when calling the function
^^
subclass of BP Pickup
whenever I see parallel enum entries and classes that's a smell, just pick one.
I'd use the classes though since it's an open-ended set, there's infinite possible pickups you'd make
please explain! whatcha mean? yes the things listed in the enum are all child classes from BP_Pickup
why have the enum then?
you have to add an enum entry AND a class to make a new thing
just have the classes
you just need a list of all the subclasses of Pickup somewhere to be able to pull from
data table, data asset, just an array, whatever
im using the enum , so that when i call the function , i can just simply choose from the dropdown. I can get the same thing from an array of type BP_pickup?
Probably, I know you can with a variable
copy that function and change the ability enum to a pickup class ref and see what you get
Yeah, def use inheritance where the case allows
Hey I'm wanting to store an array of structs, but I want to be able to put something in it, but then later be able to remove that specific one from the array, what would be the best way to go about that?
I can't really use map because I won't be able to generate specific keys for it
Specifically It's a modifier stack
So I might have two 2x modifiers in there
I can't keep track of indices because those can change when stuff is moved
ahhh sheeeesh!
yay! so clean . now i dont have to add to that function for every new ability :))
i didnt know that when I change from object to class within the function inputs that i get that dropdown during a call , TY!
Try find item and then remove that index
if you have two of the same struct, you're going to get both of them
kind of ended up deciding that maybe a uobject would be better
that way they can just self destruct themselves or whatever
because the class exists at editor time but the objects kinda don't
imagine having a drop-down for dog breeds vs having a drop-down for individual dogs
yuhppp , this makes sense. Ill def get some use out of this
i have this ui widget that makes up my titlescreen which is a level isteslf. but the logic works completely fine when played in editor, but if i play in a build the menu logic just loops back to the titlescreen
if i click play standalone game it also works fine, but when built it just goes back to the titlescreen
Two characters (player and other). Player is setting "currentobject" variable from an array of objects based on which one of it they're looking at. When I reference Player in Other's BP and try to get it it says currentobject is "class unknown" and out of scope and won't execute blueprint after the Is Valid (cause it's not valid apparently). But why?
I am getting a ref to Player first.
Show the code
Best guess.
With your use of the name based, the level is not in the built game.
Have you checked that its in the built game, or ran with -log, to see if its spits out some like can't find level by name
I forget if it auto cooks the maps folder, or if you need to add to some like extra levels in the project settings.
ill have to check in the morning, ty for giving me an idea in the direction to look
Does anyone know if you can change the input mapping context - interval value when the trigger is pulse during run time
Is the only way to do it by changing the mapping context
Try to add your level in project settings
@trim matrixIt's easier and more dynamic if you use the asset manager.
You can have an entry like this. And then as long as you put your maps under a folder named Maps in the content browser, they'll get cooked.
Should this work for assigning an index to each npc? The controller where I'm getting the array from uses "Get all actors of class"
It works
Does bolean by ref not work if the reference is coming from outside the function?
Thanks, ill give it a try ^^, what i did was make everything and have it work, but when i collapsed by function it stopped working.
is there a simple way to scale a vector lenght? grok/chatGPT keeps saying to use vector * float, but there is no such node
There is. The new math nodes are shitty. You have to right click on them and convert to float for the second vector pin.
yeah I saw it just now, the "conversion pin" options .
You can also do a LiteralFloat and plug that in as well.
took me forever to find it I thought the IA was trolling me
Lol, yeah. I'm still not a fan of the new nodes to this day. :/ All they do is annoy me when trying to use them.
A new stack-o-bot has come out, it has a jump like Mario Odyssey, does anyone know how it was made, I believe it’s in C++, does it only exist in Unreal Engine 5.6? https://cdn.artstation.com/p/video_sources/001/088/917/jumping1bshort.mp4
<@&213101288538374145> This Yuliza guy is spamming everywhere ⬆️
It is explaining how it was done though. If you're walking, it recalculates Z every frame. If you're not, it keeps the same Z
Hello , when im trying to possess car in the client inputs starting to not working
wrong event
you want on controller changed or whatever it's called
event possessed only runs on server IIRC
when i grab the ground and move around the skeletal mesh starts spazzing out like crazy (this also happened when i replicated this with a cord component). also when i grab a object instead of the ground, and move it inside a wall or near the ground, the cord/skeletal mesh doesn't stay attach to the object, it simply just moves in the location where the block would be
so i just need to make it so it can actually anchor to the ground/object rather than simply setting the location, any idea how to do this?
When possessing with client 1 its starting to affect client 2
From OldController, you should check if it's valid and disable input if yes.
From NewController you should check if it's valid and enable input if yes.
You should delete GetPlayerController and almost nearly never use it.
still not working though
What would be the best way to start with applying a damage effect to the screen when my character is at low health? I made it as a post proces material
You're missing the playercontrollers.
Idk what the best way would be but postprocessing sounds like the right track
Make your damage or health setter set an MPC and use that in the post process.
I have my health and damage set up
MPC properties are global. This'll work as long as you're not splitscreen.
MPC = Material Parameter Collection, for completeness.
my current code for health
You mean like this?
Basically I want the glitch effect to show whenever I take damage, and when low health the screen will crack
Glitch can be done one of two ways. Either animate it with a timeline or set your material up to take a LastTimeDamaged, and lerp from CurrentTime however you like mathematically.
The screen crack depends on how animated you want it. For an immediate thing you can just set the MPC here in this function you showed based on health percent.
But this can also be animated with a timeline by using play forward and pauses and such based on where you want the cracks to be.
So based on my code how should I go about this? I am a bit new and this oart has me confused
I would start with your cracks, ignore the glitch for a moment. You need your current and max health.
CurrentHealth/MaxHealth = HealthPercentAlpha
Healthpercent alpha will be a 0-1 value that you can set in your MPC. The post process can read from this and set cracks visible if HealthPercentAlpha is within the range of like.. 0-0.4 or whatever for 40% or below.
Once you are comfortable with the immediate MPC sets, you can make a timeline and experiment calling it to set the MPCs over time.
Trying it out now
That's not at all what he said
read the code and understand what it's doing
Yeah I am not sure what I am doing wrong. it is not working
Do you mean for the value to be 0? And what is Switch?
That as well. 😄
Protip, just put every little code block like its own little world. It'll rule out all these pin draggin bugs
What's the test for setting the scalar parameter value, that Player Health < 70? Then do just that. Just drag another player health get in there and make it its own little thing
Just like that, perfectly readable and skips whole classes of bugs
No that was just to test if the damage screen shows up sub 70hp
Baically I am trying to have a screen effect that is a post process material when the player is low on health
First make sure it works at all, apply it on button press
So since it is a post process material do i add a pp component to the button press? I am sorry for all the questions. I am still learning
I'd use an MPC
Thats a negative to the button test
show how you're setting the MPC parameter value and how you're using it in the PP material
first just get the PP material to apply at all, make it bloody all the time
If I just drop it on the camera then it works. This is a material instance of it
ok so leave it on the camera
and make it use the parameter from the MPC
and then set that parameter in your health managing code
So how do I even do that.
Welp I’m going out on a limb here and will ask for assistance here. I’m doing a Soulslike game project in Unreal but I’m accessing none for my StatsCompoment(sets health and stamina). Here is what I have so far
I did a validated get for OnStatValueUpdated and while it does pass true the validated get for StatsComponent isn’t valid
You need to validate this before using it anywhere, which is after it's set in the Initialize before the Bind calls.
if zero, that means the framerate limit is unlimited?`?
If memory serves that is correct.
I see. I’ll try to use the validated get within the Intialize function and see if that works
To add to this though. If you are at reusing this widget, don't forget to also unbind the current StatsComponent before overwriting it and binding again.
And if I'm understanding this correctly the StatsComponent is on your Character. But you're reading it from your Controller. GetOwningPlayer here is a controller. You'll probably want to add a GetControlledPawn between that and the find component call.
Just don't take it off. Make the material itself. Read the parameter from the material parameter collection. Then when you change the parameter in your blueprint code the post process will just fade in
Okay. So I have gotten it to apply via button press now
hey guys i have an issues with my projectiles for my "guns" the projectiles rotates follows velocity and it works for most projectiles, while some are using niagara emitters as visuals but the niagara emitters dont rotate, they are set to local space any ideas what could cause that ?
It'll be literally two nodes. Button press, set scalar parameter value in the material parameter collection you made.
Right I already have that and got it to show up. I was just trying to get it to show up under certain conditions
Lol, wtf? Is that just a UObject?
How.. Is B not set?
You don't mess with it in the widget do you?
I can move the print before the list view add to assuage that concern if you want!
And yeah it's just a UObject. It's got no code, only one variable, it's just there because my level definition is a struct but ListView needs an object, so I have an object holding the struct
same result
This is what I'm here to try and find out lol
I'm trying to figure out why my level select menu stopped being populated, and it turns out the data to populate it just... disappears
Bp structs? 🙂
Nope, the whole thing's nulled out
That's insane. I've never seen that before. 😂 There's absolutely no reason that shouldn't be valid directly after the create node.
Out of curiosity. What happens if you delete the create node and recreate it?
Maybe it's internal nodes are herpderping.
Cause the Construct node should expand out into setters for every ExposeOnSpawn internally. Maybe they're broken somehow?
No dice, same issue
That's Epic™, truly Unreal™.
I'm gonna move on because it's Fixed* but I'm just stuck thinking about how that solution proves how insane the problem is. If the issue was anywhere else, if my widget was fucking it up, if my print statement was somehow bad, whatever, then THIS wouldn't have fixed it
Nice, got that version for work. Will have to try that out. 😂 See if I can break it as well.
Couple more facts if you wanna go down this rabbit hole
- This code used to work as originally written. I made the level select list months ago and just noticed a few days ago that it had stopped being populated. I don't know when it broke, I don't use that title menu often for development but I'm prepping for PAX right now. However...
- Also as part of that I had to unfuck my packaging, where one of the main problems was a bunch of issues where some class had an old version of a struct. I mitigated it by basically deleting Binaries / DerivedDataCache / Intermediate / maybe Saved, to force a full recompile from scratch
- That happened between when this worked and when it broke, though admittedly there were also months of time
I'll just say that the deleting of generated files "shouldn't" cause this. Well, nothing should cause this, but.. 🤷♂️
If anything I'd expect refreshing generated files to fix things like this. But not in BP.
I had a similar problem in 5.5.6 way back when, a struct was passing data before deleting generated files but after, it stopped working.
Could you test to see if putting a print string or delay of .5 instead of doing “set” would fix it? Got a theory.
then which controller should I use?
there's no controllers except player controller
in the standalone those inputs are not working as well
The controller of the pawn
The node is get controller
NOT GetPlayerController with index.
Anyone know why this isn’t working in my level blueprint?
-I have 5 child classes that inherit from 1 parent.
-I created an array of type, parent class and filled it with the child classes.
-Nothing spawns in this configuration.
If I choose a child class manually in the Spawn node (no array input) the actors of that child class spawn just fine. Am i using the wrong array type? Can’t seem to figure out what’s going on.
anyone?
Use last index instead of length. Arrays start at 0, but length will count 0 as 1 resulting in a number 1 higher than the last element in the array. So currently there's a chance it tries to grab a non-existent index and not work
Interesting will do that going forward ty. Sadly though that did not fix this problem. Apparently it is thinks my class references are NULLI keep getting this error "Warning: UGameplayStatics::BeginDeferredActorSpawnFromClass: can not spawn an actor from a NULL class"
Not sure why they are defined as class ref types
idk, I'm not too familiar with that to know what the issue is. Maybe someone else knows
Thanks for your advice regardless!
have you set the default value of those variables
Haha I literally was just about to type in here that I found out I didn't set default values. I didn't realize that I needed to do that but it makes sense.
Thank you!
So what's happening here is that you're declaring your variables but not defining them. You're saying, this variable will be of type X but not actually assigning a value.
Firstly, use a for each loop on your target points, then you guarantee to stay in range. Then, instead of your current class selecting logic, use a select node, plug the random integer into the bottom left pin, plug the wildcard output into your class argument in the spawn node, then you'll have dropdowns you can select your classes in i.e. 0 = class A, 1 = class B etc
Can someone help me find out why my variable isn't updating? I have an array in my AI controller for the future locations of my NPC's. Then in the NPC bp I have a pure function to get the future location of the current npc and then another function to update it to the array. The problem is that when I print a string from the array at that same index I added to it shows coordinates 0, 0, 0
I can provide code if someone wants to help me with this, would be greatly appreciated
Hi guys,
I was trying to implement saving and loading system of the states in my game!!
I was watching this video btw: https://youtu.be/IptnIONb6yY
But im having some problems while implementing it
so rn while im picking up the key and saving it and loading it, the key is destroyed but its not changing the HasHODKey bool variable to true inside the player and im not able to open the door as HasHODKey is not true
Can anyone please guide me to solve it?
Support me here: https://www.patreon.com/halbotstudios
Get my assets here: https://www.fab.com/sellers/HALbot Studios
Join the Discord and showoff your work here: https://discord.gg/Syccf4gTwE
Prerequisites:
First Person Character: https://youtu.be/BMZAb6beG90?si=hQ4WrFEzG61UleIH
Main Menu: https://youtu.be/-7AImBLxrh8?si=FcRLHl7bD-dO9Z0W
In...
What is HOD
thats just the name of the actor
Fixed it with "Size to fit" when updating the array of future locations using set array element. An item never existed so there's nothing to set
So basically the HasHODKey isn't saving? Also shouldn't you have those variables in the save class?
Idk if you're doing that already but just check that first. Check if it's actually changing the state of it in the save class
I am having HasHODKey variable in savegame
but when the player is collecting the key, it should change the haskey variable of bp_door to true but its not changing into true
So it's not changing the save class variable?
yeah i guess so
how should i check it tho?
There's always a contextual way to get a controller when you need one. Widgets have an owning player I think it's GetOwningPlayer in a widget. Pawns have a controller that possesses them which as ColdSummer pointed out can be gotten from GetController.
GetPlayerController just grabs the first controller of the game. For the host this is their own controller. So if you do things with the controller expecting it to be for the client, this breaks.
Print the save class variable state on beginplay
Doesn't matter where really
if i leave the draw time to 4 shouldent the "trace" last 4 seconds then ?
or draw time is purly for testing purpose and the trace just happens when called ?
That only relates to the debug draw. Traces are always blocking.
Provide code
I fixed it.
Although there is a new issue
I mean not sure if it's an issue but yeah
My array has an empty item
i want my enemy bp to attack when the player is in the attack collision box but idk why it doesn't go true can anyone help
out of interest is there a way to break on when say an exception is hit ?
I'm getting my game to work on level streaming method cause at the moment I'm getting odd issues happening like in this video
if you can see when I walk around a corner it seems some static meshes pop in
Breakpoint to find out how it gets added
and for a glimps you technically can see through to outside
Depends what you mean by exception ig
so for now ignore that exception question
I think I want to solve this other issue first
i think its smarter to avoid tags because they are sensetive. try a IsA node and select your player as te class. try to see what it prints. does it print anything at all?
anyone have any idea on the culling issue I seem to have out of now where
the video above should show it, happens mainly when players going around a corner it's like some stuff renders in odd timing so you see the pop happen
i need some help with something aswell. i have a system where i want to rotate the player. the movement need to correspond with where the camera is located. im stuck on getting the movement to work succesfully. right now with this setup you see if i rotate the player start capsule component in the world 90 degrees, it works quite well for 0 and 180 degrees. the other 2 degrees work aswell but the animation doesnt work. also, i dont want to have to rotate the startcapsule as you can imagine. how would i resolve this issue?
The default character has settings on it for rotating it. UseControllerRotation to be precise
My impression is "get supported resolutions" is giving too many resolutions that will never be used. is there an easy way to disable some obviously errenous ones?
or do i need to do that manually
What is errenous about them?
This is a pet peeve, but I never liked when a game gives me every resolution under the sun
It's not every, it's just the ones that your graphic drivers report that you can use.
I can't recall the last time I've actually had to pick a resolution in a game. But I tend to just leave things in BorderlessWindowed rather than Fullscreen or Windowed.
Is borderless windowed = fullscreen windowed? 🤔
ok, thanks
But to answer this directly, you would just not add them to your combobox. But how to pick those would be up to you, though I strongly caution against that course of action because assuming user choice is enough to kill a game. If it can be a setting, it should be a setting. 🤷♂️
are you asking in general ? because the loop has nothing plugged in ?
I'm still learning about what tf to do with loops. What do I need to do with the top pin
Top pin is whats executed for every iteration.
Maybe just start with print string if you have no idea what the pin does.
I get it. I'm very autistic when it comes to user settings, I'm one of those freaks wants as little options as possible -.-
well i tried IsA node like u said and wow it works fine now
What growing up a console gamer does to a brain
I recently played Crow Country on steam, I can't tell you how positively I reacted when the settings were nice and simple. Granted, that's got old school graphics
i have a hook that shoots out that can lift objects and move them around using physics. I want some objects to feel heavier than others and i have no clue how i can assign strength to my arm, and assign weight to objects and make gravity happen between those 2 numbers.
from what ive been told, id just connect the two numbers somehow into a vinterp node, but i don't know what to do for most of this.
i can send over screenshots of the code if needed.
i wonder how i didn't know about that node and its pretty useful, i always used tags for things like that @dense depot
Anyone have an example of using a State Tree for character controls,
You might consider turning off gravity for any lifted objecf, then used fixed force to move them towards the cursor. Objects with more mass will move more slowly.
Usually lack of settings on a PC game means it was a console port and or the dev didn't know wtf they were doing. 😂 But in all seriousness you could do that as well. Make a simple options menu with a setting to show a more complex one. People can set quick settings easier and not be overwhelmed but anyone who wants to fine tune things can open up the advanced sections.
yeah, that's a good idea
I think it also heavily depends on game type and such. An RTS or RPG is going to have a shit ton more gameplay options than other games. Anything competitive had better come with graphic settings so that people can have their 9001 FPS. etc.
maybe but i want several different objects to have different weights and i also want this to work in multiplayer and i feel like that would conflict
You can set any individual object's mass to whatever you like.
Yeah, absolutely. I think you represent the fairest viewport, from an industry standpoint.
For me, stuff like this where the graphical settings are extremely granular, where the user has no hope of really comparing and contrasting certain individual setting without opening and closing the menu repeatedly, this is unnecessary at best and an attention gravity well at worst.
It's good to ask "if it's an option, put it in" but the opposite question should also be asked "what settings are unnecessary or can be put under a broader graphical option?" etc.
Of course I'm partly dying on this hill because I just don't want to spend the next month on UX/UI
Where is this from? O.o
Call of Duty: Warzone
Lol?
Wow, these are.. badly categorized. :/ Like a primary case.. Wtf is NVIDIA DLSS settings doing shown when you have FSR enabled? The others like qualities should be categorized together like Unreal's scalability settings. DOF isn't a quality setting it's a feature, it shouldn't be in the middle of quality settings.
hahaha my man
I mean badly categorized but definitely useful
Yeah, I'd 100% put every one of these in an options menu. But never like this just thrown in carelessly. I mean five minutes of sorting this would go a long way.
fair
still tho
why have one vsync setting when you CAN HAVE TWO
my sensory overload = 😭
I'd have scolded the UI designer sideways and told him to combine the two vsync settings
Lol, that's actually kinda common among FPS players, weirdly. They don't want their GPU burning out in a menu but are fine with it being a heater while playing. Though it's usually a framerate limit and not VSync.
trying to make it so i can pick up objects with weight with a telekinesis like thing. how do i set up my vinterp node to where i look and the mass of the object with my strength
do i subtract the weight and my strength.... or what should i try to do to replicate physics
i guess it's a probablem that perpetutes itself maybe? poorly optimized FPS games necessitate more user defined options, where before they didnt
Trying to think how such huge option menus became a thing
interesting though, I would've had no idea that as the reason why 👍
It goes a long way to hide unused settings for things though. As a case example. VSync is useless when not fullscreen. So when our menu swaps off of Fullscreen, we hide non related settings except for resolution which we still disable. Just important to see the resolution it's rendering at still even in Windowed.
Now we're talking
If you're still struggling, you could have "simple" and "advanced" settings so that you can streamline things but provide granularity to those who want it
Yeah. I mean I'm on the opposite end of that spectrum. I groan and roll my eyes when there's no settings in a game. 😄 Settings are awesome. User preferences are very good things. But part of UI/UX is being able to present a billion things to the user in a non overwhelming way.
I think a lot of UX designers get a little stuck on the "less clicks" rule. So you get a lot of stuff that is flattened. And while less clicks is generally good, specially for repetitive areas, it's not a one stop solution to stop user friction with the software.
Omg I hate settings in games
Have to give a pass on PC because of graphics settings and audio device settings. But so nice when I just load some simple console game and don’t have to worry.
Omg I hate gameplay related settings.
To many times, they just reason to make the experience less carefully crafted by the game dev.
Just ranting
But again, this is highly game dependent. Consoles have less hardware to support, less buttons to use, less ways to input. Most games made on console account for this with doing UI differently and not relying on the mouse, and having to work around not have a keyboard with a lot of separate ways to hotkey things. You get people who hate keyboards, or people who hate mice and want to do as much as they can on one or the other. Specially in competitive type games. And there are already so many different standards for game types that it's hard to onboard people without supporting multiple styles that they might be accustomed to already. You can ignore this on a console because everyone uses the same 14 button + two analog stick controller.
The hardware is vastly different between user as well. As a console you're hooked up to a TV and you have the same GPU and CPU as everyone else, so you can tailor the experience to the console. You can't do that on a PC because you need to allow the person running an ancient 970 card to be able to somewhat play at least while still allowing the person with a 30xx+ card have nice visuals. I mean even Console games have started having a Performance and Pretty mode. But they don't need to be as granular about the controls because there's a massive lack of tech diversity to have to account for.
It just stresses me out when I load a game for the first time, and I just wanna click new game, but theres this options menu to click on first 
and then the options menu be spoiling the game omggggg
Like didnt know there was a driveabe tank in the game, and now it spoiled it
and like omg what difficulty and I supposed to play.
so stressfull
also... i feel like im losing cause of my keybinds.
im less efficent cause of my keybinds
stressfull
but ofc, super game dependant.
IMO you shouldn't be showing an options screen first thing unless it's specially for accessibility like language, brightness, maybe color blindness, etc.
90% of the time however, asside from graphics and technical stuff, I feel like the game could have just been designed better to avoid half the options menu. Idk the last time I played a nintendo game and had to think about keybinds. They just make it easy to learn and intuitive.
Ikr just dont show me.
And dont force me into decisions before ive played one frame of gameplay.
Ngl sometimes character creators get on my nerves with that. Some games, the class choice ends up dictating alot of the game, and you cant switch it later.
How am i supposed to pick which one I want before I even pressed W once 
At least let me play a short intro before choosing
I like it when games just show the bare minimum in a condensed format, before the game starts
Just the few screens that let you select screen brightness, and basic accessibility stuff.
Then put you right into the game
Lol yeah then people start giving bad Steam reviews cause they’re like “omg, this game doesn’t even have this option”. Meanwhile they just had to open the options menu. You can’t win with entitlement
People always get mad man, even add the options in and they still mad
People just like being mad
Everyone needs drama in their life, they just me making it up
I always try to avoid using tags because they are very sensetive, i only use them for quick tests. Whenever i used tags i would find myself hardcoding a lot of stuff which is suboptimal. Im glad it works now.
Thanks for your suggestion, i managed to fix it in some other way.
Volume/Audio IMO as well
I hate when I need to complete the entire FTUE and it’s painfully loud
And then I have to guess when I can bail out of the game to open the main menu
They're not sensitive. In fact they're not even case sensitive. And they're very fast to compare. His issue was that he wasn't using the actual Tags array.
For sure, yeah. At the very least a general volume, but may as well stick SFX and Music there as well.
Got a bit of an open ended question for you guys. Im trying to do something like this for my character.
Where when they turn 180 they will kind of stop for a split second and do a turning animation, and quickly come back up to speed. I think I know all the parts for it I'm having trouble figuring out what should be handled by what.
Meaning should I handle this mostly with a root motion animation? Should I turn the whole character via something like a timeline instead? And what would be the best way to detect that 180 turn
also shoulda mentioned the character in question is a 3D character but moving in a side scroller fashion
one thing you can do is have a custom camera that does that when going back and forth
then it's just a matter of animations
is it the animations, the movement, the camera or all that you don't know how to do ?
I know how to do all of them individually. Ive made custom movment and aniamtion systems for the project. Im just trying to think of the best approche for something like this
Fullscreen seems to not give me fullscreen... while windowed does. What is going on here?
If I hit fullscreen in a seperate game window, black bars appear on the bottom
because in my head I would do "detect 180 turn" and play turning montage, but then where to wrap the movement, should it be via root motion of that same animation or thorough some other system. And again with the whole 2.5D part of my project im not 100% sure what the best way to even check that 180 turn would be
Doesn't work correctly in PIE. Make sure you test those in Standalone or Packaged game.
in standalone, fullscreen ends up giving black bars at the bottom where the windows taskbar used to be
while windowed removes them and appears to give an actual fullscreen
O.o
yeah :/
Let me check my code in a sec. But I'm pretty sure that's all mine does.
Yeah. Just calls into SetFullscreenMode.
hmmm, this is odd
there's a video of it if that helps
hmmm, i've just had to fake things. Fullscreen gives windowed fullscreen, while windowed gives windowed
im avoiding actual fullscreen for now
Your desktop resolution is also 1440?
i think it's 1440p yeh
Curious if the black bar goes away if you change resolutions.
I'll test that in a bit
Cause I know that you can end up with black bars from aspect ration of the camera being clamped, but that's usually both top and bottom or left and right, never like one side.
I would have assumed the same would be true for any aspect ratio mismatches.
So forcing a resolution set after seems to work
i can't set resolution after since the functionality isnt there yet
it removes the black bars at least
im curious tho
is there any reason I can't just use windowed fullscreen instead of fullscreen?
it seems to give the fullscreen effect i need without any inherent downside
It highly depends on the user. Fullscreen has been reported to both help and harm some people over FullscreenWindowed over the years. I don't personally think there's any real difference other than Fullscreen allows resolution change. You can streatch the game across the screen and render it at a lower resolution... But in these days that's kind of a waste cause you can just use upscalers now which do the same thing, better, and keep your game sharp looking.
that sounds like you don't mind if I make "fullscreen" = windowed fullscreen lol
seriously though i appreciate the in-depth explainer
I don't know how i'd get this knowledge otherwise
Like over a decade ago, I used to never use FullscreenWindowed in games. I had to lower my resolutions cause shitty video cards. These days it's a whatever thing. I'd say as long as you allow a setting to clamp the cursor to the game, then it's unncessary, but I'm sure you can find people online who would disagree.
What's the node to clamp the cursor to the game?
It's part of uh..
Shit, complex topic. 😄 You know them as InputModes unless you're using CommonUI
SetInputModeGameAndUI, SetInputModeUIOnly, both should have a.. clamp cursor to screen or something similar setting.
Hello. I've tried all the trial and error methods. It definitely seems like an engine-related issue. However, I need this version, the 5.6.1 blueprint, which is 16 kb. I need to update the mobile game to this version for compatibility.
The problem is, the mobile game I made with Unreal Engine 5.5.4 blueprint runs flawlessly. I updated the game to 5.6.1 blueprint without making any changes. I packaged it for Android. When the game is first opened on my phone, it looks exactly as it is.
I closed the game on my phone and opened it again. This problem occurs. It also doesn't trigger the button placements correctly.
im using common ui 🙁
Can anyone help?
You're correctly using Activatable Widgets?
I'm not an amateur. Everything is as it should be. Cutout region etc.
Of course, I might be making a mistake that I've overlooked.
i think so. im pushing and pulling them on the screen in a single widget that acts as control
no problems with the common ui side of things
CommonUI makes SetInputMode's pointless, cause it does them internally using...
so commonui doesnt require clamping in the cursor?
I'm not seeing a difference here other than the lighting? What is the actual issue?
black cut areas on the notch sections.
Oh. Wow. My brain completely ignored that. 😂
normally
This is a big problem. Despite reporting this issue to Unreal Engine 5.6.1, it hasn't been fixed. However, I need 5.6. Otherwise, the game will be removed from Google Play.
Seems to be an android specific setting for the project? Uhh.. Sec. Google is vague.
That's why Google won't remove it. Google wants me to update it to 16 KB. This was only done with 5.6. My game is currently live on Google Play with 5.5.4. There's no problem with that. However, there's this problem with the 5.6 port.
Do you have an AndroidManifest.xml?
Is this checked in project settings?
yes. but not this problem
The whole problem stems from a collusion with the AI. We suspect incorrect caching. Because the game opens normally when first loaded and opened. The problem persists when the game is closed and opened again.
All I can find is that you need something like this in your Manifest file. 🤷♂️
<activity android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
Epic documentation. It warns that the manifest function to be performed must be here. For the blueprint project. Here is that tag. My previous attempts always gave an error.
I dunno. It's a pretty specific issue though so I would ask in #mobile if you haven't already.
Honestly, I keep asking everywhere about unreal engine
I can't for the life of me figure out why this Actor BP (just a StaticMesh) won't generate hit events. I just want it to collide with WorldStatic or WorldDynamic things, just like the player does
Gosh, fullscreen is a nightmare. When I set different resolutions three consecutive times in fullscreen mode, my GPU crashes. I use this code for it. Anyone know?
The player is a different object type. The things need to have worlddynamic set to block on them is that set?
Wdym crash ?
I'm trying to make it so the objects im picking up have weight, such as, if its a bit too heavy for me, i can't pick it up all the way, but i can kinda throw it a bit and i can drag it on the ground if its far too heavy.
how can i define a strength of my arm (already in a variable), a strength of the object (i already have that defined), and then make it replicate physics based off those numbers
(fyi there will be several different objects with different weights)
For one thing you using interp incorrectly I think
i'm aware. i have no clue how to use interp
So the idea is the current is the current vector and the target is your target vector
So your always feeding it the current
And a target
hm
what does current and target vector mean
like
is the current the current location?
and target where i want it to go?
Yes
Ok
Exactly
What is the actual crash report?
i get that
but
where do i incorperate the weight into the mix
for the target place
The interpretation speed possibly