#blueprint
1 messages ยท Page 265 of 1
i mean if slot quantity <= 1, or your quanity is >= 2
in the case you have 1 wood and it shows can craft
maybe your actual quantity values are off
it's possible, but it's just a guess
this really keeps the Y-axis rotation value within the range of 90 to -90
or it is just a mistake by the people i am looking at their project?
afaik it does this A - B
also it normalized it to limit its magnitude (length) to 1
so how it keeping the Y-axis rotation value within the range of 90 to -90
are you asking a question or stating facts?
asking a question together with explaining my confusions
this code is from an experience dev
i have doubt they will made this mistake
they are more experienced than me, that why i have doubts in me maybe i don't know something that is going in this function
to my knowledge this doesnt look like its clamps y-axis within -90 and 90
this is what i am also thinking of, i basically use clamp to limit ranges
valid
they have that clamp node also right after but it still not limiting the -90 to 90
but there is a * by -0.5 ๐
maybe the final output is really limited to what their comment stated?
There is also something that circles the value between certain numbers without using clamp. I dont remember what it was but I dont think what is going on here is about that
hmm, well i will just stop thinking about this ๐
even printing it doesn't prints what is claimed to be limited ๐
the most interesting part is in gameplay it works as it is commented ๐
Then either your print is wrong or the comment is wrong or its magic.
If it works it works
its magic
Happy holidays to everyone!๐
I already made a request about the following in another channel, but since I didn't get a helpful answer there, I hope someone here can help me out. It would be a nice Christmas gift!
I want to be able to define/change the size of a BP actor (e.g. square spline) by a variable (e.g. in mยฒ), preferably not by changing the scale of the actor, but I don't know what to do, since I'm a very beginner to UE and I wasn't able to find some useful information on the internet. So what do I have to set up to achieve this?
okay, so a bit of an update. I've isolated another hang-up, it's timing out while trying to set the Z axis variable for the camera pan. I'm using a standard break vector node to get the data for the variables, and they're all the correct type, so I have no idea what's up.
wdym "timing out" ?
infinite loop detection
and here's the stack
Script call stack: Function /Game/Blueprints/Utilities/Camera/BP_CutsceneActivation.BP_CutsceneActivation_C:BndEvt__BP_CutsceneActivation_Trigger_K2Node_ComponentBoundEvent_0_ComponentBeginOverlapSignature__DelegateSignature Function /Game/Blueprints/Utilities/Camera/BP_CutsceneActivation.BP_CutsceneActivation_C:ExecuteUbergraph_BP_CutsceneActivation
use >= on the pan checking before it loops back on itself
because right now your checking if they are exact
some UI code do not like breakpoints cuz it shares logic(thread) with editor itself so it can't draw debug windows etc no breakpoints used 
that seems to have done it
thanks
now I just need to get the changes synched
Im having such a hard time with OnReps, doesnt this call it?
do i need to set the whole variable?
yeah you need to set the whole variable to trigger onrep in blueprints
the replication need to replicate the whole struct at once either
What is the best way to cast to a pawn? I have a character creator and a UI and right now I have a button that one hit changes the character by pulling from a data asset for the character.
The issue is when looking at my size map it seems like it's loading every character into the pawn which can get a bit resource-heavy
I don't think an interface will work because I don't want this to change other pawns that may appear in the level only the pawn that is being controlled at that moment
Well I have worked with some soft references I'm not exactly sure how to approach it in this instance. I'm hoping I don't have to go back and change all my data assets
Show the size map and the logic you use to update the character.
What Pattym said. But generically put... Either put stuff in components and get them generically from Actor/Pawn/Character level casts via GetComponentOfClass, or make an asset empty character class of your own you can cast to that has no assets linked, and doesn't cast to anything with assets linked.
So basically make a component for my data assets? How would I switch out the asset?
Sorry I can't show the size map as I am out of the house, not that it would help much as it's very dense due to all the assets from all the data assets loading in at once
It reaches 1.2 GB in memory which I'm trying to reduce
Understanding the type of assets that's bulking it up can help identify what might be the best way to reduce it. ๐
Let me try to explain it out. I have a character selector pawn.
So the pawn itself has a skeletal mesh variable, secondary variable for outfit, accessories, etc
I have a function that basically pulls that data from custom data assets, so say I hit a button that says "Bill" it will load in Bill's model and all his outfits, voices, etc
It works flawlessly but again when I go to the size map it shows every single character, so it's not just loading bill but also George and Ray and Antonio and making the whole thing super huge. I need a way I can just pull the single Data asset and not dump all the unused data assets into the memory of the pawn
I think it might be because I have a UI with a button, in order to make the button update The data asset variable that's feeding in to the pawn, I use a cast to node inside the button logic
I worry that is what's causing the hard reference
If you have multiple characters with preset assets, then you need a base class that you can cast to and call stuff on. Then when you want Bill, you get bill from a soft object ref, or get bill's assets that are softobject refs and load them, then spawn/apply them.
I have a base data class for each character type, I have a variable that references that data type in the pawn. Or maybe I'm not understanding
What is base data class's native parent class?
I guess where I'm confused is how do I get the soft reference? In order for me to do that what I need to update every data asset to themselves use a structure with soft references? Or can the data asset itself be a soft reference? Though if that is the case how do I call it in the pawn without breaking everything
The base data class that has the meshes and everything is a data asset?
Think of it like this, of course you have the data asset class itself, then I have a special character pawn class based on that, then I split that off further through different genders and body types
Gender shouldn't matter outside of the mesh and animbp.
I'm just trying to wrap my head around how I can change the data asset to a soft reference, then load that soft reference through the button without a cast to node and into the pawn that's where I'm getting myself lost in my brain
Yeah I know what shouldn't but I use it for organizational purposes, it's much easier to search and I don't plan to have overlap in those areas anyways
Do you have predefined ACharacter classes with meshes and materials and the like? Like B_George, B_Bill, etc?
It's not that broken down no
Where are the meshes and textures defined then?
Data asset
I have a data asset where all the meshes and texture and clothing and materials and all that stuff is loaded into.
Then inside of that data asset your skeletal mesh, materials, sounds etc. These things need to be SoftObjectPtrs.
Inside the character or pawn is a variable of that data class that pulls and loads that data into the asset variables I use for the skeletal mesh, clothing etc
So I should go back to my data assets and change all of them to soft references? My big fear is that it's going to really screw with the structures
Like I mean the internal variables
Which internal variables?
I was really hoping I would just be able to make the data asset variable itself into a soft reference
The ones inside the data asset. I feel like maybe we're not understanding what data asset is? It's basically a special object that utilizes a structure to hold data. You can then pull that data from the data asset into whatever you want
You probably could do that too if you want. That would resolve your sizemap. But you'd still have to load ALL of them before allowing the user to pick one.
Yeah that is what worries me
I should probably note that when I said remote connection earlier, there are actually some instances where I get a creative idea and the only thing I have is my phone, so rather than write it into One Note or Word, I just connect to the developer rig from that to add it in
Generally speaking, you want the user to be able to load the data assets and ref them for basic data. Names, small icons, etc. But heavy stuff like meshes and materials you only want to load when you need them. You see this in a lot of games in character selects where you pick a character. You see the name and the picture, or other stuff. But on select it takes half a second or less for the actual 3D character to show up.
Or in some cases to pick up from where I left off if I was in the middle of something when I stepped away from the desk
What you could maybe also do is make subdataassets. Like a second asset that just defines the visual of a character. Copypaste all of the data into that. Then you could load the primary asset and keep it loaded, but async load all of the data through the secondary one for the visuals. Would make your loading code a bit more manageable, but would require updating the other code to sue the subdataasset.
That's what I'm kind of going for but again I'm getting all of them loaded and at the same time. It's not like I have an array of all the data assets in there
I'm trying to figure out why the pawn even if I have a single character in the variable slot are loading in all data assets of old characters
Again I'm thinking it could be the cast node I have in the UI? Because again I have basically a UI and in the UI I made a special function that allows me to pick the data asset I want to load when the button is pressed
But in order to get that to work I had to do a cast to pawn and that's when all this stuff start happening
A cast node won't load data assets.
It'll load the data asset's class. But not the instances. For that you'd have to have them specified in an array somewhere.
Nope didn't have to.
I will show you my code later but the data asset is inside the button logic
So the button has a binded variable of the data asset of let's say bill. When I hit the button it starts a function inside the button logic that casts to pawn, set skeletal mesh, and then runs an event in the pawn that pushes that data onto the components
I did it so I would not have to have any array of all the characters inside the pawn tself
I want to not make the default third person character be the active camera anymore so I tried to make my own.
When I turn off auto activate in the third person character blueprint and turn it on for my new camera, it makes the active camera inside the player. And no changes I make to my new camera do anything,
I wish more functions in the widget panel stuff were exposed to BP. :/
I seem to be doing it wrong
I'm trying to make the camera keep its initial rotation upon game start, but its not working
I'mma try something
Like what?
Active camera only matters as far as the view target actor. If you want something else to be the view target you have to set it from the player controller SetViewTargetWithBlend.
"it makes the active camera inside the player" ? are you saying its on the new camera ? or still on the old ? or what exactly is the issue ? your trying to make changes ?
Mainly the add and remove children functions so I could handle them differently. I know there's a lot of stuff it does behind the scenes though so probably wouldn't be an easy thing to facilitate.
I'm currently making a custom grid box similiar to the wrap box but instead of it being based on a fixed width, it's based on the number of children. So after x number of children, it'll add it to the next row.
I want to change to a new camera, But when I try to make the player controller not the active camera, the camera defaults to inside the player
But what in the widget panel isn't exposed to BP for that?
so you have a camera outside of the character that you are trying to use ?
I already posted this in the Slate Channel but no one is there. Im using a Data Struct for the inventory slots as well for the items, each item has a specefic Integer of the Max Stack possible and a boolean to see if its stackable or not. however what i want is to when the drop exceeds the max stacks i create another drag with the remaining but its not working and i think its because the operation end immediately because mouse isnt held down. do you know anyway to fix this please? maybe there is a way to make the drag and drop on click and not on press, like you have to click to drag and click to drop. is that possible?
A child of the uniform grid panel for example has no overrideable functions.
Right. Its not the player character.
I'm just trying to get a smooth camera like in this example.
https://youtu.be/6MrWJadgkro (at 1:10)
After talking with the Fortnite Cinematics team, one of the things we took away from that conversation was the team's heavy use of procedural cameras during a performance capture session. Even though they might have every intention of goi...
does the active camera have to be in the currently controlled character?
Does anyone know why the UEFN mannequin fails to find a montage when traversing in ue5.4. I've narrowed it down to where it's putting the selected montages from the chooser data table into the motion match node but that returns no animation. Here's my code and prints in game
You need to start learning to read your code. Logically follow along with it. Write down what you actually want the code to do line by line. See if your code actually does it line by line. Understand what variables you're using. TEST and see what the values are that you're getting at certain points of execution so that you can understand why you may not be getting results that you're expecting.
To answer your most recent questions about what I gave you - they were newly created local variables ceated specifically fo this function to work.
Also, marking up your sceenshots for clarity is great when done right. Adding strange visuals, memes, and warping the images around within your screenshots is more of a distraction than actually helping most of the time. You spend more time on abstracting what you have while portraying your feelings on the matter or trying to be funny then you do on trying to understand what your code is doing or actually making it any clearer for others.
And I'm not saying I can't appreciate a joke here and there.... It's just on your side, it's a bit excessive (not trying to be mean here...)
to be frank when im doing that its because I dont even understand what my own code is doing tbh
lol
Yea, I get it. But you'd probably be better off spending the time trying to understand.
but im learning through humor and crazy visuals I think
You won't learn otherwise :/
I make a lot of diagrams in my free time when im trynna understand something, for example i try to put it into a logically consistent story, anyway... that's off topic
true
I just finished doing just that
I understand what my variables are doing now
But I dont understand what YOUR variables are doing
My variables are just temporary place holders for data so we can get the infomation we need out. They are local variables there just to temporarily hold info.
you posted a picture screenshot of a function you made that was really hard to understand because it was using 3 variables that I dont have, im never setting them anywhere, and if i were to use them the way you were using them they would be empty and wouldn't actually do anything
They start empty, we populate them within the function ๐
are you sure thats how you populate them? because to me this looked like it was taking data FROM those variables
anyway
so I guess I'll just create these variables as local variables?
and never use them anywhere again?
This here is how you can tell it is populating them. The "Ingredient list" is nothing more than the stored keys from the Desired Ingredients map.
alright i feel like I understand now
what is this?
That's a new symbol on variables in 5.5.... This one is to denote that it is a local variable
I thought that in order to populate something you needed to do some kind of mathematical operation or SET them or somehow make it obvious that you are changing the data inside of it, usually you would connect them like this on the right side of some node, rather than on the left, where that looks like you're only populating your keys with the variable rather than the other way around
good to know
๐
First question, what about this?
Whenever populating anything you feed in the input on the left side of the node.
The right side is the output.
This image... Can't actually happen.
You can take that output and plug it into another node, but if it ever just ends on a node hanging out in space like that, then that bit hanging out in space doesn't do anything.
DesiredIngredeints is a Name > Integer map.
looks like that thing at the end when you got appendicitis
trying to fire overridden function in a child bp , but its not firing , any idea ?
isnt that what youre doing here?
text > string > name
Yes, but based on what you're saying you were having trouble with it and that's because you have it set as a soft class reference > integer map.
Isn't that correct?
"if it looks correct and it feels correct its probably correct"
-Me 2024
Is there a method in blueprints similar to FMath::IsNearlyZero ?
Is anyone else having their enhanced input action giving only 0 for its action value after updating to 5.5?
It looks like each one of them wants to go their own way, they dont wanna share the same node. Oil and Water, they don't mix
I traced throguh all my code and the only issue I could possibly see is that it's an engine problem
before 5.5 I had a weapon swap event where pressing Q moves to left of weapon array, E moves to right of array, Q gives an action value of -1 and E gives an action value of 1, but they are both outputting 0 which never happened prior to updating to 5.5
this reddit post has the same issue reported a month ago and there doesnt seem to be a fix rn
DesiredIngredeints needs to be a Name > Integer map.
You currently have it set as a Soft Class Ref > integer map.
The "Ingreident" input on the function is meant to be a Soft Class Ref > integer map.
ithink this is a function you would have to make, or make a c++ node that does it
with a BFL
yes ^
oh nearly equal, not sure how I missed that
Thanks @dawn gazelle @lofty rapids !
@dawn gazelle you promote this to a variable?
Promote to local variable, yes.
Question: Is there a way to determine if an actor houses a skeletal mesh inside it?
@dawn gazelle this is also an empty one that gets populated later?
Just to make sure
That "Add" there means it's being populated.
yea, ok i got it
trying to fire overridden function in a child bp , but its not firing , any idea ?
(sorry for bumping the message)
so your casting to the parent of the child bp in this picture ?
no ,casting to the child
the bottom (bp pickup ) is the parent , the top (bp capsule ) is the child
its where the func is at
and the overlap is at a trigger box , when it overlaps with bp_capsule , it fires the func
it works
I'm trying to display rich text using variables. In general the rich text works in the widget preview. However the actual ingame text that is coming from text variables doesn't have and formating.
What could be the reason for this?
here's where I set the text using the variables. it's kinda weird that you can't just create a binding like for normal text.
Well might have found my issue and it was more stupid then I originally though, lol
Just as a little update to this, it ended up being something totally unrelated. A year ago while I was experimenting with function libraries I tried to see if I could call the data assets through the function library. It didn't work out for me and I scrapped it, but I didn't realize I had ONE function in that FL in my pawn. That reference was why all that data was loading. Once I purged it out of the pawn my size shot back down to something managable again.
https://streamable.com/d37r5a
Hello, I am making a computer system in unreal engine, but a shadow appears briefly in the 3D widget as in the video. How can I fix this?
Watch "StreamerAsset Preview [NetMode_ Standalone 0] (64-bit_D3D Shader Model 6) 2024-12-24 23-22-49" on Streamable.
Thats TSR.
Sadly not much u can do about it.
Try using other methods? That may solve your problem.
I think there's a checkbox on the material which is supposed to prevent this. It might be called "has pixel animation" which I believe was added in 5.4
HI, i'm having a problem right now with AIPerception where my AI is only detecting sounds made by the player. Does anyone know how to fix this?
I have a projectile that the player can shoot witch should make a noise alerting the enmyon impact. When I use the projectiles "self" reference as the instigator the enemy doesnt report a noise event. However when i set the instigator to a reference to the player character, the enemy does detect it. Any help or insight would be appreciated.
anyone point me in the right direction with this issue?
I am trying to return a name for each component my player looks at inside of an elevator, this BP is inside of the elevator as it uses components to determine which one is hit
but I need each component you look at, to have its own name, so you know what your actually looking at
the hit trace is inside firstpersoncharacter, so im assuming i need to cast from it
how did you fix it?
So I have a function that gets the nearest actor of class and it returns that actor and any properties associated with it.
I have since added an enum variable to that actor I am looking for and want to filter them in this for each loop.
I just attached with head socket instead and just adjust it IIRC
Metahuman hair to head attachment system I forgot what it was called is bugged
How can I change a BP actor's size in UE units via variable instead of having to change its scale?
Glad it worked out. ๐
actor is what holds the static mesh / skeletal mesh components.
changing the actor scale will change all the components scale.
if you want to change the whole actor based on unit size, you probably have to get the bounding box then convert it somehow. But it's probably not easy feat. You mentioned that you are new to UE yesterday, try to keep things simple.
The way the add node worked baffled me for a while lol
@astral shuttle
So, I currently use events in my level blueprint when I need to something to happen in the level and affect a few different actors, as it spares me messing with event dispatchers or getting references any more difficult way. It also makes it easy to glance through and see the progression of the level.
Is there any reason why this limited use of the level blueprint would be ill-advised? I know people get warned off using it at all, but it seems fine for this. Making, I dunno, a different actor that everything registers with and that handles this kind of thing seems pointless, and having these kinds of level-altering event tucked away in a dozen different actors all pulling this way and that without a clear way to seeing the overall progress seems like an unnecessary source of future headaches.
For a more hard coded game it's probably fine.
The issues normally arise because games these days can be much more procedural in nature. And you want missions or such to be procedural as well, and may want them to work on multiple maps. Which puts you in an bad spot if you put it in the level BP because you'd have to copy it, which means changes would require editing multiple levels and tracking where all that was done.
Ah, that makes sense.
To get around that you usually make some sort of mission style or quest style progression system. Flowgraph is a good example of how to do it well. Because it was designed for exactly that. An alternative to the level BP that isn't tied to the level itself.
But for sure. If it will only be in one level. The level BP is probably fine. The usual reason why people are warned off of the level BP, is because of students. Teachers tend to be lazy about it or extremely time pressed and tell them to shove everything in the level BP so they have easy access to everything and they don't have to explain the myriad of ways to get references to stuff and how to organize things. So you get a lot of people just putting whole games in their level BP.
Should be fine as I am, then, given how my game works, but I'll glance at flowgraph and consider other possibilities just in case.
@obtuse kiln you can just drop a blueprint actor, create variable for anything you need from the level, make it instance editable expose on spawn then just pick with the dropper tool.
using this for my "MoveComponentTo" 's and stuff still changes speeds depending on if i'm laggin' or not. One time it gets there hella fast, the other times it's off maybe maybe half a second or so.
There's no changes in distance at any point to affect (effect? not googling) the "over time"
Can I not have two output nodes in a Macro?
I need to add a branch to change the output
Use tick
Tick will delta based off the frame time
oh, you're using the node wrong
"Over Time" means the total duration
so if you want 10 seconds you type in 10
I had used the tick before, but people told me to use world delta and i spent the whole day changing eeeeverything over
But word, over time is much like delay and will never change or need any form of delta/tick?
afaik that seems to be how the node is set up
tick is fine, you just have to be careful with it
Heard, thanks stuffy
How can I rotate the camera 90 without alwo rotating the actor?
by not changing the roll and pitch... right now you are just setting them to 0
regardless what the current values are
I think they were talking about the pawn rotating to control rotation as well
Ya, I had that at one point. It still just rotating the camera with the actor?
there is a tick box you have to untick
You mean the actor is rotated along with the control rotation right?
yes
check cmc and type use controller
see what that shows
or is it OrientToMovement
I can't remember
Orient to Movemetn is already there
untick use controller yaw, pitch and roll
that should make the character not rotate according to the controller rotation at all
The yaw is there and its off.
look for UseControllerDesiredRotation
switch off UseControllerDesiredRotation and turn on OrientRotation to movement
Still not luck...
I swore if yaw was off it could not rotate
IF I turn off inherit yaw for the spring arm on the character rotates (the is oposite from what I want).
If I turn that off... maybe I can rotate the spring arm by itself.
Orient rotation to movement should be on afaik
oh well, I am not using spring arm
spring arm probably override
just toggle and see how that goes
I found a Use Control Desired Rotation being called because of the click... PRobably that what caused the issue... ITs too late to look tonight... Thanks!!!
how to properly do it?
A comment is just that...
How to make searchable TODO comments? ๐
it's great for polishing you know :/
Arnt comment should come out in the search bar
Hey Guys
im trying to make it so when bool is true " all below spine is not affected by the animations
or rather i want him to be able to move while "blocking"
with montages i can use blend poses top/lower body
but this is not a montage rathert a stance
@steady night layered blend per bone is what you used to filter what runs on which part
regardless montage or not
yeah but im not sure how to set it up
decide where you want to filter the animation
for blocking maybe it's divided from the hips
upper part of the body to play the blocking anim, bottom one will play the idle/walk/run
yeah
i mena im blending to Caches with eachother thats the same oness
thats where its not working
Did you search after you dropped the comment? works as intended here
its not x) thats what im struggeling with
maybe #animation can brainstorm it
Cameramanager club? ๐
stole from lyra, didn't understand it but it work
but yea using camera manager update view
@gentle urchin did you take from Lyra?
they use curve asset and different camera modes
Nah mine is far simpler ๐
they made it modular enough to change camera modes
I will need that to aim for AOE or differnt kind of spells
Having bug that I can't figure out. My Look is suddenly not working but IgnoreLook is still false from the controller...
to get good view angles during spells and abilities
maybe
might just confuse the player more tho
Hi, Merry Christmas all.
Do you know if the Set Velocity is enough to make a blueprint move automatically?
Alright so i've got a little problem here
I am trying to remake like a type of sword arc (similar to the moonlight katana from the souls games)
however, if I am facing backwards, the projectile spawns backwards
you can just keep adding the Move Input every tick
for auto walk
only need to specify the direction
projectile
Hey there!
What do you think about using tags? I use them to find objects in the level. Maybe it could be better to use a parent class instead of Actor (or using tags).
Blueprint Runtime Error: "Accessed None trying to read property As BP GUNBASE_0". Node: Shoot Pistol Graph: EventGraph Function: Execute Ubergraph BP Player Blueprint: BP_Player
I Dont understand how its accessing none? ive litterly done a cast to it
Cast has nothing to do if the object is null or not
Casting is just a type check
how can the object be null though?
Unrelated but I don't even see casting there
Object is null when you never set it
You just say it's a type but you never set it to point to any instance of the type in the world
set it to point to any instance of the type in the world? im just calling a fuction though? its setin the gun blueprint?
calling a function on something that don't exist
hence accessed none error
your issue is you never set BpGunbase
it's pointing at NOTHING
like which gun in the world? the one that someone is carrying? the one on the floor? the one the player owns
unless you specifically set the variable using set node, it's pointing at nothing
use gameplay Tags instead
i tried like this but no joy
Hallo every one! I'm working on a project in Unreal Engine where I've set up lights to respond to MetaSounds using Blueprints in the Level Blueprint. It works fine in simulation, but now I want to bring everything into Sequencer for rendering. How do I convert my Blueprint events into Event Tracks in Sequencer so that they trigger during playback and render correctly?
How would that help?
elaborate
I alredy tell you the issue and how to fix it, so no more comment from me
I am really new to blueprints so I don't know how to navigate around them with easily
Which part do you struggle with? You don't know how to call an event from a blueprint in the sequence track?
yes I want to call it to sequencer
call it in sequencer?
there is event track you can drop in the sequencer
you need to add the bp to the sequencer
Dont help if your just gonna get shitty, i litterly dont understand what you mean, i made a variable and set it. God i hate asking for help on here sometimes
add a key to the event track, then right click and bind event
the thing is that its a level blueprint
what do I drop to sequenser ?
because adding a blueprint class its ok I found how to do that, but what do I drop if I want to have a level blueprint in sequencers ?
You can't
that's why don't use level blueprint
because you can't get a ref to it, at least in blueprint
shiit
ok please can you do me a favor @frosty heron ? just tell me where to look for it and Ill figure it out. In this video (Thats what I saw for the lights) In 19:12 he tells us like we could do the same thing for blueprint classes with event dispatchers, how do you go about it ? https://www.youtube.com/watch?v=s8IVdEprKzI&list=PLxcwBmVskTls8jihyDaWUgFE4wpHigVqo&index=14
Unreal Engine 5.4 Metasound Output Watching | Beginner's Guide
In this tutorial, Iโll walk you through the basics of Metasound Output Watching in Unreal Engine 5.4. Whether you're new to audio development or looking to enhance your skills, this video covers the basics of how to use Metasounds to send useful output data in real-time back to your...
I want to achieve this kind of a result btw https://www.youtube.com/watch?v=AFW0xd-S9r4
Made using UE 5.3 preview, spawning and triggering various things (cameras, particle spawns and material and painting switches) in a level using the new Metasounds watch output nodes. Everything is spawned based on envelope followers outputting data of stems I made and cameras change based on meta data baked into them.
Music: My own :) if you l...
I never touched metasound in my life sorry. Only know how to trigger event in bp via sequencer.
its the same thing
thats not the problem
To tell you differently, If I have a dour that opens and closes with code. How do I get that information to sequencer in order to get a video from it ?
Wdym to get a video from it?
There is tool to render from sequencer, but is that related to the event track we r talking about
what tool ?
Ask in #sequencer I never have the need to render anything. Only know you can render sequencer to a movie file or something.
ok thank you
Google seems to point at movie render que
@small quiver am I misunderstanding something? Are you not able to open or close the door using the event track?
Is that the issue?
So I was able to fix up and DRASTICALLY reduce my memory footprint in my pawn but I still feel I can get it a little lower, but I wonder if maybe I am overthinking it
I dont know how to even start to do it bro
Well I tried the mutable sample to see if it gave me any new things to try and I noticed the actor in that has the same memory footprint as my pawn does now, which is why I might be overthinking it
So you got an event that open or close the door yea?
And you want that to get called in the sequencer
yeap
Have you added your bp to the sequencer?
Once you done that add event track. Drop a key where you want the door to open and scree shoot it.
Level sequencer isn't an issue
basically is there any way I can setup an array to only pull a single item into memory or must the array entirely be loaded? Like say I have an array with different skins, I tried making the array into a soft reference and async load but when I check the size map it's still loading in the whole array, which kind of defeats the purpose of using it as a soft reference
What I said was level blueprint
I want to figure out a way I can pull a single item from any array async, is there any good method for that outside of array?
But what I dont know is how to convert my level bluprint to a bluprint class
Well maybe just write the logic to open and close door in BP door?
You can even reuse it that way.
Then in sequencer you can just drop your bp door
yeah that the plan, but when I do the same stuff I did in my level blueprint to blueprint class it doesnt work
It shouldn't. Soft pointer are like "paths".
It's probably referenced else where
If you are not familiar on how to work with references just like the person above. Watching blueprint communication video will help.
It's kinda compulsory moving forward.
The short version is, you declare a variable of the type that you want to grab from the level. Set it to instance editable and expose on spawn.
You can drop the bp actor to the world then just use the dropper tool to pick the object.
do you have a video to recommend about this topic ?
I thought this too but I checked everywhere and have not found any other references to the array
show the ref viewer
Can't at the moment
I wonder if it might be because the array is in a data asset,maybe even though the array in the asset is a soft reference whenever it loads the data asset it has to load everything
no
if it's not a hard ref, it wont be loaded
It will when I run async though right? Again I have to run async in the code to load texture 0 but when it does so it loads the entire array with texture 1, 2, etc, into memory
they will be loaded when you load it
but the bp where you have the soft ptrs will not load the assets until they are loaded with blocking/async
I think where we are misunderstanding is I was hoping to load one reference from the array into memory but not the others. I was hoping soft references would do this but when loading my code it always pulls the whole array into memory
Next time I get the chance I will check out my reference viewer again
Considering the mutable sample didn't try to only load in single options I really do think I am overthinking this.
@silk rampart
did not load the whole array
Can also see in the ref viewer that it's connected by soft path
thus loading the outer, not gonna load the static mesh by default
btw things that are loaded in editor stay loaded. If you are trying to test without restarting, well you should. That or try in packaging and looking at logs.
Thanks for the info. Will look deeper into it
any clues why this crashes unreal (fully locks up and stops responding)
When its printing to the screen.. its fine it and does the yaw perfect.. and i know that the pitch value is in the correct range.. i can even plug the yaw value into the pitch value and that works it just dosnt like the second for loop for some strange reason
@steady night This is my setup
filter at some bone. Make the other half play the walking the upper part with anything you want (blocking anim or w/e)
so you are using montage for the block?
How can it be different then?
you are just playing the same thing accross all routes
also name them proper for readibility
over here you want to play your blocking anim (This is the upper part)
Hello, if you let dead blueprint is it affecting the code and performance in any way?
i mean blueprint that are not recheable?
@frosty heron I understand what you are saying now, and it makes sense. I get that your trying to help and thank you for that, but some people may learn or grasp things differently. If you said something like, create a varable with a object reference type and set that on begin play and expose that variable, then from within the level you can choose the gun with the eye dropper. This esablishes a connection. Then you can use a get valid node for an extra level of protection.
Instead of I TOLD YOU! use a set NODE, ugg what are you doing?> that wont work, im not helping you anymore.
Not trying to say I'm not helping you anymore, more like. I'm just gonna repeat my self again, please read what I said earlier.
But I get my choice of word is very poor. And I do get impatient when I have to repeat my self which is not your fault but mine.
Sometime I have to copy paste the exact same text 4 to 5 times and it gets frustrating (not referring to our interaction) specifically.
Seems like just checking if the weapon ref is valid should be enough for "isEquipped" check tho
assuming only one weapon actor is spawned at any given point
I wouldnt use the eye dropper tool for a weapon though
You normally spawn them at run time. That's when you can set the variable from the return value of the spawn node.
You use eye dropper tool for actor in pre placed in the level
Im sorry man, i understand it can be frustrating, im not the quickest to grasp things so i get that I think we both didnt use the best choice of words, but you certainly guided me to the right direction
The weapons will all be in the level so using the eye dropper should be o think
I assume by EyeDropperTool you mean pick instance at editortime ?
||Finally my A* works! Silly mistakes still haunt me to this day||
Was my fault so don't be sorry.
But anyway, I would advice going against using the eye dropper tool if its something like a weapon pick up.
If it's a weapon pick up you can establish communication via interaction.
E.g. if overlap with item. Give me the weapon the item actor has, then destroy it.
Go you, i set it like this and it works ok, just as a test, if im using child clases should i set the reference as an object reference or a class reference?
It's fine to setup like that. The pic above is just saying if current weapon is valid then shoot, if valid do nothing.
So you are still responsible to set the current weapon at some point.
Perhaps at some event like pick up item, etc.
Hey how did you get these listings btw? I usually use the output log but it's only showing me a few lines when loading the pawn, making it hard to know if it's loading too many items into memory or not
I'm using output log
I went in and adjusted the pawn but it's still showing the soft references of the array as hard references
Then typing in console obj list class=thetype
Can you show me your setup?
I got 6% battery left 
what the function? Array? references? size map?
I don't have a lot of time, give me a sec
@silk rampart how do you check what's get loaded to begin with?
The command is objlistclass
I don't, I am just looking at hte size map
If you want to just check for textures you can go objlistclass=texture2d or something down that line.
I am trying to get the size map to shrink by converting some variables to soft references
Those size map are not to be relied upon
Said some cpp dude
Look at the reference viewer
And run obj list class to see what's currently loaded to memory
This is the start of the function. It pulls from my data asset. Right now the hair is the only one I have converted to a soft reference.
but when in the size map or the reference viewer, it still shows all the hairstyles, not just the one loaded.
I am not familiar with size map and the color it represents.
I would totally just use obj list class to see what's loaded
Reference viewer helps too
If it appears in the size map it's being loaded with the blueprint as a reference
It's just an alternate view of the reference viewer but kind of shows how each referencing is filling both drive space and memory
If tom looman says it's not accurate then no point looking at it
Prob just estimate. Use audit assets instead
If you're more familiar with the reference viewer it shows the connection in there as white lines
Compile and save everything. If that doesn't help, you have a hard ref somewhere to the hairstyles.
I can assure you soft ref don't get loaded unless you resolve them (e.g loading it).
Loading a soft ref in an array doesn't load the rest of the element
Something else is hard reffing them somewhere. Can you show your full sizemap where those are under?
Maybe work backwards. Look at the hair style reference viewer instead
See where its being referenced
I had to get off my computer so sadly no, but the top box is the character data asset class
Gtg battery out. Night Authaer. Merry Christmas
Oh good idea
Merry Christmas. ๐
Will do that later. Thanks for the help
I think the last couple days may be the first time I've not opened Unreal in over 24 hours in the last 5 years. ๐
๐๐๐ dedication !
Ok only references to the hair assets are the character data assets and the loading functions going into the pawn. Going to try one more change and hopefully it's the last one I need
ah i know why that loops having a drama because it also contains all my HISM's
that was it ๐ damn spent a age trying to figure that lol ... i guess it dosnt like translating the sceneroot on the Y axis when its got HISMs
Is it true that I should never use a Delay node? I created an actor that spawns an ammo pick-up and then respawns it after a delay. Some guy told me that I should NEVER, oh I should NO NO NO, DO NOT EVER USE DELAY. THAT IS FOR NOOBS. But I asked him what I should use and he didn't respond. Is there some kind of super elite, hidden feature that I should know about or is this guy just full bool shit?
I'm creating this BP for multiplayer use, btw.
yeah its quiet a subject the whole delay thing but look into using timer functions instead
Would this be what you're talking about?
https://dev.epicgames.com/documentation/en-us/unreal-engine/gameplay-timers-in-unreal-engine
Delays are fine depending on scope
Big projects with tons of delays could be a big problem more so if you loop anything, those you want the control of timers
Ok, thanks. That was a much better answer than the other guy.
I use a few delays in my tiny project and they work fine. To make sure they don't cause issues in loops I just lock the code with a once node then have the end of the code reset / open it again.
yes it is indeed related to anti aliasing thank you very much
But I don't know much about other methods, which one do you recommend me to use?
Generally youd want to use timers as they give you better control than a simple delay
A specific edge case could be saving the game in the middle of a long delay
Loading at the same place qould require you to start it from full duration again
While a timer could be started mid-duration or wherever you were when savingn
so if I understand maps correctly, this would have to print out "Bob James". if so: why doesn't it? It prints out nothing. The only thing that is being printed correctly is the first entry "Meling".
also the length of the map is being read incorrectly as 1.
Are you modifying the map at runtime?
@spark steppe They posted a new one lol https://youtu.be/S2olUc9zcB8?si=vPzBnfJ2jBqV2uIm
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 v...
Comments already got myths spawned by people like TI
but why? they already had the video on YT?!
oh it's the same but separate, the old link was within an 8hour stream
thanks Neo, updated my pinned link
None of them. Set a default that works for you. Let users pick it in the options menu.
Delays are fine if you know what ure doing. And dont try to use them in buildin loops
They're nice to frame slice large loops
You just gotta know how it works. Typically involves custom macro, but doesnt really have to be
finally got working .. not sure why it likes those settings but i put the voxel size to 120 and the trace distance as 1.05 times that for radius and ... look ma!!! no more floating objects#
also used multline trace as well which is kind of awesome
so now wondering what would be a good approach to put a slight randomization on the start / end trace so it scatters the stuff
I'm curious if the new UserWidget manager thing fixed the crash you can get in seamless travel. You could start a delay in a widget, travel, loop executes later and crashes because it wasn't unregistered. Actors never had to issue because their latent actions are tossed on destruct. I'm curious, but not curious enough to test. ๐
nope
it's all set before. do I have to initialize it somehow?
Hi everyone I have a question about curves and timelines basically I have a timeline that changes the half height of a character if I have a curve float with a key at time 0 and another key at time 1 how can I set the values of those points to variables such as standing height and crouching height? Or is this not a reasonable way to do this? Thanks
Oh damn , never thought that'd be an issue. Wouldnt their timers be bound to the outer object ?
That's where you usually a lerp.... takes an alpha (value between 0 and 1) and a min (A) and max (B) value. As you increase the alpha it'll transition to the max value.
Yeah its just lerping from a to b
0 to 1
One can use MapRange(optionally Clamped) aswell
Results are the same
If you ever decide to put mining in your game based on RNG without clamping it in some sane way. Just don't. Like literally. Do. Not. Do. It. I'm playing Bellwright atm. And I'm about 30 clicks from installing an autoclicker and going AFK.
!? Rng ? ๐
Like.. Rarely in 1 click you get 2 ore. But I shit you not, the usual is that you can click 1-20 times before getting a single ore. Sometimes you click three times in a row and get 3 ore. Sometimes you click 10 times and get nothing.
Ahhh
That sounds rather annoyingn
Seen that in a few games
Feels like a mechanic that solely exist to waste my time as a player
And leads me to uninstall as the devs dont respect my time
Like.. It's fine... If the cap is 5. I'm cool with that. But after 15 hits and no ore or rock, I'm at the point of wondering if the game broke.
That sounds like it would be a pretty quick uninstall from me @_@
Hey everybody, I have a question about enemy spawn points. I have a character in a horror game Iโm developing that I want to randomly have spawn behind the player and follow them during the game, and I got the following the player part done but I donโt know how to have it spawn behind the player at random times. Can someone please help
Depends on your level design, and gameplay. The short answer is to simply get some spawn points that are behind the player, but reachable on the navmesh and in range.
Get actor forward vector, * negative distance, get point in navigable radius that is smaller than that distance and you should, in theory, have spawn points behind your player
True RNG feels bad
90% shot feels like it should never miss even though that's how logic works
Just tried it and it didnโt work but Iโm probably doing it wrong since Iโm new anyway
Half distance as radius, and you're solid !
Test and adjust as needed
Welp brain fog. Dont need half even.
You can also use dot product to get a good spot
My noob brain is thinking of Making a timer with a random interval, once that hits zero it fires a "wants to spawn" event. Which tests overlapping actors in a sphere shape behind the player to find valid spawn points behind the player, picks a random one then spawns the enemy
overlapping actors as in potential spawn points?
It'd be safe to check for navigable radius, making sure they hit the navmesh
just a tiny loop thing to check a few locations
this seemed to work fine
swapped to the correct node (not pure) and added some randomness to the distance from the player
controlled randomness
resulting locations
some adjustments to length and angle gives us what might be a better result
I mean
You could use EQS query contexts and filter out half the circle
Lots of ways to do it
That prob makes more sense tho
Theres prob more criterias than just this, for a suitable spawn location
if you're using a homing projectile component, how would you simply target the ground / landscape ? it seems you need to set the homing target but it's a component and when i target the landscape it just goes to what appears to be the center. is there a way to make the target a location instead ?
You wouldnโt
You would make an actor that contains that component
With an empty mesh (or a sphere with hidden in game checked)
And place that wherever you want to target
ahh ok i thought i might just need to spawn a bp , so i guess that's the only play. bascially spawn essnetially what you said and then target that or add the component like you suggested (hide actor in game/etc) and after hit destroy that actor
I mean thatโs assuming it needs to home in
Otherwise you can just remove the homing part when targeting the ground or vice versa which is prly more efficient
It is a little odd that given all of the gameplay stuff that requires either a component/actor or location, there isn't a wrapped type that systems can use to determine a correct location from it.
Add it to the list of things we donโt have ๐
Like AI for instance would use it. Homing component could use it, targeting systems could use it.
yea that makes sense, but the way im doing it, i have a homing projectile on a custom bp that is launched from the character and it will (now) either hit a valid actor and target that or if it misses / hits a landscape or somethging i'll spawn an actor and target that at that location that the player targeted. simple enough. could also change the custom bp to change the way the projectile works but i think this method will work well
*should mention that im using a line trace before to target the location *
This game is killing me. ๐ I'm 99% sure their AI use RVO. And I'm 99% sure they didn't click the checkbox for the player character to use RVO. So AI avoid each other... and just walk into the player character like derps and get stuck on you forever until you move.
Is this the same game as the one with the ore ?
Yeah, Bellwright
TBF I think it's a fantastic game. Good potential and good direction. But they got a looooot of jank to clean up.
And apparently checkboxes to click.
I'm curious what the best way to make a lined queue would be for AI. ๐ค
Bruno might know in #gameplay-ai
I tend to avoid that channel. Never really get an answer when I ask things there.
Maybe instead of explaining my issues I should just "hi guis how i do thing???"
Tbh thatโs not necessarily a bad idea sometimes
Delay should be used sparingly and as last resort. There isn't actually a lot case where you need delay imo.
That's not to say don't use it but the context have to be understood as that can be quiet dangerous or straight up broken.
You mentioned multiplayer. That's another Territory where in some case delay is to not be used. Some people "fix" their multiplayer code by hard coding a delay when in reality every one would have latency. So the bandaid to wait x second suddenly stopped working when the client or server comes with the data longer than the hard coded value.
For things you want to do over period of times you can use timeline.
Delay will not work the way some people think it does in bp loop because the macro run on the same frame. So don't try spawning items periodically with delay inside loop node.
what would be way to check if i hit a landscape ?*
Draw the trace and see if it impacted the landscape to begin with
after that print Hit Actor and Hit Component see what that returns
I would probably look at the Phys Mat for landscape but not like I ever worked with one before.
yea that is first trace
i just added a tag to the landscape
not sure if that will work
not sure if that answer the question
have you checked if the line trace have a hit impact when you draw debug?
if it did (so you passed the collision checks) print string the hit actor and component, see what that returns
ahh i see what you mean, yea it hits and returns the landscape actor, i just added the tag and that seems to work, will check for close collisions in a sec
pretty much what will change the outcome of how it will work, there are a few other things that return weird location results but the main issue was when hitting the ground
just added a Landscape tag to the landscape in my world settings
World settings? I thought it will something you do on the actor level
show some pictures of the debug trace
no no, you're right
and anyway what is your goal here?
I would probably just check againts the phys mat
goal was to distingish a difference of where a homing projectile will go, i had an issue where if you hit a component that was rather large it goes to the center of the component which in landscape case means very far away from where yout argetd, so when hitting landscape i will simply take your inital hit* location now instead of hit component
above i mentioned how to get that new targeted and ended up going with the idea of spanwing an actor and targeting that at the right location, then spanwing the homing projectile
yea thought of this too, and might honestly be a better idea when i scale the thought, as this would allow it to work with buildings / stcutures as well
dependsโข I used phys mat when I want to see what I am stepping on so I can play different foot step sound accordingly
will blueprints ever reach the speed of C++?
yea same for footsteps as well as hitfx
yea I think that's where the issue is
hit component just return a component, use impact point for the actual point
Never, but you already know it 
yea definitely will use for cases where you dont' target a moving actor (ie, a player or ai in my case)
imo it's like asking python to be faster than static typed language
I don't know much about programming but since blueprint runs on VM, it would come with the overhead imo.
yeah it slows it down which will be noticeable in a larg game specially MP
@past compass Homing proejctiles?
If you have valid target (Characters / Targetable entities) then shoot toward them,
If you don't have valid target (Don't shoot and ask for targets or just shoot at the impact location)
it really depends on what you do. Just profile it, being slower but if it's not distinquishable wouldn't mean much.
Epic should make an AI nativizer which converts all BP code to normal C++ in a shipping build
obviously move the loops and heavy stuff to cpp
but anything else is probably negligible
Just because python is slower it doesn't mean it's not a valid tool to do something
if it's fast enough for the app, then meh.
very true
They tried didn't they?
failed miserably and removed. (Blueprint navitzation)
Eren have BP2CPP
but it's not released for public (at least not yet)
and i guess it will take some more decades
yea for sure i like it, pretty much think i have something like this going rn, will update with final result
Eren finished his BP2CPP btw
it's just not available for public
I think he tried to pitch it to Epic (could be wrong here) but they didn't grant it.
so Eren's BP2CPP only support standard blueprints, right?
I have no idea ๐
like if i add new helper to bp, it will not convert it
ask the men when he is around 
I try to move every single thing to cpp anyway after my blueprint got corrupted
or if i change this
KISMET_MATH_FORCEINLINE
void UKismetMathLibrary::Quat_Normalize(FQuat& Q, float Tolerance)
{
Q.Normalize(Tolerance);
}
to
KISMET_MATH_FORCEINLINE
void UKismetMathLibrary::Quat_Normalize(float Tolerance, FQuat& Q)
{
Q.Normalize(Tolerance);
}
his tool will not work i think
only used blueprint for GameplayAbility and asset reference
and i use it for only animation blueprint related things and float curves or any other visual thing like UI
but they still derived from C++ classes
basically blendspaces and state machines i prefer to do in blueprints
same
in C++ it will be a pain
and widgets too (for me)
still derived from my own native class but I kinda do the logics in bp
yeah for widgets i am now learning slate, will use bp widgets untill i fully mastered slate
for animation bluepirnts i do logic in C++ and use those logics under state machine example
even the two hand IK i did in C++ ๐
why cant i get individual x and y location from this?
I think you missed
right click the blue pin
you are not very good shooter are you ๐คฃ (refering to the last hit trace questions)
right click here
i dont think i did tho 
i clicked all over it as well, still blanked out
could prob have used this, just found
prove that i can at least aim a mouse
@final ferry if you can't split it, drag from the pin and type break
that was for his earlier issue, not a respond to your particular problem
added the break now both let me split, i think it just hates me
good evening ! and merry chirstmas
I got a weird issue I cant figure out, something super simple, I fire this code Inside a Rep notify, it works super well even with 3 clients and a player host.
if I reconnect a client, this item is still attached, and at the right location, but the orientation is always wrong he is the compared data from when I attached ingame, to when a client reconnected (of course I make sure I barrely moved the guy how has the item attached).
so we can see the socket barelly moved, but the item is rotated 90ยฐ when reconnecting even if the data of the socket did not changed
of course the item replication is always relevant, replicated, replicates movement etc...
I fear he fell into the pit of "fuck thus I can't be bothered right now I'll finish it later" and later just never seems to come
That's me right now with my AI movement solution
from memory I think he said it's done
I think there's just no incentive to release it to the public
I finished my solution a long time ago, but I endlessly want to make it better and end up hating myself
Oh
No incentive? That's weird, because iirc he still had it advertised in his profile
Actually I can't even find him
Oh yeah he's still in here actually, and it's still advertised. I think it'd be a little funny to advertise what you made and then never show anyone. I hope that's not the case it seemed like a cool plugin idea
I have this exact problem on a fresh linux build of the engine.
Anyone ever figure this out?
what am i suppose to put in object for the cast to?
Casting is just a type check. You pads what ever object you want to check against.
So in this case you want to pass a WDG_BulletCircle
Though I don't see why you will need casting here.
Just grab a reference to your widget and set its vissibility.
this also happens when i do that
Show me the circle in the widget designer
Actually where is this bp?
is there more i need to show?
Where is this? Show full screen shoot so we can see the class it's derived from.
BP_TargetInFrame
You need a reference to the widget the circle lives in.
How and where is the widget constructed?
its in the same folder, i dont get what you mean by how
Folder placement has nothing to do.
All your blueprint class is a "template". They get instantiated at run time.
So you have to specify the instance of the widget you want the slider from.
By creating the widget I mean where do you construct it (with create widget node)
You need to spawn the widget during game time for it to exist.
ohh. its this here
Drag from the return value and select promote to variable
might be wrong about this is being the return but i dont see that here
That's an exec pin not the return value.
You want a reference to the created widget
From the create widget node, you can see return value. Drag from the blue pin and select promote to variable
We basically want to have a reference to the widget that gets created
oh you mean like this
Yes and don't take this the wrong way but you have a gap with the basic. It's hard to move forward without understanding reference as it is used everywhere.
There is a blueprint communication video by matthew. I do recommend watching that when you have time.
do you have a link to that video?
Now from your bp frame you can get player controller -> cast to hud controller -> get the widget variable -> get slider or w.e you want from the widget
im lost at get widget variable, is this the one? but "as BP Hud Controller" doesnt connect to it
Self refer to the class it's in
In your case self is bp frame, not your bullet circle widget
Bp frame don't have a circle hence the error.
hud controller doesnt have circle as well so it doesnt let me do that either tho
thats in the widget itself
Indeed, refer to what I said previously
Hud controller owns reference to the widget that is created
Which you name new var (please use better name convention, maybe wbp_circle)
aa i thought you meant "circle" for widget variable
So get player controller, cast to lobby controller get new var, get circle
i got it to connect to circle now, but its giving me a new warning
Check what your hud controller derived from
If it's something for player controller it should derive from player controller
hud controller is a actor class bp should i remake it into a player controller?
You can reparent it
Go to class settings and change the class to player controller
This just means you never set the world to use your custom controller too, you will have to do that via game mode so you will play the game with your custom controller instead of default one.
i think ive set the game mode correctly like this and the bp compiles fine now
but im getting this error when i run it
It could be you try to access the widget before it's even created
I mean for sure when it comes to null
The create widget have to happend before you try to access the reference
Until then the reference is invalid as it points to no widget in the world.
I would probably address the error from the top
Are you doing multiplayer? What settings do you use when playing in editor?
i pretty sure its in single player, i havent done anything about multiplayer
Show your hud controller uncropped
Btw you need to connect the pin to the set node. Do it after or before add to viewporr
Do you have a character you spawn? Show your full game mode and world settings
Hey my data table is throwing an error because I moved the filepath for the struct that I used to create the data table. How can I fix this?
I have never encountered no attached player error before, maybe someone else knows.
should my hud controller be in player controller class instead of hud class? cuz i only see it in player controller
A hud is a hud, a player controller is player controller
A player controller is the brain of your pawn.
A hud is a class that manage your widgets.
Redirectors, usually. But with that being a BP struct I'm uncertain.
so i tried making the hud controller a hud class, and it clears the first error, but the rest came back(gone after connecting set node)
should i have 2 bps? 1 hud class and the other player controller class with the same thing(?)
redirectors? im not familiar with that
I'm not sure how well they'll work with BP structs. You use them on C++ classes like when moving them between modules. BP assets are supposed to leave redirectors behind automatically when you move them inside the editor. If you move them outside of the editor in the file explorer, you'll break things.
hmm i didn't do that. the only thing i did was push to git
ah i think the redirector just got messed up
i think redirector doesn't get fixed if i renamed the path without moving the file alr
@frosty heron
good day
how have you been doing
I have been away trying to get stuff working for my game but I noticed some issues that I couldn't just fix
1st
it turns out I cannot animate an object that is stored inside a variable (be it an array or single ) i can only animate an object if I GetActor
and the logic of the game is that each hole stores its stone in its actor variable
so I tried to assign a TAG to each stone On spawning and give them a value using the increment node but for some reason, the Set TAG refused to work.
cause this would easily allow me to get the Tag from the variable that stored the stone and easily use it to find the object inside the level using that tag and animate it
that set tags node you pulled is for Rig Hierachy, nothing to do with your Component or Actor Tag
multiplayer is not easy btw, you might be flying before you can crawl. I mean, there are soo many times I'm about to give up on multiplayer after years of trying.
if you are still using nodes like get all actor of class, get actor of class with tags because you are not sure how to pass / set / read references. Working that out in multiplayer will be even harder as you have to deal with multiple machines.
what's valid in one machine may not be valid on others.
right now i feel like giving up ๐ฉ
now i see why me fellow game developers here in Africa make only single player games
this idea of using tags can even work cause there is no set tag NODE for actor
Nothing to do with country, it's just if you are new to blueprint, going multiplayer is insane.
not to mention blueprint only mp proejct is already limited.
you can do turn based stuff to some degree, but you first need to understand OOP at the very least.
once you are comfortable with OOP, you can read the pinned material 12 times, practice, fail, and do it again till it click.
you add to the Tag
but this means nothing if you are running it on clients
the tag probably not even passed by the server like that. It's not replicated.
my honest advice would be to do single player first, not to gate keep but it will be faster for you to learn OOP.
my 2nd issue was I animated the stones by using get all actors of class >> random index (just to test the animation logic and see if it will work, I noticed 2 problem
1st if your mesh component physics is turned ON the animation will not work, but if it's turned OFF it will work)
then i turned OFF the physics and used set physics TRUE to simulate the stone at begin of the game and after some delay set physics to FALSE, before calling the animation which worked but the animation was not the same for player 2
@frosty heron
Multiplayer is somethingnid advice against if you're new as Coldsummer said ๐
Learning the ropes is one thingn
I would give the same advice to my self, I wouldn't be able to finish a god damn game if I started my project as MP
But multiplayer is a whole new can of worms
I hereby grant you your own advice!
damn me and my team are planning on dropping this game next year february
as we are a new game studio you can check out our website @ https://esegames.com
damn this is very sad
and have done research and found out that its easy to grow a community when your game is multiplayer
are you the only programmer in the team?
that's not necessarily true imo. Many multiplayer game died very quickly. Especially if you don't have enough player base.
and some died in a day. Look at Days Before game
I call it day before people get scammed
yes the rest are 2d/3d artist script writter
as much as I rather be wrong, I have big doubt you can release the game by next february.
we are looking for developers but its pretty hard to find developers to team up with
yeah, kinda the reason why I am solo programmer soo far
that and I can't pay anyone
very true but I believe starting small first don't release the game do beta testing to gather enough active players before the full release
Whatโs OOP
the hardest bit is making the game small. The next is finishing the game.
happends to all of us.
Object oriented programming. Pretty much what blueprint is built upon.
Inheritance, composition, instances, etc.
Oh okay. Ty
me too
but we have a contract on esegames that share ownership rights, and profits revenue of a project base on the work each person is taking ON
revenue share takes a huge faith on the company. I would only consider it if I have a chance to grow in that company or I work with talented people where it can be incentive for me.
But if I have to dive with my faith that the project completed by a team that don't have solid history or have published games succesfuly in the past, that would not be very lucrative for most people.
i did a game jam and I was able to make a base game in 5 days including 3d modeling, level design lighting, news videos, and everything
below is a video link to the gameplay
but sadly i did not finish on time so could not submit
well everytime you think you can do something at X amount of time. Multiply that by 3 - 5 times. That's my experience
yeah that's true but there is faith and no harm in trying because you will never know until you try
i quit my freelancing as a 3d artist and filmmaker just to pursue esegames
all the best
am so confused
i dont wanna lose hope
maybe know your expectation and see if you can deal with it
I've lost more than $40k on my journey
not a second of regret
Sums up my library of 99 projects
started 6 months ago
God help me
have spent close to 10k including legal website branding and am not regreting
The law of programmer estimates ๐
"Sure thing boss, I got this done in a weeks time!"
6 weeks later..
"Just patching up some bugs and refactoring some code"


let me give you guys a shocker our second game is also multiplayer
a TOPDOWN action shooter
our timeline for that is 7 months
but is there a way I can animate the objects locally using the variables as a data source
since it will not matter if the player1 animation is different from player2 animation
the important thing is that the variables should be synched across all 3 machine
Sorry to be a bother again, but is there a way I can detect if the steam overlay has been opened using BP?
Without any external plugins or some code you exposed to BP from c++ no there isnt
What is wrong here, ive tried fixing visual studio and getting the latest but it doesent work
It says it detect newer compiler than vs2022
What should i do then?
alright thnaks
Unrelated but I would recommend getting rider after you fix that error.
Hey all, does anyone know why when I spawn an actor that has the setup in the image, it has another CapsuleComponent as root?
EDIT: I am using Unreal Engine 5.5.1 and everything is done in Blueprints, no C++ changed or added.
second picture is the spawned actor
Can someone tell me what the issue is here? I suspect it might be trying to run at the very start before the object referred to has loaded, as it never happens again when used. So add a delay or smth?
Please ping with response
Try with a delay, if this executes before that Actor is spawned it will fail. @chilly crane
You need the world context object
Looks broken. Are you working in C++?
Yeah I thought so too after debugging a bit, no there is no C++ code changed by me at all, everything is done in Blueprints. Thought UE is a bit buggy sometimes. @surreal peak
running 5.5.1
I would assume you might need to redo that BP
RIP
You can try simply reopening the editor, not opening the BP, then right-click, asset actions, reload asset, then save, and restart once more. All without opening the BP
I see! Thank you for replying
If that doesn't resolve it you might be out of luck
As you say this, it comes to mind that maybe this could have been caused by me changing the parent of this from a Character to a Pawn.
I'll try this
Why did you change it from a character to a pawn
Spawning 1000+ enemies with a character was very expensive, thought I could change the parent to redo the logic faster. But looks like it wasn't a wise decision.
That many enemies sounds like you don't want to use a pawn either
With those numbers you are looking at using an ECS such as Mass
Which is of course heavily C++ driven
Well, for context, they are all 2D sprites, no 3D stuff or skeletons
Doesn't matter. It's the amount of actors
Character can also be changed in C++ with a small line of code to spawn a Sprite instead of the skeletal mesh comp
Hmm ok, thanks, this will change how I approach this then.
That many enemies, especially if you want to interact with them in any way, will nuke your available ms on the GameThread pretty quickly. Random actor pointers that update their location and all their attached components is not going to cut it then
That's why an ECS would be better. But also more work and a lot more complex
Understood, I'll take a look at it!
what happens if you spawn the base class and not your enemy child class ?
Why is it so complicated to get and set the size of something by variable?
I'll try this, one sec
also, can you show your enemy child class component tree ?
variable is not the issue, you are talking about changing the size. Normally for transform we use scale for the whole actor.
anything else is not niche, you can implement your own method.
Epic can't cover all edge cases.
It doesn't spawn with the extra CapsuleComponent now @sick sky , if I do the parent
You pointed me to the correct thing for this issue I think. There is an extra CapsuleComponent in that child class, no idea why it is there. Maybe I forgot something.
on the screenshot, is it a instance or are you looking a the BP class ?
the BP class
the _1 confused me ๐
There is no reason for me to use this child class anymore, since I changed my logic, I can just use the parent ๐
is it a parent of a c++ class or anything ?
Pawn is the base parent class
it's probably just the name the spawner bestow on run time
1st spawned actor will be _1
2nd will be _2
and so on
But using the scale only makes sense if you want to multiply the original size of an object. I want to be able to dynamically determine and change the size of an object. There must be a way
sure, once you figure out the math, just write the code
you can just resize the base mesh so its a easy metrics like 1mx1mx1m
and how?
There's the USplineComponent, which is added to my blueprint. I could create points of the spline into the Blueprint, but then I can hardly see the changes in the level. So it would be easier for me to modify points in the Level, and save that back somehow into the blueprint. Can I somehow do this?
nope
to me?
i mean outside of the modeling tool
UE doesnt have the "apply to prefab" feature like unity
yes
what do you want to do outside the modeling tool ?
you edit the scale at runtime using the scale transform
I mean can't I just copy the points and save those into the blueprint spline component?
still funny tho, everybody market this engine like it would be the ultimate solution for everything, but its lacking essential things
but at least Lumen was done well
its not the ultimate solution, UE has its pros and cons
unity has less pros and more cons ๐
also i never needed such feature in the past years
I just recognized I can't do my portfolio project without it
so its pretty essential, if I need that 2 years after starting to learn the engine
idk how many people on earth needed this
well, how else would you make a circular fly path
which can be modified based on the shape of level
just do it in the BP editor
how?
then edit the base shape in each instances
I can't see anything visual from the level in the blueprint
you can edit a spline in the BP editor the same way than in the level viewport
is the info or result important?
well, I would modify the spline curve according to the level. So I could like press the compile like 10.000 times until I see the result each time in the Level itself
if a feature is asked by 2 people yeah epic doesnt care
- in the BP class make the "default" shape
- place instances in the level
- for each instances, edit the shape so it fits better what you want
okay, so what I want is that I have a cylinder in one level, and my spline would go like 7-8 times around a cylinder shape. Now if I would make 10 levels with a similar cylinder shape and I would want to make a spline go around it, then I would need to make the same curve 10 times in each level?
this doesn't seem to be an effective workflow at all
I mean you can do anything
but not with bp
just work with what you have or learn how translate that data from the level back to the blueprint asset
this is what I try to do ๐
C++ then
there's no such bp nodes to do that
well if its the same in all levels you can do the shape once in the BP editor, you can temporarily add the cylinder in the BP editor of the spline so you can directly make it go around it
well, while I would figure out mathematically how to generate spline points avoiding meshes and being equidistant from each mesh, then I would also manually add the spline points everywhere
now that's a good idea
actually yeah, I'm an idiot
thanks
np
anyway, I always felt UE goes on the marketing side of the engine, so they always make features which can advertise the engine better. Like improving the already advanced Lumen further. Instead of focusing the essential steps of the engine.
but its just probably me
UE doesnt do much for marketing, they build the engine for fortnite, then common features in video games, and if some big company talks in private with Epic because they want to use it, they will try to add what they ask for
There's a recent video by Procedural Minds which is probably helpful for what you try to achieve, but he uses PCG for that.
and then they sometimes add/fix what the low level community wants
for Fortnite? not for Unreal Tournament 1?
its such a pita ๐ฅ๐ to open new levels and pass on the variables
there should be a checkbox with like Global โ bruh
so like when you open a new level it forgets all the stuff
so lets say you have a level with a character with all the variables
yeah?
you open a new level now it forgot your character and the variables
sounds like you are doing something wrong tbh
are you talking about instances (stuff you drop on the level)
why do you care about the character in the other level?
because its my main character
and he is going to new levels
but needs to keep everything
I thought when you said open new levels, you are talking about opening level in editor
you can preserve the actor if you are doing ServerTravel
though I will just still save the data to presistence object and just re-load value on the next level
Yeah thats the painful part
saving each different little variable in all different actors, and keeping track of it, its a pita ๐ฅ๐
this is the save game function in my game
use structs
๐
I created a lot of inputs here too. It's like building a Rube Goldberg machine to press a button that doesnt even turn on the light @dawn gazelle
so for new levels i think i will just save everything
load level
then load game
๐ตโ๐ซ
@kind estuary if you want more automized way, use C++ then
https://www.tomlooman.com/unreal-engine-cpp-save-system/
it will just save every variable that have SaveGame property ticked
๐ซก thats cool
Any pointers in how to use Launch Character / Suggest Projectile Velocity ?
Specifically I have my character in location A, and I want to make him jump so he'll reach location B.
If I'm just using the velocity from the Suggest.. node, the character ends up jumping very small, and then stopping. As if Launc h Character expects force, and not velocity.
is this a common thing to do?
it doesnt feel right ๐ตโ๐ซ
but if i dont do it then it fails because the playerhud is loading later
Ush I never like these workarounds ๐
certainly not common in my project
but I seen it done in Lyra
but using delay till next tick instead of 0.2 sec
If you're waitiig for hud.. cant huds beginplay just do this?
it kind of can but then needs an if statement to check if this exists
i kind of prefer this
this is more local to the actual level that needs to call that function
Makes sense i guess