#blueprint
1 messages · Page 357 of 1
The actual character has 0 logic
I am guessing the controller is not possessing the character maybe ?
Ok well if i use OnPossessed and do a Print String (I have a character) it prints this out so it knows its possessed something
I'm not sure about it but it is possible the completed pin fires right away depending on the trigger type. Add a print to completed to see if this happens
I asked if it's single player.
yes single player
The triggered/started event doesnt fire at all even when disconnecting the Canceled/Stopped/
I,ve not experienced this problem before. : S
The enable input is the issue, you've connected the PC to both connections. You're saying, let the player controller recieve inputs from this player controller.
Ok i changed the code to this and still nothing fires.
Nope
Is Begin play firing ? try printing something at the end of the begin play ig
I just seen Auto Receive Input was Disabled on the Controller so i changed to Auto Receive from Player 0
Begin Play is firing. maybe i should do a IsValid on the SubSystem ?
Hmm no idea atm XD
LogWorld: Bringing up level for play took: 0.000856
LogPawn: Error: EnableInput can only be specified on a Pawn for its Controller
LogBlueprintUserMessages: [PC_TankController_C_0] I HAVE A CHARACTER
LogBlueprintUserMessages: [PC_TankController_C_0] BEGIN PLAY
LogBlueprintUserMessages: [PC_TankController_C_0] SUBSYSTEM IS VALID
there is no Enable Input connected in the logic? :S
@proud bridge
0 Rpc.
Don't forget to Mark the ring / cube as a replicated actor.
Then spawn as server. I spawned mine from game mode.
Gonna try restarting the engine.
Are you getting the BP_TankCharacter ?
It says BP_TankCharacter_0 from this code
So i can only assume yes
I placed a dummy keyboard event using the H key to print out something and it prints it out fine so why the EnhancedInputAction doesnt trigger i do not know.
Try adding a delay before you add the input mapping. It might not have been created by the time you try to add to it. (with in being on the PC begin play)
Done that and still nothing registereing on the EHActioon node.
Try this, see if the event is being called or not, i think it's better then Printing you can visualize it better maybe you are not able to set the movement speed for some reason and the code is breaking so you are not getting the print value after setting the movement speed
The controller shows its spawned and when watching the blueprint whilst pressing H i can see the KeyboardEvent trigger for the print, but the EnhancedAction AI_MoveBF does nothing.
Ahh interesting.
Im stupid .... I think i worked it out.
What it was ?
Nope XD im lost.
Spawned controller gets reference to controlled pawn in the world, but the spawned controller inside the blueprint doesnt appear to have a reference.
and in begin play i say "Tell me if you cant find the reference so i know if cast faisl or isnt valid
Set the ref when its possess something instead of on begin play.
It's good i think, default value is supposed to be none
I,ll do it this way then as Patty said
everything seems to be working fine but this just never triggers and i have no idea why not , Keyboard events are working it doesnt fail to find the Subsystem and Input Actions are mapped to keys and put inside the Contxt Mappings.
I think i,ll delete the project and redo it or just modify the top down template controller
Can you try this ? IDK how but it works in my code so it should in yours
Now I'm lost i don't have any code which adds the input mapping : ( IDK how it's just this and it works
Change pin Triggered to started
Done and nothing.
Is there a simple way to find all broken blueprints? I've recently done a pretty large redesign of some cpp classes and I know several blueprints are broken and instead of going through one by one, I'm wondering if there is a way to just immediately see a list of them all or something.
I think
You should register the subsystem inside the Player controller and add the input mapping inside the character (Controlled pawn)
Im also new so im not 100% sure
I,ll try that too.
I am correct in thinking that to make a character movement component actor move forward you just adjust Set Max Walk Speed right you dont have to use AddMovementInput ?
AddMovementInput is needed for Pawns only not Characters ye ?
I guess as long as the character is locally controlled yes
Thank you
Hello, I'm making a silly game like angry bird for mobile, however i was following this TUT he used "Get Mouse Position on Viewport" nod but this dose not work on mobile.
what I'm trying to get is touch input location?? i really don't know what to do here.
I think the topdown template has a function which gets the position under the touch point you could take a look at that, btw that tut is 4 yrs old so a lot has changed since then 🙂
I think u can try InputTouchState which will give you the info about the touch (you can specify index), Preferred way is using Touch events(easy to implement and better performance) but those will be totally different from the tutorial so it will be little harder to implement
I,ve never used touch in UE yet so dont know if this could help inside the Mapping Context, So you can get Touch 1 and then get the Hit Info from it
@prime iron I decided to delete my project and try to redo it xD
@prime iron @crude dew thanks guys will try it out
Lol great
I could make it look like anything you tell me I should. My issue is a lack of understanding the component in general, not an issue with behavior I am under the impression I understand.
if i have two camera components added into a bp, one for the main interaction, then one to move into a location in levels to show a reward spawning. and i want to blend to one w one input and to the second on another input, but the only way ive been able to get set view with blend to work is getting a reference to self inside the bp. but thats not gonna work for the two cameras, how could i fix that?
Create a new actor and add a camera onto it
Now in your character you add a child actor component then you set its class to the actor you just created
Attach the child actor component to your spring arm
Now you can blend to it
i did that, then it was blending to a weird location, found out it was getting a rotation set by accident, i just got it figured out now
Hi guys
How do I make an interaction system that works with players interacting with other players
Right now i have it so it works with actors in game
That question is way too broad
That would take hours to explain
if you don't know how to do that, just do single player first.
Would anyone be willing to explain these settings to me like I was a moron?
Pawns are actors, so keep that same energy
It doesn’t work. Still it doesn’t. The player that is meant to be interacted with sometimes gets mixed up, so players 2 or 3 may get killed when player 2 is trying to kill player 1
Show the code to how you're doing interaction
Which bits? They all just kinda do what they say on the tin
Not enough to get what I want it to do! None of the axis, linear or angular, can get it to stop rotating with my freaking model on the Z axis.
CMC either moves from input or from a move request using the nav mesh
Max speed is what is used to know how fast it moves from either of those
I advise against CAC's for not super simple stuff as its easy to break that
What would you use for this situation ?
Depends on their setup, for rewards i would go for sequencers
Since its relative to a world actor
Character doesnt need to constantly update a not used camera
I would simply put a camera on the reward spot and then just blend to that
But he specifically asked how to blend to a second cam on his player
That would work as well
Ye adding a child actor comp to my player that is unsused most of the time really doesnt seem like a good idea
i know this is uneral discord and i am sorry for this but does anbody here have iclone 8 i have problem with my animation
Does anyone have any experience which one is better to use in general for managing which cursor should be displayed currently in game?
Well second is hardcoded cursors and first allows you to have custom images and so on since you do w/e you want in your widget
the first setup is able to use an animated cursor, but the second one isn’t
I was wrong : ( You need to add like how else is it suppose to know when to move 
Hey guys
Anyone know why my hitboxes on actors don't detect anything after a certain distance away from the player?
THey are short sighted
Guess at a certain distance they actors just despawn
don't detect waht
it's probably that the skeleton isn't animating when out of sight
There's a checkbox for that on the skeletal mesh
I have a cannon and it fires a cannonball which is physics based
if the ship is close it will hit and ship will sink
if ship is far
it the ball detects hit but ship doesn't
and ship doesn't sink
multiplayer?
why does the ship care?
the cannonball should tell the thing it hit that it got hit and that's the end of it, the thing that got hit then processes that
well I told it if you are hit specifically by the cannon ball, play sound2D and burst into flames and sink
it works if ship is close
Make an event that does that.
Have the cannonball call that event on whatever ship it hits.
assuming all you really care about is if the cannonball hits a ship, not if it hits various other things.
it will hit other things too
so i put hit detection from cannonball in the ship actor
if not, then use Damage to do it. Cannonball does X damage to thing it hits, and that's the end of it.
Thing it hits takes that recieve damage event and does stuff based on it.
I really don't think it'll make a difference if I tell the cannonball "if you hit this actor, then trigger this actors events"
because then I'll need to put a lot of refs in the cannonball
Cannonball:
Event Hit -> call Add Damage to ActorWeJustHit
Any old actor:
Event Recieve Damage -> do whatever
So you are detecting hits from both ends independently...?
damage is built into Actor itself, it's not an interface but is kinda like one. Use it for now.
yea, the cannonball needs to know if it hit things just as part of my debugging, but the actors which will need to know if it was hit by a cannonball are waiting to be hit by one
use damage for that
it doesn't care how the damage got there
no
it doesn't matter
cannonball detecting hit is enough
anything else is just extra work for no reason
You don't need any of that
how does this not detect from like 300 yards away, but it does from 50 yards
No clue, probably depends on how the ship is doing the moving. Doesn't matter though, don't do it like this.
Well, what is your cannonball hit code?
In an FPS you'd never have the character sitting around checking for hits from bullets.
The bullet detects the hit, and tells the thing it hit that it just got blapped.
ok so this wont kill performance if I have all refs to actors in my cannonball?
and just tell my cannonball to tell the actor that it got hit?
I thought I could just have hit detection on my ship
Deal damage is a global interface sort of thing. You don't need to cast the hit actor to anything to use it
oh right
nice
maybe stupid question, I have an Oculus 2 and I am using the Game VR template from Unreal 5.3 I know they want to depricate the 'old' control mapping from project settings, but where I can add a function to other button from the oculus? I am looking inside VR pawn and I see there is a call for the tree line menu and I want to change to other button but I can't find the Y or B buttons anywere
they're call oculus touch buttons, just right click in BP and type 'oculus touch'
wait no don't do that
As to this code - is the "IS HIT" printing when the ship is not sinking at a distance?
give me a sec
it si yea
is*
so the ball detects hit
but not the ship
as soon as the ship comes within about 100 yards of me
then suddenly hits work
ship sinks
and I get my 2d sound feedback to confirm
It is possible that another thing was hit, not the component you detect hits on. But as stated above, it is not a great way of doing hits
but at distance the cannonball just goes right through
the ship has a MASSIVE hitbox for testing
ball just goes through every single hit box
lol
until it gets closer
that capsule doesn't detect, it's just for the mesh
hitboxes are in the actor
I'll do it the other way as suggested
The reason the ship doesn't detect hit is some movement setups don't detect hits if the hit didnt happend due to THEIR movement, among other various optimizations
or a possible reason anyway
just like how character doesn't try to depenetrate unless it has a movement input, it'll just get squished until you try to move if something moves into it
ah right intersting
brilliant good to know
and I was thinking it was an optimisation thing
Yup, this too, hits should be detected from the thing that is moving
is this the damage node you were talking about?
awesome
thank you
It's in project settings > input
There's a dropdown
is OK I figureout, thank you for the name clarification, on this template there seems to be a mix of input the old way and the new code, but I got it working, thanks
add oculus touch here
sweet
have fun 🙂
I too am making an oculus game right now haha
in 5.3
Do you have world partition enabled?
no level streaming
single map
basic actors nothing special
I'm just going through how to use damage systems properly atm
see if it's that
so im not much a BP guy, I made this dynamic decal from a tutorial and it works great but it sucks that everything is the same colour, is there a way to add a colour option in the BP graph the same way I have an index that shift between masks in the index?
I have this bluepint code using VitoryBP to sabe objects location to the disk (text format), so far I have tested with a local address, such "C:\myproject\project1 "but now when I deploy the project it need to save on whatever folder the game is located I been testing path such " .\myproject\savedgames" but is not working, any ideas how to put a relative path?
Firstly why do you need this third party thing to save an object location.
Secondly, I'd recommend a more standard approach, like saving to appdata/roaming or something of that sort
I am not a developer, and I need it to output coordinates and some tag information from given objects, I am saving the game in a regular way, but that doesn't let me output the information in an organized way that I could read with something such excell. this free plugin does that.
OK, understandable
this is not a game per se, it is a VR given to a one specific client to look around in VR make changes then collect that info
Saving information like that is done for more than just games, so I'd say it's still probably the best idea personally. Gives you a nice central path for everything
BP file utils in any case should have some functions for getting various paths
enable the plugin BP FIle Utilities
where I do that?
Yes, one of the parameters should be a vector parameter thats used as tint
Hey I made a video for you
I used the damage system you suggested, works fine but the hit still isn't working right
basically, you can see the debug messaged in the top left for each thing. I made the cannonball home in on the ship so it literally can't miss. It has a HUGE sphere trace radius to detect it, then tracks it.
As you can see it never hits until the ship is close, from there you can see the cannon ball always hit, make a sound, and cause the ship to sink despite me already connecting several cannonballs into it
so there's something weird about collisions and distance
What would the fastest way be to compare two arrays and getting the difference?
For example
Array 1) has 24,000 items
Array 2) has 23,100 items
I want to get the 900 different items as a new array
Right now i'm doing a foreach on array 1) and seeing if it contains in array 2) but this takes absurdly long lmao
You can use a Set
Add all items in array 1 to the set. Remove all items in array 2 in the set. What remains is all items that were in A but not B
Basic compsci
What is the best way to generate items inside of desk drawers randomly?
If I have a map of name : struct array, what is the most efficient way of adding or removing items from the array of a particular item? From what I've read, I need to effectively re-add the item again with a new array containing the new item? This seems like it would be really wasteful and inefficient for maps where the array is large?
Can someone please tell me why my spot light is not rotating with my player on the pitch? It rotates with the yaw but not pitch
it probably inherits that from it's parent component, and i kinda doubt that you really pitch your character
Oh so it doesn't work from just a parent component. Just from the BP parent
idk, i'm just a "bunch of idiots"
Hey that wasn't said at you
I'm sorry for last time
That was meant for the people who kept on ignoring me
If they don't need to be an array you could make them a Set to begin with. Sets have functions to produce intersection and what not iirc.
That's more useful for two sets that have some elements shared of course. If each entry in the individual Set/Array is unique, then that's not needed.
Yeah I did exactly this and got it working, I only needf it to be an array at the end which i used that node
It's still rather expensive to loop the arrays for this. You might be able to figure out the difference already when adding the elements, saving you the looping stuff.
"expensive" is of course a big word. It's not that many entries that you'd really notice it, but we are talking blueprints and it's worth thinking out of the box for some of these issues from time to time.
In Blueprints this can be a pain because a lot of the getters for Arrays and Maps produce copies of the elements.
Arrays have a GetRef method, which can be used to retrieve a reference to the exact element. If the element is a struct, you can use the SetMembers node on the reference, allowing to modify just some of the elements.
That does require the original array to already not be a copy though. So if you retrieve that from the Map, you might already be working with a copy.
You could find the element for the name, store it in a local variable (knowing it's a copy), get the array from that (I assume the struct array is inside another struct cause you can't nest an Array directly in a Map in Blueprints iirc), and then use the GetRef stuff on that. Then when you are done modifying that array, you can call Add on the Map, passing in the same name and the local variable that should now be up-to-date.
I don't remember if maps had any functions that provide references in Blueprints.
In C++ this would be much easier.
Just dont
The struct will break
You will spend a week debugging
Go depressed and start drinking
Your marriage will break down because of that
And in 5 years your sitting at the aa and tell them how structs in bp's ruined your life
Heyy, i understand now. So ur basically setting the var in server and the client interps between current value and server value. So the same actor which runs in server is setting a value and client is updating it. But help me in this last bit of understanding. If this is a dedicated server, do u need to set the relative rotation from server authority?
Hey there!
I am currently using legacy camera shake for my characters head bobbing when walking, idling and running. Problem right now that i am facing is that i need these to have a smoother transition between one another and i am not sure of how i can accomplish this. Currentlt when i start or stop one the transition between each headbob is quite abrupt and snappy. Any way i can make it so it can smoothly transition?
here is the code im using
I am pretty new to blueprints so i figured i would go here and seek help!
Use a Timeline
First time for everything!
Yeah haha for sure
Oh, u can also create a camera animation. Create a skeletal mesh, attach camera to this mesh, use a separate animation bp for the camera to control however u want. This is how ALS refactored does it, u can check it out!
U can but, if u want random better to use timeline to control it in bp
gotcha
got an example of how this can be setup with the current blueprint i got? I assume i would change the camer shake scale value?
it will be the same wether its listen or dedicated.
Is there a way to have the ai perception system see through certain classes of character?
Or should I be approaching large hordes of ai actors differently
For anyone who might have been trying to help me with an Input issue Enhanced Input not triggering I dont know if this is right or not but seems the issue was related to Value Type in the Input Action if I had it se tto Axis1D(float) it didnt trigger on any state (Triggered,Started etc. ) but if i change to Axis2D it triggers. Now im not sure as to why it refuses to trigger on the value type of Axis 1D(float) but is fine on Axis2D(Vector2D) I have no idea I only wanted to do a 1 or -1 on the X Axis which I thought I could use a 1D (One Directional) float to move back and forward but it seems I,ll have to use a Vector2D for this.
Hi guys, I am a 3D artist and one of my job tasks included developing a Spline BP that spawns meshes along the spline in UE 5.2 . What is the easiest way for me to do that? Again I am not a programmer etc, but a 3D Artist
https://www.youtube.com/watch?v=OdjvlvGRYRE There you go I followed this when I needed to do the exact thing.
Using Blueprint Splines to build out repetitive instances in a scene can save time and improve performance. In this Unreal Tips & Tricks video, we’ll cover Hierarchical Instanced StaticMesh Components as an efficient approach.
For more information on Blueprint Spline Components see the documentation and video:
I think this is in UE4, will it work for 5.2?
Also I guess I still need to learn the logic behind it, is this going to happen if I dont have blueprint/programming background
or I need to force it into my head node by node
I watch the tutorial, but i cannot understand why are some nodes used
https://youtu.be/yqcmOfzkW7s
Hey guys,
I used the damage system you suggested, works fine but the hit still isn't working right
basically, you can see the debug messaged in the top left for each thing. I made the cannonball home in on the ship so it literally can't miss. It has a HUGE sphere trace radius to detect it, then tracks it.
As you can see it never hits until the ship is close, from there you can see the cannon ball always hit, make a sound, and cause the ship to sink despite me already connecting several cannonballs into it
so there's something weird about collisions and distance
simple question:
why doesnt my BPI Grapple execute on my thirdperson blueprint?
What do i need to select as target on the first one (if thats the issue), cuz i cant use Get All Actors Of Class for some reason
Target is the actor that you want to receive the interface call. This actor needs to have the interface implemented or nothing will happen
but its so weird, cuz i HAVE added it to both blueprints, yet when i try to select a Target like Get Player Character or something, its impossible
also Get All Actors Of Class isnt posible either
You don't need to drag from the target, just right click in the graph and look for "GetPlayerCharacter"
If that node is supposed to fire a interface you have the wrong node
You need the node with (message) on it
Oh, right, you are correct. I didn't even think about it lol
i have tried only an Output, and only an Input, but i cannot see a (message) anymore on either. Is my project just fkin bugged? legit nothing works
Right click in the graph from the previous screenshot and type in your interface function name. There should be two, choose the one with message at the end
When it is placed in the graph it should have a small icon in the top corner
Hm, what version are you on? It looks like this on my end, but I dunno if they changed it
But you should choose the one that is under the group BPI_grapple_stats if this is the name of your interface
The one under "Call Function" group means executing the interface function implementation on this actor as a normal function
what the fuck. i made a new blueprint Interface and now i DO have message. I think its extremely buggy.
im on 5.6
thx for ur time tho fr i appreciate it
Yeah, maybe you brok something along the way. Happens sometimes
yeah i guess? but fk i have no idea lol
hey, question,
if my time in the timelaps is (length 0,1) if i change the "face time(new time) " to 1,0 sec shouldent the length change to 1 second also then ?:/
I do not think that should be possible, I think the timeline will directly go in Finished (Exec Pin)... but if you reverse then it may start from 0.1 i guess
just for ur info, it was legit just bugged. idk if its a 5.6 thing, but after restarting my UE it works with the old BPI's. just an FYI, its fkin buggy XD
probably because you implemented the interface in both blueprints, turn of context sensitive and it will show up
Dumb ass question here - for my character following a spline - do i need to multiply GetWorldDelta by the SpeedOnSpline to make the speed consistent across varying computers/hardware?
and if so, should i be setting my delta seconds somewhere? I've a GameInstance i already use to carry over graphical options and other stuffs
yes
Delta time is time from last frame to current frame
always always use delta time instead of x amount every tick
In gta there was this one mission where trevor had to draw a line of gasoline
And the entire logic was running on tick, each tick draw x amount of gasoline
The result was that when your frames were too high you could never pass this mission because the gasoline tank was drained too fast to draw the entire trail with it
Random question ; I had the tought of creating a simple apk in unreal that compares specs of real camera types. I'd be writing the database for the camera's myself. a simple ui would do the trick. I'd be writing this in BP. Any pointers where i'd start?
werd thanks, once i added a third input and added get world delta however my npc goes nowhere. Should i not have this on event tick to begin with?
sorry, more complete image
use a timeline, not tick
coming from my set positiononspline or coming from the returnvaluelocation?
What?
https://forums.unrealengine.com/t/why-isnt-my-hit-being-detected/2664414
Hey everyone, I've just about exhausted all my ideas and nothing anywhere on the internet is giving me any leads. My projectile just will not hit a very large collision capsule beyond a certain distance and I have no idea why
https://youtu.be/yqcmOfzkW7s Here’s a video, turn down the sound the cannon is a bit annoying. The ship has a large capsule for collision: and uses the ‘Event Any Damage’ node for transferring damage data. The CannonBall also uses the ‘Apply Damage’ node for applying damage to the detected actor: The ball tracks the actor...
it doens't make any sense
I've put a lot of images and videos on there to show exactly
which variable should i be feeding into the timeline?
You cant feed variables into timelines ?
You execute it
on update you put your set world transform
in the timeline you create a new alpha track, value 0 - 1
Set Length of the track to 1s
Distance = Alpha * SplineLength
Feed Distance into get transform At Distance Along Spline
Plug the returned Location and Rotation into SetWorldTransform
yasss thank you
If you wat to change the speed you can set the play rate of the timeline
Timelines already run on delta time so it doesnt matter what the frame rate is it will be the same speed on any hardware
@faint pasture Hey just letting you know I figured it out: https://forums.unrealengine.com/t/why-isnt-my-hit-being-detected/2664414/5
last post
It's really stupid but not really tbh, just something to look out for
Interfaces are bugged as hell, IDK its just 5.6 thing... but I had this interface with Enum as an Output and if I change anything in the Enum the whole Interface breaks I have to manually go and refresh every blueprint where I'm implementing that interface node, that also didn't solve the issue when trying to ship the game, I had to remove and add new value inside my Enum, and the best part is, game works fine until you try to build it!! you get errors when trying to ship the game and it's literal hell, so if you get any errors while shipping you might as well check interfaces yeah : ) I hate it now, wasted like 2 days...
On earlier versions, I've had interfaces just decided to freak out and suddenly all my interface events on a bunch of classes get turned into custom events with names like <Interface Event Name>_1, which always meant spending hours fixing that all over the place. Happened more than once.
I try to avoid them as much as possible now out of paranoia.
Hi guys I have a question
my "how many days have passed" function & variable kinda fails
it works by calculating the time of the day, Idk if it could be related to me speeding the time dilation x40 times faster and therefore causing issues with it
my sleep for example also speeds up global time dillation of the game
so my question is, can i do that in a way that it calculates the days passed based on the sun movement?
I have a sun which is the default directional light and it rotates around earth continuously, can i use a collision somewhere far away from the level to collide with that sun to generate the accurate number and timing of day and days passed & therefore let the player know how many days he has survived etc.?
Every full 360° rotation of your sun's Yaw = 1 full day passed.
so I thought before of using the level blueprint which has a tick that rotates the directional light around every tick
but someone here adviced me not to use that the last time I asked them so I listened to them but now I decided kinda wanna switch back to hard-coding this with the rotation caclulation somehow maybe instead of caclulating the time which is kinda inacurate right now
Does anybody know a good way to create a mobile aiming widget?
Something like aiming abilities in wild rift/brawlstars or other top down games.
I'm trying to capture the position where the widget was clicked and make that a pivot for aiming but am not able to get it to work.
I also can't seem to find any good references for this being done.
Would love a hint if anyone has done this before
anyone know what this is before the branch and how to call it?
If I have a struct array, is there any way to modify how "Add Unique" works without access to C++? The first field in the struct is a GUID and it's unique in every add, but "Add Unique" is still often failing with a -1 return because other data in the struct is the same. Any way around this?
You had left out the bit where your cannonball has 3 methods of flight lmao
just pick one
It does?
I think it just has a projectile movement component
I'll check tomorrow
Thanks for pointing that put
Out*
Then why are you simulating physics?
It's a VR game so I want it to hit things, have mass and roll realistically and be able to be picked up by the user
I just test in first person when I don't need to play as the VR player
so pick one
either use physics or projectile movement
I'd say physics
Firing a cannonball = spawn the thing, set its velocity, let it fly as physics directs
I think I need the projectile because I make it track the ship and change direction to hit the target
Once the ball hits, the projectile component is deactivated
you can do that with physics
I mean you do you but I wouldn't mix the two
Oh I didn't know tbh I'll look into this
You can do anything with physics
if it can be formulated as some function that applies a force, impulse, or direct set of velocity you can do it
skiiing, homing, hovering, tires, whatever
WARNING: DO NOT COPY PASTE from the blueprint graph nodes to Unreal ANIMATION blueprint, it will crash!
Hello everyone. How much does it impact performance, if any, if this is set to dynamic instead of modifiers only?
Google Play is asking for 12 testers for the app, so I need your help guys
No clue. Use Unreal Insights ( #profiling ) and trace once with and once with out.
Please use the job board via #instructions . This is not the right place for this.
How “bad” is it to have some logic in a widget blueprint?
In the widget, I get the attributes (such as “Health” and “MaxHealth”) from the owner's GamePlayAbility system to control my life bar.
Some YouTube videos say “no logic in the widget blueprint,” while other “renowned” tutorial creators put simple logic in the widget blueprints.
In general no logic is better - widgets should only handle displaying stuff and themselves
But it is not like a hard rule. It is just a separation of concern thing
Hi I have an issue with my item and inventory system. The way my items are set up is as data assets which inherit from a hierarchy of primary data assets which each contain necessary data for that type of item. For my inventory I want to use the data asset as a template from which to create objects which will then be stored in the inventory rather than storing the data asset. How would I go about doing this ?
create an instance of the object where the properties is set from data assets.
Getters isn't really logic, your widget is just reading from the source. That's perfectly fine and how it should be.
how do i do that ?
You want object, so create Object is the node.
what node ?
Also another thing about logic in widgets - you can create an inventory widget that will have the grid, all of the fancy stuff etc. And you have logic about passing the inventory form the widget to the player inside of it. But then you realize you need an inventory for the chest in the game... so you would need to remake the entire grid you already have in a separate widget, to make basically the same thing.
But if you made the grid inventory be universal and connected to what it does with funcitions/events, you can ealsy reause it.
I think this sort of coupling is good to avoid in widgets.
yes i know
ok so what's the issue right now?
If you want UObject for your inventory then just instantiate one when you need one.
Create Object is the node to instantiate an object.
define your item class, then just make an instance of it.
why are you making Primary Data assets
because only primary data assrts show up when using that node
Thanks for your reply 🙏
You have to create your Item class
and why would you want to use that?
U create a class derived from Uobject.
That Object can take from any data assets to set it's properties.
because as i have been saying i want to use that as a template eg create DA_ironSword then i cn later modifier variables in gameplay
Data assets is just used to set default values.
i know that how do i set that up in uobject blueprint
Any chance someone could help me?
I'm a bit of a UE Blueprints scrub but i'm learning.
I've made an Inventory System but currently trying to build a combining system like Resident Evil. I'm just building the "select" function so I can select multiple slots and then trigger combining. When selecting my first slot its firing that i'm selecting slot 2 which is basically none because it never selected a first slot.
Here is the start of my logic. Anyone see something immediately dumb?
ItemBase : Item Potion.
Create Item Potion -> Get DA_Potion -> Set Potion members value to w/e you want from the DA_Potion.
now you have UObject ItemPotion that has it's default values set from a data asset.
Throw that to your inventory component or w/e you like.
I think your Prints are at wrong place ? maybe they should be after "Branch" and not "Valid" check ?
little more context will be helpful here ig... can barely see anything from one blueprint
Yeah its hard to know what to share because the entire system is spread across a bunch of things like InventoryUI and InventorySlot + functions
Error I get is: Blueprint Runtime Error: "Accessed None trying to read property SelectedSlot2". Node: SetSelected Graph: OnSlotSelected Function: On Slot Selected Blueprint: WBP_InventoryUI
I think the issue is my selected slot is valid immediately so its just defaulting to slot2 tbh.. but i'm sus of my own skills haha
So when you are selecting the first slot, in "OnSlotSelected" function you are getting value of second slot which is none right ?
correct
so where you calling the function ? passing the value ?
Like this in the uobject with the other variables matching the data assets variables and then on construct mapping those values together ?
but i've not clicked anything when i open it so for some reason its firing like I have already
Sure
Okay and if i make each uobject for each category of item a child of one item base i can create an array/map of that and store all of the m in it ?
yes
Your inventory compoenent Item list can be of type ItemBase
and w/e Item you make should derive from ItemBase
Okay thank you for helping
Ok gotcha, can you explain this like, why are you setting these here and setting itself to itself ? You already have value of it from somewhere else or ?
probably my own lack of skill - i can probably remove the references
@oblique smelt If you haven't learn array, you should.
I removed the selected slot references to itself but the issue is still occuring so I don't think that actually did anything other than be useless haha
Yeah but if you are not setting these values anywhere, I think they will be null won't they ? is there any other place you setting them
Wait no, let's say you already have reference somewhere else and now trynna check if they are same or not... in that case
Lol
Created the variables but they're just null
see bottom left 😅
what you did there is saying
1 = 1
well its true 😂
Journey of a Blueprints Noob
everyone starts from somewhere
Happens with best of us... I always forget to assign values
Still isn't working but I can see i need to figure out what values to even set
Very true. 6 years in game dev industry and I have made 0 inventory systems 
I know - but my ADHD allows me to slam my head against a wall until it breaks so its the best way to learn 😛
Its scary
If I would be in a position to give advice to beginners, "don't start with a game with an inventory" would 100% be there lol.
I feel like this makes people spend too much time on a thing that isn't really the core of most games
I've been in the industry for about 13 years in QA so i'm not UNFAMILIAR but I just haven't smashed BP systems too much. This is my like 4th attempt at making a game so I've done a lot of interactions/triggers/combat/ai stuff (however janky). I'm mainly trying to push the boat out to understand MORE about Blueprints
It's funny because its so complicated and i'm tackling so many things that I forgot to build my OnSlotSelected function haha
Which is ironically called here:
Your inventory logic should be handled in the inventory component.
Why does the widget has bHasItem? It should ask the inventory component if it has item or not.
You want your inventory to work even when the widget is destroyed or closed.
its asking if the slot has an item in it so I can't click empty nodes
which is what I want really
like this
yeah and those shouldn't be in the widget
widget job is to visualize a component or state
your inventory component should hold the data. E.g Grid, list of items, etc.
does skipping ai controller / "add movement input" and implementing logic directly in actor tick etc. make sense if i do not care about network replication (because game is singleplayer) etc?
Use u objects
For the items
Thats the most convinient way
And like cold Summer wrote
You have a inventory component > you handle your entire logic in here
All the widget does is,, it pulls the informations out of your component and populates the widget with it
Nothing else
The widget is only responsible for visual representation
If you pick up a item in the world
You put that item into a array in your inventory component
The widget open - now reads that arrays and says ahaa
Array index 0 is apple so it displays the apple 2d image in its first inventory slot
If you make the items u objects you can store all informations like 2d image, item name and whateveer else you want directly on the item object
So all you have to do in your widget is
cast to player - get inventory comp- get item array- get index 0 - get item image- set first invetory slot to that image
I did set this up tbh but pivoted as I couldn't get the code to work - maybe I revisit
i'll do some deep diving
Hi, I'm using EnhancedInput. Is there no way to get which key was actually pressed within the mappings (I have several) of an input mapping context via the EnhancedInputAction event? The action value is a simple boolean, and I tried calling Query Keys Mapped to Action but the keys array is set to 0. This has to be the wrong way of doing this.
Well the point of enhanced input and similar systems is to not care about the buttons when programming actions. What you want goes against this.
Make two actions with different inputs, both actions leading to the same code
I am watching some tutorials but I cannot understand why a certain node is placed there. I'm trying to make it make sense
how do you deal with that
Learn?
I mean, I honestly don't know how else to answer it.
So many things you just sorta know/ figure out over time.
Not everything is found out in a tutorial sadly, and not all tutoraials go in-depth.
Some just show you how to do stuff, and thats it, don't actually try to "teach"
I need to learn how to make this blueprint for a test task
but when it doesn't make sense what a node does, I cannot remember it
I'm trying to map buttons on a gamepad to specific unicode chars to generate a code. I'd like to avoid copy / pasting so much blueprint code. Ideally, I can get the index of the mapping in the array of the IMC -> to my char would do the trick. If I can't do that, then key -> unicode char. Any suggestions on how to do this without needing to make 20+ individual actions?
is there a way or a resource that can show visually what a node does?
you can't
Maybe for some, but definitely not all.
I know some YT videos exist to go over specific ideas, or specific function usage.
Not everything has a tutorial, or docs, or wiki sadly.
There is a tooltip on most nodes.
You can google it's name and often there is a description somewhere, either on forums or in documentation.
Some more commonly used nodes have short videos on YT from that one guy, I forgot his name
Also you can install a thing with the engine that let's you open the C++ implementation of every node so you can read how it was made
Probably Matthew Wadstein: https://www.youtube.com/channel/UCOVfF7PfLbRdVEm0hONTrNQ
so I made this BP following a tutorial
it's a spline and the mesh follows the rotation of the spline
but for example how can I make it change the forward axis? I hope you get it what I mean
for example I want all of them to be rotated sideways?
like this
but here I just changed to 90 degrees in the transform node and disabled the function
or how to make these traffic lights point to the inside
Rotate the actual mesh in the traffic light bp
what if I want to be able to rotate it as a variable/parameter? So I can have multiple splines with multiple meshes with different rotations
Same thing, you just do it dynamically with set rotation
I don't understand how to do it combining with the current nodes that I have
With the current nodes you have there’s a rotation value in the make instance node. Did you attempt to change it there?
If you want each instanced mesh on a spline to have the same rotation, but be able to edit it per spline, you can try something like this. I set the slider range since you don't wouldn't rotate the mesh past 360 degrees.
Not sure if this will actually work for you, but I had UE open so figured it would be better to make a visual suggestion
The thing is that I already have a function plugged into the rotation pin of the make transform node, I follow a tutorial
and I think this doesn't make the traffic lights point to the inner side of the spline
I prefer that you follow a different tutorial, because there's a better way to handle spline PCG
for example this video
https://www.youtube.com/watch?v=I2E6OLhXRTk
Hey everyone,
In this video we will look at create a blueprint to helping making pipes and fence easier to place within your game by using a spline system to automate the process.
Shout out to @RyanLaley for his video on the topic, helped me out big time.
https://www.youtube.com/watch?v=eKIiWa19EMI
Social:
Check out my streams on Twitch: h...
it has this node
and this option
Thats perfectly normal 😄
For my first 6 months i was bareley understanding what im even doing and the tutorials never do a good job in explaining WHY some things work like they do
After a while you see that certain things are always done in the same few ways
THe more you do it the more you will memorize
I will never forget the day when i created my first a bit more advanced ai without the help of a single tutorial or even google
Not visually but check out this guy
https://www.youtube.com/@MathewWadsteinTutorials
He explains many nodes in detail
If you set breakpoints on your nodes you can go node by node trough your code in realtime to understand whats going on
This is SUPER usefeull tp understand blueprints better
Then what would you suggest instead? Using basic Input? CommonUI?
It won't point them to the inner side. My bad I misunderstood what you meant.
I feel really dumb atm... Anything new regarding destroy actor / Set Liifespan ?
I can't seem to destroy an actor i've spawned ..
the nodes are hit when i breakpoint them, yet noo dice
ohh shit
think i found it ...
forgetting Super::BeginPlay();
what can make them do that?
HELP please ! I made a poisson disk sampling function in blueprints to generate seeds to help base my levels paths off of. But depending on the grid size I’ll get infinite loop detected crashes.
This is just one algorithm I plan to use but I have several other plans to follow this for path design and enemy placement etc…
Are there ways to stagger the process? So each tick or second or whatever the algorithm loops do there thing incrementally so the system doesn’t get overwhelmed or triggered infinite loops being detected?
I don’t even really know what to search for to look for help. So any advice helps!! Thank you
if i have a bp w a media player and media source variables inside it. and i want the video to play inside a widget when the player overlaps the bp, how can i get the video to play? ive used open source and the play node off event construct in the widget. but the video just stays a static texture
If you really need it (and the infinite loop is not a problem with the base design), staggering can be done with custom code.
The setup is relatively simple. When inside the loop, count how many times you did it, and at a certain number break the loop. Add a delay until next tick (or a timer), then reset the current loop count and continue where the loop left off
You may need to save some intermediate variables, but it shouldn't be impossible to do
Buuut, I would first look into why the infinite looping is happening and check if it can be improved/changed
what's the difference between "Resolve Soft Reference" vs "Load Asset Blocking"?
IIRC.
Resolve is get if loaded, and load causes a big stutter, and force loads the asset, or gets it if already loaded
Can anyone tell me why this is working to make my actor float up and down? I'd expect the input for the sin node to be a position along the sin wave and thus need to be plugged into the timeline to output a different value over time but it appears the input for the sin node is a frequency multiplier? Does the sin node have it's own ticking?
so resolve won't ever load the asset, it will only get it if it's loaded?
Only a get
Since, for something like a does class == class, you don't need to load the asset.
If its not loaded, then it can't possible be that class, and if its loaded then you can compare.
i always forget with bp.
if i have a c++ USTRUCT with UPROPERTYs and non reflected properties, if i copy that struct in bp, do the non reflected properties get copied as well?
Copy works fine.
But, any make/ break will of course lose the data.
That’s why it’s good to use “set members”
Hello, good day. I have turn in place animations and they work, but when I add a leg ik, this happens. The same thing happens in the control rig. Why is this happening? How can I solve it?
You just cannot skip it - every input actions needs to be separate event. You can make function of the thing that is beeing repeated and just call that function with index X or something based on action.
Thank you so much.
Are you suggesting that it’s way more likely that the design of the algorithm is flawed or unoptimized rather than actually needing a stagger?
How many loops can people do on event beginning play before it’s flagged as an infinite loop?
There’s a limit in project or editor settings
But infinite loop warning usually fires for other reasons way before you hit that limit
this video might be helpful
https://www.youtube.com/watch?v=O5OWg4OpVM4
Hello guys, in this quick and simple tutorial we are going to continue with my UE5 RPG Tutorial Series in Unreal Engine 5!
↪️Just opened my Discord Server, join NOW: https://bit.ly/GorkaGamesYouTubeDiscordServer
➡️Whole Series: https://www.youtube.com/watch?v=FNTyIWkv5k8&list=PLiSlOaRBfgkcPAhYpGps16PT_9f28amXi
👉Awesome Unreal Engine...
Control Rig might be breaking your feet! It's important to understand how the default procedural foot placement is setup so that we can account for that in our animation authoring. As shown in our recent Jump Turn tutorial (https://youtu.be/9wksRrMJXtQ), I'll walk through what's broken and how to fix it. This is part of our Anim BP series.
...
After taking some steps back, I decided to work with arrays to make the coding less messy and complicated. The forum link above shows I have, so far. Well, in one function. Now I want to assign a number between 1 and 13 to each card button for the time being, then assign a brush to an image which will be in a separate array later. What would you recommend I do next?
After taking some steps back, I decided to work with arrays to make the coding less messy and complicated. Here is what I have, so far. Now I want to assign a number between 1 and 13 to each card button for the time being, then assign a brush to an image which will be in a separate array later. What would you recommend I do next?
I mean.
I'm glad your getting somewhere that isn't no-where (ask backward sounding as that is)
You say you wanna use arrays, but then like fake use arrays. 😛
But, for your new thing.
You'd just have an array of the possible images, and just do a get on it, and done.
I can see what you're getting at. I do have a bunch of images that I can put into an array. As for the buttons, each one is to have both a randomizer (so the program picks which card to assign) and a card number (to pick the number and suit; for example, 1 for Ace and 13 for King). Previously, I would...wait. I just remembered.
Er, hold on. I'm getting things mixed up. The reason I would have the program assign numbers to each card when the program starts is so that it would know what image should appear for each card clicked on.
Correct
I did consider doing a card assignment function and an image one for each individual variable, but that would be too time-consuming and complicated, I thought. So I was trying to find a way that was less time-consuming and less messy.
And after each button is clicked and the image revealed, a float integer representing the card's value would be added to a total representing the player's hand.
I think you severely miss-understand some things UE can do.
Given you say a card assignment function can get too messy, and too time consuming
I have been using Unreal Engine for at least two years. This is just something I haven't dabbled into yet.
Not much, anyway. I did do UI-based puzzles as part of a playable demo I spent those years on.
But they weren't quite like this.
Anyway, I didn't think to mention this, but the 16 card buttons are just for an easy-level mode. I plan to make maps with higher levels that play 5 x 5, 6 x 6 and possibly 7 x 7 if the space allows. Which was also why I considered making arrays for the button variables as well as images.
Though @next hollow I do owe you an apology for earlier.
For what?
For the way I acted, a few days ago.
I don't remember you acting badly?
But, ok. 😛
Thanks, I'll check it out right away.
Anyway, @next hollow , were you saying I should make an array for the images but not the buttons?
You should make an array of both.
But, your current method, just sorta half uses arrays, in a bootleg way.
Since, each card should have a number it is, and they just get from the image array
Oh, and the buttons are all in one widget. And yeah, I feel like I'm missing something.
Yeah, idk what happened to your at least previous setup, from the other day or whatever.
It may not have been the best, but it at least got like 50% better of the way there. 😛
You mean you didn't dynamically construct them?
You said it your self, some maps offer different grid or rule.
Didn't dynamically construct them, and I think there just individual button widgets, not a full on seperate widget for number, and randomizer vars
Don't drop the buttons to the grid manually.
Create them dynamically, register each element (button or what not) to the array as it's created.
He at least had it 50% there yesterday (sperate full widgets, but not automated in an array (was manually copy/ pasting create widget -> ref)
I'm gonna sound stupid for this, but what do you mean by dynamically?
you create it at run time (game time).
so their size is not fixed, you spawn them as needed.
You had this last time, idk what happened to it. lol
e.g if you want 30 cards, then you spawn 30 card buttons.
You want 16 cards, then you spawn 16 card buttons.
and this only possible if you know how to use array. Since you said you didn't use array previously then yeah, your code would be one giant mess that at best only work with fixed size.
Yeah, with some super basic math, you can just tell it to make 40 cards, and it'll be 5 on each row, sorta deal.
All automated, and no cursed button array manually made, like in your BPs
Okay then. I'll just have to recreate the card button then duplicate it 15 times for the "Easy Level" map. Then I'll make more for upper levels. Probably up to 49 (7 x 7) if the canvas border allows when oriented for mobile screens.
No....
Yeah, no
You make it once, and the code spawn it for you 15 times, 99 times, whatever
You mean get the code to replicate the same card widget?
I see. What node to I use to replicate that widget?
Create a function to spawn the cards. The input parameter would be the number of cards you want to spawn.
In the function, For Loop -> Construct Widget Card -> Add to Card List Array.
that's it.
Huh. I didn't realize a For Loop could work with widgets, too. Will I have to promote each Construct Widget to a variable?
Push it to an array
so yes a variable with array as it's type.
For loop is just execution that run X number of times.
Why wouldn't it work in widgets or anywhere for that matter?
The thought didn't occur to me.
These elements are not painfully placed manually one by one.
I have data table where my cosmetics are contained.
The widget just spawn one button for every cosmetic.
So if I have 85 cosmetics. 85 buttons will be spawned.
Hm...do you have an example for the BP that I can follow?
I meant a screenshot, but okay. Let me give it a shot.
Give it a go, just try it on your end.
instead of jumping to your system, I recommend just creating empty widget, with a container. Then spawn X number of images in that container.
once you can do that, then you can move on.
Oh yeah. And I do all this on the graph for the widget, too, right?
Okay. I'll have to go back some steps, too.
does it bob down or does it just go up?
What I'm seeing here should just move at some constant rate
In most cases yes, if you get an infinite loop, it is likely due to a problem/error with the design. But not always, sometimes you just need a very long loop.
I don't remember the exact limit but I think blueprint limit is way smaller - due to blueprints being made with an idea to be a safer working space than pure C++. C++ has way less guardrails. You should be able to google the limits though.
Also if you are running close to the blueprint loop limit - you could consider moving the logic to C++ anyway. Since blueprint overhead on loops at this scale starts to be noticeable
read what I said earlier and try to implement them.
starting from the function.
I mean, to confirm I have to make one widget with just one card and replicate it by means of a For Loop in the graph for that widget, right?
you have a parent widget that contains a container. The container can be an overlay widget, a grid widget, horizontal/veritcal box or anything that you require to stack your cards.
In this parent widget, you can handle the logic of spawning the card and pushing it to your container.
Hello, I'm currently working on a TowerDefense and I'm really confused as to how I handle actor dependencies. Currently I spawn all my Managers via GameMode, except that now, when I cast my GameMode, it takes with it all its dependencies, well that's normally, it's not a big deal given that my managers are loaded all the time but, my managers have refs too, for example EnemyManager has a ref to EnemyMaster, except that EnemyMaster is never loaded continuously, I do it Spawn at moment and at times I don't have one for at least 10 to 15 minutes. Is there a "magic" doc that explains concretely and correctly how to do it please? Because it doesn't seem OK to me to cast a class that is not continuously loaded
Soft pointers to object / class.
This week Christian Allen will provide an overview of Hard & Soft Object references in Blueprints, why the differences are important to know about, and how you can utilize Soft Object references in your project to help with memory management.
Watch Inside Unreal live at twitch.tv/unrealengine, Thursdays @ 2PM ET
DISCUSSION THREAD
https://forum...
if you need to dig deeper then Asset Managers
Is it possible to run a "set timer by event" but have it be async? or not?
I'm also curious about if "set timer by event" can cause a major hitch or not (2-3 second pause)
not really
but what you do on the timer could cause the hitch
but the timer itself is not at blame
also an event triggered by a timer is "async"
as it happens some time in the future
I think async in this context means the code executes outside of the normal execution order - aka in a separate process. And the timer is not that, the engine checks periodically if the timer is up to be triggered after it was registered
yeah no, its on the game thread still
as most things in bp will be
easiest thing in bp if you want to avoid hitches on large functions is to frame slice it
there are multithread plugins but it's not really straightforward to use imo
@dark drum I was searching for your youtube channel so I put in "pattym" in google, click on videos and it wasn't unreal engine, it wasn't even safe for work, in fact don't do what I did 😆
You know, you can just click his profile 👀
Welcome to my channel, your go-to destination for comprehensive and user-friendly tutorials on using Unreal Engine! Whether you're a seasoned developer or just starting your journey in game design, my step-by-step guides cover more advanced techniques and setups to get you going on your game development journey.
Dive into the world of Unreal En...
I can't remember the last time I searched for my own name.
"I followed two other inventory tutorial"
rip
"before finding yours, and im really happy with your approach 😄 "
Doing inventory tutorial my self atm. But Inventory is such a project based concept imo.
I will have to tune this to my need once I'm done.
is it ?
I'd kinda argue its one of the more generic concepts
especially if you go for the lyra approach ?
(altho i keep making new ones every damn time lol)
Yeah, I suppose. It's just the one I'm following is made for spatial inventory.
but yeah I guess it can be generic.
with instanced structs and tags, to make this more modular.
Its just an item definition of some sort, and possibly an instancing thing for meta data related to a specific instance
e.g. swords durability or extra stats etcetc
Hello, I was wondering if anyone messed around with the Mover plugin in 5.6 and knows if it's possible to create a Shared Settings Blueprint Class.
And how to use movement modifiers
When i use on mouse button down drag mouse conflic with mouse click how to make different between i hold mouse for time like 0.1 second to drag or to click if less than 0.1
use a timer
or create your own timer
or check vs hold time from the Enhanced input system
But how to implement in function in widget in onmousebuttondown
It shouldn't conflict. You have to move your mouse a certain distance before drag kicks in.
Conflict with the click sounds like wrong return or something more than DetectDragIfPressed.
He finally got one haha. I get busy alright lol.
I partially agree. You'd probably start off with a base and then add project specific stuff to it.
I'd say there are a couple of base approaches you can go for though so picking the right one for your project can be important.
Replace mouse click for mouse button up?
Can totally relate :p
I still have around 40 hours of video left to edit for another series where I rebuild someone's inventory system. That's from about 3 months ago. 😅
I don't know if youtube is viable income source, have you look into udemy?
pretty sure some of the dev is making half a million at least.
actually millions.
33,308 Lets say the course is 30 dollars each. May be more from what i recall.
that's 900k?
and he has another courses which is as popular.
@gentle urchin
🤑
90 australian dollars, damn. That's like 70ish USD?
ofc a lot of people get it on discount but still good money.
not sure but platform cut normally 25%
Guess ive been missing out
Assuming i could create such desirable tutorials in the first place
You can! Content is for beginners tbh.
The platform takes up to 63% if users go through the platform and not through a linked affiliate or promo code issued by the course creator
are we talking about udemy? because that's insane cut.
even steam 25% is already insanely high.
Yeah Udemy ^^
But if users go through your promo code or link, the platform takes 3%, it's really important to have a community and then go to Udemy and redirect your community with your links/promo code
Daaaamm thats a cut alright
it bobs up and down 🙂
Hello everyone, I'm new to Unreal Engine 5.6 and I wanted to create a forward/backward movement but I have a problem when I move backward the camera shakes and as you can see in the video my character turns to always move backward in the same direction can you help me understand?
I understand the Core component will rotate and move around in world space, but does the parent above do the same?
Basically, I want to attach a blueprint component to this object, but I want to make sure that component doesn't change movement depending on the parent its attached to.
Hopefully I made sense.
in my BP_Player the camera is attached to the springArm and what I don't understand is when I move forward with W there is no problem with the camera or direction but moving backward with S there is the problem
Set under the key mapping bp as negate and swizzle input axis value under modifiers, it will work
Anyone got the algorithm to drag widget like how we would drag a window in an application?
Hey Guys, I want to ask which is better a blueprint actor spawning using spawn actor node or directly using that static mesh under the mesh of the character to get the socket and then directly weld it by the name inside character bp to use it's socket like equipable things like crowbar, shotgun or flashlight
Here, i got the problem
Wouldn't you just check if the widget is under the mouse cursor -> while input held down: add cursor distance from original position to window position?
that sounds like a plan
Good luck! 👍
Plugin is not packaged in build.. How to resolve it ?
Getting this issue in build. Plugin is working fine in project file.
I'm thinking the same thing, wondering which approach is better. I'm watching this video where they use 'Soft Object Reference' with Async Load Asset, which is also important for better memory management
https://www.youtube.com/watch?v=K0ENnLV19Cw
This week Christian Allen will provide an overview of Hard & Soft Object references in Blueprints, why the differences are important to know about, and how you can utilize Soft Object references in your project to help with memory management.
Watch Inside Unreal live at twitch.tv/unrealengine, Thursdays @ 2PM ET
DISCUSSION THREAD
https://forum...
In the input window you have -1 for all 3 vectors. I think it's basically saying go in every direction at once? I think you need to just have -1 in one of those and 0 in the rest.
Sorry didn't see that had already been answered. Hopefully you fixed it 독사!
I have playerbase class with slide montage play logic, but there is no mesh & animbp class assign , but child class has mesh & animbp class assign
how can I play montages on Base Char Class
is there way to make slide logic Correct ?
Calling play anim montage on the parent should work, if the child can play it. The better way would be to run the montage on the child - so maybe create a function on the parent, then inherit the function on the child, and play it from there. Use the parent node to run the sound and effects.
Slide (parent) > Do effects
Slide (child) > call parent > play montage > delay montage end > EndSlide
Or something like that
@vast frost
still it is not working instead of Functino, i have used parent event in child class
and one more thing my character is running continuesly
Sounds like this is going to take a deeper dive than a screenshot or simple logic. You'll have to either upload your project somewhere or give us a bigger example of what you're doing start to finish.
I gotta take my son to the doc so I can't help more currently :/
NP
Hi, thanks for your solution, but unfortunately I still have the same problem when moving backwards.
Hi, thanks also for taking the time to help me, unfortunately only X -1 allows me to move backwards and if I change place -1 nothing happens :/
Is this setting ticked in your character's "class defaults"?
There's more overhead for spawning an actor than a component. As for what is better is project specific and dependent on the end goal.
Ah 🤔 I'm not sure then sorry 🙁
No worries, thanks for trying to help me! 😄
When I am using the spawn actor and attach to component node and attach to socket then it says that the actor was not a uclass error even if I try to use get actor of class
The only time I get that is with the live coding thing (or what ever it's called). Normally just need to restart the editor.
I tried it but didn't working, and If i just go for simple it's just use set visibility node, and static mesh with animations, but I think it's just go more simple but makes codes deep which I think affects performance
I wish. It's not even remotely close to that.
sorry, pure guessing. can't see the price tag when I already bought it.
It's okay. Yeah instructor coupons are the best way to support. The cut is pretty severe, unfortunately.
I will try it
and I thought steam 25% is already a robbery.
I would have to agree with you there.
I would guess the hourly rate barely is worth it
Hi everyone!
Need some help with optimal way to make one mechanic.
What I'm trying to achieve is that when a player is near some Corn Stalks (blueprints) I want them to rotate facing the player.
Problem?
There are about a 1000-1500 of them and optimization is clearly crying for help.
These are plane surfaces with texture, and I've verified that's not the problem. I need to find another way to do this instead of Event Tick which eats up all the resources.
is this a decent way to achieve this result? (it's basically a seperate camera actor that follows the location of an actor)
wondering if it works and is performant
Crossing exec paths like that is bad practice
If you use widgets/billboards to display the texture there's an option to use global screen space which will make the texture always display facing the player (though I think this approach could have it's own problems cause it renders things on top of everything else)
Having some issue with AI. For some reason, it works perfectly in editor mode, but when I export my game, it stops working. The only AI that works is the bottom half NPC movement and not the top half of the map. I have my nav mesh covering the entire level. Here is the the waypoint code and where the waypoints are in the level (they all can be reached by the NPC.)
And yes, it's placed in world or spawned
Ok I was able to fix it. In my project settings under runtime generation, it was set to static instead of dynamic. Now it works when set to dynamic.
you will offload this to the GPU, perhaps playing around with world position offset relative to the camera.
If that's not an option, moving the tick function to CPP is already a great deal of performance increase.
There's really nothing much you can do in blueprint when it comes to optimisizing large ammount of actors.
Frame sliceing
How does frame slicing works I wonder, surely not just wait a single frame right? because that won't help with the hitch.
I guess doing something over a period of time?
1 x work spread across multiple frames
I never done anything like that so I am going by guts.
But won't lets say loading 1000 actors with blocking load in a single frame
and
loading 250 actors per frame for 4 frames.
Would there be any significant difference? Won't the hitch happen anyway?
And in the case of ticks, won't the fps get butchered either way?
Definetly a large difference
And id your pc cant handle 250 per frame
Reduce it to 100
50
20
👍
Assuming thats ok for what you're doing
The same would go for something like brain tick
You want to even out the work

So instead of 100% load on 1 frame, and 20 % on the next 3, you might get 50% over all 4 frames
Well, that's kinda sucks
But I understand
Maybe I need to find another way to make it happen
Thank you all for trying to help ^^
You want 1000-1500 corns to face the player ?
Sounds like a billboard trick would be handy
You can easily do this by material aswell
And offload to gpu as cold sais
Billboard you say...
Never got anything done with it, how that works?
A billboard is just a rendering term for a flat plane that always rotates to face the camera
if it's just concerned with the player then put the players position as a vector in a material parameter collection
pawn sets the value on their tick
corn stalk mat modifies the mesh during their render
like wind, but just bending towards the pawn
what do you mean by "face the player" though, is it some sort of movement or are you just trying to face the camera at all times?
Thank you!
Yep and just with one
Oh right. And I can make child widgets from there?
can anyone help me figure out why the second timer just isn't firing at all? I've tried to see if the timer handle is valid and it never is, even after the node itself is breakpointed
the timer in it is 0.1 for now, but I've tried with 0 as well and the timer just never starts
the bottom one is fine, just for some reason the one on the right isn't working
Can we see what the second timer on the right is connected to, please?
it's a bunch of firing code. It works fine when it's called on the left of the image. The cropped part is just dealing damage and updating the ammo
Does the exact same thing if I were to use the ongoing/triggered pins
what value has FireRate?
normally you do 1 / FireRate
as firerate is normally bullets per second
atleast when i make it lol
2 timers for a gun is certainly a smell
You have only 2 things to care about to support semi and full auto guns.
The time between shots, and whether or not holding down the trigger keeps shooting
whatever number I plug in, be it 0, 0.1 or 1/0.1 the timer just never sets
0 is not a valid timer value
0.1 is
are you sure its triggered at all ?
breakpointed it?
got something canceling it prematurely ?
I've breakpointed it and it does stop. There's a print string after the variable is set that couldn't have been fired if it wasn't the case as well. I tried putting a number like 500 in and then printing the time elapsed but it never printed anything other than 0
perhaps your validated get is comming back invalid ?
which validated get?
full auto
put a print string off the valid
make sure it's printing
(also, the reset timer should use the same fireRate as full auto)
basically the boolean could be false
which would mean the rest doesn't run
then the breakpoint wouldnt hit
oh it hits on the set timer ?
allegedly
And you tested this step by step, right? By using breakpoints and Print Strings? Anything that appears on the screen to make sure the program functions correctly? I assume you did, but I wanted to make sure because that's what I do.
FireButtonDown -> bTriggerPulled = true -> call TryFire
FireButtonUp -> bTriggerPulled = false
TryFire -> if bTriggerPulled & bCanFire -> Fire the gun -> bCanFire = false -> delay -> bCanFire = true -> if bFullyAutomatic -> call TryFire
Get it to work like that, then translate it to a timer
Either way you have 2 boolean states, whether or not you WANT to fire, and whether or not you CAN
The timer is what resets that you CAN fire, and the input is what drives if you want to.
prints true
Okay, then you did.
hard code the value instead of using the float for the timer
ok for some reason it seems to actually do the thing if I type a value, but plugging one in and it never does anything
then something is changing that value
whats the default value ?
The default value is 0.1
There's a data table I have that sets the value when initialised. I'm working in the weapon base class atm
invalid table entry would give 0
unless you've specifically set the default value for the struct to != 0 aswell,
lmao I realise why it went wrong
My dumbass forgot to actually fill the values in so it was setting it to 0.0
I love unreal sometimes but damn that was rough
i dare say this is one of the 'easier' ones
my beginplay headache last night is the type that leaves me drained for ideas
who'd know that forgetting to call Super::Beginplay would make the item unable to be destroyed ?
Makes sense if you walk up Beginplay, but man ... i'd never consider checking it at all
yeah I've come to notice if I end up spending more than 4 hours on something (not just the issue in this case but the whole system itself) it's probably because I've missed something really basic.
The hardest thing I had to debug from recent memory was when I was doing something and had to breakpoint every instance in a foreach loop to realise even if it's broken it still goes down the completed chain
Currently working on a Pickupclass and i feel like I'm walking in loops .. Does it make sense for the PickupClass to have an ItemDefinition which it used to create an Iteminstance, which the inventory-system then tosses around ? The ItemInstance also keeps a pointer to the definition ofcourse..
Hi everyone! I have a question about latent nodes. When you have a recursion in latent event, does it keep something like a stack trace? If I'll do something like in the picture, will I eventually get OOM?
I have done similar. From what I remember it's usually fine, but more so depends on what exactly you're doing in your code.
Very easy to "accidentally" write some code that crashes or grows memory.
And might depend on UE engine version
@frosty heron Also, I do have a separate widget for the UI the displays an HUD with statistics like the player’s score, the target goal and eventually a timer on the screen too. Not to mention the level map. I could call multiple instances of the same card widget from either, maybe.
Why would you do that
And as is the code shouldn't cause any issues because under the hood its a timer
For clarity and sanity i would use a timer and not a delay for this
no
That's effectively a 1s timer or 1s tick with extra steps
Recently we had to switch from using character to using a pawn, and most things are identical, however, theres a 'Launch Character' Node that no longer works because the pawn. Is there another node that can be used in place of the launch? or will I have to just add impulse at location?
how does your new pawn move around?
but it's not a character? ......... how
ok it's an HHMoverComponent named Character Motion Component, that's incredibly confusing
you need to use whatever HHMoverComponent gives you for launching
if it gives you nothing, you'll have to make it
Ok, so this will have to be done in C++?
idk, who made HHMoverComponent?
Our programmers. I know BP scripting, but not C++
You'll have to ask them what they have that is analogous to LaunchCharacter
Ok, I thought i wouldve been able to do it within BP, thank you for your help
You probably can but you guys are off in your own world makign your own movement component, which we don't have any clue about.
You have made your own CMC with its own stuff, gotta see what it gives you and request a launch if it doesn't give you one
if it gives you a set velocity then that can do it
Okay, awesome. Ill try that, and if not, i can reach out for a custom event be made. Thank you
Hey yall, I'm using the UBlueprintTypeConversions::ConvertArrayType function to make my AActor array into an UObject array
I know it sounds cursed, but the only reason I'm doing this is for grabbing info about the object.
I know I could Loop through the array and cast each element itself and make a new UObject Array out of that, but then I've found this function and it feels simpler.
The only issue is that I'm somehow exposing it wrong? I haven't changed anything inside the DECLARE_FUNCTION, because it seems to be able to handle every FArrayProperty.
UFUNCTION(BlueprintPure, CustomThunk, meta = (DisplayName = "Convert Array Type", CompactNodeTitle = "Convert", ArrayParm = "InArray", ArrayTypeDependentParams = "ReturnValue", BlueprintThreadSafe), Category = "Utilities|Conversion")
static ENGINE_API TArray<int> ConvertArrayType(const TArray<int>& InArray);
DECLARE_FUNCTION(execConvertArrayType);
The only official use I've seen is going from TArray<float> --> TArray<double> (and sometimes back)
My Question is, what would I need to change in order to use the node how its supposed to be?
Is there any specific node that I need to make it so where if I press left click once I can hold the object then click it again to drop it? Instead of having to hold left click
You could use the FlipFlop Macro on Pressed
If I have a held object, drop it. Otherwise, grab object.
I figured it out
This question belongs in #cpp
You'll have better luck getting help there 🙂
Ah sorry, ill post it there
I'm trying to make an arrow that tracks an array (delivery points in the level). It's suppose to find the nearest delivery point nerby and then track it with an arrow which shows on screen. The problem I'm having is that whenever I make it to that location and it goes away from the array list, then it doesn't automatically track the next delivery location it still stays on the last location. Here is my code for the function. It happens on tick event (the nodes inside the comment is when the for each loop is completed)
This is the code for the delivery location when reaching it there that it removes that location from the array list. Am I doing something wrong?
The length of the array does actually go down (like from 3 delivery points to 2 delivery point) but the arrow doesn't move onto the next closest delivery location
Hi I have a scene where the ball rolls into view a few seconds after the scene starts (it is a menu level). I am unsure how to make the ball roll. I thought adding impulse would help.
Zoom out a bit bud
also show what happens after removing the point from the array
you're booping the ball at 1 cm/s
not very fast
not even
you're basically barely tapping the ball
turn on vel change and multiply forward vector x somefloat unless 1 cm/s is how fast you want to boop the thing
Okay makes sense. trying now
NewVelocity = OldVelocity + Impulse/Mass
and those velocities are in cm/sec in Unreal
Apoligies. Sometimes people say they can't read it because it's zoomed out. All that's left in the code are things unrelated to my issue.
Okay I think I am drawing a blank somewhere. Still not working. I fel it is super simple, and I am just missing it
How high is roll speed?
350
Add ten zeros to that and see if it moves.
Ok don't know why but I got it fixed, after removing the delivery point from the array, I just set the closest delivery point variable to nothing and now it works.
That did it lol. Had to add a lot of them but it works
Objects have an inherent mass to them if memory serves. I don't remember the math for it, don't do physics stuff much. But you need enough force to counteract that plus make it move with a single impulse push.
Okay cool. One more question. How do I make it roll a bit smoother
Force on tick rather than single impulse.
Does anyone have pointer on as how to make a moveable widget window?
the kind you can drag, (optionally resize)
Leaving for the night, so can't explain entirely. But you can do both with DragDrop operations easily. The movement one is actually covered in Wes Bunn's livetraining thing for Drag Drop stuff. The resize is pretty much the same, except that instead of moving the widget on a canvas like the viewport other other, you're resizing it based on starting and current mouse location.
Thanks!! will take a look at it.
Anyone know why my navmesh works in editor but not when packaged?
I don't know if you got my responses from earlier today. But I did initially ask if I should make children within that widget. But then, I could just invoke the widget multiple times in the BP for the level map or another widget which displays a HUD showing the current and target scores.
...If I can.
you are still trying to do your system
I suggested to keep it simple
make a container widget
then spawn your cards in it
if you can do that then you can integrate the idea to what you are currently doing
Oh. I didn't quite understand what you meant. By spawning, you mean I should put in:
For Loop -> Construct Widget Card -> Add to Card List Array.
...on the card widget and after Event Construct?
I'm really not so sure about this, but...
And this is on the BP for the Card Button widget.
yeh but make a function instead, with input parametre like number of cards to spawn.
This way you can just call Spawn 4 cards in Map A or Spawn 12 cards in Map B.
Oh right. I'll try that.
Hm. There seems to be a conflict regarding that array and that widget. That array is a Button-oriented Object variable, so maybe I should change it back to just an Object array.
Change it to your tap 21 card type.
wait it seems there's some confusion
you shouldn't be adding to the same array you're looping over
Oh, didn't even see that
Yeah. lol
Use a generic for loop, so you can staticly choose the start and end
Without anything attached to Array?
This one?
Yeah
So the Index numbers on the left indicate how many times the sequence must be done, right?
Like this?
Yes
Add an input parameter
for the 4th time
hard coding magic number isn't the way to go. You said it your self, you want some map to spawn X number of cards and the other Y number of cards.
to have the data you need to construct the cards as you required.
I'm trying to get you to understand as to why you want to have input parametres instead hard coding the size.
Hard coding the function means, it will only work for that size, so you are still back to making your project not scaleable.
your FUNCTION should work, with 12 cards or 150 cards.
I know this won't make things any better, but I'm sorry if I'm annoying you. By input parameter, you mean the Index number on the For Loop node?
Can anyone give any advice about making a system like this?
https://forums.unrealengine.com/t/pinning-a-photo-mesh-to-a-clothesline/2665046
I was really hoping to figure this out myself, but after days of AI leading me in circles I’ve resorted to the forums again… This time I’m trying to create a system that allows the player to “pin” a paper PhysicsObject to a line. I initially tried using sockets but as a beginner I didn’t get far. I figured if I gave the edges of ...
In the function you can add input parameter. Click the plus sign to add variable.
can also drag a blueprint wire from the Last Index and release the wire ontop the purple node
Oh. I forgot I could do that.
first index should be 0
Oh right. Because 0 represents the first item in an array.
Not to confuse, but with blueprint for loops, you are allowed to put any number you want lol. It's just that will be first number it supplies to the Index output on the right side of the node.
and the last index needs to be the same or higher number than the first index
@proud magnet i would simply the goal/idea for attaching the paper to the line
So, here's what I'm aiming for: I want this function to make a 4x4 grid of a total of 16 cards.
@static charm
I'm sorry, I don't understand? do you mean simplify?
sorry yes typo
But then, I was given a suggestion to use input parameters to set the size.
if it's always going to be square grid, one input is fine.
Okay, i mean my original idea was to have two sockets on the line that would attach to the two sockets on the paper. How would I make that even simpler?
You can use direction of the line/actor and single socket in the middle top of the paper, then just attach the paper to the same orientation/direction as the line.
@static charm Which it will. For the level map I have right now, there will be 16 in a 4x4 grid. In upper-difficulty levels, I intend to put in 25 in a 5x5 grid; 36 in a 6x6 grid; and possibly 49 in a 7x7 grid if the canvas border allows.
thats smart for sure. much easier to say than to create though 😭
And the input param is clicking and dragging the Last Index slot of a For Loop onto the starting purple node, right?
Try brushing up on some videos covering functions.
know what inputs and output does
Good idea. Although I did make a playable demo in Unreal Engine, this is one thing I haven't done yet.
I can help tomorrow to walk you through it, if i have time.
it can be something like, get forward vector of the line, then rotate the paper/socket to that vector, then attach the socket to the nearest point on the line
no worries man tysm lol i was just looking for some pointers
i appreciate the help Ill definitely start experimenting
can also just cheat if the line is always pointing and rotated to the same degrees. then you don't need to do any rotation/vector math.
I don't have anything in the newer SetRowsandColumns function yet, but here is what I have, with which to invoke that function so far.
yeah i considered doing that but i wanted to create a much more modular system that i can move around
...Though maybe I should put that branch in after Add to indicate when it's time to finish the sequence.
Instead of after Complted
*Completed
Though the Index automatically adds by one every time a sequence finishes, doesn't it?
So I was following a tutorial on how to make objectives and then when it came to the point of actually testing it when I added my objective text in and play tested it, it works but the desired text dose not appear. I'm not sure why I copied it exactly as he showed and its working fine except for this one thing. anyone have any idea on why
Okay, so here's what I have now. Note that the Print Strings are there to make sure the sequence repeats until the Last Index number is met.
So should I add each array item to the viewport after this loop and in the function that replicates cards by row and column?
I just realized I'll have to make the card button smaller, too. Also, how will the program to know where to put each replicated button?
Seems you've forgotten to toggle visibility on the widget?
I didn't follow the entire discussion but usually when adding many elements you create a container for them, and add the element to that container, not to the viewport (the widget with the container should already be in the viewport).
And the container is configured how to handle children. FE a horizontal box will put them all next to eachother. A uniform grid can be configured how many rows/columns it has and each new child will be put into a grid slot.
@crimson briar What I'm trying to do is have this widget replicate itself in a 4x4 grid.
So uniform grid then
Yes.