#blueprint
1 messages Β· Page 396 of 1
You are not overwriting the struct in your actor right ?
What you can try is create a setup event in the actor pass the struct into that event, call the event directly after spawn and try to overwrite the struct that way
The easiest way to clear up any oddities right now.
Make a new var on the actor, and make it expose on spawn, and do nothing else.
Then try.
Theres a possible? chance that the struct var itself is super weird.
(I've started to see how crap BP structs are for this reason, they just casually decide to implode)
I am going to do a deeper dive. i feel it is being overwritten but i cant think of where
the inventory system i made is complicated
Try what i wrote you can do that in 2 minutes
might instantly fix the problem
okay
I hate them with a passion haha
Sometimes you have to use structs
in the future what should i use
from my noob brain i saw them and im like oh wow thats a great way to organize
its like a folder for variables
Structs are great, I love them.
But, creating them in BP just has so many random potential oddities.
If you only know BP, then your forced to deal with them.
But, to "fix it", you'd just declare them via C++
i should learn
i did C# Unity no problem
but when i switched to unreal i did BP only because fun
It is really easy to declare a struct in cpp
You can use uobjects instead
They cost a bit of performance tho but in 99% of the time it doesnt matter unless you are creating absurd amounts
I've personally not had any issues with blueprint structs in a long time, but to be fair I've only been messing around in the editor, not putting together a whole game or anything like that
They really start to fall apart if you edit them when there in use.
But, overall can be quite fragile.
I love see recast, or default_, when you hover over a struct you made.
Or, your game throws compile errors on every struct usage.
Cuz, TRASH_struct_items does not match struct_items pin invalid.
I used to have the problem where they'd break where in use, but I had realized it only ever happened where I was splitting the struct pin instead of using a break node
Since then I only use break nodes and haven't had that issue in years
Pretty sure I've like barely ever used that right click split.
Always felt a bit sus. π
Wish I had an old log, where like 40% of my game threw compile errors on functions that had the struct as an input.
Instanced Structs are super useful btw. Highly recommend learning about Instanced Structs for anyone not familiar with it
It's almost like a wildcard value you can use anywhere
I've never personally ran into an actual use case for me of instanced structs.
Same thing with data tables.
Data tables are usefull for item data
Name
Value
Weight
Image
Class
Ive seen some ppl use them for dialogue too
Its pretty much just a easy way for non programmers to add new things without them messing up your code
Its also a bit more organized than just a raw struct
I just prefer multiple class files, personally.
Lets me be open ended.
Rather then locked down with DT's.
I've only used DT's for 1 thing.
It was to add a generic piece of data to every one of my classes, without individually defining the var for each class.
The other time I saw a game dev use DT's, was for an audio lookup table.
Falling, crouching, footstep, eat, damaged, etc.
But, that just seems so cumbersome?
Create a whole DT, for what could be a struct of the different audios.
(IDK any other info about the game, as to maybe a secondary reason they did it like that)
That seems annoying ye
i would just put it into a component
Yeah.
Component, or even a data asset.
Or, just a struct var on the thing that uses the audio.
you have to understand the use cases for DataTable and DataAsset and why you would use either. Consider a Data Table is a Row/Column setup, like a spreadsheet. It is best used for larger data set or entirely static and single use data. Whereas a DataAsset is more for smaller, instanced and object variable properties and uses more functionality than a DataTable. It's just a case of understand the paradigm of the methods you are working with.
I wish there was a way to extract data tables into data assets.
Import CSV as data table -> extract to data asset -> profit!
Also, if you are able, write your structs in C++ and not BP. It solves most of those issues you have with them breaking.
You could do that manually really except the asset has to be compiled as a .uasset so it would be an editor function I guess. Not difficult at all if you understand the factory class associated with it.
you could populate a data asset from values in a data table tho if the structure is already built.
Yea I could setup an editor utility widget but having them linked would be cool. So the data table is editor only and updates the relevant data asset when it's edited and visa versa.
that would require one of two approaches. Either editing the DataTable core class so it has that function, which is drastic because it means editor code changes and that's a commit you need to add to each iteration you use it with after the engine is updated/redownloaded. Or you hook the event that tells you when a data table has been edited. Not sure if an EUW has enough access for that but it's definitely do-able in C++ (although if there is no event to hook you would have to add it, making it the same as problem 1.)
Yea, Ill add it to my wish list and send it to epic. π (One can hope)
I've actually just got finished writing a plugin that creates data tables from code as part of it's functionality. I just can't remember if it has an event for when it's completed updating/being edited π
What do you guys think should i take this gig of fixing the project?
It will drive me insane 100%
sure why not? There are hotkeys you can use to fix that up in seconds.
But it would be a lot of hours
But he has bugs in it too
Send it my way. I'm a gluten for punishment lol.
all code has bugs in it. That's what gets me the most work :p
That discovery find the bugs fix the bugs
Goddamn feast and famine i dont get a single gig for almost 2 months and today i got 6 requests at once
one month im starving the next im drowning
Do you have a fiverr account?
What is your Fiver?
I fix Blueprint bugs? π
No. Maybe I should get one though lol.
Yes haha, i mean i have many gigs thats one of them
at least you had offers. My only offer in the last 3 months was a job in Dubai and wtf wants to go to the MIddle East right now, nevermind the home of the narcissist streamers flashing off their rented supercars :p
If you had a fiverr i would redirect this to you but i cant pull ppl off platform or they ban me
lmao?
Actually
Ye your not even allowed to communicate outside of fiverr with your clients
That's a deal breaker for me. π
Is that a new thing?
I used Fiver like 1 year ago?
We were chatting about everything on discord.
Its because then everyone would just get the clients on fiverr and then ditch them to save the 20% fee
Watch out their bots scan your chats, if your unlucky you will just get a auroban
Im not sure for how long that is tho im only on fiverr for half a year
However i pulled my first big client off platform too and i didnt got banned lol
on paper im tech lead now for them
Yeah, idk.
We chatted a tiny bit on Fiverr, then I asked if they had discord, and we just did everything else on there
my lord fancy giving Fivver 20% when they do no work. I'd rather use a recruitment agency. At least they do something.
Hi, Iβm new to Unreal Engine 5 and Iβd really appreciate some help.
Iβm trying to build a character switching system. Iβm using the Third Person / Side Scroller template to make a 2D platformer with two characters.
What I want is: when I switch characters, the previously controlled character should continue moving based on its current momentum (e.g., keep moving if it was running, or keep falling if it was in the air).
However, with my current Blueprint setup, I can switch characters with a button, but:
If I switch while running, the previous character keeps playing the running animation in place without actually moving.
If I switch while in the air, the previous character freezes mid-air instead of falling.
I feel like Iβm missing something fundamental about how movement or control should be handled.
Does anyone know a good way to implement this properly?
Also, sorry if this is the wrong channel.
Thanks in advance!
Have you explored using OnPossessed() and OnUnpossessed() to apply movement? I believe when you unposess a pawn, the character movement component flushes input, so you need to handle movement some other way.
According to AI, you can also check a box in the movement component to run without controller. Not sure how well that'll work but give it a shot!
It could be really helpful for stuff like inventory systems where every item has different data it needs associated with it. You could have an array of a base item struct which will store your whole inventory, and in the struct instead of having a huge structure including all of the variables any item could need instead you could have a single instanced struct. Then in the child class for each specific item the items would store and pull its own data struct to and from the instanced struct. So each item's instanced struct in the inventory array only contains the data that specific item needs and nothing else.
While thats probably valid for something like making items out of DT.
It really doesn't make much sense for a full class/ object based item system like I prefer.
I just add a new var.
Let alone if I also want just +1 new value.
gotta make a very similar, yet unique instanced struct, and swap all the refs over, for the new class, just for +1 value.
I did also recently find an engine plug-in which uses instanced structs https://fxtwitter.com/i/status/2028430654744969558
Anyone in here that has a fiverr gig up for Programming that wants to collaborate with me ?
Sometimes i dont get a single gig for a month or 2 sometimes i get 5 at once and i have to turn them down
Im mainly just looking for others that would be willing to share excess work once they are booked out
@next hollow maybe?
Does anyone know how the common video player works? I've selected a video and then call the play function but it just stays black.
Edit: Never mind, I've just used the default media player and rendered to texture method.
Bink ftw
While that would probably be interesting. π
too busy right now. lol
are you gonna tell me you are not interested in fixing this ?
π
There are like 50 more of these graphs goddamn ^^
for how much?
On fiverr you are setting the price and they can either accept it or leave
I mean ballpark, is $50+/hr realistic or is it poverty wages?
I have zero interest in node wragling someone's spaghetti monster but for the right $$$ I probably would.
Thats studio prices, for a professional client ok probably even too low but for the regular fiverr clientits a race to the bottom
I take 30$/hour
However today i got sourced by their talent scouts for a 2 week sprint for around 3.5k$
I probably cant do both
Its not fixing it, its recreating the whole system so it still does the same thing. π
Its trying to not go insane
I actually enjoy rebuilding systems. π You already know what it should do so thats half the work done lol.
but honeslty recreating everything from scratch is probably faster hahaha
Make a fiverr acc and we can send each other excess clients
I make almost the same homing from work on my own project while babysitting my soils lab.
TBH every time I peek at anyone elses projects I get the heebie jeebies. Just gigs upon gigs of shit slapped together. Terrible.
Does fiver do hourly prices yet? The last time I looked (a few years ago) it was set prices.
Yes you can do custom offers and hourly payment
Tried helping with a friend of mine's (he's a professional credited game dev) project, and it was like 90+ gigs in git. For a simple dungeon crawler. An ran like absolute garbage. That's no way to live.
But fixed prices usually bring in more money because you always price a bit up as buffer, if you are fast you canm make a bit extra out of that
I'll have a look over the weekend.
However you will also get a lot of super annoying clients that expect you to do a week worth of work for 50$
Ah please build my a robot with physics that can solve a maze my budget is 50$
Shame on me that i took the goddamn offer, i needed early reviews and this mfker wasnt happy because i didnt implement him a full heatmap
I just made the robot prioritize fields that he hasnt visited yet fml
I've been procrastinating a lot today. Granted still making progress on my personal project be it slowly.
The real money is with their talent scouts, if you have a good profile with good reviews they will connect you with professional clients
There you make the real money
If a few ppl from this discord start fiverring we could create a agency haha
Not the default pawn name. π
Hey don't dis the default name, if they rename it we'll never know what is it. π 'BP_InsertGameName_TripleSquad_Leader'
lol
Hot take, I never do the BP prefix
It's always just GameNameClassType or GameNameAcronymClassType for framework classes then just Name for mostly data-only extensions
I do for some things. If it starts with BP_ then its an actor that goes in the world. lol. I don't normally add one for actor components or uobjects though.
I went with B_
Why not AThingy to reflect the C++ convention if you're doing all that
I want to be able to tell which are the native class and which are bp
Yeah, same for me.
Easy to see whatβs BP no matter the naming.
I've also lived like this before:
A_Thingy
AC_Thingy
ABP_Thingy
PC_GameName
GS_GameName
GM_GameName
PS_GameName
how would you see it in editor if it wasn't a BP of some sort
I tend to lean towards base classes not get a prefix but child classes do.
The most I do is component to comp
Never crazy/ a ton of abbreviations.
This is the only real way
Are you in the mind if BP only?
Cuz C++ classes appear in the drop downs.
Why would it matter, API is API
if you intend your C++ class to be not visible there or abstract you can do that
Idk lol
Itβs just the way Iβve named stuff.
anyone who knows why this happens?
trying to animate the buttons but its animations list is empty
@wooden whale the animation variable can be pulled from the variable list.
Look at the variable panel.
Drag and drop then plug it into the anim pin.
This is what we do for BPs
W_ WidgetBlueprint
BFN_ BlueprintFlowNode
DA_ DataAsset (Not all DAs follow this, only generic ones, system based DAs have their own prefixes)
DT_ Datatable
SM_ StaticMesh
M_ Game material
M_UI or MUI is UI material
T_ Texture
T_UI or TUI is UI texture```
Nice im also DT B W DA SM M T
my personality type is FEDUP
Not sure if I'm missing something, but I think this works? It kind of half works, I don't think I set up bonus point scoring correctly. Also I'm now trying to figure outwhen to call updates for the UI.
Uhhh, I'm not sure, it is a lot of wires to decipher
Depending how your UI is set up, you either call the update at the end of everything with the full array of scores.
Or after a change in one of the scores if you have the UI set up to receive individual round results instead of redrawing everything
I would recommend at least setting up a function called something like "UpdateScore" that will receive the data to update a given round score. It will then set everything in the relevant array and call a dispatcher or direct update on UI. At least this way you can call it wherever you change the score without duplicating the UI logic as well
Yeees i can use the meme again muahhahah
But the graphs in your meme are materials π
Doesnt matter
Same point ^^
wtf is this XD
Like isnt that incredibly hard to debug?
It would drive me insane
Ah guess i have seen worse
I might do a YT short... 'Functions and why you should use them!'
Something that is always missing from tutorials
they always just slap everything in the graph
It could definitely be cleaned up by dropping in a function and using a local variable and set member node.
I just said screw it, if it works I'll clean it up once it's finished.
i think that attitude might work if you know what you are doing
that whole thing looks scuffed tbh
It is fine, it is way better to do stuff instead of worrying to do it perfectly the first time
I know I have this problem way too often. I try to plan for everything and end up with only a few nodes after an hour of "work"
The scores in bowling are weird
Next round scores affect previous rounds scores
Someone was on something when they came up with this lol
Here's a cleaned up version of some of your logic (from what I can work out). It might help you.
I'll give it a shot
I can't get the set members node to display a score variable input.
When the node is selected, you mark which pins to show in the details on the right side
Just adding to what Verael said, if you're setting up in a function (like I did) you need to make sure the input is set to pass by ref.
Ok
Hi! im trying to add a system that lets players swap Items in their hotbars at their selected slot if their hotbar is full and im trying to get it to spawn off an arrow component on my player. I can spawn the items at my players location by getting the owner of my inventory component (the player) but it pushes them out of the way. My current fix is just adding 10 to the x and y value of the actor location but Id prefer it to have it drop in a more consistent location. How can I get that arrow component off of a get owner?
From the Actor (or a component) you can use GetForward. This gives you a unit vector with the direction the thing is facing. Multiply it by some value (example 100) depending how far foward you want. Then add the current actor location to it and you will have a location 100 units in front of the actor/component
If it is not forward you want, you can also GetRight or invert the forward/right
This worked perfectly thank you!
Can anyone help me? one day i just logged on and now i have this issue i really don't know what to do and its bugging me alot i turned on the capsules visibility and it shown that the capsule was following the camera for some reason. and i made sure i had orient movement to camera disabled
i honestly don't know what to do
anybody ever had an issue where your enemies can move in one level but not another? that's what im having an issue with right now
Confirm that they have an AI controller and that there is a navmesh before their movement call.
yeah they're both present, they work and move in every level I have except the main one
Hahaha how he flaps around
you have any of these activated?
Nope. except for the use controller yaw
crap
that was the issue
bvruhhh
game dev, huh?
Lmfao its always just a checkbox or a goddamn bool thats set to true
Too relatable
That solved it! Checking the box in the Movement Component fixed the issue.
Thank you so much for your help!
Iβm still a beginner, so Iβll keep learning more.
Really appreciate it!
You're welcome! Which option did you use? The OnPossess/UnPossess, or the "RunPhysicsWithNoController" checkbox?
Or both?
I used the "RunPhysicsWithNoController" checkbox. That solved the issue!
Awesome! Good to hear. It's always nice when it's a quick easy fix.
I do this and then change one of the parameter on that ppm: doesn't work. but changing the instance param works..
something tells me that once i add or update blendable, it's not the MID, but a new copy???
The C++ behind the node only adds the object to an array on the scenecapturecomponent, and only does so if the object isn't already in the array.
Hi, im trying to set up LOD but its not working what am i missing ?
https://gyazo.com/505f1268611533cc22e865ac7bb240f0
https://gyazo.com/c70744892e822083d8547df0617506e8
works in asset but not ingame ?
I'm having an issue where I have a timeline that is changing my fov, then leads into a sphere trace generation, but the sphere trace generates over and over for like 3 seconds after the timeline has been triggered, any idea why?

my screenshot is broken currently, apologies
trying to get help from r/techsupport currently haha
but I have a left mouse button pressed > timeline (play from start), has a track that goes into a lerp, update > goes into a set field of view > sphere trace by channel
Is your timeline about three seconds long?
Win + Left Shift + S -> Drag Selected Area -> Ctrl + V to paste into chat.
Unless you're mistaking the debug trace as it still running, it's hard to say without seeing the logic.
yeah it's bringing a windows error
What error?
Printscreen pasted into paint and cropped can also work if it's just the snipping tool being broken.
Someone hasn't paid for windows it seems. π
on a free trial and i sure as hell am not giving windows my money now lmao
What all have you tried as a fix so far?
currently running "cmd.exe /k dism /online /cleanup-image /restorehealth && sfc /scannow" in cmd
updating and restarting
The fix is to activate windows. They disable some features when its not activated.
As for you're BP related issue, its hard to say without seeing the code.
it worked about a week ago for months
In the timeline, tell it to use the last keyed frame for its length.
I'd say Microsoft patched the exploit your version was using to not communicate with their authentication servers.
ok yeah you're onto something, forgot to change the length, now it only does it while the imeline is running
im not using a pirated version, just a free trial
Ahh in which case you're 90 days is up. You'd have to reinstall windows to get another 90 days. π (I'm assuming Enterprise with you saying it was working for a few months)
not sure what enterprise is ngl, I wasnt aware there was a 90 day limit
as for bp
you were right that the length was the issue partially, it sphere traces every tick of the timeline it seems, is there a way to get it to do the sphere trace just once without the do once command? (I have a whole tree of things afterwards so i'd have to loop them all back into the reset
Move the trace to before the timeline starts or on the finished pin. Alternatively, you can add an event track to the timeline and add a mark at the time you want it to trigger. This would add a new output event pin to the timeline node you can connext to the trace to instead.
event track seems to be making it do it twice, once at the beginning once at the end i believe even with only one marker at the very beginning
The event pin will fire for each marker you have so if its firing at the begginning and the end it means you have a marker at those location.
im assuming markers meaning the keys?
Yes and you're right there's only one. If its firing at the end as well its unlikely be due to the timeline.
only started doing this after adding the timeline, unless for some reason it was firing 2 simultaniously and I didn't notice?
each other branch is the same but casting to different objects
You have it connected to the finished pin as well which is why its firing at the end.
you know interfaces exist right
new to ue5, so I don't know how they work exactly
i've used them in java but nowhere else
ah thats it, forgot to disconnect that, my b haha
Personally I'd just get the root component from the actor and cast to primitive component. When dealing with physics actors, the root should normally be the mesh anyway.
An interface seems unnessary to me in this instance.
he has a weight variable instead of using the default mass of physic engine
so i think interface will be better?
I tried with mass but then I got errors with thirdpersoncharacter cause it has physics disabled
I'd use the mass property on the component instead (built into the physics engine)
why is this the case? i've been defaulting to having my hitbox as the root since that's why my prof always did otherwise assignments would break, but I'm not sure why
Static meshes already have collision on them of which you can then control in the static mesh for all instances. I think its unnecessary work to separate it out to have a seperate hitbox. Also, static meshes can have multiple collision hulls (UCX) which can give you the option for better collision for less primitive like shapes.
gotcha alright
I could be recalling wrong but I remember when I experimented with that occasionally my stuff would just fall through the floor despite collisions being set to block all and I couldn't figure out why
This normally happens due to incorrect collision settings or not having collision set on the mesh. It normally applys an auto collision to the mesh during import but you can add it yourself if needed.
makes sense makes sense
how would you recommend implimenting an interface? i'm not sure I will here but just so I can get a sense of how to use them in UE
Like this for example. No need for an interface.
Another option is to put the logic (and relevant properties) into an actor component as well.
Im creating an utility widget and using this to get count of X class actors in the level. However this works only when i place them to the level before starting the game. They are not included in the array if i spawn the actors in runtime. How can i solve this?
There are about 50 actors of this class in the level, but it only counts the placed one
Are there any nodes to get the current play world cotext?
Cause the above gets your editor world I'm assuming. So you'd need that plus a get all actors with your active PIE world's context, and then append them and length that.
You can't spawn actors in a construction script.
Yeah this fixed the issue thank you guys. I was spawning them in game world, not in editor world
The BP Node search is going to drive me clinically insane
I wonder if there's a plugin to clamp down random BS results when you literally typed the name of the exact, specific thing that you want to use 99% of the time
It'll come up right, usually.. if you type the entire thing, but how can I get to like "rota" out of rotation and still have it selecting things like set relative scale 3d?
I can't say I've ever had this issue. But in case you aren't aware, when searching for functions, it also looks at the category name.
Context sensitive off?
on tick?
oof
even if its editor, thats a bit extreme
I believe the search also checks descriptions of nodes for the keywords.
The description attached is on "Get Forward Vector" which contains the word "Rotation" and "Rotate" so even if you were to try and search for these terms, Get Forward Vector would show even though the node's name has nothing to do with it.
type the node name without space
if you type any space ue will show results that contains the input instead of fully matched
Hello, I have a problem with the method of saving data for quests. The quest can be any and for each quest its own data is saved, can I use Json to save the fields of the quest I need in a Slot? Or will this be the wrong approach. Quests inherit from Object. I use VaRest to create Json.
How else can I track actors that are constantly being spawned and destroyed?
I don't have a single source for spawning, so a setting up dispatcher system felt like overkill for a simple debugger widget
Maybe i could do it every 0.2s instead of tick π§
No just wondered, it works fine
It pulls some variables and set textblocks for each item actor
Hmm, if you get performance problems from it every 0.2 seconds could already help a lot
But i think as long as your not looping trough them each tick it should be fine
You can serialize the data however you like, you just need to be able to reconstruct what the object was from whatever it is you save. Just remember, you can't save objects, you have to store it as some form of data (a JSON string is fine)
Yeah I did have context sensitive active, I think it really just comes down to... putting a star on pretty much all of the "basics" so they always come up first
After doing that you'll get relevant results after just a few letters into the string compared to needing nearly the entire thing for it to pick up context π€·πΏββοΈ
Why am I unable to dynamically update Blueprint properties in my Blueprint actor?
As a first step in the Blueprint I have selected the properties and selected
Expose to Cinematics
Exposed these same properties in Sequencer and then scrubbed the timeline.
I can see the keyframed values change(attached) but my actor does not change!
As a 2nd step I ALSO enabled 'Instance Editable' on the same properties in the Blueprint.
Now I can see the properties in the Details panel, and, can change them correctly updating my actor.
But...scrubbing the Sequencer timeline still has no effect.
Pulling my hair out. What am I missing?
I also tried simulating while playback in Sequencer but no difference.
In other words, I can update the blueprint actor if I manually change the properties directly in Details panel.
But the same properties being updated in Sequencer have no effect, even though I see them updating in Details panel as well!
Thanks for the answer
Iβm trying to implement a freelook system in UE5 where the camera behaves differently based on movement. When the player is idle, I want the camera yaw to be clamped (like limited head movement), and when the player starts moving, the character should rotate freely with the camera (full 360Β° like a normal FPS). Right now, Iβm toggling Use Controller Rotation Yaw based on velocity, and I initially tried using View Yaw Min/Max or direct yaw clamping in the Camera Manager. The issue Iβm facing is that the clamp is locked to world space instead of the character. So when I rotate the character and then go idle, the camera still clamps based on world directions (like north), not relative to where the character is facing. This makes the camera feel stuck or inconsistent depending on direction. I want the clamp to work relative to the characterβs facing direction (so I can look Β±160Β° from the character, no matter where Iβm facing), but Iβm not sure how to implement that correctly in Blueprint.
use the players forward vector
Hello Guys, I am using horror engine, I wanted to make a system by which, when we shoot at trigger_shoot, so a specific object should get destroyed from the level
Ah, Actually I am stucked and need help
Where are you stuck ?
Like this are absolute day 1 basics
I know these are basics but the thing is I am using horror engine and it has very complex system
You create the actor that you want to destroy, you create a projectile or a linetrace in the player if the projectile or the linetrace hits the object you destroy it
maybe try this
https://www.youtube.com/watch?v=xiBuc8poRSc&list=PLG6j3JQCzpBeDIi-jJvJlWaR26Z6KBpgi&index=3
Get Horror Engine:
Experience the Tech Demo:
Support My Work:
Join the Community:
- Discord: https://discord.gg/asxDc9C
00:00 Introduction
00:39 Player Sett...
But one more thing, I am making ab horror game and in my game, the entity spawns in loop, and player has to shoot it, so how I will make sure that entity get destroyed cz they will be not same if they are spawning in loop
The exact same way
How would spawning in a loop change anything ?
Would you like to help me? By using AnyDesk
Mate, I think you should learn the basics first and then jump onto the horror engine plugin thingy @sharp raven
Did you try asking in the horror engine discord?
the horror of relying on plugin without ever building a system on your own.
Yeah; I hadnβt heard of βhorror engineβ until I looked it up just now. I think with a lot of backstory, someone might be able to help, but the amount of detail originally provided means that anyone unfamiliar with that asset would need to ask a lot of questions or guess (or buy it and learn it)
It's got a lot of users from what I've noticed. So should get some help somewhere.
Someone is still updating Rama's VictoryBP plugin from when UE4 first released. So someone is still relying on that. I find that actually pretty awesome π
Woah thatβs a blast from the past
Rama's plugin are just a bunch of helpers, what I am saying is more about those who just started on their journey. Not sure how to build their own system and end up buying a plugin in the marketplace just to hit dead end.
I mean plugins are great, most of what I built are actually inspired from plugins I had in the past.
but to be able to rebuild or extend it, need to at least to be versed in bp to bp communications and oop.
Yeah been there done that with loads of things. You can learn a lot but often it's more time spent understanding a system than just creating the system. Especially if you don't agree or follow the paradigm they coded it with.
Allegedly, according to the reviews, extending horror engine to do more things is hard, and the vendor regards that as out of support scope
I do not envy t-rex here
using some function library plugins is totally fine imho
shame rama is not around anymore. People slated his stuff but he helped a lot of people
Rip rama
oh man I didn't know he passed. Rest in peace to him. He was like a hero of the scene
I mean some of his stuff was questionable but so is anyones code
/me looks at the ai system in ue
one should keep in mind that a lot of stuff was probably written when UE was even worse documented π
This is also true
he did a bit of Ai work on a game I worked on early on. I think he lost faith in the project and we had to replace it. I couldn't understand any of his code at that time as I was still moving from unrealscript to C++
Any of you guys have a fiverr account or would be willing to create one and do freelance work? Recently i have a lot of excess customers that i have to turn down, i would redirect them to someone else if someone is interested
If anyone is interested hit me up, we could create a little collective where we can share work
oof, he actually pass away =(.
Hello guys. If I want to add a sword to my character there are several options:
- AttachActorToComponent
- AttachComponentToComponent
- create static mesh and add it as a child to my character (like in screenshot)
which option is preferable and is better to use?
1
for most usecases
isn't 3 simplier? or it's a bad practice?
If your character only has 1 weapon then it might be simpler
Depends on your game. If you are going to always have something there and you don't need to create a Component at run time. Then why not.
yes, just a single weapon for enemy
ye ok then its fine if you just add a static mesh and handle hit detection directly in the enemy
thank you
it's fine until you want to expand on it.
what about shield? Dual sword? guns?
just factor them before diving in.
If a weapon can be anything then you probably want to create the component at run time as defined.
no, at the moment just a sword, if i'll add a shield i'd better to kill myself )
because it's too much work to do and I want a simple combat system for now
What does editor only mean? It only works in the editor? Not at runtime or packaged? :S That's problematic if true.
use the GetSkeletalMeshAsset node
Hey yall, im making a melee system that uses 3 box traces for the attack, I only want an actor to get damaged by one of the box traces which is why I add all unique hit actors to an array then apply damage to the actors in that array. I used the add unique node to only add the actor if it is not already in the array, but when I hit an enemy with my attack and they happen to be in two of the hitboxes it still does damage for each hit instead of just 1. Any ideas?
I think you should store the hit actors in an array, not the hit results
oh my I just realise d I never broke the node
thanks I will try that
because hit results may not always be the same and may be added to array again. It may be like Hit Actor A at X location and Hit Actor A at Y location. They both will be added to the array since location is not same
yeah silly me, that ended up working. Thanks again
@dark drum have you thought about it ? I recieved another request today and im 100% booked out
I was going to look today but ended up going to the hospital with my partner. π (she's ok)
This one only has 1 cursed graph
With a few smaller allignment bugs
doable
If your generally interested i keep him warm, if not ill just turn him down ^^
So nothing serious?
Thankfully nothing serious. Do you mind if drop you a pm, you might be able to answer a few questions I had about fiverr.
Sure
Trying to think about how to fish data out from multiple save files. When I Load Save Game by slot name, it does so, but when I attempt to Cast to My Designated Save File object, it fails
Then you either did not save a MyDesignatedSaveFile, or your save data is corrupted and couldn't load and it's passing an invalid object back.
Like the DoesSaveGameSlotExist or whatever it is only checks if there's a file there. It doesn't care if it's valid or not. If you're getting a valid object back, you should check what kind it is if the cast is failing.
Can I get all the bones in a skeleton with collision, somehow? Is there a function?
There is no builtin function
That gets all bones, yes, but what if I want ones for only with collision?
You mean bones which are simulating physics?
That have colliders on them.
Can I ask what your end goal with this is? Cause bones themselves don't have collision. But what are you trying to build?
Well. I'm trying to get the bones in the physics asset, so when I do sphereoverlap, I can find the bones with collision in said sphere.
Sphere Overlap already only triggers for bones that have colliders(in the Physics Asset). Why would you need to find all the bones with colliders?
Oh. I was going to see what bones were reachable from the center of said sphere overlap, with nothing in the way.
I'd say that without C++, to be able to go lower level, you're going to end up with some approximations more than specific results.
But if you just specifically want the bones with nothing in the way, you could line trace them.
It won't be wildly cheap in BP only, but you can dist check them for the sphere. And only line trace the ones that end up close enough. If you hit the bone you're tracing, nothing is in the way.
Does this actually return every bone, or do you get one entry for the skeletal mesh with the first bone hit?
Since it is Multi Trace, i think it should return every bone which it is overlapping
Yeah, this may be a thing best contracted out to C++, so to speak. I can always expose the results to BP.
Ah, niiiice. I'll have to remember that one. I honestly expected that to return just once for the skeletal mesh.
But yeah, good way to gather the bones. @idle crescent Then you could just trace each overlapping one with a line trace to see if anything occludes them from the source.
Still gonna be 80% cheaper in C++. But very doable in BP.
Right, I could always make it a function in C++ and expose to BP, would do okay, I'd think.
Do I need to need to try an IsValid node after? What are common causes of corruption?
Generally speaking, stopping a write in progress. Anything else is hardware related and out of a dev's hands.
get the physics asset from the mesh component and get the physics bodies?!
but iirc i also had to make a C++ function for something like that, the bodies from the PA might not be what you actually want
when you start PIE most of the time you have to left click once to focus the PIE
so the first click gets eaten up
any click after that should work
i know of what you are saying now but that is not the issue
it is consistent
double clicks only
double clikc and hold = true
release = false
printing th ebool
try adding a print saying something like "click" right after setting the Left Click Held to true
i have. tried that i am 100% sure that double clicks are the only way for these nodes to register. the best workaround i have found was simply tieing left click functionality to "release" and that would work without a double click
but in this case i need the "pressed" to fire on the first click
unless i missunderstand you maybe
the only thing that makes sense is something else taking up the first input
i agree but i cant figure it out
do canvas panels mess with that ever
or UI set to "hidden"
on their visibility settings
Try setting the button to Disabled or using PreciseClick in the Interaction tab (I got this info from ai)
its not a button event
What Input mode are you on? Game And UI?
its just my character recognizing LMB down
not sure if i even set it at all
Might want to find out, otherwise juse force debug set to GameOnly and see how that goes.
But yeah UI can consume input, including canvas panel. Use widget reglector to see if you hit any UI.
i forgot about that how do i use widget reflector
ty
What if you dont use the debug version ?
same thing
i used the input action and same problem
Claude figured it out!
it was show mouse cursor ???
weird af
apparently when show mouse cursor is on it consumes inputs
Can someone remind me of the trick when updating structs in BP?
How can I do this without adding 50 reference errors into my project?
The only trick I'm aware of is define your structs once in BP. Don't update structs created in BPs once they're in use.
Here comes the fun part, you dont XD
Adding a property is normally fine. Its removing, renaming or changing the type of a property that can be an issue. Other than what Datura said the only other option is making sure all BP's that use the struct is open. This however becomes more impractical the bigger the project gets.
Open only the Struct asset in the editor.
Make your changes to the struct (add variables, change types, etc.).
Save only the struct (Ctrl+S on the struct editor). Do not save anything else.
Close the editor completely without saving the other blueprints that reference the struct. When the editor prompts you to save modified assets on shutdown, decline/ignore the ones that use the struct (or just close without saving all).
Reopen the project.
The struct references should now pick up the new layout with far fewer (or zero) errors
not sure if it's still working ^
you need to test it though..
if it doesn't work vvvvvvv
open the related bp one by one and go to the top left search for the Refresh all nodes, it will help you instead of refreshing the nodes one by one, you need some kind of plugin to do it (refresh all nodes) on all bp that uses that struct
step 1, don't use bp struct.
Re-ordering or removing is a pita, bp or cpp. But at least it doesn't come with the unknown struct error that bp struct has.
Hey, you can follow this tutorial π
It's easy, and removes all future headaches. (It's the most modern solution to this problem.)
https://www.youtube.com/watch?v=IqsSOiKnijE
We got "Fix unknown struct" before GTA6..... what a world.
My FREE Plugin: https://www.fab.com/listings/fa599c9d-6c92-4917-ae4e-7a506f5e97a5
"""Support""": https://discord.gg/aaQv8bhbFy
Forums Post: https://forums.unrealengine.com/t/unknown-structure-fixer-plugin-tool/2715731
(Make sure to check it out, it has all information you'll need.)
The...
I'm eager to hear if it works, good luck!
Would adding items to the Save File cause it? I tried my Load File Menu again today and it found the 5 files from 4/15-Now but got Is Not Valid for 2 of them that were from 4/14. I can't remember but I might have added something to the file like Time Played.
Hi guys, I'm using a data table row variable exposed on an actor so I can edit some of his struct values inside the viewport, and to get those values from another actor I use a cast. Both actors are using an interface, so I was wondering if the cast is still necessary or I can access those variables from the interface
E.g. one variable is a boolean, where one actor set the value on the other actor, do I need the variable on one actor or I can get - set the variable just with the interface
I'm not certain. It's maybe possible that a new field could break it. Does it work if you resave a new game and load it? Is it just old saves that are broken?
Don't use interfaces to avoid casting. Learn proper class structure, and how loading linkers actually work.
In reality interfaces are the last thing you even want to consider using. The answer to your last question is that yes you need the variable on one of the actors. Interfaces cannot hold any state.
Depending on what you're doing you should be able to cast to a base class with less linkers to call the function you need, or if it's not very specific to this actor's class and can be reusable, it should go in a component.
guys
hello
I wanna change sensitivity on ue 5.7 but I cant I watched many tutorials but It didnt work
Gotcha! Thanks man
Ah man the Unreal engine Subreddit would rip you apart for that ... even tho its true π
Blind leading the blind
People used to drain blood to cure ailments. It was widely accepted as correct treatment by professionals and common people alike. The interesting thing is that it worked in a few rare cases and harmed in many many more.
I see the "Use interfaces to avoid casting" in the same light.
So the barbarians in the Unreal Engine Subreddit can keep sticking needles in themselves all they like. I'll keep my clean projects.
A beginner asked how he can decouple his code properly, every single comment was use interfaces.
When i tried to tell them just create a base class or use components so you dont have to re implement the same logic on many bp's and that thats the proper way to do it they went mad at me
Listen everyone does it differently bla bla bla
I said ye and some ppl dig holes with a hammer doesnt mean thats the right tool for the job.... they didnt like that π
Hey, uh.... Dumbass over here --> (Me) <--
Why are interfaces bad?
This is literally the first time I hear about this.
Is it just wariness of "Bad Practices" ? (ie only bad if used incorrectly)
or it literally is just that bad?
Yeah everyone does things differently. I've seen someone that has so many interfaces it genuinely terrifies me, they use them for everything
Its not that they are bad its more that almost everything else is better
With a interface you have to re-implement the same code over and over and they get pretty messy
Instead you could just cast to a base class or use a component that already has the functionality setup
I do use interfaces but I usually implement the interface on a base class
Thats one of the only usecases where they work good
huh... so if I want (for example) to interact with a door, or box, or whatever...
The "Interact" should be a sort of component? in both?
I'm trying to understand.
Interaction is the only thing where i use a interface myself
Since everything has different functionality
Oh ok.
sooo it's bad when doing exactly what?
Like I rarely ever use Event Dispatches, not a big fan of them personally
Lets say you have a character, all characters should have some functionality to loose health when they get hit
That would be really annoying to handle over interfaces
ooooooooh ok
Yeah I agree 100% with that.
Just use a component like "AC_AI_Info" or something, which handles all that base-stuff.
Right?
Yes
Or a base class Bp_Character base
And you put the function of loosing health in there
Ok yup, that makes sense.
I really thought I was one of those barbarians 
Holy mini-heart attack!
Even if you would pump everything full with interfaces it wouldnt break your project
But it would become horrible to debug at some point
Yep interfaces like event dispatchers can make things quite abstract and a pain to track down bugs
And don't be afraid of hard references either if something is always gonna be in memory anyways
Haha ppl avoid them like the pest
If you understand how they work it aint even a big deal
Yep it only becomes a problem when circular dependancies happen, but even then sometimes they can't be avoided
Does anyone know how they did this? https://www.youtube.com/watch?v=MAXOjz1cBpM
There was an older video of them using render targets to make it look like a portal and teleporting the player at the right time, but how the hell does light pass through in this example?
Just a video experimenting with the new megalights from Unreal Engine 5.5. To my surprise it can be fully integrated with portals, which creates really smooth lighting and reflections from the portals which couldn't be achieved before.
In the demo scene here, I have two portals, one for the window, and one for the door that the player can pass ...
π±
Hello guys im having an issue where whenever i enable Component Replicates on a component in my character the client can no longer move or do anything (veggified) while the host can the same stuff, but when i turn it off it goes back to normal then i can move and do the same stuff that the host can do any help?
I am going insane
I have a widget that gets created as soon as the game starts
the small circle
But it never gets created anywhere
Not in the base class not in the controller not in the character
It does exist in the content browser
Anyone knows a way to find this thing and where it gets created ?
Use reference viewer to see what's referencing it, that should be a good place to start
You can find the texture for the circle?
Can't you check its references?
Yeah that ^^
I usually just hit "Delete", to pop up everything it's used by.
Not one of these is the widget im looking for
Ofc 0 documentation in this project ffs
use widget reflector
you never use widget reflector? how do you debug widget?
The same was with blueprints
click on "pick on hit testable widget"then hover over the circle. If there's a hit, it will tell you the widget.
The circle is gone in the preview image
different purpose.
wdym by preview image
the circle could be a mouse widget. Look into the project setting.
type cursour or how ever you spell that word.
Yeah that would make sense, it could be replacing the mouse cursor for aiming, since many games use a circle to represent where your aiming
Godamn if i had a idea how it gets created it wouldnt be a big problem i have to replace it anways
Γs soon as i tab out of the game window its gone tho
Like the circle
Ok the widget reflector has a delay function nice
Ofc it gets created in the hud
π
At least it's an easy thing to change from there
Hello guys, I have a problem and I tried since yesterday to fix it but nothing works.
My Character cannot move anymore for some reason, crouching and looking around works but moving around doesn't
I didn't change anything to the inputs everything was working perfectly fine.
Hello Guys, I am using horror engine in ue5, I wanted to make a system by which, when we shoot at trigger_shoot, so a specific object should get destroyed from the level. But I am stucked can anyone help me? I will give credit and profit share
Hi !This is a skin changer button option .. left and right .. the left button is working very well but the right button is stuck at 2nd skin .. if i use first the left button and i swap some skins and after that i want to use right button working on 4-5skins ... i have 18 skins .
What even is this node after -- and what is it supposed to do?
Also why do you add 18 before Modulo
very likely render targets
and emissive material
Can emissive material react like this? It even has a shadow like a real light
also why did they mention megalights then
yea, that was likely added in 5.5, which is why they mention the version!? π€·
A new experimental UE5 tool that hones lighting scenarios, supoprted by Kitbash 3D that better renders highlights and shadows, shown off in a walkthrough of Lumen in the Land of Nanite.
actually starts at 1:30 iirc
where they walk past the panels on the side
so yeah, came with 5.5
can someone help ?
Can u share pic of your inputs setup and can u try putting print string and see if it fires?
Can I dm you when I get home ?
anything wrong with my calculation
trying to make an object follow mouse cursor.
it does push towards mouse cursor but its also being held in the center
like it will move towards cursor but only a few cm away from the middle
Learning trough pain π
3 or so years and yeah the pain never ends
Like what the flip havent they added documentation to each node
Check out matthew wadstein tutorials https://www.youtube.com/watch?v=npjnb3K_tG8
What is the Does Data Table Row Exist Node in Unreal Engine 4
Source Files: https://github.com/MWadstein/UnrealEngineProjects/tree/WTF-Examples
Note: You will need to be logged into your Epic approved GitHub account to access these examples files. https://github.com/EpicGames/Signup
He is the better documentation at this point π
Fun fact, the upcoming new mesh terrain system was going to call the type of mesh it uses "MegaMesh" but was changed at some point. The new name is "MeshPartition" which does kind of describe it better since it relies on World Partition.
Anyone know why the manny mesh fits fine but the other doesnt (with the gun)?
Different skeletal mesh?!
Why do small skinny jeans fit my little sister but not me?
They won't with that attitude.
Thats the wrong answer
The correct one is because im fat as f
XD
Anyone know why when I roll, the animation glitches?
Yea it seems to be working with my newest few test files.
So the "Hit" node on the Event Hit event doesn't seem to be correctly returning Surface Type. It always returns "Default." But when I hook it up off of the "Other" node as shown, it reads the Surface correctly. Anyone know anything about this issue?
Break hit result -> phys mat -> get surface type
Should do the trick
If you want to get physical surface that is
If it doesn't return proper surface then maybe you've set it incorrectly on the material/mesh override?
Yo! i'm trying to make a blinking material, however my set timer by function name connected to event begin play isn't looping, any idea why?
i might just be a idiot, but i want it to start looping the second you get into the game
so I had this issue where I wan't to create a system where if I go in a bonus segment in my game. all my child bumpers launchforce parameters need to change. however when these parameters are changed my bumper strength still stays the same. any idea how to fix this?
this is the response I got from ai but that didn't work
OnComponentHit (BumperCollision)
β Get Velocity (van BallMesh)
β Break Hit Result β Hit Normal
β Reflect (In: BallVelocity, Normal: HitNormal)
β Multiply Vector * BounceStrength
β Set Physics Linear Velocity (Target: BallMesh, New Vel: Result)
Thanks, yeah, that's what I ended up going with. Looks like this is a known issue. I'm thinking the "Hit" node is more used for Line Trace than Physical Collision. Here's the thread I found: https://forums.unrealengine.com/t/event-hit-hit-phys-mat-always-returns-default-in-surface-type/469435/6
May be a little obvious but for me what fixed it was that at the very botom (not shown on your first image) thereβs a menu where you have to actually link the physical material with the surface type. I forgot that step so I was always receiving a βdefaultβ value.
Hello smart guys.
I'm building a melee combat system and I want to know which option is better to use to check if enemy is near and player may use target lock.
option 1 - Sight Sense AI Perception
option 2 - Collision (box or sphere)
option 3 - Gameplay Targeting System
option 4 - Something else?
IDK LIKE HIT DETECTION
so you must hit first and I need to set target lock first
ok I've chose to use a sphere trace..thank's everyone )
Can someone help me with creating this retractable line type thingie in umg ive tried all i can think of and would appriciate some guidance
cant find anything on ue forums or yt
I would use unity for a 2d clicker game.
A lot of feature for 2d including custom shape collision.
And fyi 2d support ceased to exist in Unreal.
I mean I will slowly go up to 3d
You will have to do a lot of heavy lifting your seld.
Wdym
So is 3d good if I want to learn
Good for what?
You can make any games with unreal. But doing 2d is not easy mode here
3d is fine.
look up runtime virtual textures / "drawing on a texture"
It probably would be easier to implement the entire board as a single material too fwiw
yeah I'd do that in a shader. There are ways to have points in shaders you can then use to draw lines between like a spline.
thank you i will check it out
ooo ill check it out
He advocated for the rotten engine
How to create a Dash mechanic that works on slopes as well?
Current version of Dash I have works fine on plane surfaces, but breaks on terrain or any angular surface change
You need ik's for that
But to get it really clean its a lot of work
Can you show what happens? From my understanding its normally just a montage with root motion.
I have a Actor BP and a Character BP, both have the same BPC. However only the Character BP is returning the correct variable values from the BPC while the Actor BP is only returning the default values. How can I make the Actor BP return the correct updated values?
Or does anyone know why the actor BP is only returning default values
What is a Bpc?
Blueprint Component
Each of them has its own component
Its a different instance
Like a different one?
there pulling from different ones?
Imagine bill and bob both buy a red car
Bill paints his car black
Will bob now have a black car ?
No, but I feel in my example bill and bob both have the exact same red car. They both put the car in drive. Why is only bills car going forward?
with the exact same features
yes
so why are the features only working for one of them?
Becasue they have 2 different cars
2 different cars with the exact same features
Yes
They both buy a red car
both cars are red now
Bill paints his car black
Now his car is black
i am not editing my actor component
it stays the exact same
im just trying to get information from itt
So you dont change any variables in the component ?
What does that mean ?
If you have a component with 1 variable
Name - default value "Default"
You spawn bill and bob now both their names will be "Default"
If you change Bills name to Bill
Bills name will now be bill while bobs name stays "Default"
I have figured this out through trial and error sadly. How do i keep them both updated with the same stuff?
Either with a manager or one actor asks the other
whats a manager?
A blueprint that you use to store informations and both actors have access to it
In the manager you create a variable
Global name
BILLYBOB
Now after you spawn Bill and Bob both can ask the manager whats your global name ? then set their component name to it
Whats the end goal? Is this an inventory type component and the actor needs to get whats in the players hotbar?
Yes
They need to find out what item they are holding
The actor doesn't needs the component on itself then. Instead it should get a reference to the players component.
Unless they all have their own inventory
like with casting?
Is this in relation to some sort of interaction? So the player interacts with the actor and depending on what they are holding, it does something different?
Yes, im currently working on code where the player tries breaking down a tree for exmaple and the tree tries to see what item the player is holding to know how much health it should lose each hit
Wrong flow
I guess, but its what i came up with on my own and I dont really know the correct flow
The exact opposite
The item tells the tree what it is when it hits the tree
The tree does not ask the item what are you
I'd say you have two options. On your interact event (im assuming you have one) you should be passing a reference to the thing doing the interactiong. (The player character in this case) From this you can use the get component by class to get the inventory component from the player. With this the actor can get data from it as needed.
However, if this is something that would be used a lot, it might be worth adding an addition input to the interact event. When the player interacts, in addition to passing a ref to itself it also passes a ref to the currently held item.
So lets say you have a axe
The axe detects a hit - what have i hit ? ahaa a tree then it tells the tree hey bro ive just hit you with x dmg
How do i pass that information to the tree?
You can create a custom event in the tree
Through the interaction system or if you'd want to treat it more like an attack, the damage system. (at which point whats actually being held isn't that important)
Will i have to cast to what i interact with?
im not super familiar with interaction with BPI
Something like this
Would this a good example of when to use casting? I've heard you should try to avoid casting because it can become resource heavy
Remember Shit always falls down it never climbs upwards XD
spend 3 months finding something less efficient instead
if you're casting might as well delete the project
That's incorrect.
No, you just have to understand when you can cast and when not
He's being a smartass.
I did get that
makes sense lol
Thanks for the help guys, ill try implementing stuff based on suggestions
Player
I
Held Item
I
Tree
There's different ways to handle interactions. Personally, I'd look at how you can handle it using actor components.
an interaction is just a function call
Guess even a interface would be suitable for this then you dont have to learn when to cast and when not .... however you should learn that super early on its important
I cast all the time. π€· I rarely use an interface.
Learn about casting. What is casting, when do you use it and when do you not use it?
Join my discord server for any Unreal Engine questions!
https://discord.gg/hCahgbFzyG
0:00 - Intro
0:23 - What is casting?
1:51 - How do to get the "object" reference?
3:13 - Caveat of casting
4:52 - Recap & alternative to casting
Ye but i feel like the concept of a interface is easier to understand for a complete beginner than inheritance ....
However its so important that its one of the first things you have to learn anyways
Same. Im ashamed to say I feel into the never casting trap many years ago. So glad i got out.
Support the channel through donations. Crypto accepted!
PayPal: https://paypal.me/reidschannel?locale.x=en_US
Patreon: https://www.patreon.com/reidschannel
Bitcoin: 1JFwWHr4X6uAeoZadukzqKjzFBj3Qjy7Sk
Ethereum: 0x2B2Bc108F1Cc0fF899959dEF3226637787d8C3dE
Dogecoin: DNQ33YnhpWoTBokBNVkZP5ub8KTLkpyjpv
Join our community discord!
Discord: https://dis...
I always imagined a interface as a bridge in between 2 blueprints
aint 100% correct but it was really easy to work with it like that π
God my first blueprints i ONLY used interfaces haha
It turned into such a mess
Interfaces are just more confusing ways of using inheritance
Since it makes the inheritance tree non linear
Ehhh
Casting is just a type check. Is an instance of an actor actually this specific class type. When we know what something is, we can call functions for that specific type.
Lets say we have a Door BP. This door is also an actor so a reference to it can be stored in a generic actor (or object) type reference. Doing so means we've lost informaiton about what it is. Casting to door allows us to check, hey is this actor reference a door.
Interfaces are for when you have 2 or more classes that need to share/implement the same set of functions but don't have a common parent it could be implemented on. The interface functions once implemented can be called on the instances without needing to know its specific type.
You can get similar behavior to interfaces using actor components via composition.
It decouples completly
would there be other examples for interfaces beside like interactions that you know of?
You should really learn inheritance
That is a fundamental in object oriented programming, if you dont understand that you cant properly programm
I see
Personally from a BP perspective not really. And even then, I'd prefer to use an actor component based interaction system as it allows for much more complex behavior.
The last time I used an interface was for a save system. I had a generic save component and it would call a getter function on its parent to get a generic string of data that can be saved.
I personally swear by using interfaces for widgets, depends on your type of game though
Interfaces can be useful when making plugins though. Especially if you need two plugins to communicate but don't want to tie them together. (so they can be used independently if needed)
Yea, this can be a good shout. Working with inheritance with widgets can be a little tricky at times. Great if it works but once you've got 2 or 3 deep it can get confusing.
Ye fk that in widgets i always use direct references or interfaces
BP interfaces are pretty naff. You can do a lot more with them in C++.
Having class selectors that only show classes that inherite the interface is cool. Having default implementations is another nice thing but you can't do this in BP. This can result in a lot of repetition and bugs.
is it weird to have my interaction trace in a actor component attached to my bp_Character
thats what a tutorial i followed did
For my current personal project I went all in on inheritance for widgets. Surprisingly its going well. About 5 classes deep. π
Thats proper practice
Not at all. Its my preferred method.
I see
Maybe not the trace i do them usually in the actor directly
But splitting everything up in components is very handy
I don't always do it that way but if I need a dedicated interaction system I tend to have 2 main components for the system. One on the player character that handles the traces and then another one that gets placed on the interactables.
Component and enum for everything fuck inheritance haha
Since you said you prefer working this way, how do you handle interactions so that you know what your interacting with after the sphere trace?
Gameplay Tags π
Gameplay tags are for weaklings
The character doesn't need to know. All it needs to know is that it's something that can be interacted with.
You think you can solve all your problems by just slapping a post it note on them ? Come on do better
Nah i use them a lot too π
I see. Im just confused as to where I should set up the code that tells the tree what its being hit with
The axe detects a hit
Then it tells the tree ive hit you
What do you not understand exactly in this 2 bp's ?
Well the axe isnt really its own BP or anything
Why not ?
It should be its own thing
unless its built into the mesh (some characters have this stuff built on the mesh) so it cant be seperate
but it doesnt matter
you can still achieve this no matter what way its done, the principle is the same
There is a Axe bp but its really just as an item on the ground. The Character see what items its holding and just gets data from a data table
And then the player picks the axe up and swings it no ?
Yes but the axe has no role in the interaction between the player and the tree it just passes data to the player so It knows what the item in its hand should look like
So how does it look like ingame ? Do you not have a swinging axe model ?
Like do you just left click and nothing happens ?
Well I dont really have animations set up. But you currently you go up to a tree and press "e" with the axe in hand and the tree sees what your doing which I again know is wrong and thats why im trying to fix
Can you send a screenshot how it looks like ingame ?
But lets say the weapon is really only data
I also dont really have the axe detecting a hit but more so if the sphere traces overlaps the item and you press the interact button it fires off the code
Then you do it in the player
remember shit always falls down
The player shits
Player
I
If there is no weapon
I
Tree
it shits directly on the tree
So you would put this code in the player
But instead of the on component begin overlap you use your spehere trace hit
My actor component BPC_Interaction has the sphere trace by channel though, not the player
Doesnt matter its part of the player
Player
Component
I
Tree
Something like this. You could probably generalize it if needed.
Ahh a function were getting snobby in here π
which actor would i put this in?
Your tree
This would either be an interface function implemented on the Axe or if its a standard function on an actor component (placed on the axe) you can have it call an event dispatcher that you can then implement on the Axe.
XDDDD
I see
In your tree in the left panel under functions just hit the +
Thank you
btw you shouldnt care you hit a tree, as pattym said, it could be a rock, anything
so when you use your axe, you should detect what the axe hits
not the tree detecting the axe
Thats why you would have a base item
or interface..
You'd have something similar to this in your player character or interaction system. You'd get the held item from the inventory system (or where ever its stored) and pass it through the interaction event.
You love to torture him no ? XD
He doesnt know what the validated get is
This conversation is causing me so much pain.
I am actually somewhat aware what it is I think. I think its for checking to see if the item is still there in case in got deleted, which for this instance it could because its a tree that is getting destroyed
and i would assume thats a validated get for a variable that refers to whatever the actor is that is being intereacted with
Exactly
But in your code you wouldnt have that since your using a spehere trace
Sort of. Its just checking the property isn't null (or pending destroy i believe)
I do, its just in the BPC_Interaction
Are you setting it after you do the spehere trace like this `
I think so
Then its fine
It just first checks if the item being collided with has the interaction interface
And your already using a interface
So you can just create a new function in that interface
"Get hit"
Everything that the tree needs to know
So i would assume maybe Item Name
Or just a integer "dmg"
Well I also have other various information it grabs
Depending on how you want to set it up
such as if your using the correct tool
So ill probably do grab variable name
i mean held item name
for a melee combat system there is a need of enemy target lock. to find near standing enemies i can use:
- sphere trace
or - sphere overlap actors
which one would you use?
Sphere trace.
Claude's visualization tools are really nice.
I need help im stuck at - I have zibra ai volume and I wish to reduce its density overtime = Like when it triggered starting from 0 to rise and after a few seconds goes back to 0
its just a graph tho not a blueprint
Can someone verify/explain how variable are updated on a UMG widget. To start with are there multiple "binding" types. Because there appears to be at least 3. Binding to a function. Binding to an actor variable. Binding to a variable created inside the UMG widget.
Testing notes: Disabling a UMG widget from updating in the class settings will NOT stop the binding to functions. This can be demonstrated by assigning a random variable in the function. It will spam update when the widget update is off.
Needs verifying/data. I tested binding to a variable inside the widget. This is set on construct to a random value. This value seems to persist. However, is that because the construct is only ran once and it's actually updating every frame because in order to use that variable it needs to be bound to a text block for example.
It seems you can not call to a 3rd person BP and reference data from it inside the UMG construct. This will get a value of 0. If you assign it manually it will work. I presume it needs to be done on the widget creation.
What are you trying to do?
Update a value visually?
If I was doing it effectively, I would use dispatchers, bind event to (on value changed) set percent or text on that value.
In binding you can also do similar stuff to that
Every binding works on tick. It evaluates and changes the value each tick. Unless it is something that needs to change so often, you are better off using dispatchers.
What you are allowed to do in UMG construct depends on what creastes it and when the widget is created
Hi ! I'm having an issue i understand, but dont know how to fix. Here's the steps :
Picture 1 : I want to spawn an actor x times. These actors have different types and weight, sorted in the DT. The weight is here to determine it randomly based on the weight settings.
Picture 2 : For every item type who's weight =/ 0, check its weight. Then return the type in batch or continue the loop. Whenever an item is added, stop the loop.
Picture 3 : Simply my weight setup depending of the day in-game.
/!\ Error : Basically, it returns the for loop macro, so the error node is obviously the Picture 4
Any idea of to fix it ? Thx buds π
Edit : If the paper index ( 0 ) has weight, it will only return paper, whatever the others weights are. Looks like it can't go further the first index in every loop.
Do you really want to start another loop each time weight is 0? It seems strange and dangerous
Oh wait..
XDDDDDDDDDDDDDDDDDDD yeah ok i'm a dumass. Basic node breakdown.
Thx i guess ? β€οΈ
Np, not sure if it was the root of the problem though
It was ofc. I just didnt see the infinite loop connector.
Like a comma in script, it was obvious but just couldnt find it
Has anyone ever had this problem?
When Virtual Shadow Maps are on, the draw calls stay around 700. But with regular shadow maps, it jumps to around 7000.
Normally, regular shadow maps even give better FPS. until at some point it breaks and the draw calls spike.
I'm not sure what's causing it. I don't remember adding anything that could trigger this. this light is around 50 with capped distance. didnt matter if i didnt capped this though
The never ending holy loop π
can somebody help me i was trying to make a simple pick up system and i thought i did it all right but when i run it it just doesn't work what did i do wrong? also i did this from a tutorial and if you need a better picture let me know i did ask in another server but i thought i try this one also since it has more people ππ
Are input events fired before or after the tick event?
The tick fires every frame
Im gonna help you
Iβm aware, but Iβm wondering if input events fire before the tick event on the same frame
Hmm
Depends on in what tick group the input is
Im not sure never looked that deep into it
Maybe one of the other neckbeards know better
I would guess they are executed before the tick - since inputs are sort of "cached" as an event from the system for the next tick as I understand it. But I also never saw any definitive answer to this
I'll take a look at the player controller tick, maybe there is something there
But if you think about it
Inputs get handled in the controller
Controller loads before the actor
If your talking about the tick in the controller i dont know
Id guess after but the the easiest way to check is to add a print string to both and see what order it fires.
Edit: Just tested, input events are triggered before tick.
Welll, not completely. If they are unrelated and based on something completely arbitrary (like when the Engine gets to them) he can get different results depending how engine queues these actions.
The number is the current game time.
troubleshooting construction scripts and stuff that rusn in editor:
print doesn't work.. wondering how i can better visualize those for loops and stuff
time to learn breakpoints?
Print string does work in the construction script. You can check the logs if its not showing in the viewport window.
Cool trying to pool inputs into a buffer to operate with it on the game tick
As I canβt use the traditional event based systems
Inputs are ticked at the start of the controller tick
ah yeah that's right..
Better ss since i cropped too much back then
There is a lot more code there of course but anyone can read it if you install the source with the engine
Yea it looks like inputs are handled first then it follows the order in your screenshot. Its interesting that pawn is just treated as a standard actor.
so i got an excuse not to learn what breakpoints do haha
Breakpoints are still useful. π Definitely worth learning.
Breakpoints are pretty simple, they halt the code when the function executes
So you can snoop around and see what data is being passed
Yea, seeing the data being passed around is a god send.
haha i'm half kidding.. i'm just not used to using it and enabling/disabling them is annoying to me..
i should force myself a bit and get used to it though
i usually go read what the variables are at in the BP during play instead
Really itβs whatever you prefer for debugging and whatever is faster, but donβt diss something until you try it
Itβs useful for finding feedback loops
Or just sanity checking complex logic
Itβs not for everything but it can help with a lot of funky functions
You can also set conditional ones if you have an obnoxious bug that only shows up sometimes
oh do you want me to screenshot it?ππ mb ill do it now
Hello guys! I don't know if this is the right channel to ask this. I'm new to UE5 and I'm making a project in which my pawn comes from a c++ parent class. All blueprints compile fine, all gameplay works as expected, UI as well, but as soon as I try to cook the project in some of the WBP I get this error whenever I reference the pawn:
PackagingResults: Error: [Compiler] In use pin Car no longer exists on node Get . Please refresh node or break links to remove pin.
Is that something known as a bug or something? I tried refreshing nodes, recompiling from Visual Studio but nothing seems to fix it
Its feels like there's more to that error message. Does it not mention the BP it refers too?
Fixed it, the plugin and engine versions were not the same
hey hey
How can I replicate this physics poking interaction from the physics asset using blueprints?
I want this 1:1
I tried a bunch of things and none of them work like this
Thanks. That is the result I got from all tests. One of the main issues i had was how to access a UMG widget variable in the display area (not just a created variable). Because that is also highly limited. You can't expose etc on those. If you bind it to a variable inside the widget to update it that still counts as a bind.
There are references to changing the tick rate of UMG widgets also. That doesn't appear to exist in 5.7. You can disble all tick updates, but that also doesn't include any bound values. Aside from C++ coding is there a simple way to reduce the tick rate of a UMG widget for bound variables?
i m able to move but animation is not working
Has anyone tested if multispheretrace runs faster if more of what would be returned is in the ignore field?
Hey guys im new to ue, can anyone help me with my character blueprint not moving when using WASD controls? In the template Third person level, i have my custom character and animations applied to the third person BP and it works perfectly fine. But then in my other scene, using the same character blueprint, it wont move and only rotates on the spot. Sometimes if I spam the keys and spacebar the character does move a little but then gets stuck again. Any ideas? π
I haven't had issues with trace speeds. I presume it would still check those ignored entities though. In order to disregard the overlap I would presume the code had to identify it and invalidate it. In other words it needs to know it exists in order to ignore it. Someone with deeper knowledge may be able to give a higher level answer though.
Ok. I was going to check everything in a sphere if it's a skeletal mesh, but before that check what actors wouldn't have that component and exclude them to be faster. Might not hurt that much
Go to the world settings and make sure they match up. A new level may need the game mode etc updated to match. I presume that's what you mean by new scene. A new level essentially?
sorry yes I meant level, the default 3rd person level from the starter pack includes the character which works totally fine. Its when I use that same character in another Level which is when things mess up. I have checked the world settings and they look fine
Post the world settings of both levels and add a print string to the input for movement. To verify if the key press is being registered.
help pls
You probably need to attach the correct nodes for the player movement variable. The left blue dot.
That message means no value is found. That isn't a valid variable as is.
can you explain a easy fix
https://youtu.be/I3uiXmGTJMw?si=iM0Q3iK37O0ZcOke i m following this
Learn how to set up an Animation Blueprint in Unreal Engine for your character to give it life! This video is completely beginner-friendly and gives you an easy dive into setting up animations for your Unreal Engine 5 project!
Animations and character from Mixamo:
https://www.mixamo.com
Join my discord server for any Unreal Engine questions!
h...
Look at is jumping
ok
See how it's coneected on the left side
timestamp 7:03
It's probably the larger picture of how variables are accessed across different blue prints.
That "character ref" is attached to isjumping
Probably because isjumping isn't a variable on that blueprint. That's why the char ref is needed.
i had to make a variable tho
Attach that same character reference on the blue dot
Character movement has an empty blue dot
okkkkkk
You'd want to use a getter and not a setter for that
exactly
You already set it above the ticking code after all
so what do now
Might wanna put an IsValid check there in case the CMC isn't valid. Can sometimes happen when previewing animBPs.
ok just guide which to join to what
this one ryt
i m a beginner 
This variable works because it exists on this same blueprint
ok and?
What do you want to do ?
my character is only moving in idle animation
This needs a reference because it's on a differnent blueprint
is it sorted?
no
Just been doing some Animation Blueprints
So did you use Blend space for idle walk run or what?
yes
i m gonna crash out
Try get pawn owner (that gives you the reference to the owning actor whoever plays this anim bp so your player)
With that reference you drag off and you say get movement component
that gives you the reference to the movement component you drag off that and you say get velocity that gives you the velocity vector from that you drag off and you say vector length, then you right click it and promote it to a variable "speed"
press play with tha window open and it should show you were its moving to from that state graph
that's basically what he did but done a cast to player, either way it should still work
The error message he posted showed it was unable to read a value in character movement.
where?
yeah thats what is happening
he is resetting his movement component here each tick
..
ofc it doesnt work
yeah but how would it recognise changed values when sprinting etc if it wasn't there
The post above
yeah he should of used try get owner, movement comp, then the rest
is valid check
do that
see if it cancels out before firing
which set
yeah some people don't want to do it that way so giving both options for them to choose from lol
variable of character movement
so i have to delete the charac movement
i will show you mine
That is not a character movement
sorry...
ok
now you right click and you type get character movement