#blueprint
1 messages · Page 253 of 1
Ok. Just started to read that. About ticking. Am I ok to use a tick for interaction line trace?
yeah
Tick is ok as long as you know that it executes every frame and that whatever you're doing needs to be updated that often
interaction tracing is one such thing
yea, so how do you cancel a drag & drop op when someone closes a widget while dragging something
Do you need to cancel it ?
when they drop it
if its dropped on something invalid
then image should disappear
if they close the inv while dragging, not dropped, it will not dissapear even if mouse is released
so if they didnt drop it before the widget was removed, it wont dissapear and will stay on screen
create drag and drop operation
kinda?
how is it supposed to be created?
Good question
Im passing the actual widget as the drag visual
Can't really say if that's the right way or not
Pretty sure this other crash i mentioned is new in 5.4/5.5 tho
never seen that before
the LeafMostchildIndex part..
Will need to investigate that later
omg it wasnt crashing because of obs but because of that cancel drag and drop op node
im so dumb i forgot to remove it
this is what I meant (sry for mic forgot to turn it off)
Just on the subject of interfaces, they themselves are like an object that gets attached to a class and subsequently must also force load the classes it might use/reference. So for example, if you have an interface that has a function that returns a boss, even if this is only ever called in one place and only needed in the final level, the interface will still force load it in all previous levels if something else uses another function in the same interface.
dltr: If you do use interfaces, try to avoid type specific inputs and outputs on your functions where possible.
found a way that doesnt crash it
also this is how I make the DaD operation
I tried to add a check but never used the direct reference for it
I’m having some issues with the “Detach From Actor” node.
I’m trying to make a weapons system in blueprints that uses the Detach From Actor node when the player wants to swap out a currently equipped weapon for one that’s in the environment. However:
• When the location rule is set to relative, the player will pick up the weapon on the ground but the weapon that they had equipped will disappear completely.
• When the location rule is set to world, the equipped weapon does not detach from the socket and nothing happens with the weapon on the ground. Breakpoints show that the logic proceeds through the node without issue.
Can anyone explain what I’m doing wrong?
make it spawn and drop the guns pick up variant instead?
unless you're dead set on that, in which case lemme go look at my code cause i've got a BP with armour that detaches
how do i add inaccuracy to a line trace?
so it doesnt go directly in the middle of the camera
which of these?
degrees right?
I considered that, but each weapon spawn is unique, so I'd need to transfer all of the stats when I respawn the weapon in the socket or in the environment. Any insight you have from your armor system would be greatly appreciated!
got it working, nvm
Oooooh, like random gen? I had some issues with certain stats and ended up storing them in the base player (but my guns aren't exactly unique)
and i checked, it goes from Detach to Simulate Physics - though TBH if i remove the detach node the result seems relatively similar
Yep, stats are randomly(ish) generated! I have a function after detatch that reenables physics/collision/visibility, but whether that function is present or not the issue persists. What location rule do you have on your Detach node?
Relative, here's how the pieces are set i have no idea if it'll help but i hope
Ping me when you get it figured out! It may even help me down the line
Sounds good - I'll take a look at how my settings compare once I get a chance. Appreciate the help, and I hope it works 🤞
I created a character that’s gonna be my pawn and when I place it into the level the event tick starts. But during gameplay if a use a key to spawn in the character actor by class it don’t run the event tick is there something I’m missing or need to do in setting to initiate the event tick. This is all on blueprints
Show the code
@lunar sleet For spawning the character pawn on the player character or the event tick code on the actor I’m spawning
why cant i find the Map Keys to String node in my unreal??
Doesn't exist in Unreal? What is it you're hoping to retrieve? The array of FNames as a string?
trying to convert the values stored in the map into a string format
just not sure why i cant find this function when i know it exist / other image shows it being used
Can you show that image?
Depends on what the code is within it, but you can make your own blueprint function library which then allows you to have a static function like this.
Assuming that all it does is convert the Array of FName to an Array of String, it would loop through the FName Array converting the FName to String, add it to a String Array and then on Complete return the String Array.
ic, thanks
nodders
lmfao, i have an engine bug where randomly a sound effect in my project will just play out of nowhere in editor. Its not problematic at all but is just funny. Has anyone else experienced this?
how do i remove the target self part? cant figure it out
does anyone have a good way to lerp the player camera from the pawn rotation to the head socket rotation etc ??
bassically so for montages and animations where I want the camera locked to head bone and then when in normal playing they can obvs move around camera like you would do ?
Ok. What am i doing wrong.
I have this event dispatcher with an enum property of incapacitation reason.
This event dispatcher is on an actor component attached to a character.
How do i call this in the character class itself?
I want to handle incapacitation types in different ways
Get the component then call it
Needed to select the component, scoll down and hit the plus arrow
Got it just after you posted
The blueprint debugger call stack shows "Native code" for any c++ functions in the stack trace. Can I dig up which c++ function that is?
How do you deal with something like searching for connected data by any of those points of data? Since a data table only lets you search by row name and not columns.
I guess you can loop through your entire data table in advance, check each entry's columns, and add each row name to a variety of arrays for each kind of search you need to be able to do later, but that seems pretty messy to set up and I'm not sure where you'd stick that or how long it would take. Though I guess someone smarter than me could set up an editor tool to get that handled and those arrays made in advance.
Or I guess you can have a data table for each kind of search, so you just check if the row exists. Probably wouldn't take too long to set up. Though I guess that wouldn't be a good fit for something like crafting recipes that can have arbitrary ingredient orders, it would work for a few other things I've wondered about.
I guess you could come up with a naming convention for recipe rows that can be derived from their ingredients, but then you'd also need entries for viable partial recipes or to only be able to check a full recipe...
maybe going through an entire data table is usually faster than I'm thinking and I should just blast through the whole thing checking columns when I actually need to?
how big is the table?
What are you trying to architect here
Nothing specific right this second, I was working on a problem I thought needed this and then decided to go another route. But this isn't the first time I've wondered about this so I figured I'd ask.
I can't imagine ever having one too big in my game, though I'm not sure what counts as big. I can't imagine ever having any table with more than a 1000 entries, and that one would be all gameplaytags and text. So I'd imagine I could get away with a lot?
I don't know what the back end of data tables look like but assuming it's basically like an array of structs or a map then a linear search wouldn't be that bad
It might be worth pre-processing recipes if you had 10k of them and had to to a bunch of searches as fast as possible but just for searching whenever an item gets placed in the crafting screen a linear search is probably fine
When my character possesses another actor, a component in my character stops working properly, even though the owner remains the same character. What could be causing this issue?
Probably something to do with the component reading something about the player controller? Really it depends on what the component does.
I have this main road actor setup. I want to (from my character class or controller) get all the spline points and find the nearest one.
However I cannot seem to get any information from them when I get all actors of class.
What does it say when you hover over the "Array Element" pin on the ForEach Loop?
Ok, so you should be able to pull off from that and read whatever you need to read from your BP_MainRoadSpline class. As you're looping through them, you'd have to keep track of which is the closest, by how far and check each time if the current iteration is the closer.
This component is used to spawn nearby actors, but when I possess a vehicle its breaks relevancy
@dawn gazelle I have two actors in the world, And when I trigger this it just prints two entries. I'm obviously not looping through the spline points.
Got it
Bah! Cant use the get distance to node on anything but an actor.
could anyone theorize why this isnt working or just straight-up solve my problem? T-T icons should be going from red to orange when hovered but nothing happens...
Ok. Some progress. I am able to get the distances of all of them. Now I need to filter out all of those over a certain distance. Then return the location of the nearest.
If you add a print to the hovered event, is it actually being hovered?
thank you for suggesting that for troubleshooting! one of my concerns was that it was 'buried' underneath ui but that doesnt seem to be the case [hello prints when hovered]. im pretty sure that border is variable too
not even sure if that matters. couldnt find some instance editable thing
oh wait def matters that border is variable i imagine...
since.. i pull it... zzz
brain no work
still no idea whats happening with it T-T
Hey guys! I'm new to UE and I try to make a game with the help of Chatgpt, well, it have'nt been easy today, so I have to ask here:P
What I want to achieve is to increase the size of the cube, and make it stay on top of the floor, not fall partially through it as it does now.
As you can see in the start of the video, I have the standards capsule component for characterBP. It seems like the collision work as the cube stays on top of the floor (even floating a little)
I've added a box which I scale and I try scale the capsule component aswell. The problem is that the cube falls partially through the floor when I start scale. Does anyone have any idea where I can start to look to fix this?:)
Recorded for easier explanation.
i switched it to "color" variable type vs "linear color" and this happens.... which is more than what WAS happening but i'm still so confused
so think im almost there [probably a different variable type or something] but the colors are now [i assume] MIXING and giving me a weird color.......... how2fix
Huh, interesting, I feel like you should just be able to switch out colors no problem
Not too sure about UI stuff fully, sorry mate
YOU GUIDED ME THERE. it was a freaking tint vs color issue T-T i had a tint set on one of them but not color olasdlaksdakskdasd
im so mad i was troubleshooting/waiting for like 2 days
post it here today and boom ty
Im going insane. I am trying to return a bool value from a function.
If I connect the return node. The function stops working altogether
This works
This stops everything from spawning and says no, there are no roads nearby.....
I need a true or false result. Is there a road nearby. I dont need to spawn the actors.
I dont understand why
I can even set a bool variable and it doesnt work
Glad you got it figured out!
OK. This seems to work. I think I understand it. But I dont.
I dont understand arrays and loops. Ive never been able to grasp why shit works the way it does.
This for example. I would imagine the print string here would repeat for all the array elements that are closer than 200m
But that only happens if I disconnect everything that happens after the print string.
Like this
This now displays a print of all points transforms which are lower than 200m away from the player
But why would something that happens AFTER this affect what happens before?
I dont get it at all.
Ideally, I want this function to return two values, a true or false if it finds a spline point. And if true, the location of the spline point.
But I cannot figure it out to save my life
Well this is happening per item on the first for loop
So if it’s returning on one of those loop runs, it’s not gonna do anything else
Arrays are lists of a certain type. If you only have a single item in the list, it'll only execute once.
If you return from a function, it will stop any loops that it may be iterating through.
You are currently creating a nested loop of an array that contains a single boolean and on completed are returning from it, thus cancelling all other loops that may be in this function.
Sorry I’m having trouble following this lol
I appreciate the response but I am no wiser
You should check each position on the first loop and make an array, then move on the completed to do everything else
You see in your first loop, you’re checking the distance and if that is true, it prints and runs another loop inside the current loop. So if that second loops branch return true at any point in that second loop, your function will return (cancel at its current position in the loop)
So ideally you want to make that array inside your first loop then any logic that needs to happen post-array should come off the completed pin in the first loop
The top function you'd put in your actor that contains your spline.
The second function you call wherever you want to check against all of your spline actors.
This loops through all instances of your Spline Actors, and determines which point in each instance is closest to the actor and then if that point is closer to the actor than any other previously closest points to the actor, it stores it. When the loop finishes, it returns the spline actor and the point that is closest.
How would I return the location and a bool?
I need a true or false value. And the location if true
(I dont mean to sound so ungrateful)
Any idea how I can make my sphere ignore my interact? (I still need the sphere to overlapdynamic as I am using it for something else)
Add your class to the class filter. Use a reference to self
so class filter essentially disables it recognising specific overlaps?
It's already referencing self?
Sorry. Not sure. I think im tired
No worries, appreciate it
OK. Lets start again. I can get an array of all the spline points I want to sample.
Looks like this.
In Datura's example, you would just need to change the output types
temporary fix lol
Well, this function gives you the closest spline actor and the spline point that is closest, not the closest part of the spline that may be near to the actor which would require a bit of change to the logic. If all you care about is closest points, once you have the closest point, you should be able to check if the distance of that point is within a certain range (your bool) and get the world location of that point from the spline actor's spline component.
Thats what I cant figure out. I think I'll have a look tomorrow with fresh eyes.
Cant get my head around it
I appreciate the help @dawn gazelle
https://blueprintue.com/blueprint/u06--pmt/
@dawn gazelle This does exactly as I need.
This is just a single function on the player controller.
returns true if the player is close enough to a spline point. As well as the location of the nearest point.
You are a life saver
Ignore the "found" boolean. It does nothing. Has been removed.
I am trying to randomly assign a material instance on cows. However, I do not know how to set the material instance to overwrite the default on the cow.
any help yall could give me would be amazing
To my eyes this looks correct. Are you testing this on a placed actor or are you spawning them?
Are you moving the actor around the scene or otherwise causing something to trigger the construction script?
I have 6 of the actors in a scene and am pressing play
I am getting these errors logged to the console
Is CowMesh in the hierarchy of the object or is just a variable you added to this blueprint?
it is a variable I added
Anyone know how to trigger an event when you walk through trigger a ball rolls in front of the character?
I set up a ball BP but am missing something between trigger box and ball
Ok, so that's part of the problem then. As it's a "Static Mesh Component" variable, it needs a reference to the Static Mesh Component you're wanting to change. If this code is present in the cow, then I'm guessing you mean to use a static mesh component that is actually in the hierarchy rather than just a variable you created.
@dawn gazelle thank you so much, got it
just had to drag the mesh over from the tree and remove cowmesh... haha
wouldnt have figured that out without your help
#enhanced-input-system message If anyone can help me figure out this issue 😭 I didn't know where to post it
Box needs to know about ball or ball needs to know about box
either box tells the ball to start rolling, or ball subscribes to OnOverlap for the box. I'd do the first approach for now
Overlap -> is the overlapping thing a character or whatever? -> yes -> tell ball to roll (whatever that looks like)
you can make a reference in the trigger actor of the ball actor type, and set it once both are in the level, or get it at runtime with get actor of class YourBallActor
or it can all be one actor, and just move the trigger box to wherever you want it to be. One actor with box and ball in it
So this is totally wrong then?
This is what I started with the ball
So when i start this actor in the world The pawn will move to the location but when i use a pressed key to spawn the actor in. it wont move to the locaton the print string shows it making it past that point but its not moving to the location even know its saying its making it past that point
anyone know what could cause this
That is saying "When something overlaps, if that something was a ball, make it start simulating physics"
Is that what you want?
Not at all. What I want is when the main character (in this case First Person Character) overlaps with the trigger box, then make the ball roll from one location to the other, which is passing in front of the main character
ok so you want to check if the main character, or at least a character, is the thing doing the overlapping
Yes, so the main character is walking down a hallway and triggers an event the causes the ball to roll on the crossing path in front of the character
Yeah so do that
start with detecting that the overlapping thing is a character
I think where I am getting stuck is that this is literally my first time trying to do a trigger, so i am unsure if I place this in the level blueprint or with the BP ball.
Level blueprint is pretty crap. Start with a single actor
one actor with trigger box and ball in it
when a character overlaps, drop the ball
This is the trigger box actor BP I made. Is it something like this? Sorry I am still kind of new and am struggling with such a simple concept. I will try what you suggest, but its super late so I gotta attempt in the am
Cast OtherActor to YourCharacterClass
casting is asking "Is this thing an instance of this class?"
you care about if the other actor is a character right?
Pulling an error
how would that lower cast node get called? It's not hooked up
it's because it has no input...
it probably tells you that in the error log
Overlap -> cast OtherActor to YourCharacter? -> yes -> set simulate physics on Ball component (Box and ball are in the same BP Actor Class for this)
it's that simple
Sounds simple enough. But I definitely am not connecting the dots
Ignore Ball_BP, it doesn't exist anymore.
make sure a box collider and ball component are both in this same actor
1 actor with the trigger and the ball
That simple
that will drop the ball when character overlaps the box
almost got it. just i need it to push the ball from the right side.
Since I have simulate physics, it drops the ball on start before entering the trigger
have it off by default
static mesh settings
walking through trigger still does nothing
Show your code
Okay that triggered it. Now how do I add some sort of horizontal force to get it to roll instead of drop?
Do you want it to act like it's continuously being pushed or give it a one-time boop?
It'll roll down hills like a real rock would
one time boop, loses momentum as it goes
losing momentum is up to the physics engine but a one time boop can be done by Add Impulse
after enabling physics, call Add Impulse on the sphere
you'll need to use huge numbers unless you check Ignore Mass, in which case the impulse will be the velocity change
200,0,0 would push it 200 cm/s in X
Something like this?
If I wanted it to constantly roll then that would be what exactly? And it works btw. Thank you so much
if you wanted it to constantly ACCELERATE you'd use add force on tick
it all depends on what you're after
Awesome. I can tinker with this now.
broskis this is the most confusing thing.
I have my units selected, ui shows the unit cards.
A battle happens, units take losses.
But the UI doesnt update. It still shows the old units numbers
So to show it again i click again and it shows the new numbers.
What should i do here? Should i call the UI to update after each battle?
What if the battle happens between ai players? Then it shouldnt update any UI
How is the proper way to handle this? Checking if battle is between AI or player? Check if after the battle if the currently selected units were involved in the battle?
Or always update UI after battle regardless ?
What's wrong here? I'm positive that I'll have done something badly, or misunderstood instructions: https://blueprintue.com/blueprint/uup6ishu/
please ping with response
https://forums.unrealengine.com/t/how-to-create-custom-game-user-settings/759974/3 research is your friend
at the v ery least you must reduce the forloop to -1 of splinepoints
for end point?
it's not quite that I'm afraid :p
It's one issue, possibly not the only issue
splines are usually troublesome to work with
took me like 50 revisions to get up and running my spline based 'tunnels'
true but sadly it's probably the only sane way of doing roads
Hi, I am using unreal's default CharacterMovementComponent, in this blueprint I am updating Velocity on every tick
this is Velocity -= Velocity * Deceleration Rate * deltaTime
yepp, similar to what CMC does
but it only works the character is in air, it doesn't work as expected when walking
question is what you're trying to achieve
CMC already has deacceleration built into it
I'm trying to create sliding mechanics, so that when my character is sliding, he is losing speed over time
right
so custom movement mode is what you'd probably wanna do
should allow you to control this manually
why does this only work when the character is in Air, but not when walking?
because CMC likely overrides whatever you're doing
except while in air /Falling state
CMC sucks bruh 🤨
Whatever holds your units data should have a delegate. Battle end or progress should be setting variables and calling said delegate. When you view a thing holding army, it binds that delegate. When you stop viewing it, it unbinds. This way it only updates UI when you're looking at it. Alternatively, just tick the number in the widget, it won't cost much.
Is there any way of converting hierarchical instanced static mesh back into separate static meshes?
Hello! I am trying to get my ENHANCED INPUT SYSTEM to run.
i have added context mapping on my controller at "Event Begin Play"
also, i have my input action there, i defined it on pressing Button Q in this case.
It does not fire when i playtest it.
Any ideas?
Yes, i did add the Mapping to project settings.
so what you see on the bottom left is the "Q" button, it should show a string.
*print string
but it does not.
from my understanding this should work, so i didnt see something
bump
Did you bind the delegate?
If you are not using event dispatcher then you should
yeah thats what i ended up doing. I have a Event Dispatcher now. Which i assume is another word for Delgate.
When you view a thing holding army, it binds that delegate. When you stop viewing it, it unbinds
This is more for real time, right?
In my case battle happens, and you get the results immediately.
So here i binded the click select army to update the UI.
So when i click in the Army, it shows the army units cards below, with the numbers of soldiers.
dispatcher = delegate yes
so im doing it correctly
why someone figured it smart to have different names for the same thing is beyond me
Not if you don't get the result that you want
now everytime the battle ends i call the Delgate, to update the currently selected units.
yes its working, though its confusing because, before the delgate the AI was also calling the UI
to update
this also happened to me in another project and i just solved it fast with if statements
Anything UI related should largely be setup to bind to delegates
We need to raid youtubers that write gameplay logic in UI
No AI nor player class should call anything in the UI to update some displayed stuff
yes thats the best, else you will be checking always if its human, and then cast to ui
yeah some do this. i did this before
thats a class 2 violation, permaban!
Simplest way to see it imo is that UI job is just to read.
The component or actor shouldn't need to know the UI exist.
but it kind of calls. calls a delegate.
everything gameplay wise should function without UI present
The one that broadcast the event is the target actor
it doesnt know who's listening
thats right
so it only says "whoever cares, this has changed! "
ok. sorry i dropped so many pictures above, i just wanted to show why i was wondring;
i run through 3 tutorials of setting up enhanced input system (to update my legacy setup here)
and i am sure i followed every step, yet, nothing happens when i press the button....
If you know any place for me to read up on this, pls let me know, thank you.
The doc should be more than enough.
See tps template for everything you need.
Of ofc, the context is missing
You are doing multiplayer
🐱
Add Context Mapping. EnableInput, make sure input mode is in GameAndUI, or GameOnly, make sure UI is not handling it first.
My tip is don't do it in begin play
i got it running
lol i was stupid, i forgot to plug in a node
sorry guys! thanks a lot!
I don't think your destroy session is called because you hard travel on previous node. Might want to check on that.
Hi all o/ Having a really odd one. I've attached a few screenshots showing the details. I'm using the subtract (float) node. One is behaving correctly (3-1=2) while the other isn't (3-1=0). Also if I plug the same output value into 2 floor nodes, that is causing different values as well. What am I missing here? Any help is greatly appreciated 🙂
thanks, appreciated.
Gotta show the bigger picture for us to even try to explain it
Oh, I thought this would be enough as it shows the fact the node is taking in a number (doesn't matter where the number comes from) and is outputting the wrong value on that same node
what else would you need to see?
It matters what it goes to and the execution chain there
Ok, I did a big derp, I apologise. Was debugging a loop and that was outputting to the "Last Index". I figured that wouldn't impact the value as it's not a variable or anything. Apparently even though it was feeding into "Last Index" it was showing the value of the current index. Apologies
if anyone else has this issue on the character under pawn settings theres Auto posess Ai and you need to change that setting. Its set to placed in world as default and needs to be set to placed in world or spawned. hope this helps others
If I place 400 skeletal meshes in a level I get around 80 fps. If I take that skeletal mesh and make it into a blueprint actor I get like 60.
Is this unavoidable or is there some setting causing this? I have disabled collision and shadow for all, which was by far the largest performance gain
and no there's no code running by nodes. So it's only whatever is default with it being a blueprint actor
I've been gradually disabling a lot of properties to find anything, but nothing so far
hello everyone. is there a way i could somehow use gameplay tags as a switch? my issue is that the tag has a relevant place in the tag hierarchy i want to listen, but its not an exact match. its like i want a switch if it contains the tag, rather than being exact
You cant do such a query with a switch
thank you. any idea how i could do it without chaining together a bunch of if statements?
hey, ive been looking for a tutorial on how to recreate the dialouge from animal crossing, but the only good one i can find is for unity, id much rather stick w using unreal so was wondering if this would be something able to replicated in unreal? https://youtu.be/ta_L_qoMaqc?
The villagers from Animal Crossing express a lot of their emotions through dialogue, and this is one of the main reasons why players create such big connections with them. I wanted to experiment and see if I could achieve a similar system, using Unity!
Support Mix and Jam on Patreon!
https://www.patreon.com/mixandjam
PROJECT REPOSITORY
-------...
Sadly not 😕
thanks anyway !
is there a way to create destructible mesh because they don't have it anymore for UE5 and im trying to set it in a blueprint.
There is a Chaos Destructible Mesh now. Much of the physics stuff was changed in 5.0+
i use Geometry Collection to create fracture but they dont appear as destructable mesh
I'm unsure. I've only done it once out of curiosity. The games I work on don't use them so much and I'm not the tech artist even if they did. 😄 There are a lot of guides on it though.
I have:
- An NPC actor holding a shield skeletal mesh
- A player weapon that shoots raytraces and if it hits an enemy actor it does Apply Damage
Is there a way for the actor to detect that the shield was the component that was hit with the trace and therefore ignore/reduce the damage, or do I need to go through all my weapons and run code that detects what was hit (e.g. hit component, read tag, set variable "hit component" on actor)
how do you make traces?
can anyone help me make a Flare gun in blueprints?
trying smth but cant think how to make it
Is there a way to hash a string in UE5 blueprints ?
it's free and it has md5/sha nodes
How do you pass a variable on another blueprint to a UI element binding? I've done that in the past but I've completely forgotten how it works.
Basically trying to bind a number to a text field
line trace by channel, was hoping to avoid adding a bunch of checks to each weapon (theres a lot) and just run it off the rare actor that has different components that react differently to incoming damage
if not a viable option its not the end of the world though
why do you need to check a lot of weapons? check only one component from hit result, am I missing something?
Im getting the hit actor from a break hit result off the line trace node, and I have a bunch of different LTBC nodes for say, the shotgun, sniper rifle, machine gun etc, splitting it via a switch to divert the "shoot" event to the correct output
disclaimer: first time scripting with bp lmao
#packaging maybe
Oh yeah I see now, this plugin is a must-have thank you
Although what is this abomination of a node ? It doesn't just crash the game but the entire engine as well
Why
to trigger a breakpoint in your IDE when you have a C++ project
Sometimes it can also be useful to check that custom crash reporting systems are working
Blueprint is specifically designed to not have exceptions. What usecase do you have for this over just handling something
how can i get the good bone?
The what now
There's a lot of ways to not need stuff like that. IsValid is the first that comes to mind...
I want to add an error message to the log if a level is missing its player start actor
need the weapon to be removed when implementing gravity
that's more something for custom data validators
Print string if it doesn't exist
...
IsValid remains a good generic way to see if an object/reference is 'there' or not
That still doesn't explain what the "good" bone is
the one in your arm which when you hit the right spot makes you feel all fuzzy
Print string does add it to the log but it won't pop up the log with an error when going back into the editor, like any other errors would
Sure but it also you know... prints it to the screen that you're looking at
there are some plugins which do that tho (not sure if there's any vanilla way to write to the editor log window)
weapon_r
And why do you need to get the bone to detach the weapon?
It's showing you what the node needs
otherwise bro becomes slenderman when dropping his weapon
out of the 20 options like then i know 😅
so i can implement gravity
Hi guys, I am currently making a yank grapple mechanic where my player can yank an object and pull it toward them, but the force is not properly applying to the object, I'm new to UE so please keep that in mind.
The object is getting recognized by my line trace (used print statement to debug) but the apply force to the object is not working for whatever reason, probably because my math is wrong or something I have no clue at all.
No? You just detach the weapon from the actor and turn on its physics
Gravity isn't something you need to implement
i want it tho
...
just can t find the node for it
I know, you said that. You still don't need to implement it, it's already implemented
it is not
yeah buit this is different
cuz now he falkls down flat from standing
@thin panther so wich node do i need?
How do i get my players stats through an interface without a trace. I want to get them for my widget
what's given?
some entities are easily available from many contexts, e.g. GameState or PlayerCharacter/Controller
Whats more, you can do without an interface if you have those stats within a component, so long as you can get a reference to the object that contains the component.
couldn't find an explanation on the difference between "In Socket Name" and "Socket Name"
They're the same thing. In is saying that it's the SocketName going In the function as an argument.
With that you can get to the owning players pawn from a widget
cast it to YourPawnClass, then reach in and get whatever you want. Or, get its StatsComponent (the better approach)
You can think of a component as an interface + state (variables)
"in Socket Name" is a variable you created, probably in this actor. "Socket Name" would be the variable associated to the input of this function.
I renamed my Function Input and I have an idea how this came to be. I probably did promote to variable at some point. I would say this is a bit unlucky named.
What is wrong with my blueprint?
I think some context could be helpful
it's a transfer slot system
and it was some weird bugs which cannot be undestood
For starts, your item merge code is wrong. You're taking from the source index, and clearing the destination index. You should instead simplify this in it's own function. You should simply be getting a number of how much is desired to move. Get the min of MaxStackSize or Source+Destination. This gets you your total for Destination. Then you minus this from Source+Destination and that gets you how much Source should have left. If source == zero, then remove it.
Secondly, you're multicasting at the end of a function setting replicated state, which is a huge red flag. Nothing about any of this code should be multicast for any reason. The Content array should have an OnRep.
You are not passing in Destination inventory. So I'm wondering if this is a function specifically for swapping slots in this inventory? It's makes the function look strange when it could also transfer between different inventories as well.
Beyond that, as Saine said, context would be helpful. It's hard to diagnose issues without knowing what they are.
Just to clarify
this is not multiplayer game, things are just replicated because I followed Ryan Lalley's tutorial and he makes everything replicated just in case, but it's not mandatory, it's just optional
what's OnRep? I dont think I've ever used that before
It's similar to Multicast, but not as strict. Multicast will send immediately, which is an issue because your multicast can arrive on another machine before replicated state can. So if you set state, and multicast, a client can run an update on the multicast for like UI, and then a frame or fifteen later get the updated state which is way too late.
OnReps on the other hand simply run an event when the new state arrives on that client.
For starts, your item merge code is wrong. You're taking from the source index, and clearing the destination index. You should instead simplify this in it's own function. You should simply be getting a number of how much is desired to move. Get the min of MaxStackSize or Source+Destination. This gets you your total for Destination. Then you minus this from Source+Destination and that gets you how much Source should have left. If source == zero, then remove it.
Secondly, you're multicasting at the end of a function setting replicated state, which is a huge red flag. Nothing about any of this code should be multicast for any reason. The Content array should have an OnRep.
ok since I dont understand what you're referring to there, i'll break the code down into 3 sections and you can tell me which section of this screenshot you think is problematic
how do I do that exactly?
I don't really wanna replicate this
or make it a multiplayer game
You won't need to care until you start doing multiplayer. So no need to worry about it really. Learning networking stuff can be a bit of a deep dive if you're not ready for it.
Blue seems fine as far as I can tell? Do you have an issue when you transfer with the same item id type, or with different id types?
on some slots it fails to transfer, on some it doesn't
and then also everything really changes based on:
- whether or not it's your first swap
- whether or not it's on your first 5 slots, etc.
and i can share a video to demonstrate
but it's really random, and it feels like it has some weird specific unwanted rules created and bugs it's not supposed to have at all
I would start by hooking up something to the second SetArrayElem in yellow. You're always clearing your destination slot here. Maybe take out all of the math and simply swap Source and Destination's quantity here for a start.
in the yellow, what should I hook up in the 2nd SetArrayElem?
what dou you mean take out all of the map, which one you refering to?
which one is the "map" ?
Er. Brain moment. 😄 2am here. map = math.
So that you can test if it works correctly by simply swapping the quantities when they're the same ID. If this works correctly and you have no other issues, then you can add the math back like I described above to find the new numbers.
should I change something in the black, white, or red?
the red is not connected
and it's also like this in my other inventory which was working on another project
should I swap something between black and white?
should I change something in the red?
it's 2am here as well
but in this yellow box, I have no quantities variables
ok maybe Source Index and Destination Index
are you referring to those integer variables?
I mean to simply pull the quantity of Source and Index from their structs, and swap them. Set Source's struct's quantity to Destination's, and reverse as well.
Content is their struct though
right?
Reverse like this?
Content is F_Slot_Struct
but why should i do that?
Narrowing down your issues.
is it because my variables will be none or not actually reference anything when I run this code?
For example right now,
I just picked up one item and it puts it on the first slot
then I try to move it on the second
that's it, it will never allow me to move it to the first back again
or the third
Oh i just realized something
transfer item swap only works well for the item in the 1st slot
so it looks like you can only transfer items out of the first slot apparently
and you can swap infinitelly with 1st and 2nd for example or smth like that
and you can also find some other weird bugs in there
there's a lot of weird unwritten and unwanted rules and bugs in this inventory which I would like to completely remove
I can't pull quantity from F_Slot_Struct
I can't pull Index from F_Slot_Struct
Hello... Friendly lurker here. Most of my game development has been in Unity. I recently started messing with Unreal Engine by modding existing games. I was messing with some config (CFG) files. I get that these can be used for blueprint and prototyping. In Unity I could create Prototypes that pulled random valuesfor a base or inherited object. Can I define a variable in a .cfg and assign it a random value from say FRandRange()... Or am I limited to only int, float, bool, etc... fixed values.
I'm not sure I fully understand what you're asking, but it sounds similar to something like this.
hmmm
There is supposed to be a way to use a value from a CFG file, but I don't understand why you would assign it a random value
UE has RNGs for all kind of numbers, if that's what you are curious about
you can probably substitute a config value if it doesn't exist or has some placeholder like -1
but that's something you have to code, not a feature as far as im aware
as it sounds very specific
say I have
OddFellow : struct.begin {refurl=BaseMobile.cfg;refkey=[0]}
SID = Fellow
Blueprint = Blueprint'/Game/Blueprints/Characters/NPC/MOBILE_AI'
StatParams : struct.begin
MaxHP = 100
MaxStamina = 100
...
...
...
Say I want MaxHP = FRandRange(70, 90) instead of 100 when the object is created... Can I do that in Unreal?
in a config (.cfg) file.
not without custom code (all afaik)
Crud
how about you declare a MinHP/MaxHP in your config to set the RNG range
which is an easy roll on beginplay/actor construction
In th code have it do FRandRange(MinHP, MaxHP)... Yes that could work... I feel dumb for over complicating it
sceneCaptureComponent/Hide Actor Components - works great but I am trying to toggle this. Is there a way to do the opposite? I see "Show Only Actor Components" but that doesn't seem to be doing the trick..
also is there an easy way to turn on/off the sky (replace with a simple color, or image) only in this scene capture component?
no, you are rendering from the same world
You can mask the background and apply some material but it's probably easier to just create another world for the Preview Mesh. Not doable in blueprint but you can look at LyraPocketWorld if you want
========================
Good evening Unreal lords.
I have narrowed my issue down. Can someone please help me understand my idiocracy when thou haseth a momentus...
As you can see, I am trying to understand how Owner and Instigator work inside of 'Spawn Actor.' (except I don't really know how they work.)
it doesnt really seem to matter if i try a combination of owner, character, and pawn, the game likes to throw a effervescent tantrum.
- I know that pawn is like the highest class in the chain. I just dont know which one of the things are supposed to use to make them work.
- 'Get Owner' has to go into 'Owner' on the Spawn Actor. The game throws me crazy errors if I dont.
- So that means the Instigator is wrong. But I dont know what about it is wrong. It works on the player but it doesnt want to work in a component.
- On the player side, it seems to like being empty. but when its empty on the component side, it doesnt do anything.
If someone could lend me your eyes for a green noob, I would be most grateful.
When you spawn an actor, you can decide whether to set an owner. It's typically an important think to handle in multiplayer as actors that are owned by clients allow the client that owns it to send RPCs to the server while also controlling some owner logic like OwnerOnlySee or OwnerNosee. It's also supposed to be a means of easily referencing something as a potential "parent" type of object which is what it looks like you're trying to do here. As you've done correctly here, the "Owner" of a component is always the actor in which that component is attached to.
An Instigator is more like what triggered the Actor to exist, which may need to be different than the owner. Useful for things like bullets from a gun. The "owner" of the bullet may be the gun, but the pawn holding the gun could be the instigator.
The only thing I can see here being a problem is that you're having your BP_MASTER_AI's Begin Play calling this Initialize Equipment function when it may be occuring before the Component Itself has had a chance to begin play which may be messing things up. What happens if instead of using the Begin Play of the BP_MASTER_AI, you have it execute the Initialize Equipment function on the Begin Play of the Component?
you mean go straight from 'Event Begin Play' directly into the component itself first? I did try that and nothing happened.
BUT MAN I JUST FIXED IT.
I didnt realize i had 2 swords named the same thing and the one equipped had incompatible animations on it. so it broke. i had my code right THE WHOLE TIME.
man i feel dumb
been trying to fix that 1 bug for 2 hours
What I meant was, use the Begin Play in BP_Equipment to call the InitializeEquipment function instead of the call in BP_MASTER_AI, but I'm glad you figured it out 🙂
OHHHHHHHHHH you mean do it in the event graph. thats a real great idea. fantastic mate. ty for your help. i didnt even think of that!
i will make a comment and try and utilize that technique the next time i get stuck
===========================================
Bug with Blueprint Interfaces?
I have a pretty basic system setup between my player character and enemy that whenever I try to attack it triggers an event called "Recieve Attack" which uses an interface with the enemy to trigger the enemy to dodge the attack. Right now i have it set so the enemy should dodge the players attack every time. This works id say about 75% of the time as sometimes the "Recieve attack" just doesn't trigger on the enemy's blueprints. I have my interface setup properly so I'm wondering if there is something else that could be effecting this event not firing or if I've simply sone something wrong.
The cast attack uses the same line trace as the one to apply damage
personally for me
Combat Component 👌
Combat Interface 🙅♂️
Interface 🙅♂️
no formal education here so never had anyone telling me right or wrong. But my self imposed rule for now if you have to do any kind of logic or like more than 20 codes long, consider component.
Right now I use interface for simple getters and as far as I see from Lyra, interface are only used as getters, nothing more or less.
Getting faction or team, you probably want interface
Interaction? I do use component
Inventory? Component
Combat? Component
Is there a way to solve this it happens after break bone constraint for delismemberment
Hey everyone i'm having an issue with spline and collisions, mainly that spline just wont give me any collision. Tried multiple thing that i found on forums, videos and reddigt, but nothing so far came even close to solving it. Here are some screens of Ineditor settings, Construction script and function within it.
and the meshes got collision ?
Yes. Tried several. Complex as simple and even modeled simple one and imported it. Nothing changed.
Personally I've never had any good luck with the SplineMeshComp
collision and nav area impact (probably due to no or weird collision) was always an issue
i was gonna use it for Roads in an RTS
i ended up faking the collision by placing a bunch of ISM's there instead
hidden, ofcourse
I need to do quite a bit of tunnels so i wanted to make a tool like this to make them easier to make and more organic (also less pieces to be used) but so far it works only visualy. 😄
Voxel got collision atleast
Hi I have a question .
I want to know that I have a ship so I want to float it but first I wanna know
1.how many pontoons should I put in that ship? (It's a galleon)
2.where should I put the pontoons?
3.if I put one single pontoon on its center of mass then will it balance the ship?
this is what my collision mostly ends up like
hmm, seems like it now worked as it shuold
Mine still wont show. 😦 😄
Yeah, i went throug quite bit of forum post that suggested all these little things i migjht have forgotten. et still nothing. 😦
hey guys 👋 I'm trying to learn about material layer. Is the index [0] here the background layer?
I assume it is but I just wanna make sure it is.
Hey guys!
How do I access the arrays in the data asset from within my blueprint?
I think you're talking about get data table row
Thank you! I will give it a shot.
If it's a data asset then you just... Get them
They are properties of the class after all
That was my hope too, but no dice. I might be using the wrong type of Data Asset?
Yeah it needs to be the type of your specific one
Either change the type or cast. Changing type makes more sense.
And with it I mean the variable
note that, it's not stuck, I can replace it with another thing and it will replace, as long as you exchange it with something
You were correct. The variable was not pointing at the right thing. Thank you!
is there a way to jump to the next row of a data table, without jumping to the specific row name?
in a sense like just calling the next one, after the one that was just called.
after all, they have an index too, that should be accessible somehow, right?
thing is, I wanna call rows in order, but I don't wanna have to manually give them all numbers.
thing is: you can add the row names to and array, which will make them have like an index in the array, problem is, if you want to read from that, the "get data table row" is asking for a name type.
uhhh, guys... I have a static mesh that literally wont delete in editor. Has anyone run into this problem?
it just unselects when i hit delete. I've even tried restarting UE
nevermind. I opened a different level then opened the level again and now it will delete. weird.
pretty sure Data table uses map, so I am not sure about relying on the index
what does using map mean?
TMap
tldr, it's a way to store a key-value pair. The look up is based on the key, not index.
Essentialy the order is not reliable.
but this way the look up is faster
if you need to rely on the index, you do use array,
if you want a fast look up data type where you can get value by specifying a key, then use map
in the case of DT, it usses map, so you shouldn't rely on the index.
maybe the best next thing you can do is to use the row name as the "index"
or maybe get data table row actually return them in order 🤷♂️ but I never try it my self
This is because maps in C++ keep their elements ordered by key.
Actually maybe the get row may give you what you need. Have you tried it?
So you can just get the name of the next Row, Then you do hook that output to the get Row from data table
@lusty delta Something like this
I can't really follow, so this may be a bit too advanced for me. I'm not a great programmer.
I got it to work that it reads dialog as rows in order if I tell it in the table what the next row is. I guess I can live with that extra work for now. so if I'm on the dialog with row name 5, I have to type in the last column 6 and it will jump.
at least this seemed to me the most convenient way of implementing dialog.
also: as far as I know, I can even edit this outside UE and it should be easy and quick to name the "nextRow" column there.
anyway, thanks for the thoughts.
just quick doodle before I go to sleep, ofc you do need to make sure if the index is not out of bound, etc.
@lusty delta for me personally, I do use an array that live in a Data Asset instead of using data table for those dialogues
I've had zero contact with data assets actually so far. there's just ...
An array of dialogues at least
using DT for dialogue is very sketchy imo
with array, you can just get the next index for the next dialogue
can you edit data assets externally?
like in editor time? You can, it's server as read only data, just like data table
ofc you can do that in run time too but requires c++ and not recommended anyway
like in excel or so.
oh nah
like data tables
it doesn't have that Json import like data table do
you do have to get a plugin or write it your self
okay, I will at least look into that data assets actually are and what they are good for.
To me DataAssets are somewhat similair to DataTables with a few additions.
DataAssets can hold Functions as well, while DataTables made from Structs cant in that form.
You basically, like a DataTable, define 1 Asset/Class with Variables typically and then make many Instance from it, aka DataAsset UASSETS.
So imagine your 1 DataTable with 10 Rows being 10 different Assets, one representing 1 Row basically, with an 11th Asset/Class being the parent which defines the Properties at hand.
The complexity comes how one can use the AssetManager to get these DataAssets in any class/bp without directly referencing the DataAsset, but thats just an additional feature one could say.
@frosty heron @polar ridge
as far as I understand, the primarydataasset is for the data asset like the structure to the data tables.
according to ChatGPT, data assets would me more flexible for dialogue, because it's easier to implement animations etc, which is certainly something I wont deny.
However I have now clue how to create a dialogue system with the help of data assets and I couldn't find any tutorial on that either.
can you give me any further direction?
if a data asset is like a "row" of a data table, then I'll need a lot of assets to make dialogue. but probably that's not what you mean. 🙂
Anyone got a good link that explains setting up an inventory system in depth and explains it in detail I’ve done some tutorials but Id like one that has a little more detail on what’s going on
Well it can if you want to. Often thats exactly it, but a dialouge System is definitly a bit bigger of a "Challenge" due to choices.
Since for example if It would only be different characters talking with you giving much choices it would be possible to simply put all of 1 dialouge in one array of an Struct.
So a DataAsset, as you said correctly already, is created based on an PrimaryDataAsset, like an DataTable is made from a Struct.
So it really depends what your Dialouge System needs to be abe to do, but I personally would design it to having one conversation, which consist of multiple lines and choices possibly to be 1 DataAsset.
So at any point in time, for example when I step into a trigger zone or interact with an NPC/Actor I can get the DataAsset NPC_Talk_05 and from it I get all infos needed for said Conversation.
You may know it from Games that always when you interact with an NPC they will repeat the same Dialouge, unless something changed like you finishing a Quest or whatever.
I can try to think of a Structur setup if I have time to help you out further a little bit
Im using the open sourced Dialogue Nodes, can recommend that one 😅
Doesnt support exports tho. Which may be important to some, for VO 😅
Hey everyone, I have a weird issue where I'm trying to have a HUD menu show up in game, and let the player click on buttons that appear on objects that are generated. The buttons on the objects work fine, but when the HUD blueprint is enabled I am unable to click on them, it seems the HUD Widget is blocking mouse input to other widgets, is there a way to fix this or a setting I am missing?
They're pretty simple. A data asset is nothing but an asset that houses data. In many regards it's identical to a StaticMesh, or a Texture. It's just an asset with data. A static mesh has vertexes, triangles, preapplied materials. Textures have pixel data. Data asset is just an asset with some data defined as you would like it to be.
my anim notify state does not fire for some reason any idea why? even the common notify that we impliment in ABP is not working
You probably won't find one to your liking. Not in a single go. Inventories are a good intermediate level system that require understanding of a lot of different systems to make them work well. First is data management. Default vs runtime data. Second is writing the inventory itself. Most people do this in very game specific ways, but you can avoid that if you make the system generic enough but again this is mid level system understanding. Knowing how to make a basic inventory and subclass it at the right spots for your game's needs vs what you might use in another game.
Once you get past all of that you move on to UI. Just the display of an inventory can get complex and or cripple your game performance if you're not careful. Get a thousand items in an inventory and don't use virtualization like TileView or Listview, and you'll have a really bad day. This also requires understanding delegates to bind update events to keep the UI correct.
Moving past that is input, which can get super complex with like hovering and using hotkeys, think hovering an item and pressing T to transfer to another inventory. Drag Drop operations aren't so bad but again another system. Understanding when to and when not to blod gameplay inputs based on your game and inventory types. Knowing how to correctly clamp and manage gamepad navigation if you plan on supporting them or are releasing on consoles.
Youtube videos target a timeframe, and are often made by people interested in maintaining views with simple howtos rather than actual academic teaching. Which means you're not likely to find a comprehensive video that is going to cover all of these topics and probably some I missed in a 20 minute video that'll keep most people's attention.
it's still a bit hard to grasp for me, how it would look like. but if at least on DA is one dialogue, I could cope with that. the dialogue would then me stored in an array? and in the data assets event graph I would set up how it would be play and if animations or other stuff is in between? for instance: play array dialogue lines 1-5, play sound effect, play dialogue lines 6-7. something like that?
drop me a link, if you like, I will look into it.
I need to be able to localize it properly, in any case.
Can anyone think of a better way to handle this? I feel like i'm over complicating things. This function takes two parent objects that contains gene objects which themselves contain an array of active chromosomes. The goal of the function is to create a new object that contains genes from both parents. (hopefully that makes sense)
You could check out my inventory tutorial. It uses uobjects which tends to be more scalable and flexible. The goal of the series was to allow you to make any type of inventory.
Your goal is to choose all matching parent chromosomes and randomize the rest?
Yea.
thanks. does this allow localization? as far as I understand, UE supports localization mainly for text type.
yes
also is there like a video demo or so?
no video, but a userguide/documentastion is linked on the site
Yeah, not sure you can simplify that much more. Logic wise I think you're solid. You could save yourself a lot of processing by caching the parent boolean arrays so you don't run those pures multiple times each loop iteration. And also resize LoopChromosomes right after the Clear before you add to it to avoid memory allocations.
I never thought about resizing the array so i'll definitely do that. I assume it'll prevent it from effectively resizing it each time meaning I would also set array element as apposed to adding a new element right?
Correct. Cause every time you add, you allocate more memory, and arrays need to be contiguous. So if you happen to allocate, and the array can't fill that section of memory it needs moved to a bigger area which causes a bigger write. Not a huge deal in most cases outside of code the needs to be insanely performant, but if you know your size before hand, it's good to reserve.
Sounds good. This is for a new project I've started so I'm still feeling out how it'll all be structured. I'm aiming for something inspired by pocket frogs lol. Breed things together to get new types so you've get to fill a catalog with the specific types that have been bred.
Even just increasing the array by some factor can be helpfull to avoid said reallocation
so instead of adding 1, you add 10 , and got the 9 extra times covered 😛
Yeah. I'd also be careful with locking yourself into booleans. Regardless of intentions, you never know when you're planning to release that derpy alien DLC with a third or fifth chromosome.
GameplayTag ❤️
I doubt I'd personally go past an array of data assets.
I feel like that's half of my data anymore at this point. Pointers to data assets. 😂
Like in UI, you want a list of your chromosomes in the order they're in, in the array. Tag you have to look up each entry's name by tag and any associated other data, or at the very least the data asset meant for it. With the array of assets, you simply have the data right there ready to read. And it's an asset, so it's savegame safe.
Chromosomes is an array so my thought process is I can just add a new entry to the array if I wanted to go from 4 (currently) to 5 or 6.
Still playing around with it though. Only been at it a few hours and this is my 3rd iteration haha.
That is true.
Oh, the booleans are NotHave, and Have?
pretty much.
I guess it's more of a combination.
So you have the combination of the chromosones that make the gene and then the combination of the genes to determine the final output.
Ah, fair enough. I think I'd still likely go the data asset array route there though just due to displaying that in UI. It's kind of just my habit now. 😄
So 1 gene = 1 DA?
A TMap of GameplayTag/DA 😄
Maybe. Not sure. Genese in his case seem like runtime states that are not premade. So less DA, more UObject. But if you name chromosomes, and have like icons and stuff for them and that isn't player affected, DA for sure on those.
You could do runtime DAs too, as long as you're still treating them like an asset. I see people trying to do weird shit with them though, like replicating them and such as a runtime manager of state. Hurts the soul.
just dont tell pattym about not using it as runtime manager 🥲
DA for the backing data sounds reasonable tho
Amusingly with my love of UObject stuff, I started learning Mass. I'm enjoying it, but what a very different way of thinking.
Currently wondering how to expand it out and affect it with normal gameplay stuff, still digging. But also very curious how hard it would be to expose it to BP.
technically, the use case I had for data assets was treating them as an asset. 😛 Works well in a build as well.
are you referring to mass entity?
The whole system of it, yeah.
can't wait to dig deep into that rabbit hole !
Been playing a lot of Factorio lately. 😄 Couldn't help myself.
Are you playing the new DLC?
Yeah. Practically living on Fulgora. 😄
Hell yeah, I've been enjoying it a ton
Am I blind, or is there really no function for getting the nearest intersection point of one spline from another?
in unreal?
As in a point along spline A and finding the closest point on spline B to the other?
For as much as splines are used, I'm shocked that isn't a function. O.o
"delete/replace all instances of the actor when making changes.." I assume this means during real-time. Is there an easy way to explain how to do this (delete and replace instances of a capture actor, or something in general during runtime?) Link, although probably irrelevant, is from https://forums.unrealengine.com/t/scene-capture-show-flags-not-working-after-packing-game/482570/2
Hey, sorry this post is a few months old but I wanted to post the solution for anyone else even if you found a workaround - There is a bug (at least as of 4.26) that seems to reset the show flag settings on instances of actors that contain a scene capture to the default settings that actor had when it was first placed, whenever the editor is reo...
I have an event that asynchronously saves the game.
Is there a way to pass that event an Event/Callback in blueprint? Internally, that event has a way to use such a callback, but I can't figure out how to make it an argument
Bp Functions need to run in one tick
If you’re doing this in #cpp I would ask them
sorry, i was imprecise. it's an event, not a function
Are you making this event in BP or C++? Show your code right quick
I am making it in both, but the event in question is BP
Havent been able to code in a decent few months due to personal struggles, and am now rusty and forgot a lot. Any of y’all got some good excercises to get back in the swing of things?
essentially I'd like to pass a delegate in to HandleSave to be passed on to SaveGameWorld
just hook it up
oh you mean pass it on, not sure if that's a thing in BP
You can probably do what you need with a dispatcher
Depends so much what you are into. But some ideas off the top of my head
- lamp with power cable and switch, and a socket. Plug cable in and switch lamp on and off.
- generic actor pool. Assign actor types pool sizes to use.
- loading sequence pattern practice. make a clean loading sequence with splash screen, loading screen, and home screen.
- generic entry point pattern. Instead of using Level Blueprints, each level loads it's EntryPoint and initializes things from there. ( Level Blueprints are bad for reusability since they tend to rely on direct references to objects in the level )
All good ideas. My suggestion is to make a simple game-project, like something from the 80s or along those lines. A couple of years ago I was trying to get my Unity skills a little tighter and decided to try and make a Space Invaders game, and just keep all the little nuances as close to the original arcade as possible (yes the game is bone-simple, but it's those tiny nuances that make the difference between it feeling "exactly right" or "just a litttttle bit janky.") To stretch it, I also wanted to make it as efficient as possible, and easily scalable (what if I want to increase/diminish the playfield or amount of characters parametrically? Make it adaptable to work easily in VR or something? etc). Even for just a little project, a lot goes into all of the bits to get it working properly and feeling correct, and you have to solve a decent amount of technical problems to get it there.
Then when you want to tackle something a good bit larger, it is a nice skeleton (if only philosophically) to begin to build off if.
Making a Defender clone was one of the challenge tasks at a gamedev company i worked for previously : )
The looping map and minimap present nice problems to solve
My BP, and other images (checkboxes) are the effects I see on the SceneCaptureComponent2D during runtime when I toggle. So the boxes are properly checking & unchecking, but the effect is not updating in the actual display. CAVEAT - if I manually check/uncheck the display boxes during runtime, THEN it will update. Am I doing something wrong/missing a step - or is this feature still broken?
hey! I'm trying to create an UObject thru an editor utility widget and set a property inside the newly created asset. I found this method on the forums however the cast is failing. I bet its because the object is not loaded. anyone have an idea of how I can accomplish this correctly?
Have you tried using the node "Set Editor Property" from the "Get Blueprint Asset" node?
Casting an setting the direct value I think is meant for spawned instances.
oh no I haven't! Didn't know about this node.
I got a good feeling about this. Thanks ❤️🔥
Can't seem to get it working :x
why is add force not doing anything
love the half life alyx hacking minigames, but got not a lot of experience with VR dev. how would yall make that one where you are guiding the lasers to each other? https://youtu.be/zSW2pc3kmqk?t=12258 this one
Half-Life: Alyx is Valve’s VR return to the Half-Life series. It’s the story of an impossible fight against a vicious alien race known as the Combine, set between the events of Half-Life and Half-Life 2.
Playing as Alyx Vance, you are humanity’s only chance for survival. The Combine’s control of the planet since the Black Mesa incident has only ...
Is there a good way to check what is destroying an actor?
I have a strange issue that i'm struggling to debug where a specific type of actor gets instantly destroyed
Hi, I'm wondering if anyone can help me work out my movement, I set up a point to click movement and I am trying to add crouching and sprinting if you hold a button
I have this in my blueprints but when I click the character moves but stops crouching, and then won't let me crouch again - I'm assuming the ai click movement is overiding the button inputs but I'm new to this so unsure
You're unpossessing... That would mean inputs fed to that possessed character would no longer work.
Ah okay, I see
So if I get rid of the unpossess the player doesn't move on click but the crouch works
Is the a way to have both?
I have an issue with UE5.2 where the Editor constantly crashes anytime I compile a blueprint with a controller that is being used in the current open level. The log shows it has something to do with the Controller reference and Garbage Collection. Anyone encounter this before?
Hey! I have a weird issue going on for multiplayer and setting the visibility of something. Whenever I set the visibility on the client first and then do it on the server it manages to work just fine, but as soon as I set it on the server first, the client is no longer able to see the change while the server is... Any help is appreciated and if you need more information to help please ask for it, thank you!
try making a RepNotify boolean that controls the visibility in the repnotify function for both server and client
Could you possibly elaborate? I watched tutorials to get to this point and barely understand it, thank you!
I assume you mean instantly after being spawned? Are you positive it’s being destroyed? For example could something weird be going on with the actors location?
create a bool, set the bool to repnotify. That creates a onrep function. In that function, get the bool status "VisibileBool" = true then set visible, if false, set not visible
control the bool on server only
So I've got it to work without the click, for an isometric game is there any way for me to change the movement so that W moves the player north rather than to the side?
What is the best way to set a Boolean Value to true for all non spawned Actors In Runtime ( Bp Component or ?......)
You could expose the variable on spawn and use a second bolean to determine whether or not to set it to true or false when it’s spawned.
It worked! Thank you so much!
Does it mean i must send anytime a Message to anyone who Spawned to set it to true?
I don't even know why that's exposed to blueprints, you can't use it without some c++ as far as I'm aware
you need to call GetDefaultObject() on the class you want to change the property of, which is not exposed to blueprints?
Is this multiplayer? You could set the variable in the game state if so
No it is SinglePl
you can't set variables of blueprints at runtime that have not been loaded into memory
you first have to create the class
usually create object or spawn actor
then you can tweak the properties
otherwise you have to change them in editor
if you want them to all have a property on spawn, then that needs to be stored in a class they can reference once they're created
Ok thanks all here , i find around another way around , I use in my Spawned Act. in the Collision Event Componet = Get display Name and Enable it on my Main Character, when i hit all Spawned Actors then the Boolean is true , i think it is chaeper.
yep looks like it!
good thing it's easy to expose !
I have a racing game where I need to keep track of the player's selected car, car color, track times... all of which will be saved when the game exits and loads. Should I do this through the *Game State * blueprint?
Or is there a better way to house all this data?
Savegame object, I’d imagine. You need to store things on the drive
The only way I can think of is using break point in cpp because you will have a call stack that you can look at.
How do you create a save game object? I have the variables set in a savegame blueprint but i cant seem to get a save game to create.
Specify the class as the blueprint you created. You set properties within the return value to store them in the save game object and when ready you can call "Save Game to Slot" with reference to that return value as well which then saves it to disk.
Sorry I'm still new to this so I'm sure I've got lots wrong here but I'm trying to make a simple save button and load button for a players field of view, I made it load the main menu when no save game is detected so I could try to figure out if the load or the save button is the issue and every time I click the load button it doesn't detect a save so I'm assuming something is wrong with the save button. any help would really be appreciated.
Mostly right. The load button requires you to provide the save game slot name you used in the save section in order for it to work.
You wouldn't cast the save game as a variable either... You would just call "Load Game from Slot" and that provides you with access to the values within the save game object.
This part here I mean... you don't need that cast there. You would need it from the return value on the load game from slot node and then you can set the return value of the cast into the "Save Game" variable.
You also use the same "user index" value you saved the game with. Think of the "Slot Name" as the file name and each file name can contain multiple saves under it by using the "User index".
Like this? The issue still persists and everytime i try to load, it doesnt detect a save.
Do you have something entered as a default value for the "Save" string variable there?
I did not 😄 but now that one problem is fixed another has surfaced. now it is detecting the save file but isnt updating the fov when i click it. I assume its probably the way i have the fov slider set up.
Once you've loaded the save game, you then need to read the values from the save game object and update whatever needs to use them.
@dawn gazelle You've been extremely helpful and i wanna say thank you
Not using game instance is alarming @red trout
You want to keep the reference to the save game object in a persistent object
That way even if you go to different map, you can still use the same save game object.
Please elaborate i'm still fairly new to this and appreciate any advice. I think what you're describing might be the fix to my current issue but am unsure exactly how to do what you're describing. I understand how game instances work with being loaded always so should I be storing my save game with the FOV variable in the game instance instead? when I click load and it tries to get the FOV value from the save game but it brings back no value.
What I said is not directly related to your problem but it will be your problem sooner or later.
As for your code, you never really grab the fov that lives inside the object you load.
From the load game from slot return value, drag the blue pin, cast to your save game file type and get the fov.
You are doing multiple incorrect things above
On your save logic, grab the return value from the load game from slot and set save game from the return value.
I recommend just handling saving and loading in game instance.
You will end up with bugs otherwise as you will lose the reference to the save game object you load or save without presistence object.
You never set save game so you should get accessed none error
it says that the Save game object reference isnt compatible with the Save game object reference
Screen shoot it, you probably just cast to wrong type.
P.s casting is just a type check
i also am just slow so i probably completely misunderstood what you said
oh i think i forgot a cast node
I set a new state dead
and I added a collision box I want to trigger the state and animation
Is this the right idea, and how would I finish it?
I got it working thank you so much!!
i was afraid the people in here wouldnt be willing to offer advice but i was very wrong
I think it's rare you would have a full anim section for Dead. It's more common to play a montage and/or ragdoll. Usually you want to toss the animation blueprint at that time to not keep it around and ticking for something that doesn't really need it.
My idea is the character being turned into a statue rather than falling and then staying on the level spawning a new character to control
Ah. Fair. In that case you could probably do something with the actor's time dilation, or there are settings somewhere that stop animation updates completely. Your box could set those.
Stop animation would be good, the enemy is medusa so kind of a petrification and stay in that place sort of thing is what I had in mind
Maybe one of these on the affected character's Mesh.
So on collision box into that?
Yeah. For completeness you could do it to all skeletal meshes. Just incase you or a designer later decides to use multiple on something that could get frozen. If you want to affect animations and particles and anything else I would also set time dilation. but uhh..
Something like so. May need an initial check like a cast to character class or whatever, so you don't end up freezing literally everything in the game it touches. 😄
I'll play around, thank you!
So this worked for movement
But the character still plays the idle animation
You should be able to just add the no skeleton updated call next to the set movement mode.
Awesome thanks, if I want to also spawn a new character and change player control to the new character when this happens, leaving the "dead" one as a statue in the level, what should I look up
since I don't see a sound channel - does anyone know why the audio here at 8 seconds in clips, whereas its fine the rest of the time?
Possession mostly. You should be able to simply call Possess after spawning the new character. It should leave the old one there.
There is #audio
oh damn, I guess it just wasn't in my list of active channels. thanks
anyone ran into an issue where their save system works in the editor but not the packaged project?
Hey there!
Is there a way to add a new line in a blueprint node's comment?
Thanks!
I have tried with Enter, Ctrl. + Enter, but it doesn't work.
OK, it's Shit + Enter.
Just be aware that the two build don't run the same instance and have different paths.
For instance the default path for the shipping save file will be located in app data / your project name
Where development would be your editor golder/ saved
how would i change where the save file gets written and read from?
Anyone can lead me to right direction please? As a learning process I try to make classic snake game. So I create head, and tail (both inside character). Tail can grow when snake eat food. Tail is just simple “Instanced Static Mesh Component” to which I add new “segment” of snake body using “Add Instance” node. Then, when snake move, first segment follow the head, second segment follow the first segment – and so on. So far so good. Everything is working. But now I need to check if head overlap tail. And here trouble comes. No mater what I can’t do that. I make work around: every “Event Tick” I check distance between head and each segment. But let’s face it – it’s ugly solution. Anyone got idea where is the problem? Is this because Head and Tail are both inside character blueprint?
Can anyone tell me why at a certain point the result becomes negative for no apparent reason? That's a very very simple code! I don't understand!
PS: Tiseo = 20; PorteMax = 4; MaxDepth = 10;
(After the sum within the loop body there's only a print)
Are you sure you are not out of range for int type @Ale?
I think int in Unreal Engine 5 is exactly the same as int type in C++. So max is 2,147,483,647 then you go negative.
I'm not sure it would work, cause I'm new to ue5, but I would probably do this:
Select the head and give to it the tag "head", then you select all the meshes that compose the tail and give them the tag "tail" (Dont do with the piece immediately following the head). Then every Event Tick you call the node "get component by class" (note: the purple class should be "static mesh component") and get the head. It will give you back an array: since you only have 1 element with tag "head" you can just get the element at index 0 in the array, then you call the "get component by class" and find all the elements (still "static mesh component") with tag "tail". Then you use a for each loop to iterate all the tail pieces and with a "is overlapping" node you get if the head is overlapping some tail piece or not. If True, you make happen whatever you want.
(The fact that you don't give the tag "tail" to the piece immediately following the head is not a problem, since a snake is not flexible enough to bite itself off the part immediately after the head)
Does the reset input fire the completed output?
@oblique wasp Btw I'm very curious to understand unreal, so let me know if it works or if you find better ways of doing that 🙂
And there's no way of storing an integer higher than that?
@Ale Use Integer64 type. It's up to 9,223,372,036,854,775,807.
Thank you very much ❤️
Hi all, I am trying to setup a basic character movement flying setup with the Enhanced Input Mapping. I have set up my character, I have set up the WASD and QE for forward, back, left, right, upwards and downwards as you should usually see in a kinda jetpack set up. My issue is that when I test it and press W (for example), the character moves forward but if I look elsewhere my motion does not follow the direction of my mouse. I am sure this is an easy fix but I am stuck. Any advise is appreciated
No, it just allows the top left pin to trigger the completed pin again.
Why are you needing higher numbers? (Just curious)
Show how you've setup you're movement logic.
Btw, what about this one? This is my main problem currently! I mean, also this one is a very simple code, that returns a sequence of integers based on an input seed! I first made it in Python and it works fine! But on UE5 it seems that "X Genera Su Seed" is always equal to 0, cause the function always add the value of "infe" to the array. So I don't think the problem is about the algorithm, but about some Blueprint node that I'm using in the wrong way! Maybe some precedence in the operations, I don't know
Hi @dark drum this is my movement setup within the BP_Character
Is the ISM setup to have collision enabled? By default it's doesn't. In addition to this, you need to make sure the mesh that's being used also has collection setup on the mesh itself.
@dark drum also my input setup
So you need to adjust the action values based on the forward and right vectors of the camera. If you look at the third person template, you can see an example of how this can be done.
do you have to? I don't see the point personally
I let my shipping build save where UE defines it
@dark drum tym I will have a look, thak you!
I'm pretty sure on consoles and even mobile devices, it can only save to specific places anyway. (I could be wrong)
that would make sense, giving the power to write anywhere on user's disc is questionable anyway.
Thanks a lot.
@pattym OMG... ISM_Tail got Generate Overlap Events not checked .... TY!
Probably I don't even need it, but I'm working on an algorithm that makes random choices, and I would like those choices to be based on a seed. Since the user is passing only 1 seed (an integer) at the beginning of the game, using that single seed I generate a sequence of numbers as long as the amount of choices the game has to make, do that I have all the seed for each single choice! I don't know if I made it clear, but this is how I thought to solve that problem. If you have any other more efficient solution, I'd be grateful! I'm new to ue5 so I have a lot to learn 🙂
Btw I made a function to estimate how long the sequence of these seeds should be for the worst case scenario and the sequence comes out pretty long
Are you not using a random stream? You give it a seed (an int) and you can pull values from it (bools, ints, floats etc...)
my builds won’t create saves. my save system only works in my editor
have you actually go to the save folder for your shipped build?
screen shoot that
The node work as is
when things don't work, you just have to re-trace step by step
I looked for what you're talking about and it seems very interesting, but if I understand good it doesn't make you choose the interval within which to pick the random values. (In my function infe is a lower bound an supe is an upper bound, that determine the interval in which the random integers are choosen). Is it possibile to do it with random stream?
I'm talking about this function
The random stream automatically generates the stream as and when its needed (when you get a new value from it), this value is based on the seed provided. The upper and lower bounds for the seed is just the limits of an int.
You're right! I actually could simply add the "infe" value to the result and set the "Max" of the random stream equal to (supe - infe)
Btw I still need a sequence of seeds, right? I mean, the point is that the user provides a single seed!, but based on that seed I need to make several choices, so I need several seeds (base on the initial one)
Unless, I simply start from a seed and add a +1 to the seed every time a new choice has to be made. That way the entire sequence of choices is determined by the initial seed, but I don't need a data structure with billions of seeds stored inside! This seems like a great solution to me! Or am I missing something?
It up to you how you want to do it. You can have a single random stream and everything pulls from it or you can have a random stream for different aspects.
You could have a main stream that is used to generate the seeds for the other randoms streams if you wanted.
Yes the last one you said was my initial idea, but I think this new one is much better! Thank for the support btw! 🙂
No problem. It might not be what you need but with what you described, it's what I would have looked at using to start with. Having options is always good then you can choose what's best for what you're trying to do. 🙂
And if I need a permutation based on seed? Do you think it's possible with blueprint nodes? I mean, I need a permutation of numbers between 0 and K.
Cause actually, I just realized that all the choices I have to make based on seed have to produce a permutation of numbers between 0 and K. So I cant use the random stream to make those choices (at least I think so)
I'm not sure on the specifics of your end goal but you can use the following nodes. The shuffle with stream could be useful. You can populate an array with specific values and then use the stream to shuffle them into a new order.
Shuffle with stream is exactly what I need! Thank you very much! 🙂 ❤️
I never know that. Would the shuffle will always be the same order given the same number?
otherwise it wouldnt be very usefull
Pretty much.
What would I put in blue print to spawn this text when the actor walks into a collision box?
Would this be an existing BP or would I need to create it from an empty BP?
Personally, I would create a component that hides and unhides its owner (What it's placed on) based on a linked collision volume. You can have it bind to the relevant overlap and un overlap events.
So when the collision box is active is shows, and when the collision is over it disappears?
Yea. Like this. Then you can just place the actor component (that this logic is inside) onto the text render actor and specify the 'Linked Actor'.
In the above example, i just make it set the hidden in game.
I tried this while you were typing and it worked, but the sphere is linked on top of the text?
Make a new 'Actor Component' and add the logic I have above. You can then add it (reuse) on any actor (such as the text render actor). All you have to do is specify the actor that would need to be overlapped. (Such as a box collision actor)
As a blueprint do you mean? Sorry I'm very new to Unreal
yes, when you go to create a new BP, choose Actor Component instead of just Actor. Actor Components can be placed onto Actors and can be a great way to create reusable logic.
Ah I see, thanks!
I'm trying to make a double jump where when I do the first jump it stores the directional inputs so that when you do the second jump it compares the two. Problem is the inputs aren't being stored strictly on direction but also how far the analog stick is pushed to the edge. So if I'm pushing directly up (Value of 1 on the Y) but it's barely pushed, it doesn't register as 1 it registers it as say .04 instead. How do I make it so controls will still function like this (So you can still walk slow) but make it so for this calculation it's "absolute" in it's direction? (Or where can I find this value if it already exists and I just missed it)
Usually you don't, for good reason. For starts, on PC stuff is saved differently for editor and cooked game because you want to keep testing and shipped saves separate. If the cooked game can't get to a place on it's own, you need to know that. Also saved data is saved differently per platform as well. So if you did do this, you'd want to make sure you're only affecting PC.
Create a 2d vector using the X & Y value and then normalize it.
normalize, thank you. This is what I was looking for
Also a side note to this, you can just MakeRandomStream as well without the setter node if you just want a stream to use for a single node.
@faint pasture Which node are you talking about? Sorry I'm not at home and I cannot try any node until tonight
random streams are stateful. You just give it a seed ONCE, then pull random numbers out of it
given the same seed and same sequence of actions, you'll get the same random numbers
Hi all, has anyone got any resources on how to adjust camera speed in runtime via mouse scroll wheel in UE 5 using the enhanced input system? I have created an input action (IA_Speed) and tried Axis 1D and 2D. I have mapped my mouse scroll up and down in the mapping context and try to create the blueprint. I tried following a UE tutorial but for older version that did not go anywhere.
Yes, but the point is that I have to perform several random permutations of lists of numbers (e.g. 1000 permutations), each of these random permutations has to be different from the other(or at least they have to NOT be all the same); BUT I need these 1000 permutation to be performed based on the initial seed.
For example seed = 283892 -> the 1000 permutation go in a specific way; other seed -> the 1000 permutation in an other specific way; and so on.
So what I thought to do is to use the initial seed (lets call it SEED) to generate the first permutation, then I use SEED+1 to generate the second permutation, then SEED+2 for the third permutation, and so on.
This way, when I enter a single SEED at the beginning, all the 1000 permutations will be deterministic on that SEED.
I don't know if I made it clear, but is this process what you're referring to when you say that "random streams does it"?
Is there a way to make the game screen fade to blakc for 2 seconds and then back to normal with blueprints?
Like on an overlap of a doorway
get your player camera manager -> Set Camera fade or w/e along those line
Further to my message I used this tutorial now with the FPS character (not the third person character) blueprint but no luck. I tried to print string the results but nothing comes up
Learn how to change walkspeed in Unreal Engine 5 using your mouse wheel with this helpful tutorial. Increase your game's realism with this simple trick!
Using Input actions we are able to create a minimum (standing point) and a Maximum (run speed) While the player can use WASD to give the character a direction By using the mouse wheel set the s...
So the camera changes on the same collision, I set up a widget to cover the screen
Is there a way to ease the transition to the widget a little?
Can you be more specific?
Just do the permutations in order
make stream, shuffle with stream 1,000 times
So I animated the loading screen to fade in and out
But it doesn't
Do I have to use a different blueprint for it to play ?
Sure, but the stream has to be different from permutation 1, to permu 2, to permu 3, etc, so I need 1000 streams, right? These 1000 streams has to correspond to an initial stream (btw I dont know actually if there's a difference between stream and seed, I always called it seed). So, based on the initial stream, I create 1000 streams on which I base 1000 permutations. Right?
(Btw this would take a lot of memory, so since I have to perform the permutations one at a time I just use the initial seed for the first permutation, then I add 1 to the seed and with it I do the second permutation and so on).
Is there a node that do this? This is what I'm not understanding
AND: In your opinion, is this a good way of doing it or do you think there are more optimized ways?
no, you just keep going
Ok bro thank you
I've never animated a widget, but it seems strange to me that you don't have to call the animation somewhere in the event graph.
How I imagine it is: 2 animations: 1 for fade in and 1 for fade out.
Create WBP -> Add to viewport -> anim fade in -> wait tot sec -> anim fade out -> on end anim fade out: remove WBP
Or you can keep a single animation, but removing the Delay and taking the end of the animation as the signal to remove it
So it would become:
Create WBP -> Add to viewport -> anim fade in and out
On end anim fade out: remove WBP
I figured that but can't fingure out what blueprint to use for animate as none seem to work for me
Is this not working?
target: your WBP; In Animation: your animation.
@trim matrix Let me know
I have to go to bed rn, but no I couldn’t get it
The video widget wouldn’t connect to target it said invalid
Is yours a video widget?
Have you choosen the right Play Animation, may there be many
is there a way to make the blueprints For Loop faster? Perhaps remaking it in C++ or something? Then expose it to BP ?
I'm having the weirdest bug occurring never in PIE but always in builds (across all kinds: shipping, dev & debug). the separate camera used only for my short mission-accomplished sequence is (in builds, not in pie) erroneously way offset in the world so that nothing usually-happening on screen for the sequence is even seen. what the heck could this be, anyone have any ideas? check out the supershort vids: one is PIE (how it should be) and the other is shipping build (showcasing said bug)
(also showcases how motionblur doesnt make it into builds and only works in PIE, at least with Vulkan and/or on Linux)
is there a good way to detect if a linetrace is inside of a mesh?
or is it mainly checking stuff like normals and trying to see if they're inverted or something
Inside a mesh? I don't have much idea on the subject, but I don't think it is possible to detect if the line trace is inside a mesh. Probably I'm wrong.
yeah that figures, i'm just going to use a sphere trace thing as a alternative, checking the inside of a mesh for inverted normals sounds way too jank

sphere trace seems like it'd be a good fit anyway
Guess you could check the hit face index ?
How can i prevent actor from flipping 180 degrees in z axis when rotating 90 degrees on y axis?
I was just trying to check the surface on top of the ledge for ledgegrab stuff basically but hit face index If colliding with a trimesh or landscape, this is the index of the face that was hit. doesn't sound to me like that'd know so that's why im trying spheretrace rn
unless index just checks for like outside vs inside
Erh element index? One of them , never remember which
Was pretty sure inside a mesh (without being dual faced) would have invalid index
Id need to test to verify wether or not this is rubbish
For ledgetracing id just trace forward and up from there if i hit something forward that wasnt a pawn or was insert criteria
hmm that's interesting it does seem to work kinda but not always for me right now
Doesnt matter if you hit the inside our outside of the ledge, they are normally one and the same location(?)
like a internal face does give -1, but even sometimes when i see the linetrace hit outside it gives -1 might be too close
oh so you're suggesting i trace from the bottom instead from above to get the surface height?
this is very interesting thanks squize

learned something new about linetraces haha
Hello,
is it possible to have some help with Entry List Widget please?
Here's some context:
Using Arcvhiz Explorer the Entry List drives my Amenities widget.
The entry list is based on a scroll box and values are created via Tags from my Point Of Intrest.
Those PointOfInterets allow me during game to focus camera to target and get info about an area
My problem:
Depending on tags when i click the button filter, it hides or shows POI (working for the moment for category only)
The idea is to filter POI by subcategory (Leisure (title of category)-> Kitchen-> Kitchen R+1 (subcategory1)/R+2(sub2)/R+3(sub3))
For that i thought creating a Switch on inst and set value (get current state) depending of tag of actors (Tag of actors0/1/2/3)
Sadly i don't manage to make it work
Here are screenshot of the actual blueprint
Looking forward advices
Thank you
Yeah you need to verify a hit aswell as the hit face
if (Hit.bHit && Hit.FaceIndex == -1)
oh yeah i'm just confused because even with a hit im getting -1 on unreal cubes i just found out
on my cubegrid blockout not so much
hmm yeah very strange haha
i should import a blender cube for the hell of it lol
hmm no the blender cube with uv's works
I'd imagine the unreal one has uv's too
weird, i'll try the other method where i try and linetrace from below too that may do the trick
although that does leave me with the possibility of it triggering wrong on thin platforms I suppose hm
You're not using a listview widget are you?
no, using a scroll box
Yeah I just reread, I was misunderstanding the issue. 😄 But I'm still not entirely following? It's working for the primary category type, but not the subcategories?
for the moment it's only working only for Kitchen r+3
My POI and actors have the correct Tags assigned to them (triple checked)
If the Motion Controller Aim is already the parent of the Widget Interaction Component. What happens when I do this? Nothing?
why so much duplication
you mean the overkill use of tags to filter my view?
like you have stuff that is basically the same but duplicated
make functions
so you dont repeat yourself
trust me makes debugging 100% better
literally this whole block here can be super simple
aaah, you are right it would make it more efficient and clean.
I will sure have a look, i guess a could add also a debug here to know more why it's not working properly too
the above is very common for someone with minimal programming design though 🙂 just giving you some hints
Whenever you find yourself doing something twice or more, consider if its worthy of being a function
98% of the time I say yes
😢 i don't have any knowledge either programming/designing, just a beginner
Even things that may seem different but arent really that different.. big branch checks for example
Followed advices, created function for both Enabling and Disabling POI
problems comes from my switch on int
I'm making a p2p game via eos. I need the players to be in the menu like in Valorant with a timer, and when a certain number of players connect, everyone is transferred to another level. I have already implemented this, but the problem is that when I click on the button, I search for sessions and if I don’t find one, I create a new one and after creation, I open the menu level with options listen. Because of this, the ui disappears for a second. I implemented the timer through gameinstance so it is saved, but I would like to remove this blinking.
7 second of timer
There is no P2P in Uneal's networking paradigm. It's always client-server, including if you're using a listen server.
You need to have the "options" string read "?listen" - without that question mark it won't function as you're expecting.
The blinking happens because UI is unloaded when going through level changes and there's likely a short delay to the point where you're actually creating the UI again. There's probably delegates available in C++ you'd need to use in order to know when a level loads so you can properly load the UI at the correct time. Someone was also suggesting in #multiplayer recently that you may want to look at Lyra's CommonLoadingScreen.
- If I try to use ?listen it doesn't work for me. I tried but what if I put ? then everyone always creates new sessions, but without? my friends calmly come to me and I to them, although we are in different cities.
- Do you mean that in order to remove this blinking, I need to write the creation of a widget in C++?
- How is it done in fortnite or valorant? In Valorant, when 10 players are looking for a game, all 10 are transferred to 1 server. But their UI doesn’t flash like that.
Oh so not bp only multiplayer? 🙃
🙃
You could, fwiw start the game already listening
And just not create a session
And if you don't find one you just create the session
There is no need to open a level with listen again
^this
The whole listen stuff is independent of sessions
I made a Dark Souls like invade system like this once
this is how we do it in RS2
always listening when in menus
Fortnite/Valorant uses matchmaking and dedicated servers
so you will never achieve what they have with listen server
The thing where you team up and join an actual instanced dedicated server like valorant, CS, overwatch, FN, etc. requires a backend that handles the server fleets and instances, and requires beacons for a light weight connection to act as a party container. That's pretty involved and not BP available
And expensive on the server hosting side
In response to #2, you don't need to create the widget in C++, but you may need to create some blueprint implementable events that are called when the appropriate delegates are triggered when the level loads, or again, take a look at Lyra's CommonLoadingScreen (I don't know much about these myself)
I'm working on a retro fps styled game and the issue I run into is I want to be able to hip fire, but I can't quite figure out how to make the shot go roughly in the direction of the reticule at an angle in a way that won't veer WAY off course at an angle from a distance (I want it to still feel like he's shooting forward but since the gun is to the side when not aiming it's hard to figure that out and still have it look like it's shooting where the reticule is aiming) Any suggestions or ideas?
If you're using projectiles and are firing them from the barrel of the gun, then you'd have to constantly adjust where the gun is pointing based on what is currently underneath the reticle (basically doing a linetrace forward to effectively infinity to try and find something to aim at). If you're just using a hitscan system, then just trace from the camera along its forward vector * a large distance.
I'm using projectiles. I'm wondering if I should just move where the hand is on the screen. I didn't want it to be dead center though.
how to use modular physics bodies together with leader pose?
or i have to use the leader pose body physics for all modulars?
Hey quick question for anyone who tried this, since I'm not on my PC right now.
If I change something in my save game object blueprint, say, by adding a variable.
Would all already existing .sav files become unusable/inaccessible by the new build of the game? Or would they work just fine?
In my limited experience, adding additional variables seems to work fine, however, if you remove variables, or change the variables within structures around things seem to start breaking.
That's all I need to hear, thank you!
I'm gonna add more variables later down the line, and I just wanted to make sure all the levels I made so far would still be playable.
If you add revisions to the savegame object you could make functionality for converting them to new versions
How do I make my character move around in a circle?
||Tick -> MoveForward -> MoveRight||
@dawn gazelle It won't break in either case of adding or removing. What "can", but rarely might break are changing property types over time or renaming.
Savegames are written to as basically a long string of VariableName=ValueAsText
What this means is that if you change a variable named SomeNumber from a float, to an integer, and the saved value is 2.3, when you load this up the value will load as 2.3 but be put in the property cut to 2.
Pointers to things also serialize and load correctly if you save a hard pointer and change it to a softpointer and load it, as they're both saved as the path of the package.
If you save SomeNumber, and then remove it from your code, it'll stay in the save of course until you overwrite it, but if you load it, it simply won't get applied to the object since it'll have no field with that name.
If you add a new property, and you load a savegame that hasn't written it, it'll simply be the default value for the class.
Where you will potentially have issues is renaming. Which is why verioning usually exists but is hard to manage in BP. But usually you'd have versioning to fix up older saves by converting the data from one field name to another based on what you've changed in code over time, less of an issue during dev and more of a released game issue.
Not planning on renaming or removing anything, just gonna add a couple more variables to save additional data, so I pretty much got nothing to worry about.
That's a relief, would've had to reschedule a lot of steps if it was a problem, so I really appreciate it you explaining the whole process.
Thanks a lot!
Hi kinda new to UE5 but I'm trying to follow a tutorial for a ladder blueprint and basically my set variable doesnt have a target that I can connect my thirdpersoncharacter to. Any help is appreciated
Because "Ladder" is in "this" BP. If you have another ladder in ThirdPersonCharacter, you need to drag off of the cast's blue pin and get it from there.