#blueprint
1 messages · Page 348 of 1
there's also a variant that lets you set all parameters in one go, typing "set <name of camera rig>" should show that one
is there any method to setting a view target as an HISM instance? or a way to do this without needing an actor ref?, doesn't even need to be set view target with blend, but a way to "focus" in on a specific item when interacting with it. in this case, a computer, but there are multiple in the room, so they are HISMs, but not sure how to properly zoom in and focus on it
how many of these computers do you have in your level? HISM doesn't seem to be the right solution for this if it's interactable objects
it's probably much easier to just create an actor with the static mesh and a camera, then setting them as view targets should automatically do what you want
you might be right, i've prob over done the HISMs, quite literally most things are apart of HISMs, but most things are multiple but majority isn't interactable. computers/doors and maybe some other small things that would do simple things upon interaction
computer would be more involved tho, so it would make sense for those considerign i want the view target etc
not sure if HISMs can even have code associated to run per instance, probably not, so interaction would be very limited in any case
the whole point of these is to make it efficient to have a lot of them at the same time where lot typically means thousands or millions
you can for sure, it's just a bit more involved to get the proper index sometimes, but in most cases it's not super hard, looking back it would have served me better to make a custom component for interactable parts of houses etc
well maybe not exactly millions...
lmao well i def don't even have thousands in most cases, so probably overkill but im making houses out of peices so it works in majority of cases, but i do it with interior stuff as well that has multiple in the hosue , but yea no way to get the instance as a view target so i'll have to just make them actors or find a work around for what im tryign to do
if all you're interested in is focusing the view on them, you can probably just have a second camera that you manually point at the instance that you're looking at
that might be the ticket
yea that works v nicely. just adding the camera is simpler to my setup as my houses are bps, made up of many isms
if i had 2 cameras, would there be a method to know which one it would go for?
depends on how you implement, I think
or i suppose i could move the camera itself for each instance
if they're both on your player character you can switch between them by activating/deactivating, I think
i mean 2 cameras in the house bp, so when i swtich, it will nknow which camera to point to
if it's an external camera actor you can just use set view target on that after positioning (and set view target back to the player when you're done inspecting)
yea that would probably be the move, move camera to instance upon interacting, set view target etc
taht way i still have 1 camera
you can also look at Gameplay Cameras, which allow you to do something like this as well without too much manual setting of parameters, gives you a graph to "compose" your camera with
i do love where that's headed, but a bit to early i feel to dive fully into it as my main system
but i do like it
yeah, documentation seems to be a bit behind, the quickstart refers to things that no longer exist, etc.
yea once that's used fully it will be omega, but i try to stick to things that are used by epic themselves
ah, so you don't have a player character that you're working with? set view target only works when switching/blending between two cameras, so if you only have one, it'll switch the view as soon as you reposition, so that might be a bit jarring depending on your scene
no no, my character has 1, then im adding just 1 to the hosue bp, so when i set the view target it will go to that camera (whihc i never knew was that simple), but yea was suggesting methods to find ways to move that 1 camera on the bp to each instacne based on where i've interacted , so it will move the camera prior to switching to it
Hey, do you know why this RemoveFromParent doesn't remove the widget? If I put the RemoveFromParent call inside the created widget and trigger it on the Construct event (like in second screen), then it works fine. However, I'm wondering why it doesn't work in the first screen scenario.
In a different widget where I'm using the same logic, it works fine. But the widget where it doesn't work (the main menu, screen 3) is more complicated and uses switchers. Could that be the reason?
Can you put print after delay and see if it executes in the case where it doesn't work.
Also is your game paused or something like that?
i did it and it prints fine it just doesnt remove
Can you try to store variable for the created widget and then use that variable in Remove From Parent? I think this might be the problem.
Like it's not intuitive but when you drag from Return Value, after 2s it might be actually already null.
tbh i just use an event and call it on the widget
Did you like, create another widget before the delay is executed?
it would only refer to the latest reference.
say if that is executed with button click, and u click twice. Only the last widget will get removed.
its a pain logically, like in a loop with delay, it only gets the last one
an event on the widget that you call solves the problem
or you can use construct ig
Actually true, it's better to handle it in the widget that got created. Much better separation of concerns.
Yeah, I did that in the created widget's Construct event, but I was curious how exactly the same nodes are working fine in a different widget, and here they don't.
like mentioned check how many times the code runs
it may only run once for the other
and multiple times for this one
is it removing the last one or none at all ?
nothing happens, and print at the end is called once in both of them
nothing happens for both ? even in construct ?
or you mean both one and the other ?
i see, so they both actually run, but this one doesn't work
and from the print string does it print once ?
like mentioned already, did you try to cache the value and see if that works ?
in construct it works fine for both of them. I tiried with variable and it didnt help. However what is strange in construct it happend twice and dont really know why
Hi! I’m trying to get my character pawn to physically interact with a rotating arm that’s driven by a Physics Constraint Component. I want the arm to feel heavy, hard to start/stop), not flimsy.
Is the widget correctly created? It has no player controller assigned
i can see how structures can "break" the code if you have something connected and you reshape the structure or something, but i have not had an issue with it just breaking for no reason
🤔
How do I remove the characters ability to push things around based on physics?
I've 0'd everything out that could cause this but my character is still about to push things around several times their weight with ease/no resistance.
This is in the character movement component.
(Mass is also set to 0 in the general setting category)
I can also cause other physics objects to bounce and even flip when I jump and fall on one end of them. Something I don't want.
Basically the game engine treats the player character as an immoveable object that can cause everything else to move even when the other object(s) weigh several times more then the character does.
set collision to query only
I have a strange issue, im using 5.6 and trying to export a build, however the exported version ALWAYS has debugging enabled still, even when set to shipping build. does anybody know a fix?
the packaged version ? wdym exported ?
yes sorry, i mean the packaged version
are you packaging for windows ?
Yes
show what the window looks like when you do platforms,windows
like for me, i picked just picked shipping
you may have use project setting (development) selected ?
or even development it self selected
" even when set to shipping build" so it looks like the image above ?
also are you using c++ ?
This is a pure blueprint project, and yes i have shipping selected in the biniary config, as well as the project default in the setting, and tested using for distribution, all to no avail
Default character movement is not made for physics interactions. It is made more for a game like fortnite
But it shouldn't be as wonky as you describe. Check dampening on the objects. And maybe use a physics material - it is possible the friciton is too low
i just do query only and apply a custom force
the physics are fkd imo as far as out of the box settings
you can you linear and angular damping thats a definate way to slow it down
but shutting it off completely and applying your own forces seems to me to be the best bet so far
Think i found a fix, looks like its an issue with migrated projects maybe? but fixed it by using the project launcher tool to package
im having the same issue
even i turn physic interaction off the character is still able to push them
and it doesn't happen on ue4.10 but appeared on 4.12 and didn't get fixed until now
the capsule seemed to be stuck inside the object when stepping off an physical object which launches it
hi, how do i get random location in box ? (box collision) ?
hello programming wizards can someone help me uderstand why my int point is not changing my screen resolution, i know the logic is working and it is printing out the appropriate coordinates x y but even when i just put one int point as it says it takes nothing happens when i press the button
I believe you have to also apply settings, not only save them
thanks man that worked i did have it but it got deleted in my sloppy process of making this thing
Random Point in Bounding Box
out of interest is there a way to load an actor without loading it's streaming level its within, I bassically just need details from it but I don't need the actor loaded through-out
spawn it in your world
you need to spawn it to get an instance
why does it have data you need?
if it has data you need outside of the actor, why is the data on the actor to begin with?
hey guys i was tweaking on a Combat mechanic by changing the Blueprints abit, so i added a structure to database or array my Attack montages so it can do both lets say Light and Heavy Attacks so i wont have to have two functions that has different attack performaces however it did not work for some reason is there something that im missing?
On which part of the character object?
the mesh
and the capsule
i leave my capsule on query only
and the mesh i switch on and off physics depending on if i want to use it
i was having similar issues where stuff was reacting strangely i had to turn it off selectively
so what is the select supposed to do ? it looks like you have are selecting an array by attack index ? but then also using that same index to select the item inside that array ?
this is confusing
also your not using the attack montages array ?
just checking the index is valid for that array, then using the index on two seperate things thats not the attack montages array
the goal is to have attacks in order ? when you press a key or something ?
so i made structure for only attack montages to add in the Perform attack function, so that way i could use the function for both inputs such as LightAttack and HeavyAttack without making seperate Attack Functions.
Does anyone know how to set up camera rotation to support inputs for mouse (laptop) and touch (mobile) simultaneously? I have pawn blueprint which control camera rotation using mouse click with axis mapping node. However when I allow touch, it overrides mouse click. Looks like I can either have touch or click option at one time. It’s for product configurator where we rotate around the object.
Hello everyone, I want to make it so that when you run you can look back with an outlast type key, does anyone know how to help me?
Should be fairly simple . Make an enhanced input action for your button with no trigger (defaults to Down). On started Set use controller rotation off, so the mouse no longer controls the camera, then set the camera’s rotation to 180 degrees on the desired axis. On completed turn it back around and set use controller rotation on, so it goes back to normal
Alternatively, if you need smoother rotation, you could add a 2nd camera that faces the back and on Started set view target with blend from front cam to rear cam and vice versa on completed
Hey, as someone who recently started learning Unreal, I’ve often heard that you should avoid hard references whenever possible and use interfaces instead.
But to use an interface, you still need a reference to the target. Aside from using things like GetPlayerController or getting actors from overlaps, you often still need a way to get that reference.
In situations like the one shown in the screenshot, for example, when I’m creating a widget I end up creating a hard reference, right? (I can see it in reference viewer) So in those cases, is it unavoidable and acceptable to use hard references, especially for small assets like widgets?
A lot of people simplify the hard reference thing too much.
It is not about not using hard references. It is about using them smartly. So two things:
a) not binding together two actors that are not really related - example: casting to a boss enemy inside a player character. The boss is present only in one level of 100 let's say. But by casting to it inside the player, the boss will be loaded with the player on all levels.
b) being careful with the size of assets that are loaded with the actor - example: you have an array of possible weapons on your character. Each wepaon has it's own mesh with textures. Even if you use only one of those weapons, all of them will be loaded with the character in this scenario. SO you should use soft references for them and/or for the bigger assets like textures or meshes.
In case of small widgets it shouldn't matter if you get a hard reference - unless the widget itself has references to other things and will create a chain reaction.
And yes, it is not always possible to use soft references - spawning and binding to dispatchers are two examples (although I'm not sure about spawning, maybe the async loading helps with that - but then you can't do anything with the spawned actor since you don't know the class before compiling)
Btw if you are interested, I'm basing my information on this very nice video from the official Unreal channel (here it is about cast specifically, but it is connected): https://www.youtube.com/watch?v=S2olUc9zcB8&t=1550s
Watch this recorded session from Unreal Fest Seattle 2024 that uncovers the truth behind Unreal Engine best practices.
Are Ticks really that problematic? Should you make all your meshes Nanite? Is the ChildActorComponent truly cursed? Should you never use Cast?
You've probably heard many of these so-called ""best practices”. Check out this...
Oh yeah, I've watched all of his talks, love them. I wanted clarification when it comes to interfaces because I've heard a lot of time that they let use skip hard references but often its not possible aside from examples in my previous message
I see. You could probably avoid the hard reference there by using a soft reference to the widget class. But honestly I never tried it with widgets. And it seems kinda unnecessary, since widgets (of this type) are usually small and self-contained
Even with spawning stuff, you tend to use softrefs from a data asset. But that asset is usually bundle loaded so the softref is always valid.
Hello. I want to convert Enum to a bitmask in blueprint, and i cant find bit shift. Any way to do that? (without using expensive math)
Widgets are sometimes less of an issue. Depends on the game and how much widget content you have. Usually the core graphics are always loaded anyhow from some other widget. And things like icons or special display images are softreffed from the widget itself.
Not sure if there are nodes for it. I recall there not being. But the math shouldn't be expensive? It's just a multiply or divide isn't it?
what do you mean by "is usually bundle loaded" . I've never used data assets except data tables
Are you C++ capable?
To preface, you make a data asset that encompasses the concept of your thing. A red apple. A sword, a chair. Etc.This DA has the info you would need to create this object in game. It has stuff like the name, the gameplay class, default stats if needed, etc.
One key note is that it holds the Class. EG... DA_RedApple has a B_RedApple in it. If you specify the following in the DA class you made DA_RedApple out of...
UPROPERTY(BlueprintReadOnly, EditDefaultsOnly, meta=(AssetBundles="Gameplay"))
TSoftClassPtr<AActor> GameplaySpawnClass;```
Then you can have the asset manager load bundles for this DA, and if you make it load Gameplay bundle, the asset manager will internally load and hold GameplaySpawnClass to keep it referenced so that you can immediately resolve the softref without it actually loading anything.
What that means is that you get the benefit of this class not being hard connected to this DA. You can load the DA at any point and leave it loaded forever. Maybe you have UI that needs to show all spawnable things and can be shown from any map. Maybe you're like me and just lazy and want all PDAs loaded cause why not.
But while leaving them loaded, they're not huge. Cause the big classes like this gameplay class are kept softreffed. BUT if you load your bundles before play. What you still get is instant spawning. No need to async load stuff all the time cause the asset manager preloads and holds the things for it.
I've taken a basic course, but only covered the fundamentals. I'm familiar with the OOP concept, though. I've been working as a 3D TD for the last couple of years, and we've been using Unreal for cinematics. Recently, I got into making games instead of just trailers for them, so right now I'm more of a Python-scripting and visual-programming kiddo. I definitely plan to get more into C++, but the user experience with compiling and iteration has made me postpone it for now. I will add you message to my C++ notes, thank you
I would check out some of the asset manager stuff if you haven't. But in short you can do things like this. The only part of this that would be C++ is creating the data asset and specifying the bundle types on the properties.
well, cause it's an exponent function...2 to the power of enum.
Hey everyone,
I’m working on a project in UE5 and could use some help. The setup is this:
I have multiple speakers placed throughout the map.
The goal is for the player to go around and turn them all off (I already have this working using an E key interaction that calls Stop on the audio component).
Once all speakers are turned off, I want a door to open, and by exiting through it, the player wins.
I’m a bit stuck on the “all speakers are off → open door” logic.
Have an actor that act as a manager for the game play.
Each speaker register it self to the manager, and the manager in turns checks whenever a speaker is turned off.
Everytime a speaker is turned off it checks if there's still any speaker that is On, if not then do something i.e end the game.
Hey, do you have any suggestions why spawning a particle system for the first time causes the game to stutter?
I have an Intel Core i9-13900KF, so it's a very powerful CPU, and I'm spawning a lightweight effect. I'm using async loading, but it didn't help. My game runs at over 120 FPS, so it's strange to see it drop below 30 for a fraction of a second. When playing for second time this lvl in the same session there is no stutter.
I could preload the effect offscreen at game start, but it definitely shouldn't cause a stutter like this.
Is it time to start profiling? I've never used a profiler before, so I'll need to do some research first. According to stat unit, it's the game thread that drops suddenly.
the problem is this is my first time using unreal engine and i want very specific steps to make this manager you speak off 😭🥲
it's just a blueprint actor class you can drop to the level.
if you are not fammiliar with event dispatcher, get your self fammiliar with it.
This blueprint actor can hold references to the speakers in the level. Assign event that listen to when a speaker is turned off,
Then all you have to do is just to check if every speaker is turned off each time a speaker is turned off.
hmm ok thank u!!! do you know any tutorials for this kind of thing? or how what to search to find them ❤️
To break it down, there are 3 entities here.
- Is the GameManager that tracks the speakers in the level.
- Are the speaker class. They can be toggled on and off and when they do, they broadcast an event that GameManager can listen to.
- Are the players that interact with the speaker.
Don't know any specific tutorial, you can figure this out once you are comfortable with the basics.
Things such as Object references, event dispatcher and blueprint communication.
okk i’ll see what i can do thank u <.3
What would be the best way to go about making a use functionality of an inventory item, i have it working but was wondering how other people do this ?
it depends on how is the inventory item, an actual actor or just a variable of the item type
it's a variable
hmm i don't know much about it tbh
as far as the different ways to do it, i just know how i did it thats why i'm asking maybe there is better way ?
same
the class is an object that can override function
then do getdefaultobject to execute
or construct the object if needs world interaction
and they are all stuff you can use
yea same
i went with class reference, instead of object reference
same
hmm ok so you did the same thing lol must be a decent way ig
i just spawn them and they destroy themselves
and call use on them which you override for each child
i usually just use default objects for execution unless i have to construct them into world
default objects ?
yea
i have not even used default objects yet ? this is a bp class ?
does it have a begin play and tick ?
so object would be more efficient then an actor ?
i guess
i’m trying to recreate this counter, it counts speakers being turned off, but i can’t make it like the tutorial on the left, any help?
those won't be executed, you have to manually call functions in it
so yea there are many limits using it
functions and events ? ig i'll look into thanks for the info
why do you have a foreach ?
https://youtu.be/8ii51IIOdes?si=VdS_wxmTXKe1lpx9
here's a video about default objects
We are going to look at how to use CDOs safely, and also a big warning on what to be careful of when using them.
We can make use of CDOs combined with blueprint function libraries to simulate static classes, which is something we don't have access to in a direct manner in the ADK.
Project files: https://drive.google.com/open?id=1t-d7FFLI3Dj8h...
i don't like the way this is going lol
be careful "effects the game"
it counts the total amount of that actor because it's length, then displays it in the textbox
also you didn't select the class
im sorry but i dont understand… im new 🥲
The particle shaders get compiled when you use them. Pretty sure you can have them get compiled during packaging, but not much you can do playing in editor
i’m trying to recreate this https://youtu.be/YFtLd-bKl-U?si=4uyXqFOwbZy2t4jh
but instead off killing enemies you turn off speakers
The Observer Pattern:
Software Design Patterns are like a manual on how to write good code, whether you're using Blueprints or C++, knowing good software practices is a MUST!
I hope this first video in the series gives you a good intro on what design patterns are and how the observer design pattern can be used.
This will be done through the u...
What is the spread of on-use effects?
if you've never used unreal, probably something like a blueprint tutorial would help you get started, other then that your just copy pasting
wdym "spread" ?
Basically you got data driven or a polymorphic DoThing approach
Is it as simple as add/remove stats on use or as complicate as doing anything at all possible in the game?
anything at all possible was the idea
see i'm using bread in this video
but all items need to be able to have there own stuff to be able to do
Those certainly seem like they could be data driven
what does Fire do?
i changed it to Fast, it's a buff that speeds up your attacks
then i have another thats Block which makes it act like your blocking
for the whole time of the buff
So on use it's like:
Stat = AttackSpeed
Modifier = 1.5x
Duration = 30s
That's one approach
and the cleaner one, that's how you'd do anything stats heavy like PoE or WoW
ya i can see that for stat modifiers, but i want to be able to run any code essentially when i select an item
like one that might spawn enemys
item can contain a ref to something that can run
stuff like that
The simplest approach is to make it all actors
yes i have seen GAS, i just don't know much about it yet
I'd probably just do everything as buff actors
in for a penny in for a pound as they say
Buff_AttackSpeed:
OnSpawn -> Owner.AttackSpeed *= 1.5
OnExpire -> Owner.AttackSpeed /= 1.5
well i did += 1.0, -= 1.0
Buff_SpawnEnemies:
Tick -> spawn an enemy
btw you can just set the tick rate then you don't need timers and all that in these things
thats a good point
because i used a timer 0.1 in them all
so the seconds are in 1/10
yeah this is the simplest and most flexible approach I can think of. It won't scale and won't be great for multiplayer but it'll work and be dummy ez to do complicated stuff
you won't make Path of Exile like this but maybe Zelda
"dummy ez to do complicated stuff" <-- thats the idea
thanks for the response
what would be the more efficient way ?
GAS probably ?
Something data driven
yes or GAS
if you were making PoE you'd have like 1000 stats
Hi I hope everyones well. Quick question, why does the actor keep moving even when iv'e released the input buttons, almost like its sliding. I know theres a solution but iv'e forgotten it😵💫
What's doing the moving?
how is the actor moving to begin with
hmm hey im using a scene capture componend 2d to render my unit in inventory, since its co-op player 2 shows the same as the first one,
ive done this before but i dont remember, u had to create a seperate texture for the 2nd player or something right ?
You need runtime created RT, instead of one in the content browser.
yeah, i dont remeber how to make it a texture or well how to*
This will be what you're after.
hm okey, and then xD? @maiden wadi
Same as if you set it up in editor.
Create the RT. Set the RT in the SceneCaptureComponent. Set the RT as your widget's display texture.
Then the RT will render to that texture and your widget will display it.
well that exactly like this right :/?
or wait hm..
For the component, yes. Now you need to pass that to your widget.
Or let your widget get it.
since its in a material the texture
Before you likely put that in the widget by default. Cause you can reference it globally from the content browser.
For that you need to make the material a dynamic material instance and SetTextureParameter on it. And then put the material instance in the widget.
hm waht am i missing both players is showing the same
oh wait im dumb
or hmm
it looks like your trying to render some sort of image in the ui ?
have you ever made a dynamic instance of a material and used it ?
Which class is this in?
I'm assuming the UI given the references, but need to be sure.
player controller
yeah but long ago x)
show your material it has a parameter in it ?
hmm
so you got it working ?
looks like your render target is showing
but you can change it dynamically as well
hm i got it working with the textture
but im trying to apply the mayerial instance thats not wokring
im not sure
the set brush at the end is the widget
your creating an instance but not setting the instance as the material
so it's doing nothing essentially
is there an error ?
no
can you plug it into the target and have it auto create the make ?
or does it say no comply lol ?
any input :/ +
SetBrushFromMaterial.
hm still freezes
is when i use the texture as set brush
thats why i need the material
but when i use set brush from material it freezes
@maiden wadi
what freezes ? the whole game ?
Is your capture component set up to render every frame?
imo this render target stuff can be very heavy on performance
maybe just from my experience but rendering another scene is tough on the system
Doesn't matter. There's no better way to do it.
yeah
For a start, remove that TextureTarget so you don't get false data.
done
but im changing the dynamic material isntances texture param
thats wrong aye ?
Setup seems fine from the blueprintue paste. I don't see why that would freeze.
im creating a render target 2d
ohhhh
well found 1 thing
it looped 6 times
when i have it like this im setting the texuter it works for both players
but its something about when im trying to add the material it breakes
What event is this on?
How many players?
splitscreen 2 players
i used a sequenser
at the end of it i rann the code
for all of them
but its fixed now
so only 2 times it "loops" now
so thats fixed
i think the issue is when im creating the dynamic material im changing the materials texture param to a material
not a texture
or thats fine ?
You are giving it a texture though.
How do you mean?
You have two controllers, two pawns. Which means each controller needs to create a RenderTarget2D, and a DynamicMaterialInstance. Which they then put in their own version of CharacterWB
You're creating a dynamic material and a dynamic render target. It's the same thing as making one by hand in the content browser. You're just doing it at runtime without hard coding it to the content browser.
I can't explain why putting that in a material would pause it though. I've done this a few dozen times and I've never seen them freeze like that unless the scene capture stopped rendering.
s
Only other thing that comes to mind would be slate invalidation, which isn't applicable because both paths would freeze.
This is mostly correct. Except the last part. The texture isn't null. Most likely at this specific time of creation the RT will be blank yes. But next pass the SceneCap will render it's view into it, and when the widget paints later that frame it'll render what the scene cap captured.
Mostly semantics though. Should be pretty much imperceptible.
hmm
but when im chaning the materials "texture param" im changing the texture to a material ?
i mean i cant by default change the texture param to a material just hard code textures
oh wait im dumb sorry same thing again
but im applying an empty texture to it
a blank one
For that frame, yes. But it should be drawn to by the scene cap you passed the RT too.
hm ok, so this "should work" ?
so somethings the matter
am i using the right nodes ?
wtf
now its working ??
i just added a print
and now it works ??
Lol. 🤷♂️
wtfffff
Unreal™
now it works as intended for both parts
O.o
i probably just could have restarted and it would "refresh" or something
yeah Unreal magic
whattahelll
this got my head in
oh well.. thanks for the help! :p
Possible to click to add point to spline in a same or similar way to right clicking on spline segment, but using blueprint utility?
One way I could think of it is to save spline info in array, points and segments, so I can use that to detect location of points with blueprint utility, mouse, trace.
Then I guess also have vectors as segments, and somehow able to detect when I am close to segment, ugh, math. Someone has better idea? I mean, editor is obviously doing it.
Hi. I need tactical help, because I don't know what to implement it through. I want to implement liquids. Realistic display is not important, formality is enough for me, I have a low poly style. Liquid can be stored in a container - a cup, a barrel, etc., when turned over - it will flow out, it can spill on the floor, or accumulate in some narrow space. The simplest thing I came up with is to imagine the liquid as a bunch of spheres of balls, but render them as a group of objects representing one object. I tried to use the material of slime - which stretches to neighboring meshes, but the effect does not combine well with its own spheres. Perhaps it is possible to display the liquid differently. Because some of the mechanisms in the game can consume liquid, and in general I have a simple physics simulation
Total shot in the dark here but has anyone else experience this error before when trying to package? I'm on 5.6.1 and I don't know what I changed, but since I updated some random things I'm getting this error with an actor component. It used to work totally fine. Can't find any info about this error and none of my debugging to try to fix it has worked unfortunately:
[2025.09.03-01.45.18:175][ 0]LogOutputDevice: Error: Ensure condition failed: bCustomPropertyListForPostConstructionInitialized [File:D:\build++UE5\Sync\Engine\Source\Runtime\Engine\Private\BlueprintGeneratedClass.cpp] [Line: 1242] [2025.09.03-01.45.18:175][ 0]LogOutputDevice: Error: Ensure condition failed: bCustomPropertyListForPostConstructionInitialized [File:D:\build++UE5\Sync\Engine\Source\Runtime\Engine\Private\BlueprintGeneratedClass.cpp] [Line: 1242] [2025.09.03-01.45.18:175][ 0]LogOutputDevice: Error: Custom Property List Not Initialized for /Game/_Main/Blueprints/Player/Stealth/AC_StealthDetectionComponent.AC_StealthDetectionComponent_C [2025.09.03-01.45.18:175][ 0]LogOutputDevice: Error: Custom Property List Not Initialized for /Game/_Main/Blueprints/Player/Stealth/AC_StealthDetectionComponent.AC_StealthDetectionComponent_C
very VERY difficult
ok here's a question, can a liquid spill?
In Unreal-engine, as far as I know, there is no water system for your case only. There is water through the particle system. Perhaps this is the closest to what you want to do. In my opinion, it should be in one of the Examples of UE itself.
But overall, it's cool:)
When I run Save Game to Slot, where does it actually save during development? Online it says in a folder called Saved but I have no such folder in my ContentBrowser
I dont exactly know but I think it saves it in the actors you reference or code it in, I'm not totally sure though
Unless I'm misunderstanding you I don't think so? If I update the saved data, I can't see those changes reflected anywhere when I close the game, though they are definetly saved and loaded next time I run game
Your probally not misunderstanding me I was just thinking of what it could be and I'm probably wrong, and sorry ic mislead you
in ProjectFolder/Saved
Ahh, so not the content browser but the actual project files, thanks!
hi all!
I've encountered an interesting problem.
5.6, default third person template. Everything is ok.
If i want to make my own bpcontroller and bpcharacter (from same parent class as the template), if i do everything the same as in the template, the rotation doesnt work. I even examined with diff tool and there is no meaningful difference.
What the heck could be the problem?
if i use the standard tps character with my new controller, the rotation doesnt work, only the move. If i switch back to the original tpscontroller, it works. So the problem exists with only the controller, too.
Morning all! New to here because I have a problem and wanted some help. I have a BP that allows the mannequin and metahuman to spawn in the correct place, but soon as I switch to my own model made in blender it now spawns out the ground. I have also noticed, that the BP doesn’t show the character but just the default image now.
I have checked to see if the skeleton was not at 0,0,0 - I checked that it’s placed at the bottom of the mesh, which I can see it. Not sure what else to do?
what does this mean? : it now spawns out the ground.
can you place it on the ground? Is it a character bp or an actor?
Probably a scaling issue. Blender and UE use different scales and it messes up skeletons - unless you follow a specific pipeline to scale them properly. Did you just export it as is from Blender?
Yea, was exported as is from Blender, I was using that AI sight that creates the model, then another site that auto rigs, which imports to Blender, where I can edit a little and export. I assume I need to set some scale for it on Blender? I haven't used blender and didn't want to have to learn another program lol
Yes the blender model, spawns out the ground and then walks normal. Where as the same BP when I add the defualt mannequin or even a metahum, it spawns above ground.
Hi guys, Question: where can I find the "OnRep_Pawn" function, because I can't find it in the "Override" of the Functions. Thank you very much
OnRep functions are automatically created when you set a variable (in this case a variable named Pawn) to be replicated with repnotify method. If you don't know what any of that means, you have to read on Unreal Replication
Ok, so I need to create a variable "Pawn", assign it "repnotify", and then, after it's created, insert my logic.
Yes. Are you making a multiplayer game?
Yeap
I wanted to try to understand if the Player Controller I had created had the call "OnRep_Pawn" in the "Override" window
Hmmm, where did you get the idea of OnRep_Pawn anyway? I don't think it exists in blueprints, but it seems to be a C++ callback. And not everything is exposed to blueprints
I found an old reply in the Unreal Community that talked about "OnRep_Pawn"
Then it is possible they were talking about C++ AController::OnRep_Pawn
You can't override it with blueprints
the task is simple - a liquid that is attracted by gravity can be scooped up with a bucket and carried.
I came up with a solution through spheres, for example, but their rendering is terrible, perhaps it is possible to make a render much better, so that a group of spheres is drawn as one lump of mucus.
perhaps it is possible through a particle system. I really don't know, because I don't have much experience, but as a logical model, the example with balls that roll is ideal, I will be able to register hits, a fence and simulate primitively
but I don't know how to draw two meshes that are next to each other as one mesh. I can create a mesh manually by polygons, but ue5 will die from these operations. Maybe this effect can be achieved with shaders or something else?
Maybe.
In short - try use Custom Depth, after cull double material use custon depth-local depth -depth bufers, change som opacity using depth, and add some world offset using distance field or other.
In long - i will write little later.
look into Metaball rendering
yes i used this, look at the seams it creates between the two meshes
probably need material that will display correctly?
shader maybe to avoid overlapping
Like this
Does this work for fixed camera and getting the mouse to make the character point in that direction. Like a Twin stick top down?
Its an old video but it might help.
https://www.youtube.com/watch?v=HaUAfgrZjlU&ab_channel=UnrealEngine
Announce Post: https://forums.unrealengine.com/showthread.php?105615
In this week's live stream Ryan Brucks and Sam Deiter will cover the various uses of the Custom Material node. Ryan Brucks also explains how he used Custom Material nodes to achieve the liquid "metaball" from the beginning of the ProtoStar demo.
ProtoStar: https://www.youtube...
Depends what rotation the character uses. If its set to use the control rotation, no this wouldn't work. Try swapping the 'SetActorRotation' for setting the control rotation on the controller instead.
Thank you very much. I will study this, that's what I need, it looks very similar to what I'm looking for.
I’ll have a look when I get back, I’m new to this and sometimes things work and the next I broke it 😆
@dark drum Do I need to make a 'SetControlRotation' in the functions or something as I am unable to find anything when I right click and search
I found it, but still didn't work, I have been trying a load of different settings, "Use Yaw" "Orient" etc combos of true and false.
This is the full movement code, maybe there is an issue with it. WASD does the moving around and rotates correctly, camera doesn't move at all.
I want to follow this 2 min tutorial for save game settings. Is anyone more experienced with saved games able to tell me if this is missing anything major or if it's good enough? https://www.youtube.com/watch?v=kdJ4_pry8GA
Here's how you save simple variables using Blueprints in Unreal5-!!
If you enjoyed this video, please consider becoming a Member :)
https://www.youtube.com/channel/UC2U5mRfclG1Rrr1ztNkpGKA/join
Or joining the Patreon Squad directly:
https://www.patreon.com/RoyalSkies
It makes a huge difference, and really helps ensure I'm able to make the best v...
Hey what's the deal with the "Saved" folder in an unreal project ? It's ballooned over time to be 4 times as big as my content folder and it's making backup a bit tedious. Can anything from this folder be deleted? Thanks
I think all but the config can be deleted.
I don't back it up to my source control at all.
If the video is 2 mins then its probally missing a lot and only covers creating a save game object and loading a save game object
I wouldn't just delete it but there shouldn't be any need to back it up.
If you've done some builds, they often get saved there so you could clear those. Just be aware it might take longer to do another build when the time comes.
Check to see if 'orientate to movement' is ticked. This will make the character rotate to the direction they are moving in. This will override manually setting its rotation.
Do you know a good tutorial that covers what I need?
I feel like save games is something I want to get right
omg, worked out the camera rotation 😄 one node caused the problem!
Now I just need to make the wasd smooth again and it will look amazing
What sort of things are you wanting to save?
integers (these dictate what settings are selected in graphics), in-game points, what int of level the player is progressed to
so basically im saving ints, floats, strings, etc
hope that answers things
just a single save slot type of thing? (player profiles)
A single save slot seems okay for now yeah.
I don't mind if something goes into multiple save slots tho
I have a very weird problem here:
Spawning a tile with a 2D location that I get from an (previously filled) array.
But it is actually spawned at a different location that I don't know from where it gets that value 🤨
Spawn Actor from Class should just take the input parameter but it doesnt
So for things like graphic settings and what not, its best to use a config file with the 'Game User Settings', however this isn't exposed to BP. I'm not sure if there are any other way to do it.
As for the in game data, save game objects should be fine. It doesn't sound like you'll need anything complex so any reasonable tutorial on save game object would probally teach you what you need to know.
Show the rest of you're logic. It's most likely because the random node is a pure node so it pulls a new value at a later point in the logic.
I'd store the index in a local var and then use that to get it from the array when needed.
There are just two print strings
...building the grid in the construction script
just a sec..
Yea it looks like it's what I described above.
So the random node will get evaluated on the print string node and return a value. When it gets to the Spawn actor node, it'll get reevaluated and produce a new random entry. (because its a pure node)
I see 🤔
So I would need to get a random int, save it as a var and use it later again?
Pretty much.
Alright thanks, will try 🙂
yup that worked! 🥳
Thank you very much 🙂
With raytracing from the mouse, checking if it’s above ground to trigger if the player should point in X direction. How do you deal with the mouse going off screen and not triggering because there is nothing rendered under to trigger.
is it possible to save the graphics in the save game objects?
You can yea but if the player messes something up that prevents them opening the game or something like that, they won't be able to manually change them like they would with a config file.
ah i see
do you mean line trace ? and are you trace by channel or just using the node that gets position under mouse ?
and i think either way you can check for a blocking hit
does it block off screen ?
Hello, my character won't stop moving to the right and i don't understand why. When I connect my Input Action to a Print String it gives me 1 /0 and -1/0 in the respective positions, but when I run the game everything goes to the right still.
if you print string the axis value when no key is pressed is it all zero ?
Yes line trace under mouse, doing a top down and as I go off map character resets to default
show the code
With nothing pressed there is nothing at all yes
and he's moving left ? thats weird are you applying any forces ?
using physics ?
on true set the target, on false and true interp to target
Thank you I will have a look, Im new to this so i will try my best to get it working.
To the right as if the negates and swizzles are working and not working simultaneously. As for forces, none that I'm aware of other than Gravity it basically a black Character Pawn with a camera and flashlight.
sure but it's making some assumptions.
I already changed it all from this and got it working this afternoon! Took a while 🤣
It's the Flashlight I attached to the Character
ironically, the best way is to not use trace for this, assuming you want to aim at the same level of the player character
This correct ?
hmm nope XD
^.^
Yes, I need more of a walk though as I don't know UE5 and I am learning
to me, I understand what you're saying. I just don't know how to action it and what to link etc
only set target if you hit something
rinterp to point at target always
Hit? -> Yes -> set target -> rinterp
-> No -> .................. -> rinterp
and also you don't need to set show mouse cursor every frame
it's redundant
quick question, which one should i use to obtain the string representation of a byte (enum)?
(i assume the last one)
You shouldn't use any of those for gameplay
just debug
yeah i just wanna know which one would work
no lol, thats why im asking
i wanna make sure
ig ill just try the FName & FString one
Add it to begin play?
sure, or just set it to be the default
it's a property of the playercontroller I think
thanks ig!
Last one works best
Just piggy backing off the last topic about save games:
When is the absolute earliest I can load saved games / graphics settings? I am wondering which BP I should use to ensure it loads as early as possible
bro has experience
this worked 😄 thanks
Gadget BP
Spawning BP
How come the gadget isn't being possessed by the player character? It doesn't seem to set the view camera either
you are telling self (the gadget's) controller to possess OwningPlayer
that doesn't sound right
you should tell OwningPlayer's controller to possess self
I tried this too but nothing happens
debug it
is owning player set right off the bat?
is it valid?
I don't see you setting OwningPlayer
you set Owner and Instigator
Owner is a controller so you can possess it with that
This is kind of a mess, you can delete most of what you have IMO
What's the goal here, describe what should happen when this thing does its thing
I have a system where you have tacticals and lethals, this is a tactical and when you press the button for the tactical it makes you hold a tactical BP which once thrown spawns in a Tactical gadget
ok so why do you need to possess it
are you meant to no longer be driving your pawn when you throw the thing?
Yeah so you control the pawn and steer it left and right
Sort of like a controllable plane
And when it hits a surface it unposses the gadget and reposses the player character
can someone spot whats wrong in my camera smoothing? it locks the player camera. this is ran via tick
@faint pasture
You're interping the rotation to the rotation its already at. Also, the current and target on the interp node are the wrong way round.
yeah it's screwed up
is your camera using ControlRotation or are you manually driving it?
Which is the smoothed rotation and which is the target in your setup? ControlRotation can't be both
Yeah that's fine, so just literally do that.
ThingThatSpawnsTheThing:
Spawn Thing -> tell it what controller it cares about
Thing:
BeginPlay -> possess self with controller passed in
Explode -> tell controller that you're done, let controller handle going back to their previous pawn
anyone created a charged attack mechanic like in soulsborne games? what is the best input mode, how to speed up and slow animation etc
Whys the current code not working tho just so i can understand
Is it referencing the wrong controller
What you showed was referencing a nonexistant controller yes
and having it possess the previous pawn
can there be multiple channels for custom render depth?
Hey guys i am making a utility library plugin through which i am adding all c++ functionality to bp so developers can do all things from bp and also adding some useful functions that will make things easier here are some functions related to level let me know if this are useful or not
Hello, I'm trying to display a character in a widget. My character has the ability to change clothes using a separate component, so I haven't found anything other than creating an heir and spawning it under the map. However, I believe this is an unoptimized solution. I need to provide local lighting for the scene displayed in the widget.
HI,
Can the position of the text cursor for typing be changed in Blueprint?
I personally don't think they're that useful. I can't remember when I last used the level name to load a level. I use the soft world reference.
As for the game mode override, I kinda feel that if you need it then its probably a bandage to bad project structure.
I'm also not sure what the point of 'Actors To Copy' would be.
The load level with loading widget could be useful though.
Of course all this is just my initial thoughts. Do you have some examples showing how they can be used and what problem they solve?
Yes and no. If you're using the system cursor, it's position is set by the system. However, you can hide the cursor and have you're own widget follow the hidden cursor. This custom widget you can offset.
Yes, you can define what channel a mesh component is put on under its rendering settings. I believe it goes from 0 - 255.
Thank you for your feedback i will replace level name with ref because it is more convinient.
And using a single level for multiple game modes is a common thing in games but we need to add that to options string where we need to pass path to game mode which is not convinient so using this you can easily select game mode.
And open strings are a bit tricky to ready if you have many options so instead of string you can define options in map and get options map which i much easier.
And i think open level with async is really helpful since i use it myself in my projects
Btw this is just 1 library from 10s of other libraries in the plugin
Hey everyone. I'm trying to use Billboard components to display sprites for a 2.5D game. I am trying to scale some of these components during runtime, but for some reason, they aren't changing size. Despite the fact that I have confirmed with print nodes that the value of its "Scale 3D" variable is being changed, the way the billboards appear doesn't actually update in the PIE window. Does anyone have any insight from experience with scaling billboard components and can help?
Billboards don't use the 3D scale value as far as im aware. You'll need to set the 'Screen Size' of the billboard to change its size.
Having said that, there is this that might modify the screensize based on the scale 3d value.
Wrong channel :P
Could use some help in how to finish up this interaction system. Basically, it uses a custom blueprint for a collision box which is added as a child actor to an interactable object. This is used to detect a line trice to determine which interactable object, if any, the player is looking at. Depending on the item type, the player should be able to interact in one of three ways:
A. Some objects may just need the interaction button pressed.
B. Some objects may need the interaction button held.
C. Some objects will react differently depending on whether the button is held or pushed.
The input action in the IMC has a hold trigger with the hold and actuation thresholds both set to 0, allowing for a radial progress bar in a widget to fill as the user holds the key for the required amount of time (scenario B).
The existing logic covers both Scenario A and Scenario B, so I'm struggling with figuring out how to adapt it so that Scenario C can be achieved in certain situations too. I thought about using an enum on the box collision BP that can indicate which use case is neded for the given item, and using a switch on enum node in the actor component. However, most everything in the Try to Interact event will need to be duplicated -- is there a more efficient way to do this?
@paper glade what's up?
love the name 🙂
lol thanks
a bit of lounge chat on the blueprint one 🙂
Not much, I'm just confused as to how Billboard components work. I am trying to use some blueprints that interact with them.
After a quick glance, could you not determine this by passing in the held time?, a short time below the threshold could be considered a press, otherwise a hold?
I was responding to that person who offered some advice because it was insightful however it did not work still
I'm on about your eye roll react, which wasn't in response to you :P
I thought it was, my bad
nah someone posted a question asking about a C++ IDE after a while of speaking in #cpp, I didn't end up noticing they deleted their message lol
People who delete messages are weird.
it definitely makes things more confusing looking back on them
I removed the eye roll react since I did it on false pretenses
it's all good, I just wanted to make sure there wasn't something I was missing 🙂
Nah, not like that. 😄 There's often people around here that like... Have a conversation and then just delete it all after 15 minutes.
yeah I know what you mean, that's what I'm on about too.
You scroll up and see replies to nothing, or go to search for a message you know you saw that no longer exists
Bonus points if it was helpful advice
More bonus points if it was some not often talked about topic 🤣
I had the strangest thing with that last night. I couldn't search my own messages. And better... I found it. Referenced it in another chat, then went back and was scrolled down so I searched literally what I had written and still couldn't find it searching.
https://forums.unrealengine.com/t/billboard-screensize-scaling-is-not-working-correctly/407978/10
Unfortunately from what I see you're not alone, does changing the component scale work, judging by the second to last reply?
Was it on mobile by any chance? The mobile update that separated searches into different categories like text and media broke searching completely for me
Nah, was on PC.
ah
For sure, though the issue is that different objects have different requirements for interaction, and the requirements can be contradictory. So for example, passing in the held time would work for scenario C but not for Scenario B (which needs a hold time and should not trigger after a mere tap).
But, I think there's still something to that idea - might just need to mess around with the logic a bit. Thanks for the idea!
On this. I would find a different way to use sprites for gameplay. Billboards are pretty much an Editor thing.
For scenario b, you would handle that in an interaction.
Scenario A just executes no matter the hold time
Scenario B executes if the hold time is more than threshold
Scenario C executes branch A if hold time is less, or branch b if hold time is more
What's interesting about this is that they scale correctly when spawned by a Spawn Actor node, but they don't scale themselves properly on ticks. Even though they supposedly do update on ticks according to the detail panel
I have something similar to this in my project. For me the long press exists so the player can put down the whole container and not the item from the container.
I tried to do it with the input action itself but it got confusing and I decided to just use the elapsed seconds.
Btw the trigger is on Released
Thanks both! That should give me enough information to make it work, I appreciate it!
Although my solution won't work completely since you want to display the hold time. You would need to hook some code for this up to the Ongoing pin I think? Not sur eif it works with the released trigger though
not sure where i'd ask this, but how would i remove this overlap in a spline mesh?
Like Laura… 🥲
How do I make sure the right game instance BP is set for my game?
Just set it in project settings.
Question, I am using a Twin Stick style top down and I am using Rinterp. When the mouse is near the charater he snaps very fast if the mouse is close. Is there anyway to smooth that down?
Hi all !
I have a little question
It's for organization. While I'm making the code of "Attacks" for my Character, should I put this into a "Collapse to Function" or "Collapse to Nodes" or "Collapse to Macro" ?
What's the best in term of performance/organization ? (if you have any idea)
well if you need things like delay or timeline you can't use a function
it really matters what your doing i think as well
Ok thanks I will think about it ! Thank you very much !
Functions and events, and code in the general graph - depends on your taste I guess.
Function - it can have local variables, which makes it useful when you need a lot oif local variables and don't want to have a spaghetti in the graph. They can't have delays or similar things that are async. Can be pure, so no execution pin, just outputs a value
Collapse nodes - this is simply for organization purposes, behaves the same as not collapsed.
Macro - they are way different. For example, a foreach is a macro. I would advise to not use them for organization purposes
Ok great thank you so much for all these informations !
that's just a multiply node
is there any way to remove assets from fab?
I dont think there is I have been trying for a while
I have no idea why there is no right click remove. Seems like a question people have been asking for a while
right click the unconnected pin at the bottom and change the type of it
just worked it out thanks
Hello Everyone, I want to know how I can localize my notes and my subtitles so when I change the language in-game they also change.
I often get this error (access to pending kill or garbage) on the "Is valid node" ? Is this a bug or do I need to have another check here?
hi, my postprocessvolume makes my emissive shine att 1000x strength
anyone know what setting is controlling that ?
Can I call the Game Instance (the one set in the project settings) from ANY point in the game itself without casting?
For instance on a widget or in a character BP
cast it how?
but u can always get "get game instance" and cast from that to the
ah ok
Would it be a good thing to put all my "game settings" here?
So things like remembering what settings were selected on an options widget
tottaly depends on you project, i would not do it like that,
use a local save/load system for all settings
Hello guys, in this quick and simple tutorial we are going to learn how to make an easy save and load system in Unreal Engine 5.
Follow me on Twitter: https://twitter.com/GorkaGames
Subscribe to the channel: https://www.youtube.com/channel/UCv_n9oioNF6OpzR2dt6E4xg?sub_confirmation=1
unreal engine 5,ue5,save and load,tutorial,quixel,megascans,u...
when u start your game again u want the previus saved settings loaded.
Is it possible the actor gets destroyed right after construction? Via some condition in the actor itself.
I want to dash once and then I want to wait, this kinda works. What do I need to do to get it working?
Done it
Hello! I've been working on making a flying pawn that the player controls (this is a space game, think spaceship) and I've been runing into issues with my google-fu on this one - Using the Add Controller Yaw/Roll/Pitch nodes works fine for this demo, however the pitch always remains at the world Y axis, so if the ship rolls in any way, it pitches on the world Y axis instead of what should be the ship's Y axis. Is there a term for what I should be looking for?
Is it possible to switch something based on the value of a float? So 60 = switch 1, 120 = switch 2, etc
And if so, what switch would I use?
show your code
the angle from char to mouse really does change that fast when you're close
I'd use math and round and switch on ints
What are you trying to do here?
when I open up the settings menu, the current FPS limit is read, and then it should ideally change a switch which changes the UI widget
hope i made sense
ugh i'll just do this
its gross but idk
Just make a enum
I would just do a switch on int and convert from float. If you don't care about the decimal precision there is no reason to not do it.
What if the limit is 59.9
You should have some limited set of entries if it's not meant to be fully wide-open and able to take any value, and use that as the source of truth, never the actual limit from the settings
I would have an array of entries.
As for what an entry is, that depends. Probably a tuple of floats and text
No way to slow it down?
I’ll show code tomorrow when back at the pc
You can slow down the resultant rotation of the character
Whether or not you want that is up to you
Mouse drives TargetRotation which is interpolated over time to output ActualRotation
that way there's a "speed limit" on how fast homie can beyblade around
The issue I have is just not feeling the snappy turn. If I can slow that when the mouse is near then that will be great. I tried adding numbers to the rinterp but the rotation just stopped. I’ll have another look tomorrow and tag you.
are you able to demonstrate or show an example?
not sure quite what u mean
Just:
Tick -> cook up Target based on mouse -> rinterpto Actual towards Target
Tune the interp speed by feel, done.
How can this happen though? The player can only ever set the limit to 30/60/120 etc
im probably missing something
i have an object with a mesh and a material, but in the scene as this object moves the material moves along the object, as if trying to tile it according to world space, instead of moving with the object like its stuck onto it. whats happening here
Players can manually edit there INI file.
Sure, not exactly expected, but still possible. 😛
config file, some unforseen circumstances
you should never rely on equality of floats
The material is set up to do that then
show the mat
yea that was it, it was some grid material, i guess its meant to be used for active mesh shape changing and scaling in editing for more active tiling
could this work then? if it's not any of the base settings, it just gives the value and replaces the unlimited option
lmao im just trying to be lazy and not undo this
do you know how to switch on like lik 30,60,120 without having all the numbers in between on the switch ?
i dont understand
im trunacting a number of 60 (which becomes int = 60) and feeding that into switch on int?
doesn't that mean I need 60 switches on the switch?
yea apparently, so forget what i said
ah ok
i thought that node was more user friendly
i would still round and compare to integer values tho
as a general rule of thumb when you want to compare floats against integers
yea i've seen some do it with integer, which is a bit cleaner
but at this point he might just keep his 5 branches....
OOOOOOOHHHHH
can someone tell me what this error means "Blueprint Runtime Error: "Accessed None trying to read property K2Node_ComponentBoundEvent_OtherActor". Node: Destroy Actor Graph: EventGraph Function: Execute Ubergraph BP Bullet Blueprint: BP_Bullet"
looks like your pulling from an event from a seperate event or something ?
show the code where you destroy actor
new to ue/coding and just playing around to see the results and so far... this does cause the "ai" to "die" and seems to actually unload the projectile cause before it did the top half it wouldnt unload the projectile so it bogged down fps quick
^.^
i'm not sure what your trying to do here ?
sooooooooo end goal is a very basic zombie/wave game and this is me playing around with the engine and im attempting to make a projectile to shoot the ai lol
Just delete that top line
in my character bp i have a trigger that spawns the projectile
hello
when it called destroy from the begin play, it pulled from the other event which had not even fired yet
can someone help me with my problem?
ahh gtk thank y'all.
okay so when i try to package my game this error pops up
i have packaged the game before
and it worked
now
i tried everything with double checking the mass
and the physics nothing worked
Did anyone had this problem with Gameplay Camera plugin, collision push node wouldnt activate no matter what? I have it in the camera rig and it is enabled but doesnt work at runtime
The debugger tells me its disabled
Is there a way to call an Event when a booelean's value changes ?
If its for networking related, then on rep, if its just in general, then in theory you would control the value, and as such you know when it changes.
Otherwise, can really only do a tick or timer, if its something super indirect, or specific.
Just have a function that is used to set it.
Now changes are tracked, and an extra event can be called.
Can also be done with a macro.
Ok thanks !
It seems that when I'm trying to use a Blueprint Macro Library my Engine freezes..
I can't even pin a variable into my BP
Anyone familiar with structs? am I approaching this wrong?
I made a struct for different arenas (i.e. name, level, respawn) that I load in at run-time, but since the arena's actors start unloaded, I can't seem to assign things like PlayerStarts unless I place them into the main Persistent Level.
Is there a proper way to work around this?
What type are you using for the reference?
playerstart (array) Oh wait realizing I only need 1 slot 😅 , but I think the problem still remains?
Can you show the struct in question?
sure, I'm guessing i have to wait for the arena sublevel to load before I can use it?
You'll want to change the type to a Softref.
HardRefs imply that the thing can hard ref it. But they're in separate levels which are meant to be loaded and unloaded. If you unload the level with a hard ref, you'll forever lose it.
Softrefs are a pointer/path. The pointer can point to the object if you resolve it. But say the level isn't loaded. Then you load it. You have the path to resolve it as well.
To visualize a little better, the path in question is probably like MyWorld.MySubworld.PlayerStart13 or whatever.
ohhh ya that makes sense. Thanks! ya I even already used it once for another variable with a similar issue.
Hey everyone. Is Montage firing Interrupted instantly as it starts playing, but the animation/montage is actually playing if I let it, is this normal behavior?
I'm having a problem where the AI runs a task, which calls an event in the char, which is literally just plays a montage. But the montage instantly fires interrupted, and I hooked both interrupted and completed to CallAttackEnded -> which is bound to task finishing. so the task instantly fails and gets called in a loop forever. But if I dont Call OnAttackEnded after the montage fires Interrupted, the montage actually plays just fine. I'm trying to understand why this is happening and I can't for the life of me. I stripped the entire animbp down, its literaly just 1 anim hooked into 1 slot hooked into last output. And no other Montage playing code anywhere.
Should I use Soft Object References for my Attack animations of my Characters and Enemies ?
My game sets itself to a strange resolution. It should be 2560 x 1440p, but it instead sets itself to 2544 X 1400p.
This is on any screen mode. How do I fix this?
Because of this issue, lots of things are broken (for instance, selecting widgets is more inaccurate)
Can someone help me out quick I've been making a game using blueprints and I'm using the first person template. and currently when falling I cant control my direction I fall with whatever momentum and direction I was in making it difficult especially when platforming. Is this something I need to change with the actually player blueprint itself or just a simple settings change?
Something called "air control" iirc
In the "Character Movement Component" maybe
Yup that was it thanks
Trying to make an inventory system
I have items that are child actors of a base actor item.
All actors have to have a transform, right? But, when an item is in the inventory / bag, I just want it to be an icon in the UI, not an actor in the world? Should I be trying to save the item information as a struct, that gets applied to a spawned actor? Or... I've been stuck on this for a bit.
My current setup is data assets to store base item. Actor blueprint to store additional properties and functions needed. But, I was thinking about someone dragging / dropping the item into their inventory. Which would mean removing it from the game world space (not sure on terminology there), and become an icon. Items can have individual properties. Things like +1 damage, or similar.
I think one thing that makes this challenging is that the inventory could hold multiple types of items. Armor, weapons, consumables, materials, etc.
So, I have an enum for 'item type' that I can utilize....
All items inherit from the baseitem blueprint actor
Wonder if Grug has yet to check on this.
You don't strictly need item subclasses. An actor item which represents the pickup in the world (separate from the equippable). containing an itemdata struct. The actor populates itself from the struct data, like associated mesh and whatnot.
Then when you pickup, pass the itemdata struct to the inventory. You could even make the passing lighter, and have it pass a row name to a data table (this won't work for dynamic data such as stacked items or durability), or a data asset which each thing can independently look into and take whatever it needs from. Vice versa for dropping, spawn a base item, pass through the item data
Hmmm, okay, thank you! Going to try and wrap my brain around this and how I want to build my system.
My data is dynamic. Each item has unique properties. Durability, sharpness for weapons, additional armor rating for well crafted armor, etc.
Which is where my brain kind of broke.
In my weapon subclass, there is a struct for 'weapon modifiers', in my armor subclass, there 'armor modifiers'. I can spawn them, they seem to work. But, struggle in creating a container that will hold them. I guess my hope was that I could just take 'base actor' as the item reference to the baseitem or ... class reference? Then, just store a big array of references to the items. Then, the wrench that kind of ruined me on that, was the actor transform, and other world space stuff. I originally though, make it invisible, stick it somewhere in the screen. But ,that feels no bueno. lol.
After all this, I started thinking maybe I should just have a struct that stores all the data I need. But... the structs would have to be different for each item type. And, how would I store those structs because the struct would be different for each item type.
Which, now has me thinking... maybe my container just needs to have an 'add item' and then sort into an appropriate array that specific to the item type. Storing the data asset type, in addition to the modifiers specific to the item type.
Multiple arrays like... "armor container", "weapon container", etc.
Just wanting to make it a more generic container, so adding item types in the future isn't too much headache.
I just use objects everywhere personally.
Allows for per class C++/ graphing easily.
Easy data storage, not some semi goofy struct stuff (at least in my opinion)
Easy to do valid check, with normal C++
When an item is dropped, I spawn an actor, give it an inventory size of 1, and put said item in it.
I can easily just add a new var to child b, with different funcionatily, without issue, sorta deal.
Sounds like lots of ways to approach this... hahah
Doing a side quest (new project) to just focus on the system. haha
Yeah, it very much depends on intended use case, and how many difference there could be in what items do
At a stupid basic level, could have a struct.
It points to a data table of static values, and then has like an array of floats for dynamic values (such as quality, durability left, and etc)
Or, you could be like me, with full objects, for easy custom graphing, adding new vars, and in C++ land, easy replication.
Hello I'm new to blue prints and such mainly an artist. I am trying to spawn a little object in the bounds of a table that is beeing spawned by a vr system. But it's not working anyone can tell if my logic is wrong?
These are my nodes for now
I get the bounds of the table and then add the extent to the origin of that table
To get another position I multiply by -1 one of the extents
The code looks relatively okay - at least it should work. But if you use the table origin + the extent as the spawn point, it is possible the object spawns under/inside the table depending on their sizes and the object pivot. Since origin from this function is the middle of the actor.
I would suggest adding a DrawDebugSphere node with your location as the origin of it (set the duration to like 5s) - to test if the location is correct first. There could be a problem with the table bounds or with finding it etc
I use a similar function to spawn elements on it by simply plugging the transform location
So i suppose his origin is actually the top of the table which is good for me
but it spawns de cube in the middle of the world
i'll try adding 2 of these
at the locations to see what happens
or maybe is it because it's in the main code and not on a custom even?
not pretty sure
this is on a blueprint that has an Event begin play plugged to it
Can you print Origin location? I think it might be that it's relative location and not World Location so it gives like 0,0,0 ?
Nah, origin from this function should be in world space
wait i'll se what i get with the spheres
Did you make sure to have the duration to be at least 5s, so the sphere doesn't disappear right away?
Also it leaves two possibilities:
a) the table you find has no bounds - not sure what is the type of things you get in foreach since I didn't use VR. You can check the origin and extent if they are not zero
b) you are finding something that sits in the origin, not the table
I can correctly spawn a cube on top of it if i do a
did the duration on 25 and nothing happens
no spawn
maybe if i try this?
The last thing I would check is adding a 1s delay before the foreach (only to test it) - since it is beginplay, maybe the other actor is not yet properly initialized. But other than that - weird
I think i might know what it is
i'm trying to get an anchor
and the anchor might not have actual bounds
Possible
Bounds are 0 when there is nothing in the target contributing to them. If it is only a scene component - it will have a transform but no bounds
seems like i'll just have to define some coordinates based on the tables from the world and that's it
thanks anyways at least i know how to get the bounds now
huh... I was going to say that "the actor not having any bounds doesn't explain why the origin is <0, 0, 0>", but I just tried this and indeed if I use an empty actor, no matter where I place it, "Get Actor Bounds" returns origin <0, 0, 0>
if I add a sphere to it, the origin is actually correctly reflected
works also with a collision sphere or a billboard
so maybe just modify your anchor actors to contain any kind of bounds?
I can see why. You can't give an origin of something that doesn't exist - no bounds means it doesn't take space in the world. Especially that you can check for it and use transform instead
well, the documentation for the origin output pin says that it is "set to the center of the actor in world space", which I would interpret to mean the same as "actor location"
but yeah, maybe since it doesn't have any size it also can't have a "center"
still somewhat confusing
also <0, 0, 0> is still some sort of center, so it doesn't necessarily make any more sense than defaulting to the actor location
so the actor still exists in space, but it doesn't take up any space... mathematically the center is still at the actor's location
anyway, I also just realized that this MRUK is Meta's XR Utility Kit, so it may not be possible to do much about it
unless perhaps if the table are actually child actors of that utility kit room actor thing
I suspect they aren't because otherwise they'd be taking up space (i.e. have bounds) because of the table mesh associated with them
according to this there's a VolumeBounds property that may have what you need: https://developers.meta.com/horizon/reference/unreal/v69/class_a_m_r_u_k_anchor
I seee
but how do I acces that property?
but i don't think I could do that unless i attach an invisible volume to it
Hi, I'm having a brain fart moment.
I'm trying to calculate the forward / back / side based on player input. This does do that, but it's all in world space, and not rotated relative to the player. What do I need to do to take into account the player capsule's rotation so the forward is always forward to the player, and not world-space?
Replaced image, since it wasn't showing everything
btw should I use a set timer for next tick or a timer by function ?
I'm trying to interpolate the position of the menu based on the distance it already has a branch
DOT Product? It shows you the relation between two vectors (in your case input direction and player direction)
Thank you! Knew I forot something basic
If you want it to interp smoothly then you'll need to do it on tick. However I would use the by event version of the next tick timer. This allows you to pass in a delegate so it wont break if you rename the function.
you can also use the actor forward vector as your direction for the trace
judging by the documentation it seems to be just a regular property on the anchor actor, so just pull off of the node and search for "VolumeBounds"
then again, not familiar with that plugin at all, so I don't know what that volume would be
going back to your original problem, if you want to spawn something on the table, probably best to get a reference to the table and then use the extents of the actual table
it would help to understand what these anchors actually do or how they are placed
the problem is kinda that
I already know how to spawn something on top of all the tables
but i wanted to see if i could do it on the bounds
Ok, thought I had it, and it's gone again. Yeah, the dot product helps me check if they are in the same direction, but how do I get the vector rotation from it?
acos I think gives you the angle from the dot product
isn't the forward vector enough for your purpose? or does the character not orient to movement?
I'm not fully understanding what exactly you are trying to do with this. Maybe Monkeybrain is correct that you are accidently overcomplicating this
@gloomy hound @crimson briar Here's footage. Notice how if I'm pointing north in world space, it works just fine. But if I rotate even by 90 degrees, it keeps the world space rotation. I want it to rotate with the player.
The whole point of this is to be able to get the position of where the dash needs to end so I can use that with the traversal system. In this case, start is player location, and the end point would be the direction the input is pressed
In the end, what I was missing was the Rotate Vector node
I was about to suggets rotate vector around axis, I didn't know you can just use a rotator for it
In any case, thanks a lot for your help, to the both of you
nice and simple
Hi all, after 10 years i decided to go back to Balls :D, I seem to have hit an issue i have no idea why its being problomatic, i have a ball that moves in the direction the camera is facing, all good, moves just how i want, but if it hits a bump and goes into the air, it pretty much sort of floats, it doesnt seem to be adhering to gravity like it should! i even migrated all the logic to the character BP just so i could use the gravity scale in movement component and it doesnt seem to be having any affect? any ideas why the gravity would be so off
ahh nm, think i found it, seems the mesh collision wasent bending with the spline
causing collisions to be in the air
using complex as simple seems to have made a difference
Anyone know what could be making it so that my UI buttons dont work after I close and reopen the widget?
Are you using a blueprint objects?
without seeing the code, it looks like perhaps there's some left-over widget (though maybe with zero opacity) on top that's blocking input to the reopened widget
this can sometimes happen when you fade out a widget but don't remove it from the viewport and then you might create a new widget when you reopen, so you've actually got two instances there
could also be that your "1 year later" transition screen now sits on top of everything, faded out but still consuming input
Anyone else follow online guide and still can’t find the node they’re looking for 🤣 or ChatGPT telling me to do something and I sit there blank because I just can’t find the node it suggests! Any tips ?
can you make this embed or post on streamable ?
so that it embeds
i don't want to download it
streaming is just another form of downloading 😝
except its in a secure container
Hello, I have a question. First of all, I wish you happy hours. Coming to my question, I know that thirsty and hungry are variables. However, do things like cold, temperature, energy, poisoning, and illness also appear as variables?
Also, do factors such as hunger, thirst, and energy need to be floats?
Anything that you need to track and store is a variable to some degree.
Poisoning might be a few variables if you have things like duration and whatnot
The data type you choose depends on what it's being used for. Can you have a decimal amount of thirst, or should it only be whole numbers?
I think of thirst and hunger as a decimal.
I think things like poisoning and illness are effects that will pass with time.
So illness and other ailments might be a few things, firstly an identifier as to the type of illness, and perhaps a duration of how long it's active for/time remaining
@lofty rapids @gloomy hound Thanks for the responses and apologies on the delayed response! I managed to figure out that I had another widget blocking it
i have been leaning toward structures lately
very usueful
where you could have some like
FXAmount - float
FXTime - float
FXType - enum
even a map string to structure instead of FXType
idk if you can map enum
I understand, I'll try. I'm developing a survival game that I think is really cool. I really want to include these kinds of factors. However, I sometimes run into minor issues. When I encounter such issues, can I ask you?
you'll have better luck just asking in the discord, in the appropriate channel
Need a little help, I have the BP_WeaponBase spawn to the WeaponRoot, I think? It was in the World spawn on play. I want to set up IA_Fire to trigger the fire and shoot the line trace but I can't workout how to add it
I created the IA_Fire and it's in the Enhanced input Left click mouse.
Current line trace is like this
I am here, it says to then call fire weapon but I can't find any fire weapon or am I being stupid
You didn't post any code with the fire weapon Event or Function. Did you make it? Inside which blueprint?
I thought the line trace in the event graph was that?
Like this?
Just noticed this
Are you aware that you never set CurrentWeapon?
Nope
Connect the exec pins
Look at the screenshot I was answering to
I am new, I have no idea what I am doing
After Spawn Actor connect the execute pins
Oh
I'm having an issue with child components and interfaces. I got an actor with couple of child components with an interface on them, and I manage to trigger the interface function if I reference them directly, however when I use Get Children Components and Get from the array, it's not working. Any idea what the issue might be? EDIT, and of course, right after post the question, I found the answer with an post about casting to child component and then use getchildactor, and then it worked. Doh. Typical, I rubberduck myself 😛
At least I am getting some messages now lol - No trace line yet but that you for pointing that out @meager spade
In UE4 getting an actual debug line is an option that you have to "expand" the node to access (the down arrow at the bottom of the node)
I wanted to make sure it actually hit first before moving on
Nvm you have to change the enum value, and then expand allows you to specify a duration
Read all the pins on the node and you'll figure it out
Thanks
what are you trying to do ?
Shoot from the character in a top down.
Hi there! I desperately need help. I'm trying to create a blueprint where, when the player mouses over an NPC, their name pops up and they change material. I'd been following a few tutorials, as there wasn't one specifically for mouseovers. So here's what happened:
In Image 1, you see in the bottom left the name is blank. This is true in-game, too. But I'd followed a tutorial that said to make a custom interface (img 3). This interface would then be applied to the NPC actor blueprint class, and I could enter in custom names for each NPC I placed in the level. Then the tutorial said to do a linetrace, and if the linetrace hits that NPC class, it would tell the engine to pull up that SPECIFIC NPC's name (img 4).
The problem is this: even if I customize the NPC's name (in the Details panel of the mesh, NOT that little "Name" thing from Img 1), it doesn't show up. Only that "Name" panel affects the NPC's name, and it applies to all of them, not just one. Please help. 😭
(Also I just saw in that 4th image, the "Interface" option in the Object Has Interface node was empty, but I just selected the interface and it still didn't fix the problem.)
Got it working
Just need to input damage, distance etc in and that part is completed and I can move onto the next step of the plan! enemy AI, god help me!
why does the fire input clear currentweapon?
Get_NPC_Text_Text is a binding?
And which actor implements the interface?
Also the default debugging method for things like this is to add prints on each true/false branch so you can track where the point of failure is. Or add a break on the last nodes (F8 or F9 when a node is selected, don't do it in loops) so the execution will stop and you can analyze previous variables and outputs
your get npc name function is empty and does pretty much nothing
This is an interface, it always looks like this
oh i see it's an interface function, but i don't see the implementation
Looks like this now
Cached location is from my camera rotation for the Top down view and where the mouse is pointing to rotate camera
That should work assuming everythign else works
It's all working, just finishing off damage, firerate etc - Making sure one things is done at a time and working
I did in the early stages! 😆 But then the time came to add in individual, unique names for the NPCs, and that's where it got complicated. Also to answer your questions:
- Errr, I think so? (Apologies, I'm kinda new to Blueprints.)
- The BP_NPC actor does
Do blueprints have the equivalent of a public get, private set?
So, things can access it's value, but can't set it? I mean, without setting variable private, then creating functions.
no
C++ can do that so BP can read but not write
afaik things created in BP can't tho
Right here
Didn't you forget to connect the name variable in the BP_NPC in the implementation of the interface function?
Awesome, thanks!
Crap, I hope not. At the end of that Linetrace blueprint, I have these nodes. Theyre supposed to tell the engine "Check if the NPC name text box is blank or not"
but then again I was also following a tutorial video 🥴
Go to your BP_NPC, on the left side where you have functions and variables, expand the Interfaces tab. And double click on the GetName function
Et voila
SO it is connected. Hmmm
So in there the name text box is empty
but I just noticed
in the event graph for the BP_NPC, it's still showing the name
If you change the name on the individual actors, it can be empty there
Ohhh wait a minute
OKAY, okay, so in the blueprint for the NPC's nametag Widget, its got the name
but if I blank out that name, then the NPC's nametag in-game is also blank.
Are you sure you gave the actors placed in the level their names? I see you have the Name on the BP_NPC exposed, so I assumed so. Otherwise it will be empty, since default is empty
there it is
Affirmative
🤔
Lemme post the tutorial vid I followed, god knows if it'll help, but: https://www.youtube.com/watch?v=GXcGAvik2cc
Hey guys, in today's video, I'm going to be showing you how to create a system in which the name of the object you are looking at, will appear on screen. This is to inform the player of what item they are looking at, or can interact with.
#Ue4 #UnrealEngine4 #Ue4Tutorial
__________________________________________________________________________...
this is a binding in the widget you would have to get the current one and display it's name
i see you have the npc ref and your setting its name
what you probably need is an update to the ui
h-how do I do that
I thought that was what I was doing!
Yeah, it is a binding so it should update. But to be safe you can print the name before setting it to make sure
I see the tutorial you followed is slightly different, it deals with one widget, not many
you have multiple of these ? or is the ref the same for them all ? and also where do you actually set the ref ?
First issue. You create a widget on each cursor over. You should add a check and only create it if the ref is not valid
Also expose the Name inside the Widget, so it can be assigned during the creation of the widget here
Or maybe you just placed it in the wrong bp by accident?
okay hang on, one thing at a time 😆
Im trying to wrap my head around what Im telling it that's wrong/incorrect
cause it DOES spawn the text widget above the NPC's head, but the name isn't customizable UNLESS I do it from inside the widget's graph itself, and only from that one custom function
i would just have a widget component
and thats the problem
I understand, but the issue is somewhere else as we checked the obvious things.
Let me ask this: do you want each npc to have it's own name tag above it? or do you want something similar to the tutorial - one name tag that changes text depending on what you click.
hmm interesting you didn't use the mesh
Hrmmm, thats a good question. I suppose for right now it'd be best to have one name tag that changes text. (This is just a very basic NPC class for now.)
so do you destroy it at any point ?
I dont think so. Its just a capsule to enable/disable mouseover events
and he material changes just fine ?
Yup!
also when I add that Linetrace custom event in, it'll fire the linetrace, but the NPC's nametag won't change, either, kek
are you getting errors when you hover, then end cursor over, then close ?
Lemme try that
I should also warn you now Im a concept artist first, """programmer""" fifth
should I add the "remove from parent" node at the beginning of the blueprint or at the end of it?
you're telling me 😆
and see if that helps
i don't think you need a trace if your using mouse over events
it would appear I cannot find the remove from parent node
one sec
get the ref, drag out and search: remove from parent
the ref is here
and then you should see it pop up, then disapear when you mouse out