#blueprint
1 messages · Page 183 of 1
Basically - it makes the array the size that you want, so if you have more, it'll reduce it down. If you have less, then it adds more indexes and populates with default values - in your case a default value would be a null class reference.
im still not able to get a set text node, idk why
Given that this is gamethread, you can probably get even more by removing tickability.
its working now, has anyone else gotten this bug where nodes dont pop up until u restart the engine?
You need to get here Other Actor and connect it to the print. You dont need to make for each loop. It will literally triger it when they overlap it. No matter if if overlaps 10 times. Each time it overlaps new target, it will trigger. I'm kind of guessing, but try that. Oh, you can cast to the BP_Character and check if it's character, so it will overlap only with the character you want.
Tick was disabled.
yah your right with the triggerming multiple times. My issue tho is that its not triggering at all when the overlapping player is standing still
@dusky cobalt heres a video example
Yeah I saw the video. Can you try to get the Other Actor, cast it to the BP_Character, and if it's valid then print the name of the character?
What you are doing right now, if you had 6 players, and you overlapped only one, you would get all Pawns and for each of them you would print, unless it's what you want.
I guess you want to print for only the guy that touched it, and for each that will touch it later.
you did the same thing made the variable and pulled of the widget riference then tried set text ?
yea, but it worked now, idk why but it dosnt show unless i restart unreal
what version ?
Yeah, does it work better now or it's the same effect?
5.3.2
same effect as far as , only triggering when the ovelraping actor is moving
theoretically, instead of having some of my HUD components collapse - i just move them off screen.
Would this heavily wreck my players performance?
Check this - Go to Character, Mesh Component and set Always Tick Pose and Refresh Bones
I gave that a go , but same results , ty btw! 🙂
Can you show your collision on Ring and on Character?
Not 100% sure, but I think you need to have Physics Collision on character enabled, or overlapping events might not work.
I don't know for sure because I always set these things by trying xD
haha forsure lemme try that
and you might have Physic Collision enabled somewhere but it gets activated only when moving?
or something like that xD
you mean to have Physics Body overlap in the collision Settings?
Now thinking, try to set these first.
and also make sure you have Generate Overlapping Events
enabled, on both
sorry haha , what does the box and slash represent?
check the box , uncheck the slash?
kk
You can increase the capsule radius a bit and show it in game
and check this one, this might be it
Same results :/
The overlap works perfectly fine when player is moving , I dont know if it has something to do with the fact that overlaps just dont get checked when the checking actor is being scaled?
i wonder if you would get same results on your end?
If you just created a BP actor with a static mesh of a cube , then on begin play resized that mesh cube larger on a timeline.
Would that trigger the overlap on a player if the player is standing still?
One more thing I would try is to set block on both for everything and let's see what happens.
Apologies, asking this one more time as I couldn't quite figure it out:
is it possible for me to hide variables from the class details tab in the editor? Some of these variables are part of the internal state machine of the logic I'm building, some of them are not. I would love the former group to be still something I can reference by name in my blueprints, but I don't really want it to be changed by designers. Any advice welcome 🙂
Did you try setting them as private?
Yes, my assumption is that it's only relevant if I'm subclassing this blueprint, which I'm not at this point.
Basically I just don't want to expose the state machine's implementation details where variables to be tweaked live.
It's possible that the only way to hide those vars is indeed through a subclass + setting them to private, I can explore that further.
wondering if anyone can help, I've downloaded an asset from the store, and migrated the content to my content folder. All works as intended apart from the UI. The menu now displays all windows at once. As if the logic behind when to display them has been lost. Can someone point me in the right direction here?
Something like this works on my end...
so im attempting to make a groundpound move, but im not sure how to do the sound for it? bc this way of doing it makes it play everytime the player holds the input button,
i set both to block all , but the ring just pushes the player and no overlap trigger
IM looking to see whats different about mine
kuz yours is working how i expect
Oh, so the physics works now, you can set back to Query Only (no physics collision)
can you show us your Ring mesh as well? how does it look in the view port?
In your example here did you have to chnage any certain collision settings or this just worked with default collision and set gen overlap events to yes?
Maybe started instead of triggered for the input?
All I changed was the mesh to have an OverlapAll collision setting.
yah ok , thats what i tried 1st as well. Maybe its an issue with my mesh then? , ill show what that looks like
it still makes the sound whenever the player is just standing tho, how do i make it only play when groundpounding?
Its simply a Torus shape i created using the modeling tool
Works with a torus mesh too (created a torus in Blender, exported to FBX, imported to unreal, set sphere to torus mesh)
So i had set gen overlap events set to true for my capusle component but NOT my character mesh 😢
turning that on my charcter mesh , now it works fine . Testing more to make sure
still dont fully undertand why the capsule is ony being triggered when moving tho
where as the mesh can be triggered when its still
@dusky cobalt TY for helping out! and @dawn gazelle thanks for testing on your end! Both steered me in the right direction on what to look for 🤘
my characters blueprint is broken, i cant move, and the mesh has no details
its mad with this part of the code, but it wasnt just a few hours ago
and compiling gives no errors
my character movement is also blank now
uh oh i hope you got backups
you may have to remake the character
it's a bug in unreal
you may be able to revert back to an auto save
i tried, but it kept happening after recovering bc it crashed n then this happened
if you don't have backups then your probably f'd
you need to remake the character and copy over the code
i've seen it happen a bunch of times its a bug
Character bp needs to be rebuilt
Tho I think I’ve heard reparenting back and forth also fixes it
Any clue why set actor location isn't working at all? This is happening on a character class the playercontroller possesses
Hey I'm having an issue where this is being executed twice, despite the do once
Probably the same thing as yesterday.... Different instances.
Yup you're right
But how does the allow the 'do once' to not work?
Because each instance has their own do once.
why is my blueprint failing to save? I only added a light and another cube into the viewport?
can we see the error?
I fixed it, I had another instance of the same project open
what does the warning triangle indicate? I'm dealing with my object behavior breaking when I make minor changes (even dragging a node to a different spot) and I suspect this might be part of it
Hey guys heres the part of my character blueprint to flip sprites. I have this wall slide animation I want to use but, I cant seem to get it to face the right way with how the character flips, Tq o/
Hey, I have a question. Can you tell me how to call a sequence in a behavior tree without it coming from the root? I don't get how they are calling the sequence in this:
is there a way to get the widget under the cursor?
There’s an on hover iirc
From the widget side
yeah but I got like 100 buttons, I don't wanna do it on all of them
Otherwise you could try hit under cursor but idk if that works for UI
thought o
hmmm
as an alternative, any ideas on how to simulate a click event?
long story short, my UI is all over the place and the UMG focus is inadequate
so I am resorting to a fake cursor
I can move it! 😄
but clicking it.....
feels like i need to do a
for each button, add an un hovered event to signal to the player controller it is hovered
on input, activate the event of the button.
but that would mean create an event for each
and i'm sooooooo lazy
I have a line trace that I want to play an animation but im not sure how to reverse the animation when the line trace stops hitting the item that i can interact with but not sure how to do this... this it what i have so far
https://blueprintue.com/blueprint/sxtzjh--/
I’m not sure but there’s prly a way to get widget under cursor that’s easier
If you need reverse, Timeline might be better
how would that look?
Actually it depends on what the animation is, what it does, how complex it is
If it’s something as easy as moving a bone from A to B, you can do that with a float track from 0 to 1, plug that into a lerp
all im doing is scaling an image in my ui widget
im trying to make a movement game and im struggling with two thing
1 how to make the character gain speed over time
2 how to make the character be able to slide under things if anyone has any tutorials they could sugest that would be a big help
like gain speed while bunny hopping?
like when he running the more he runs the more speed he gets and when he stops it goes back to normal
Can someone help me with my first person turn in place function?
For #1 IA node has an elapsed seconds pin, you can use that
ok thank u
What is the issue
I am having trouble architecting object pooling for my game. For example, my game has many different projectiles by combining components and visuals (Niagara & static mesh). I can't create an object pool for each. But since the point of object pooling is to reduce the instantiation of objects, at what point is adding a bunch of components to an actor just as expensive as spawning a new actor?
can anyone tell me if there's a good method to get the distance between two actors along the spline distance?
this one keeps decreasing as the two actors continue moving forward
I am expecting a float value that works like the distance vector node where the float result stays at a particular value if both actors move the same way at the same speed
and this one doesn't keep it the same
Hi all, there are optimization specialists here? Tell me, how much resource consumption will it be for the PC if I use this macro too often? (Macro to calculate the specified chance)
You get that when you turn off "Localize" on "Text" variables.
.... random bool with weight?
sorry, what?
there's a node that has random chance system with float value
there's also a node with stream
which you can make it have the same chances depending on the stream value
Oooh, I just recently started studying unreal, I didn’t know that there was such a node. Thank you!
To answer your actual question, it isn't fully clear why you're doing what you've done here, but looping in blueprints is usually not great to begin with, and what you're doing doesn't seem to require a loop at all, and this seems like overly complicated math for no clear reason. Each loop iteration has to do the math to determine the last index value on both loops (that's how these loop macros work sadly) and all just to come to a true or false. The second loop also isn't doing whatever you think it may be doing, as you're multiplying whatever the input value is by 10, which means it'll always be a value between 0 and 1000, but then you're taking 1000 and subtracting that calculated value, making it always 0 or negative, but then you're subtracting another 1 from that making it always be less than 0, and then the clamp would set it to 0 again, so then it would always add just a single chance on the second loop as first and last index is always 0.
As for the operation of the cycles - yes, I already heard that they are not ok. I just watched several educational videos about random chances. (The array is filled with different numbers, and then through switch int at the output you get a chance depending on the number of numbers from 100). And here I just wrote a little logic to fill the array and get the specified ratio. It looks like I don't have a logical fallacy here. At least it works correctly and the length of the array is always = 1000.
It looks like everything you're doing can be replaced with the Random Bool by Weight node Datura mentioned.
If it's true or false, 0 or 1 type of value you're after just use the random bool node. The only time you would need something more complex is where there could be multiple items with there own different weights.
anyone know how to hide cursor during drag drop ?
Yes, thank you, I was already told about this. I just didn't know such a node existed
hello everyone, what is the best way to spawn an actor from class with parameters in blueprint?
wdym "parameters" ? @hard patrol
you can have variables, and expose on spawn
which you can plug into it on spawn
delay node = evil, do you agree? :]
Rather than considering pooling for a specific actor, maybe consider it more for certain things. EG particle systems are a lot more costly to spawn even as normal components than most other components due to their initialization.
But in general to answer that question it highly depends on the component and the actor. Actors themselves don't really cost a lot, their component initialization usually is what costs, and rarely there are networking costs. But at the point of needing so many things that those become problems, usually you're looking at something to fake them anyhow like an ECS system.
When setup a stats system, how does everyone handle floats and ints? or do you just pick one and use that var type for all stats?
i mean personally when it comes to choosing a float or an int, i usually think about if i need the decimal
if you want to have the decimal use a float, if you just need whole numbers use an int
Well there are some stats that might be better as floats and others as ints. Having a 'GetStatValue' type function that handles both floats and ints seems like it would get a little messy.
No. It has uses.
Broad generalizations like that are what screwed up most of this channel with people thinking Tick is Satan incarnate, and that casting is awful etc.
People love generalizations 😉 every tutorial slaps delays left and right and suddendly you debug out of sync game
But its common in official doc to see don't use tick.. new ue users learn from other people
Sure, but that's not the fault of the node, it's the fault of the tutor.
Proof? There aren't official docs to teach not to use tick, because that's dumb
If you need something to happen on tick you need to use tick
If official docs are teaching crap like .001 second timers I'll be very very disappointed.
official tut ive done it's always about events, timers, avoid ticking etc
i mean tick is so useful and as far as any game engine theres usually a loop of some sort running that you use
need to test tick performance by myself I guess
probably people overload tick and there you would have a performance problem
but so far i've found you can do quite a bit on tick, but personally i try to avoid putting a bunch of stuff on it
thank you that was exactly what I was looking for
It's what you do on tick that is the issue. A common issue beginners tend to fall for is either not using tick when they need to or using tick for things that should be events.
If something needs to be updated every tick then it needs to be done every tick.
The same with delays, if you need a delay you need a delay. Personally I would avoid using delays smaller than 0.01 but even then you're approaching the sorts of delay times where you probably just need it to happen on the next tick of which there's a node for.
in my game there is a bot thats mimicking user clicking on interface. I've changed most delays to timers and suddenly it's behaviour is predictable. Another thing I remember behaviour of delay after sequence node, its not sequence anymore 😉
Timers are just a form of delay (I use timers a lot) so if you was having issues with unpredictability, it would probably an issue with you're logic that you fixed when you transitioned to timers. Timers do have the advantage of being manipulable after they're set.
I didn't use any padding in my inventory grid, but there are still gaps between the boxes. What could be the reason for this?
What is this foliage tree flickering?
Why would you ask this towards someone who is just asking their own question?
Moreover, what does this even have to do with Blueprints?
Sorry, you're right! 🙂
ok, thank you!
because like me, we want someone to answer FAST...
Sure, but violating the rules is no way to go about that.
If you want fast personal help, you pay. Otherwise you be patient :P
lemme pay u :3
what "official tut" are you referring to? There's no way epic programmers will ever say avoid tick.
Things that belong to tick goes to tick. Eg, animations, movement, physics calculation, etc, etc.
I have added a pick up and drop code and it is just launching my character
I would start by checking your collision settings and ensuring that what ever you are attaching doesn't collide with the player capsule/mesh/any of it's component
Any ideas what the issues are?
hello friends quick question
How can i add some physik to the actor at the moment when he spawned so as u can see in the video i want that the broken part always get pushed in the opposite direction from where the hit comes so
Hit from left = Shild get pushed to the right
Hit from right = broken part gets pushed to the left
collision settings
Anyone had much success using GAS primarily with blueprints, either by getting through the basic setup in C++ and never thinking about it again or by using something like GAS Companion?
I've heard the opinion of someone who doesn't much like BPs in general--i.e, don't bother unless you know C++--but it's worth getting multiple opinion on things like that I think.
Lots of people just use C++ as a base, and mostly use BP for GAS
I wouldn't recocmend GAS Companion though, it doesn't omit the need for C++, and setting up GAS can be a great introduction to some of the unreal concepts
so I've made a blueprint that spawns some child actor components in a row using a widget that I show in the editor in the construction script. Right now the loop works beautifully and spawns the child actor components with some offset values in rotation to make them look slightly randomized. What I would like to do next is have them actually follow the terrain. I've tried working with LineTraceByProfile set to BlockAll (matches landscape) and this seems to be doing....something...but A) it looks like LineTraceByProfile is world oriented, so workign with the relative position of the child actor component seems to be problematic (I'm adding world position before feeding the start and end trace pins and then subtracting world back out before feeding it to the relative pin of the spawn child actor component). and B) this seems to kinda work, but it's only working on the first child...all the subsequent child actor components are at the height of the first one...the first one follows the terrain, the rest are all at that same height.
Check out the guide pinned in #gameplay-ability-system
It walks you through the most bare bones of C++ needed to be away with BP
I will say though, learning C++ for this engine is inevitable unless you want anything larger than the scope of a walking simulator.
Even just a tiny amount to declare structs and setup simple base fundamentals
Sorry for the zoom out...hopefully it can still be seen enough to be followed.
@lunar sleet aha! there is a component called "widgetInteraction" that can simulate clicks!
I'm not completely unreasonable, I at least figured out how to set up an enum class in C++ after reading everything saying not to do it in blueprints, but I also don't want to be engaging with C++ regularly.
It helps that I've zero interest in anything more complicated than, like, Demon's Souls. Procedurally generated stuff and open worlds and AI interacting with AI interacting with AI interacting with maaaaaath isn't likely to come up in anything I'd want to try my hand at.
He only turns in one direction
I write for a living, if I had to type even more for Unreal I don't think I'd get very far
im trying to get this character to move
ive enabled autio possess ai
but its not moving :/ ?
what could i be missing ?
Where is the bit to change the value of this enum variable? It should be there, right? (UE 5.4)
@frosty heron its comfiremed
show?
The bare minimum you really need is making your structs and enums in C++, and the odd case of exposing functionality, or making a node to wrap some expensive logic.
You'll also want the skill to be able to move something to C++ if it becomes too expensive, but that doesn't often happen in small scoped games. That can also be tackled as needed.
That's really the bare minimum you need, just exposing functionality and writing structs. After that, it's just a mix of your personal preference.
@frosty heron
I believe the guide in #gameplay-ability-system is enough to get you up and running with some simple things, and it's only about 100 lines of guided code.
If you have the above skills you can tackle anything really, human ability permitting. (No solo dev MMOs :P)
next check if you have valid navigation path
and if the target location is inside the nav path, you can also print the movement result to see the error type.
Oops thanks for clarifying, guess my brain went funny lol
I have a javascript minigame, is it possible to combine it with my unreal engine project?
So for example im in my game, and then open a chest box, and it starts my javascript mini game?
I don't believe it's possible out of the box. I wouldn't be suprised if someone has made a plugin that allows you to run JS inside UE.
@frosty heron yeah im printing movement resault and im getting succsess and im linetracing wher it should move and its inside nav mesh (All my other npcs is working) deriving from other parent class ofc
No you just don't get it, my anime waifu MMO with Dark Souls combat but with guns is going to be a WoW Killer /s
Seriously though, thanks for the tips
if you are going to make multiplayer, no matter how small, I wouldn't go with bp only. Apart from the boiler plate in GAS, I'm pretty sure there are many things where you need C++.
imo Ability Task being one of them
Keep debugging I suppose
gah such a dumb issue
hm i got it working the niagara was not set to local space so it wouldetn follow the capsule
lel
hello, is there a way to prevent a specific array variable from being garbage collected? i basically have a system that saves actors i destroyed in the game, but their references just get destroyed by the garbage collector after some time
i tried to circumvent this by saving them directly to a file, but when loading this file and adding something new, the old stuff gets deleted since the garbage collector still sees them as invalid
How do you save actors that get destroyed in the game?
What are you actually saving?
object references
yup
Yeah, that's that.
but if the player loads the game back in, they would point to that actor and destroy it like it should
Only to actors that is pre placed in editor
You should "prefer" event driven things but not avoid tick. That said, timers are nothing but a ticked array of objects with a callback. Events happen from a ticked thread of checks that run those events. Even in a single-player game that will never be coop, the game ticks to see if it needs to split the screen for a second player.
Tick isn't bad, just misused in a language(blueprint) which is already slow. And then people want their 10k player large open world MMOs with 120k NPCs etc. And they start realizing that they can't just throw all of this stuff into a game at once and run it, around a few thousand things even on a decent machine while maintaining 60fps. Even in a purely singleplayer basic RPG, you shouldn't just run an entire area's map without partitioning.
Even with a nearly purely event driven system you can't really get things to higher numbers easily without other issues. Tick is usually just the first that hits due to it's overhead in BP. The real issue is design philosophy and not understanding how to only spawn and use things you need near the player. Making cells or areas that can be entirely partitioned and removed from gameplay at times. Not keeping NPC alive who are 5 minutes travel distance from the player, etc.
You should save properties of the actor you want to save like the hp, mana etc. And when reloading the game , reconstruct the actor with the saved properties.
the actors have no properties
im just trying to make sure that if the player Destroys a pre-placed actor, it doesnt appear back when they reload the game
What are you actually trying to achieve, game feature wise?
you can pick up certain actors and put them in your inventory
the system works by adding the corresponding item to the inventory, telling the save system to make sure this actor is saved to a savefile that specifies all actors that have been destroyed, and finally destroying the actor
I don't know how the cpp wizard serialise their data but in my experience as blueprinted you cannot save object ref
Once you quit the game they will be lost
You can. They just need to be name stable. Which stuff placed on a map is by default.
well, is there a better way to do this whole thing then?
Yeah that was what I meant by pre placed actors
@maiden wadi but what about objects created at run time?
i have a secondary system for that
that one works fine so its not an issue
im having issues only with preplaced actors
(the system in question works by checking every actor on the map, checking which ones are spawned in, and just saving their class and other stuff to a file so they can be spawned once the game loads)
(not very fast but it works)
The main thing is that you can name an actor when spawning it in C++. Actors on the map are name stable by default since they're serialized into the map.
The best thing to do is make item spawners. When loading a map with no save, spawn an item. When loading a map with a save, simply recreate the saved item that was already created with the same name and replace it's properties.
This becomes even easier in C++ due to the Serialize function.
what if instead of destroying the actor itself i destroy all its components?
itd become an empty actor, equal basically to a destroyed one, and i could still keep a reference to it
Sounds tedious.
And expensive.
You'll still have the overhead of the actor in the scene.
i see
Obviously depends on the number of them, but especially if you leave them all ticking
but building my level out of spawners sounds like a nightmare, too
since almost anything in my level can be destroyed like that
Hello. Doing parkour movement. Made mantle and ledge grab. Using launch characters, if feet below floor it launches up and single launch forward when feet above floor.
Mantle is ok, but ledge grab movement for some reason snaps down on final jump. Is it character movement messing?
survival
Depends on the way you want to do it. Spawners are easier for RPG styles because you can easily randomize some of them and they help track stuff easier.
For a sandbox style I probably wouldn't use them much just due to the shifting nature the map will probably have. But without them I'd probably just load the map from serialized data instead of the map data. I dunno.
It's just a bit of metadata that savegame systems can use to determine if the variable should be included in the save file or not.
It doesn't do much on its own.
Hi!, I'm trying to create a widget inside another widget at runtime or construction. I'm using the node CreateWdiget but i cannot get the new instance to show on my main widget. I've searched for Attach, AddToChild and similar function names but i cannot find anything.
Does anyeonw know what function should i call after the create node?
Hi all
I'm trying to Get Component Velocity of my Skeletal Mesh in a BP Actor
But it always returns 0
To test it I'm using a Print String on Event Tick and I Simulate and then grab the Actor and move it around th Level and it always returns 0
Here is my Print String
you can't create widget in runtime, try using common ui it's great plugin and will help you a lot
@tawdry walrus I found out how, i just needed to add the new constructed widget to a parent. In this case a VerticalBox.
This worked
ClientLineContainer is a vertical box
wow how did I miss that option
Hello. How can I edit a spline mesh component's spline points in the viewport of an actor? It doesn't seem to let me.
I tried it, but I accidentally put it in construction instead of pre-construction.
My gizmo stays on the first spline point eventhough I'm appearantly moving the second spline point. I can also not add spline points, nor can I right click to bring up the spline menu. Basically, nothing is working. 😦
Hello everyone I'm trying to edit a variable of different Blueprint using another different Blueprint. The variable I'm trying to change is "IsEmpty?" Boolean which is in a different blueprint. First image is the Blueprint that I'm using the change variable of the second image's. But for some reason I can't seem to change it.
IsEmpty is public variable
anyway to change text to a float ?
There's string to float
nevermind done it,
yeah didn't realise had to go through string cause you can go float to text
Have an easy one for you all: how do I turn off the automatic hdri lighting in a blueprint?
swear i've done it before
Are you getting your "CAST FAIL" printing?
nope
Put a print string immediately after the set here and see if that prints.
Hi Guys, i'm trying to use the convert mouse location to ws node with a line trace to drag a mesh around my scene using the mouse. its pulling/assigning the position every 1/10th of a second. when i print the break hit location on its own its fine, but once i add the meshto the equation it initially starts in the right location and then always comes back to camera. any ideas?
this is the pure print from the break hit location output
Do materials also benefit from being loaded async from soft references?
I have them in a data table, all of them
maybe they should be soft references?
I'm doing a Slot based inventory system. I wanna an equipment sytem, i need another widget or with my slot widget it's ok?
You can technically reuse your inventory widget slots for your equipment slots, but you may want to child class it to have some additional override behavior.
It's a marker for saving. Actually decent systems which require C++ have a struct called an Archive. When you pass an object to the Serialize function you also pass an archive that has a memory writer, or memory reader in it that references the data for saving or loading. Based on which you pass to the archive, it will either read data from the object, or write data to the object.
Regardless of whether you are saving or loading the data, inside of the archive is a property for IsSaveGame, which will make the archive only care about properties marked SaveGame=true, that checkbox.
Inventory Slot Child?
Yeah create a child of your inventory widget. You wouldn't necessarily change the visuals of the widget, but you can override functions and events like your OnDrop so that it calls to a different component to manage your equipped items, etc.
Not sure if i'm at the right place, but I have a question around the Editor Utility Widget and blueprints.
I'd like to switch which camera I'm piloting in the viewport through a editor utility widget. Can't find much info out there. Is there other ways than through a level sequencer?
hey so I've checked it again and yes it says CAST FAIL
Ok, that means this variable here either doesn't have anything set in it or it is not a BP_SockeRub1.
Like, you may have set the type of the variable to BP_SockeRub1, but you need to actually set a reference to a spawned BP_SockeRub1 in it.
can you show me how can I do it correctly
No, because I don't know how a BP_SockeRub1 relates to any of this. You'll need to learn how to properly get references to your objects.
Announce Post: https://forums.unrealengine.com/showthread.php?101051
This Training Stream takes a look at Blueprint Communication. We find that Unreal Developers of all levels can sometimes struggle through the concepts behind moving data between objects. So in this video we'll take a look at the different ways to make Blueprints talk to one an...
"How to get references to objects in blueprints"
But that also requires you to understand what a reference is, and knowing how you can relate the BP_SockeRub1 to what you're doing and how you can pass that reference to the thing you're working in.
so your saying the cube is moving toward the camera ?
Yeah that's right
so your actual trace is fine ?
Yeah it seems so, when I pull the location vector from the break hit before plugging into the set world location node it performs fine
As seen here
does the trace hit the cube ?
Yes it does
are you placing the cube at the hit location ?
Yes
think about if you hit the front of a cube, then put the center there then hit the front of the cube, put the center there
it would probably do what it showed in the video
Of course...
It's going to keep offsetting every tick
Until eventually it reaches the camera
Thanks man...
Very obvious now I think of it
i would probably use a custom channel for the trace
How do you access a created user widget to loop through the custom buttons? When attempting to select all children; it only shows an option for WidgetPanel which is not compatible with the UserWidget nodes? Thanks
Oh yeah? Could you give me an example? If you have the time ofc
you don't want that specific trace to hit the items that your placing
so that it still sticks to where you hit
so if you make a custom channel, and default it to block
then you can ignore on all the things you place
and use that custom channel in your trace
this way you don't really mess with the collisions just using that specific trace channel it won't detect it
I see, so the trace ignores the target actor but still feeds the correct location?
right it just goes through it and its the wall where you want to put the thing
does your widget have a canvas panel ?
instead of trying to get the widgets children
make one of the panel or overlay, or even the size box to make it easier, maybe even the textgridpanel a VARIABLE
then pull from the widget ref
and get that, and then do get all children
i did it with a canvas panel, but i'm guessing it should work on any of them that is like a container
this way your targetting what you want a little better and if you want only buttons you can loop over the children and cast to button
use whatever you can that contains those buttons and get children
Thanks! I'll try that. I made the menu button a variable(the button) and each menu a variable and set it on a HUD class, and passed them all there. Was trying to decouple hard dependencies as much as possible (but I'm new to unreal so learning the differences).
Ok cool thanks. Looks like it was just harder to get all children from the user widget W_MainMenu than it was to get a child(that's already a variable) find the parent and THEN loop, not sure why
why you make array from get parent like that ?
Just testing to see if I could, not the final result
Hey everyone, I'm trying to get it so a character can mount a ball and control the balls movement whilst on top, but I'm having a hard time figuring out how to get the rotation of the ball to match its movement without affecting the player mounted on top. The problems I keep running into are either:
- The ball is a component and moves independently from its scene component (which I'm assuming is bad)
- The ball is the root, and objects attached move with it (so if I create a socket to attach the player too, the player is just going to end up with their head on the floor)
or 3) I have to hard code the movement from scratch, and I've heard "fighting the engine" (which I assume this falls into the category of) makes the goblins lurking inside the engine code angry
Of consideration, but I suspect not important for the immediate resolution of this problem is that the player and ball need to be able to detach and act as separate actors, with the ball being a physics object at that time.
i mean you could just position your character above the ball on tick
or you could put an invisible platform
that follows the ball
You know, that might just end up being the best solution
Thank you 🙂
ok so i have a ranged character and i want their rotation to be facing the main character so ive been trying to utilize box collisions to identify which way the enemy should face but its not really working
i heard that you could use a focus node but that didnt work any other ideas to have the enemy face the character?
There are nodes to get look at rotation for actors. I believe AI controllers also have features for this but I've never used them myself.
im new to ai stuff so its hella tricky
hey so quick question how do I make my own custom data assets?
For blueprints you can creat a new bp object that inherits from PrimaryDataAsset, then it will show up under data asset drop down.
aight thanks
Working with CommonUI plugin, I created a Widget for Inventory that on create I expose a variable for the Actor Component called Inventory. In my player controller, after I restart the project, CommonUI fails to load and it breaks my blueprint. What is wrong? What is best practice for passing data to a widget? This has happened in two projects now.
Don't create from new blueprint class afaik it has ti be right click empty space in your content browser-> Misc -> data assets
So I've got a separate pawn that I use just as a scenecapture camera for the map. I switch to it when the player opens the map, so they can control it to pan around the map. Neat right? But the problem is the edges.
how do i zoom in ._.
See the massive motion blur around the edge? That's supposed to be clear. What's happening, I think, is that somehow it's showing the frame where it's swapping to the map pawn somehow, despite that pawn not having a real camera even
I'm already pausing the game before I swap pawns so I don't understand HOW this is happening.
Looking this up online, the only suggestion is to not switch pawns at all, but instead to have some sort of control passthrough mode. But that seems so messy, since I have to do it for every input
ctrl + mouse wheel
thanks
#animation message Does anyone know something about this? I would really appreciate any help
There is something set by default that if I click on the button in HUD/Widget, game will ''lose'' my cursor and I have to click again to enable it?
I think you need to make sure that input is set to UI
Oh, yeah that will be it probably. I saw it somewhere. Thanks.
I like to use boxes to overlap set the target player in my ai. Kind of like a vision scope. Once they have a reference to the player they can do some equations based on world locations to set the ai rotation to face towards the player
I have a pawn actor that is has a mesh component separated from the bottom collision component because i want it to look like its flying. It is meant to shoot at the player. However set focus makes it so that if you get to close to it, it will start to rotate so that the portion that is meant to be floating is on the gorund. Is there a way to avoid this problem
What does this "Level" pin do on the ApplyGameplayEffectToTarget node? I can't seem to be able to find any reference to it within the gameplay effect itself. I was hoping I could pass in values to change the magnitude of the effect with it.
hmm, actually I figured out what it is and how it works :p
how do I make it so when the actor's dilation is set, it also affects the particles simulation speed?
i'm mostly summoning the particles in animation events so unsure if i have to resort to using global time dilation to remedy this
thats what i started to do but was finding it a bit hard to get it to work
by any chance could you share a screenshot of that code as well just to have a ref for? if not 1000% understand
Hey, how would I makes the camera followt he player?
Are you doing 2d or 3d? And perspective angle?
I'll send it over shortly for you to see
I'm doing a top down perspective so I'm only using X and Y
Pm'ed it over to you@queen dagger
2d
Okay this is going to be hard to read i apologize but I'm losing my mind am I using VInterpTo correctly?
X=6048.429 Y=-0.000 Z=1431.398 : X=6048.469 Y=-0.000 Z=1743.703 : X=6048.433 Y=-0.000 Z=1467.834
X=6048.433 Y=-0.000 Z=1431.398 : X=6048.469 Y=-0.000 Z=1743.703 : X=6048.438 Y=-0.000 Z=1467.834
X=6048.438 Y=-0.000 Z=1431.398 : X=6048.469 Y=-0.000 Z=1743.703 : X=6048.441 Y=-0.000 Z=1467.834
X=6048.441 Y=-0.000 Z=1431.398 : X=6048.469 Y=-0.000 Z=1743.703 : X=6048.444 Y=-0.000 Z=1467.834
X=6048.444 Y=-0.000 Z=1431.398 : X=6048.469 Y=-0.000 Z=1743.703 : X=6048.447 Y=-0.000 Z=1467.834
X=6048.447 Y=-0.000 Z=1431.398 : X=6048.469 Y=-0.000 Z=1743.703 : X=6048.450 Y=-0.000 Z=1467.834
X=6048.450 Y=-0.000 Z=1431.398 : X=6048.469 Y=-0.000 Z=1743.703 : X=6048.452 Y=-0.000 Z=1467.834
X=6048.452 Y=-0.000 Z=1431.398 : X=6048.469 Y=-0.000 Z=1743.703 : X=6048.454 Y=-0.000 Z=1467.834
X=6048.454 Y=-0.000 Z=1431.398 : X=6048.469 Y=-0.000 Z=1743.703 : X=6048.456 Y=-0.000 Z=1467.834
X=6048.456 Y=-0.000 Z=1431.398 : X=6048.469 Y=-0.000 Z=1743.703 : X=6048.457 Y=-0.000 Z=1467.834
X=6048.457 Y=-0.000 Z=1431.398 : X=6048.469 Y=-0.000 Z=1743.703 : X=6048.459 Y=-0.000 Z=1467.834
X=6048.459 Y=-0.000 Z=1431.398 : X=6048.469 Y=-0.000 Z=1743.703 : X=6048.460 Y=-0.000 Z=1467.834
The interpto return value isn't even attempting to move the Z axis, what I get is im interpolating along the X axiz but the Z axis left alone????? Has anyone dealt with this behavior?
why does it print 12 times? i see x is always 6048.459, and that z goes 1431 to 1743 back to 1467.
I'm running it in a timer event.
Its 3 different outputs Target : Current: InterpTo result
it loooks like if my character is jumping or performs this dash off a ledge the moment its no longer on the ground it performs as expected..
im thinking this isn't actually something with vinterp to but something with set actor location
This is probably easier to demonstrate it. The character should go to the target sphere (white) the blue is what the character is recieving from interpto, and yelllow is what the character is doing.
its just a straight interpto, so the fact that it glides across the ground and then once off the ledge will properly interp to along the Z axis makes me thing somethings up with the character movement. I disable gravity though...
If I disable the component tick of the character movement component this works as intended 🤔 The plot thickens. The solution i guess is to disable do the set location events, then once its hit the destination, enable character movement but this feels like a cop out. Anyone have any ideas to try?
can having too many AI bug out other AI?
I have a couple of enemy pawns on the map
and i noticed in testing some were just not moving at all
I deleted them and duplicated other pawns on the map.
the duplicated ones work... but other ones stopped working
is this... normal?
so i just tested it, seems like 49 AI pawns can exist
no more
interesting
this is because of the max agent count in the project settings
the wha?
are you stopping on the floor?
not sure if this is a blueprints or c++ issue but my gamemode is not calling the following code in beginplay or tick. the WinGame event is working just fine, and log statemtns in my C++ parent class also work fine, but not the print statement in the BP version
I've been dealing with so many gamemode issues i stg I can't believe how fundamental my problems have gotten
What WinGame event?
bottom left corner of the screenshot
"ultimate power"
Oh ok so parent is a cpp GM?
And nothing prints ?
the only prints I'm getting are the log statements in the cpp file and the print statement originating from the bp win game event
if your parent is a cpp class, then call parent doesn't mean anything IIRC
I mean, I’d do an engine restart for sanity check but
This prly means you have the wrong GM selected in the world settings
I have restarted the engine so many fucking times
my naming conventions aren't great (the BP gamemode I've created is BP_FirstPersonGameMode which inherits from ModelRunnerGameMode.cpp, which inherits from AGameMode)
but that's the correct GameMode
And just to make sure, you’re not doing some level change ?
I also tried creating a new BP_GameMode class which also inherits from MRGM.cpp and re-setting all the references. I couldn't find anything I was missing but it still wasn't working
nope, I'm loading directly into this level
Very odd
both in the editor and in the builds that caused me to first discover this issue (and the several dozen other ones that led me to this)
Did you disable screen messages maybe?
single player or multiplayer?
singleplayer
Did you play as client in the settings?
I am getting an onscreen message from wingame, so ik that's not the issue
not sure, nor am I sure how to do that. hold on lemme look it up
Not sure then
here, you can select the net mode when you PIE
tried that, crashed my editor, trying to look through the code now
best guess is that in doing that I somehow broke the link to my gs (or I broke the link earlier through any of the other few hours of debugging I've been doing and that exposed it)
getting a whole bunch of null references, it seems like the gamemode isn't even getting created in the level
god
Have you changed the name or moved the BP to other folders? Maybe it has something wrong with the reference. Try to fix up the redirections?
I have changed the name and moved it around, I've been fixing up redirectors a fair amount while I've been debugging all this. Just ran that on my Content folder but still no dice
had a lot of references that it loaded briefly and presumably fixed, but nothing more substantial than that
Is it possible to delete one of those "dot" thingies from the wire (I couldn't find the name for it, sorry...) without deleting the wire it's on? Sometimes you don't need to fork off the wire and you want to clean up the thing, and Alt + Click deletes everything it's connected to.
reroute node, and no
When I run as client the level generates a player character, controller, and gamestate (all my custom classes), but no sign of the gamemode. I get a bunch of nonfatal "accessed none trying to read property" errors but it doesn't crash until I input movement, at which point the playercharacter makes a call to a function on the gamemode, which itself references the gamestate. the line referencing the gamestate is where the editor crashes.
I receive a beginPlay statement from the cpp file, but not the blueprint file. the gamemode is not visible in the file hierarchy.
most importantly, I don't have any of these errors when I run as standalone - is there anything particular that I might be missing that might be indicated with the client? you mentioned the redirections, is there anything deeper I can check on there?
Any ideas why the return value of "Make Outgoing Spec" would return nothing if all of the inputs going into it have accurate and up to date data?
you might need to make the effect context.
Okay, yeah. I did do that and eventhough it still does not appear when debugging, it is actually working (and was likely working before).
thanks!
I'm trying to make a line trace that hits static meshes. However, my actor also has a sphere collision that controls its visibility. Is there a way to make the line trace ignore the sphere collision and only hit the static mesh component? When I set the collisions of the sphere collision to no collision, not even the static mesh with block all collision gets picked up by line trace
Fixed. The problem was that my mesh was movable rather than static, which is why my line trace didn't pick it up.
Somehow I immediately find answers myself after asking someone 😐
I think you need a tracechannel, which behaves like a mask
Thanks Epic
ooooh, that's what they mean by 360 no scope
so this was working, but now its not and im sorta lost
i dk why my line trace wont pick up the enemy
hello guys how can i change the velocity in bp i tryed all the different choices there for the vel.
Any idea why my right turn isn't transitioning smoothly?
SetVelocity
Is your game mode based on "GameMode" or "GameModeBase" and is your GameState based on the corresponding "GameState" or "GameStateBase"?
I was just about to ask the same thing. 😄
Does anyone know if a looping timer would keep a uobject from being GC?
Hey guys, having some trouble understanding. How would I tell another BP (child of parent BP) to play a montage if conditions are met?
First make sure it works for the parent, if you create child out of that, it will automaticaly have everything the parent has. If you change just a variable then, the logic will be the same, but for example with different sound or animations. Everything parent does, child will do too.
Basically you don't have to tell it. It already inherits everything the parent has. You might not see it in the child blueprint, but child first reads everything the parent, and then you can specify special things for the child inside child.
step one. , and 2 Your montage sent to the Animation BP, and is used by the slot
So I'm using a timeline to drive a rinterp node, and it works but for some reason the interpolation is done faster than the timeline's length so for a while it just sticks to 0 before completing
I'm trying to create an inventory system but i learned that it's not possible to create children of structs. What would be the best way to make items that are editable but different variants of an "item", which could contain different variables other than the base ones? Just as Objects with inheritance?
But what if the parent does not have the info that the child requires? basically I have my char shoot a raycast and state when it hits an object, in this case a book. Now I'd like to make the child (book) do an action (animation) when the player hits the book and is calling out ''book?'' (yes/activate) I'm just not sure.. how.
But what if the parent does not have the info that the child requires? Why would you make it like that?
In the child you can get all functions from parent, just type the name of the function inside child blueprint if you want to access that event/function/variable and override it.
In this case your parent is shooting raycast and is givin info that it hit and object - book. Now in the child blueprint, you can add additional logic to that event / after that event, just get that event from parent (where it shots ray) save that into variable or something, and add branch true/false and continue the logic.
I feel that you're using the wrong term. It seems like you're just needing a standard interaction system type thing. Player looks and/or interacts with A, A does something where what happens is defined in A.
From your screenshots, it doesn't look like you have a valid ref to the book.
yea, just ubobjects. This is how I currently do it. I have the base item object and then create children of it.
didnt work 😦
only if i change the numbers in the component is can see results
and for saving and loading you do what exactly? 🤔
afaik arrays of uobjects wont save/load properly because of serialisation or something? 😅
You save the class type and any pre-serialized data from the item. When you load, you construct the item object using the class and have a function you can pass the serialized data to and let the item object extract the relevant data and apply it to the relevant vars.
Might have to redirect some logic around. Its kind of a mess atm. I've basically got 3 systems intertwined. (Parent) = blueprint that allows the player (raycast hit) to pick up and rotate an object. (Child) is number of children (objects) that are pickupable/inspectable. Now this new child is a bit different. It follows the same logic.. aka pick up and view. But it also has more logic inside of it. Aka turn pages on the book. So currently the character raycasts if object is ''inspectable''.. If it has the tag ''book''.. Then it spawns a special UI that has the logic of the special child. (I'm clearly not a programmer) 😄 I'll have to look into it
Sorry, i think im mostly understanding but you're saving "the class and pre-serialized data" as what? would that be an array of structs (which contains class type, and another structfilled with the data)?
I would start with separating everything into fresh blueprints in this case, and then thinking if making any of them child can help or not, but I think you choose wrong tool for this kind of situation you are trying to make.
At a guess I would say its an issue with some additive animation that's scaling you're bones.
I want to call an event from a different blueprint to my fp character, what do I need to put as the object?
You could Get Player Character and plug it there
it's already in the player character
Something like this. You could create a structure that contains the data that can change but is in all items and then include a string for additional data in any child items.
you need to get a reference to the actual wall lights
Well, you said from different blueprint, to fp character, which meant that you wat to call outside character to it.
how you get that is up to yyou i suppose, you might get it from a raycast for interacting in first person, an trigger/overlap box etc.
Oh i hadn't thought about doing it all as strings. Does it get quite messy?
Like this?
well thats just an unplugged node that says "set this variable to exactly the same as what it already is". so a bit pointless
You can just get Get Actor Of Class and it will work, but it depends what you want to really do. Also the controlling logic should be in Player Controller not in character.
But i set the animation to mesh space but i don't know what was happening
You need the reference of the wall lights on the character blueprint, not in the wall lights blueprints (that already knows its a wall light!)
tbh, you can still keep the logic in the first person character bp if you want. not best practices but good enough
in this case i'd honestly recommend watching a video about how to do this, im sure theres plenty of tutorials for "turn on lights"/ "open doors" interaction stuff tbh
That depends how good you are at serializing your own data. 🙂 Personally, I don't think so. Just to clarify you would still have use variables as normal but you would have a function that will get all the relevant data as a string that can be used when you want to save it.
This is an example I use for something else but it's the same concept.
The second screenshot is a function that takes the supplied string and parses it back out.
@dark drum
how can I destroy a BP?
"destroy actor" node?
for example I've a big button which spawns an object but I want this button to be perished for good afterwads
Ah got it! This is nice too, i guess it's almost like json or something haha
I'm not overly familiar with the ins and outs of the animation side of things so you might be better asking in #animation
ohk
It's only affecting 1 light, I thought it'd affect every light
Pretty much.
Then you need to Get All Actors of Class, it will work for this simple thing but it will literally affects ALL lights in your whole game.
Ah I only need it for screenshots of the scene, a day theme and night theme
You need something to filter out which lights to put that effect to, like interface, maybe line trace.
Then get all actors of class instead actor(1) will work.
I'm now thinking would it be easier to just dupe the level and make one lit and one rect lit
this would take you 20 seconds max
Ah okay
if you have proper class inheritance
Just change node to Get ActorS of Class instead Get Actor Of Class.
It wants an array now
Now use For each node from the array.
for each loop
sometimes you can even just plug in an array, but idk why some nodes like this and some dont tbh
Perfect thank you
in the future i'd also suggest renaming your events to understandable things instead of "wall lights" consider "toggle wall lights" for example
but as long as you know what its doing... 😂
I got you xD I appreciate it, this scene was supposed to be soley for screenshots so this would've been the only mechanic in the project
Usually I'm pretty good for naming
I want the ball to hit the net and reset the ball back to it's starting position.Problem is the collision won't destroy the ball meaning it just blocks the ball out of the net
I can’t seem to be able to make my objective list connect to my interface. When the player interacts with the NPC they get the option to either accept or decline the NPC’s task (Reject button works fine). What I want is for when accept is clicked for the current object to be updated so the player has a new task in the top corner of their screen.
I thought I had fixed it by creating a new variable as a scroll box type on my quest ui but this seemed to create an error.
did you try to monitor values of quest and objectives during runtime?
set debug break on loop and check values when it pauses
also where do you set these variables?
screens don't show how and where it's set and updated
im so sorry im a student i dont understand can you dumb it down for me
Accessed None errors always mean a reference you're attempting to use has not been set or is now invalid. Somewhere in your "Quest_ui" blueprint you're attempting to access "objectivelist". Can you show where this is in your code?
Kinda simple thing, but want to make sure.
I have event dispatcher on Resource (there are 50 resources in the map), and then there is 1 building. I bind on the building to the event when building is created.
Do I have to get all actors of resource and bind to each of them or it's enough if I just bind it to 1 object reference / class?
is this what you mean by the objective list
you probably set it as variable, but it does not point or store any data that can be used. this variable need to be set before you can access it
if you dispatch it from resource then you just bind it wherever you want to catch this dispatched call
for example, you have to pass quest information from NPC to your widget
Yes. Is that an actual part of your widget, or as Andaron pointed out, did you just create this as a variable?
but I have to bind this building to each of resource that I want to bind or If i bind to this event once, then anything that calls it will trigget it? like do I have to put it on the loop, or I can get just idk first item from the array of resources and bind it there and it will work for everyone?
ok, got it, thank you
@rose crest @dawn gazelle it is just a variable how would i set it?
You need a reference to the actual thing you're trying to access.
If it's a variable, all you've done is created something that can contain that reference. Now you need the actual reference that would be able to go into that variable.
Something like this is a reference to an object. So wherever you may have created the actual "objectivelist", that's your reference.
Is it possible to rotate a dot product so 0 becomes forward, -1 and 1 left and right sides ? Should I use Right vector ?
Ok, I don't get it actually 😄 I actually have to Bind to every object that is dispatching that event right? I cannot just bind to event and anything that calls it will trigger it? When I binded it like this, deleting itself only worked for the [0] index of array. It would mean that I have to actually use for loop and bind to each of resource? I'm just trying to understand better these dispatchers. They are awesome.
Or maybe I'm binding it wrongly and I could access that dispatcher easier ? The dispatcher is inside component of the resource.
and it get's calledwhen the resource has 0 stacks, then it get's destroyed.
hey I want to destroy an object at the end of my BP but I can't seem to figure out how do I use the cast to BP
Do you want to destroy actor itself or actor that is in the world? Do you have any reference of that actor inside the blueprint that you want to destroy it in?
@dawn gazelle I think that's my issue that I ran into the begin I made the variable because I can't figure out how to get a reference or set a reference.
yes and no I have a button Blueprint for vr, basically I can push buttons and I have another BP which is 2 buttons using my previous one being the parent. When I press either one of the buttons do blah blah blah and at the end destroy the parent actor which will lead to destroy all actors attached.
Do you have something like when you click on button you show Play and Cancel and when you press one of them you want them to dissapear?
it's like a choice both of them spawns different item
So you just should collapse them, not destroy. Are these buttons widgets?
Can you show some code how it works more or less
I'm still learning, but I think this works pretty good for most of what I need. If anyone has ideas of how to make the motion smoother, please let me know!
Hope this helps!
Help support me through Kofi!
ko-fi.com/virtualrook
------------------------------------------------------...
I've used this tutorial
Just show your code lol i dont have time to watch tutorial xD
and what exactly you want to delete?
BP_Selection
this is BP_Button
you want to delete that red button completly?
you can just use Destroy Actor node and point to self
not to the red button red button is child of the BP_Selection. I want to destroy BP_Selection
Based on what you're describing you'd create the widget that represents the resource that was discovered - you'd feed that widget the reference to the resource and have that widget bind to the event dispatcher that would exist on the resource. So then when the resource is done, it can call its dispatcher which would signal to the widget to destroy itself.
Announce Post: https://forums.unrealengine.com/showthread.php?101051
This Training Stream takes a look at Blueprint Communication. We find that Unreal Developers of all levels can sometimes struggle through the concepts behind moving data between objects. So in this video we'll take a look at the different ways to make Blueprints talk to one an...
Well that's just it.... What specific instance of the thing is it you're trying to get a reference to? Where does it exist? You need to get to the point where it exists and somehow move that reference to where you need to use it.
Oh god. that makes more sense. Thank you ❤️
What does BP Selection do ?
Bp selection is a compositon of two BP_Buttons which has different effects. Left one spawns a ring, right one spawns an amulet I want players either choose one of them then destroy the BP_Selection
after making a selection by pressing the button either one of them
you should watch the video I linked you
BP Selection is composition of two bp buttons? how did you do it?
you should look up casting, but where is this othe bp you want to destroy ?
What is Casting in Unreal Engine 4 Blueprints?
Source Files: https://github.com/MWadstein/wtf-hdi-files
so, im restarting my project, and focusing on making it easy to build levels later in development, i found this video, and thought the idea of platforms i can make with a spline and adjust with the spline would help make it easier, how would i make something like that in unreal? https://youtu.be/3SmHH9Drsrg
🛠️Level design with with procedural tools and flexible shaders🖌️
What do you think about the artstyle btw?
MWR is a 3d platformer game featuring a Cubed Cat with sandbox levels and platforming challenges
oh fun
Yay
That or Houdini Engine.
I would probably recommend that, although it's not a simple solution either.
It would definitely be easier, but Houdini has a steep learning curve and also a license cost.
Is there an event anywhere in the engine that is called when a new input device is connected that can be accessed in BP? Like plugging in a new controller?
https://youtu.be/rmRFtGGkmgI would something like this not be able to serve the same purpose?
In this series, we will look at all of the different ways of building structures in UE5, from manual modelling tools to automated scripts using splines, geometry scripts, PCG and other techniques.
In this episode, we'll enhance our basic spline wall system, adding proper angle creation and mesh stretching to fit our spline segments
You can cat...
No, the big thing is you're generating the mesh. You're unwrapping it procedurally, filling a mesh bounds, and being able to paint and such
You use something like that and your platform is hollow with no top
then id add another mesh to fill the top?
Hi, I have this IR_Value_BP, that is run on event beginplay and this will set bool Temp Warning to true. I then use get actor of class in widget blueprint in widget blueprint. Why won't it stop the sound?
Could someone pls help with making a world space widget render on top of things? couldn't find anything specific yet, only the colored outline tutorials.
Basically I want to fix overhead HP bars sticking into walls and I need specifically world widgets for camera setup to work
Edit: found this thing https://forums.unrealengine.com/t/is-it-possible-to-make-3d-umg-widgets-never-get-occluded/408536/2
does it reach the stop node at all?
This will never get to stop.
You're not changing the alert status anywhere inside of there.
You're saying is this thing false, if so do this thing.
Now without me changing this, if it's true, do something else
owh I see
@outer quail you'd probably want to bind the stop logic to an event dispatcher on alert UI
Any idea how I can make it so that it only rotates one component rather than the root?
put into target that one component u want to rotate
Drag from static mesh and look for nodes that aren't ''binded'' to actor. There should be alternative that is universal.
set world , or set relative
pay attention to the target
you are trying to plug a component to a function that lives in actor
also
you setting, not adding to it
probably get it, add to it, set it
if you want it to spin
Ahh perfect, fixed now thank you guys
both inherit from their respective base class. MyGameMode inheriting from GameModeBase and MyGameState from GameStateBase
Engine not open atm. But I want to say there was an event in the GameInstance for this?
anybody?
attach a spring arm to the character
Did you enable Allow client side navigation in settings?
If you run simplemove on the server it should get replicated to client
iirc
Hey folks
Is there a node to do a "For each loop" for an Enum?
As in, I have an Enum with 40 different options, I would like to loop trough them all?
I could make an array with one of each Enum option, but I mean without that.
There should be. It should be auto made for any enum.
Try searching "For EnumName"
If your enum is C++ specified, I remember there being an extra step to that. Been a while since I've needed that though.
It's easy enough to fix. Give me a sec and I'll look that up.
@young meteor Something like this. EG you use that macro after your Enum to specify the start and end of it's iterable range. Then you should be able to start the editor and find that for each for the enum same as you can find for a lot of engine default enums.
UENUM(BlueprintType)
enum class EMyIterableEnum : uint8
{
Invalid,
SomeEntry,
SomeSecondEntry,
SomeThirdEntry,
SomeFourthEntry,
};
ENUM_RANGE_BY_FIRST_AND_LAST(EMyIterableEnum, EMyIterableEnum::SomeEntry, EMyIterableEnum::SomeFourthEntry);
Neat, thank you.
hmmm, changing the design of a UI in a blueprint isn't saving .. what could cause that?
Any idea what it was called?
Device something. OnInputDeviceConnectionChange OnUserInputDevicePairingChange maybe. I thought there was an event you could override though. I can't open the editor atm to look.
Callback for handling an Input Device's connection state change.
i found this maybe.. not BP tho
I want to set game paused then after delay of two seconds i want it to unpause , this didn't work , it remains paused
And nothing after set game paused works
cause the game is paused?
Yes so how do i unpause after two seconds in Bp, thats my question, set game paused to untrue isnt working
i wonder if the delay is getting paused too
u could try a timer?
and use an event to trigger the unpause
Hiya!
I am working on my project and I have an issue and I may need some help in clarifying why this issue happens.
Delegate declaration in C++:
DECLARE_DYNAMIC_MULTICAST_DELEGATE(FOnTeamUpdated);
public:
UPROPERTY(BlueprintAssignable)
FOnTeamChanged OnTeamUpdated;
I used to bind this in Blueprint using the Bind Event to On Team Updated node, but since this got messy real fast I tried to do the same thing using this cute little button (https://ass.drison64.eu/2wTaT3Ne1MkL). But using this, the event node does not get triggered. (Yes, the delegate is being called).
Am I misunderstanding the way this works and maybe that there is a difference when I use the Bind Event... node and this?
Thank you in advance!
How do I make a child actor automatically implement a BPI it has inherited from its parent?
Just tried that, and Game Pause took over the timer event too
I am missing something
once you pause it it doesn't go back ?
set the timer first then pause it, but it may be that tick shuts off instead of finishes ?
Timers don't run while the game is paused. For obvious reasons. It's paused. You don't want you 1800 gameplay related timers not paused.
Make a tick event and check the unpaused time.
IIRC Widget Animations are also not paused, and can serve as a timer if you put an event callback in it's track. Depends on where you need the timer.
It already should be implemented.
The button you linked is the same as doing BindEvent, using the selected component as a target. So it depends on what you're binding on.
I should maybe clarify that it is a replicated AInfo actor but I don't think it being replicated matters since it does not fire on the listen server either.
Having technical difficulties with casting (attempting to make a transition to a sort of point and click mode of play((think fnaf + papers please))). Somewhat new to unreal blueprints so it could be a more obvious issue I'm overlooking, any ideas of why the cast is failing here?
What is IIRC Widget?
I just want to pause the game and display dialoge pictures (animated widget), then unpause move to the next level
Do you think its possible
Like after killing the enemies , the game would pause and and an animated widget would appear on top then after widget animation another level is opened
IIRC is "If I recall correctly". And sure. You're already using a widget. So in the widget make an animation with an event in it's track. To make it even easier you can put two there. One for pause, one for unpause. And just play the animation track on the widget's construct.
straight up HitActor isn't a BP First Person Character
The IsA check is a bit redundant here too.
Wow event construct in widget can unpause the game thank you so much
ok, so explain this tutorial to me and why this works but mine does not- https://youtu.be/21-VG2hq0W0?si=sWcbmwVIKWklqM10
In this episode we go through what possession is, how it works and demonstrate som basic examples.
Join the Discord server here: https://discord.gg/zBeebU7uv3
Support the work of LeafBranchGames on Patreon here: https://www.patreon.com/LeafBranchGames
I want to give my actor a tag via blueprint
I dont' want to spend 20 minutes watching that, so can you paste the left hand side of your blueprint and give me the timestamp of his BP?
okay, I watched it, does it work if you just cast it to Pawn instead of First PErson Character?
another thought is: what is the line trace hitting? you could put a debug in to print the name just to see what you are clicking on to see if the problem is the line trace hitting the wrong Pawn
Should also start by printing out the hit actor to see what it is.
that worked, thank you :D
Im working on inventory sorting and I have a button to stack everything in the inventory. So far i have the logic to find the itemID's for all duplicate slots in the inventory as well as a function that compresses all items together if they are spread out. Now i am just trying to figure out the logic to stack the duplicates into one slot. I figure it is a pretty straight forward solution but I hit a wall for some reason..any suggestions would be great! Here is what I have:
haha, sweet! 😄
@waxen fog Something like this might work for you. Since the delegates are BP exposed at least. I thought there was an event for it. 😦
Yes thank you was able to get something set up with those!
@waxen fog Also just stumbled onto this. This might be a newer UE5 subsystem?
Woah never seen that
Thanks for this
Does anyone know of a way to get the smoothness and consistence of set focus while only rotating a portion of the pawn
You’re comparing an actor’s velocity with its forward vector
What exactly are you trying to do?
I think I found a way, manually inserting float values
I'm trying to trigger the correct animations for directions: left, right, forward, backward
I guess that CalculateDirection could work. DOT product is usually used to check if 2 actors are facing the same way, facing each other, etc
i have a problem with normals inside unreal, while in substance painter, everything is fine but when i import it to unreal my models shading is screwed, anyone had this problem?
I need the direction of the movement instead of where the character is facing ...
Yep, so use that CalculateDirection, not DOT
no because it returns always 0
#materials is better for this
thx
Why not just separate your IAs into 4 diff directions
And trigger the corresponding animation on each one
IA != AI
Not in English anyways
Input action I mean
Ah I c what you mean
it should be done with maybe "get last input vector"
I dunno
it's too much complicated this stuff CG. (CG = invoking god)
I think this stuff might be handled with root motion but idk much about #animation
hello everyone, I have a big issue, I was working on my animation blueprint for an enemy ai that I have in the game, and then UE 5.3 crashed, and my components in the enemy blueprint don't show anything in the details panel anymore. these components are the mesh and the character movement.
Afterwards, I rebuild the blueprint from scratch, and saved it. Then I closed and opened unreal engine again, and the new blueprint has the same exact issue. my mesh dissapeared and I can't access the details panel
This makes me lose my mind since I have about 20 levels in this game and I've been working on it for a long time,and now all my enemies are gone.
the actors are still in the level and they are attacking me, but they are all invisible
and now when I just want to play the game, sometimes I get this error . this is wierd because I get it only when I place a new enemy in the level, since about 10 minutes ago.
my levels all have several enemies, and they work, but they are invisible. but for the past 10 minutes if I add an enemy ( either the original one or the new one I re-created) the level in which I add them crashes and it gives me this error
well yeah, if you make a new class and dont replace the old references, obviously it wont work
I don't know anything, I'm a noob in UE, it's my first project.is there a way to recover this ?
only if you used source control software
I can recreate this from scratch, but how do I make sure it doesn't happen again ? I wanna find out what I did the first time for this crap to happen
I didn't use any source control
well then first thing u should do is set up a local repo with github or gitlab
if your actors still exist in world you can replace them with new class and it should work
that is, if your new class works
you can try to go every blueprint that has reference of unit or exchange data /structs and compile them all and check again
ok, thanks, I'll try that too
I will re-do it from scratch if I have to, when I re-created it the first time I copied/pasted some stuff from the original one, so I think that's why it crashed with my "new" one.
yeah I learned my lesson...
Hi I'm facing some issue, the temp High should be set to true in the event tick, but when I try print string in event construct, it shows false. shouldn't it print true?
If you don’t post the question, they won’t 🙂. It’s a little quieter but if you’re patient you tend to get some answers
I'm figuring out alternatives
Construct may happen before the first tick happens, so it could print false to begin with.
@grizzled beacon are you trying to do starfings?
Calculate direction should work Wether you are A.I or player character. I got the expected result
to "trigger" the correct animations, just use blend space?
removed the feature to lock on an enemy, end of the story
I've spent a year on unreal engine in "figuring how to achieve X thing". I'm quite sick of that.
Results are good so far, but not going to do it anymore.
locking on an enemy is achievable with a few lines?
but if u are sick of it, then I don't know
take a break or contemplate what you really want to do
you should think twice if you don't enjoy what you are doing
Owh I see, do you have any suggestion what should I do other than using event construct?
I'm working with blueprints on anim-bp
and?
What happens when you start up your Unreal Engine game? This video is a guided tour of the Engine's initialization process: along the way, we'll glimpse the high-level structure of the Engine (modules, game instances, local players, and viewports) and we'll see how all the different parts of the Game Framework (game modes, game states, player co...
so far animations for "explore mode" should be different than combat mode
walking around
make it a state then
thank you
so that's not an issue then?
the problem will be locking on the target and make the character walk on right\left. I can remove the turning of the character to the direction where it walks but I'm unable to make it side-walk
maybe the good way would be some bool or enum in player controller
I dunno know
tomorrow will be another day.
no you can keep the turning
is there a way to figure out exactly what went wrong and why this happened ? the crash report doesn't really say much, after I googled it I couldn't find anything relevant. I was working on an animation blueprint for my enemy ai and it just crashed out of nowhere and the mesh component and movement component of the character stopped showing the details panel...
so far I enjoy what I'm doing, the way things are presumed to do 99% of time sucks
eh brother, but it's a life of lifting LOL
and this is a life of coding
if I knew it from the beginning, I would be coding financial management software based on sql. LOL
but I don't want to throw away 1 and half year of coding away
well blueprint certaintly not gonna land you a job
the bigger part is done in C++, not blueprint
how can I find out what happened to my blueprint ? since crash reports gives me an error that I can't really find when I google it
I used calculate direction and blend space
for the targeting it's just interp control rotation to target location
right I am on aim mode I also entered aiming state
yes
I don't understand when you said calculate direction always return 0.
Is the target character moving (have input pressed) when you are printing?
No I just switched to that animations without a target, just wanted to trigger correctly left, right, forward, backward
wasn't able to make it figure out
Blend Space
tried in all ways to get directions from the get velocity node
Why are you checking in that logic, if it's -1 or -90 etc
uhh i dont think u can
I am using the same thing you have in blueprint
Direction = UKismetAnimationLibrary::CalculateDirection(
GetOwningActor()->GetVelocity(),
GetOwningActor()->GetActorRotation());
apparently this way doesn't work
I'll try again with blendspaces tomorrow
well if what you saw was what you want to do, this is what I do, so it works 😄
Direction will dictate where in the blend space the animation should be
but you obviously want to get a valid value first for direction
also, after I recreate the blueprint, should I also recreate the animation blueprint and blendspace that I'm using for the character ? since everything crashed as I was working on the animation
you can reuse all that stuff unless u get an error
and do I delete the old files ? I really don't want this to happen again
you can imagine how is the feeling, after doing all of these by hand , since I wasn't able to retarget stuff from mixamo.
and you can have an Idea in why I'm sick of it.
delete and replace reference with the new one
I dunnoe man, this problem it self was something I managed to get work after years
it's hard for me but giving up was harder
also I would just try to get re-target working
unless you want to be an animator
I already have all the animations I need so far
made for that skeletal, no glitches, no BS
why even use mixamo when u can just use animations from older engine versions?
this is what you mean by "replace reference"? sorry again for my noobism
long story short:
wanted stuff for this rpg -> let's buy plugins for that -> lost 2k, buggy plugins -> curse god.
created all the game system once -> "no, stuff are not persistant, best engine of the world" -> let's make it with maps and raw values (strings, ints, etc.)
low performance -> curse everything in the world -> let's remake it with structs
structs crashes -> ok let's remake everything in c++
low performance -> curse more gods -> find out soft references -> rewrite everything again -> highest ever performance
let's retarget animations from mixamo -> retargeting sucks -> ok let's buy animations from marketplace -> retarget them -> same results
fine, let's make them from the scratch -> unable to achieve the sidewalk stuff -> more supreme entity cursing.
it shows up when you delete that file
that's the long story short of 1 and half year.
@dreamy sail post the error code btw
in the process: learned maya, learned daz, learned blender, learned whatever.
he did, its just generic unreal crash
and I skipped the part where it was a hell to have an universal interface (joypad, mouse, keyboard) with widgets.
even experienced solo devs will take years to finish their game. You need set real expectation for a 1.5 year time frame
ah, ok. so here then. thanks
RPG for a first project is probably reaching imo
I don't want to finish a game, I just want something that could work as prototype 😢
don't rely on plugins either, you will not learn shits
at best you can look at their code and see how they do things
you know: "pressed key > working thing" without 192038129038 headaches to achieve that
plugins are good for something that is not specific imo
also, plugins will usually prevent you from updating your engine version
when it comes to inventories or specific mechanic, those are unique for each project.
yeah, I've coded everything in a single custom plugin
so at the end i'm able to upgrade it if the future versions will require updates
so instead of manually replacing all the actors in my 20 levels, I can just replace the reference when I delete the file and it will automatically do it ? sorry if I ask the same thing 10000 times
at least thats how its intended to work i guess
use source control @dreamy sail if you haven't or suffer further consequences
yeah I was losing my mind 1 hour ago
currently setting up github
a lot of people got their wake up call
can't even stress how many times I messed up setting physics assets
one mistep and file is corrupted for good
I've been working on this for 6 months, it's my first project, so I was really enraged when it happened. I know it's not a long time for game dev, but it's my first project so I really care a lot about it
u will throw it all into the trash and start over at some point anyways
nothing to be sad about tho, just right click, revert the previous commit and I can start again
yeha probably. I was already thinking I can re-do the whole thing in 1 month or less lol. it was more learning than doing these past 6 months
bro, I remade the project I've been working on like 10 times, ended up writing my custom blueprint nodes for lacks of functionalities LOL
of course this is all bad karma for EpicGames developers, which I really wish, since they keep on focusing on lumen and useless sh*t instead of fixing real bugs.
but hey, this is unreal engine.
I love Unreal tbh, I couldn't get myself to learn unity , been messing with it for like a whole year before I decided to give up, and picked up Unreal
the problem is just that sometimes it gets over complicated
fml... I'm actually planning on doing that after the single player version is done, but idk if I'm ready emotionally lol
no multiplayer -> problem solved
no multiplayer -> no fun
yeah I only do blueprints so far, I'm just a game designer, so unreal does it for me
blueprints lacks of functionality, I use bp too, but with custom c++ nodes
in unity I couldnt get anything done tbh
you will see how beautiful it is when it'll start returning error with bp functions because "World Context not found" or weird stuff like that
I ended up using macros lol
which IF something is wrong, everything breaks.
or maybe when you will want to async load stuff in order to not make it heavier as hell, then you will end up cursing dev's mothers
sounds like you were just using some stuff wrongly
well, who knows, midjourney is supposedly working on VR games, so we will be able to build the whole thing with just a prompt in a few years lol
or, when you will have to create material variations, and to not use dynamic material instances, you will try to create different variations of the material, and they will end up being like over 1000
simply delete a function used in more than one bp
then good luck when compiling LOL
OR, when a random static mesh will get corrupted, and you will get the error "Index out of array in level X" when compiling
and you'll be like "WTF? what Array?!"
lmfao
I've almost seen everything.
I had a shaders issue once for no reason, I couldnt launch my packaged builds, so I asked chat gpt and the answer was so stupid that I refused to try it, nbut then it actually worked. all I had to do was change something in a random material that had nothing to do with anything else just for the shaders to recompile
the truth is, if you want to achieve something good you'll have to create your own tools, because even managing assets could became a hell. (and goodluck in dealing with editor widgets)
why is the warning dispatcher not triggering?
you obviously haven't 🤷♂️
even people with a decade of experience will still run into gotchas
I've seen enough to make me want to finish this project and become professional at fishing in my life.
like quitting forever.
or maybe become a supervillain no.1 in heists.
I'm starting to really think about it.
lol
take a step back and rethink what you want to do then, you are still at the gate tbh
there are more challanges ahead
like what challenges?
unreal engine is full of traps, nothing really works as you expect it to lol
that's the problem!!!
I've f*cked the epic games already. I created my custom system for events, for cinematics, and for everything I need. I just need the battle system and I'm done.
and to achieve it, I need to figure out that animation part
source 2 is a game engine too, and the multiplayer doesnt crumble as soon as someone touches it
sometimes I can't believe how people can keep calm when all this crap happens. I guess you get used to it after some time ? or ?
I've smashed my hand against the wall multiple times, not calm at all
well you got options
go to corner and smash your head, or keep trying
chose the latter?
if you can't, that's fine. find something you really enjoy doing.
yeah, this is better than therapy for emotional intelligence
i wish epic took responsibility for their game engine and stop abusing it for film making
if 1 + 1 = 2, on unreal it is 3, or 1903812903
means nothing works as it seems
you just have to imagine what the sick mind of developers figured out
and do things that way
that's the only way to make things work
I've been creating from scratch and selling software for years, then one day (maybe worst decision ever) I decided to enter the videogames industry
lol
nothing works as expected, or in a "logical normal way"
I actually use a level in unreal engine, to create my own assets and persistant data, writing stuff directly on CDO (default asset object)
and I know like 1001 persons that told me it wasn't possibile to achieve that
so, trust me, nothing works as intended.
:\
eventually, you'll start looking for tutorials online as well, even for achieve a simple material
that's all I really do all day for anything
and start questioning, what job that people's mother do, because they will be like "let's try this, let's try that", without sharing the final result, and you'll have to watch 3 hours tutorial for 5 clicks thing.
LOL
and sometimes when I cant find something I use chatgpt if I really wanna hit my head against a wall until it works somehow
i use it all the time haha
eventually chatgpt will start telling you to use nodes that doesn't exist
or functions members that doesn't exist as well
yeah I always beg it to stop lying
problem is gpt will just make up random stuff, and confuse unreal with unity xD
I deal with that at least 10 times a day
it does loops, as a computer it forgot what it said 5min ago,
just for it to apologize and and then tell more lies
at the end, even Gandhi would be sick of that and start looking where original devs live.
#revenge
Thanks to MANSCAPED for sponsoring today's video. Get 20% Off + Free International Shipping with promo code TECHTIPS or visit http://manscaped.com/techtips
Check out the MSI Gaming Desktop PC at https://msi.gm/SFE12FA9
AI is the buzzword de jour, and for good reason: It’s enabling a LOT of new and useful tools for everyday life. But just what ...
it won't stop yapping, no matter how much you try with custom instructions, or telling it in the conversation. my brain hurts from it... but for simple stuff is decent
and the real question, out all of this
is: it's normal that we devs have to deal with these problems?
it would have been so hard for epic games to make it a little simplier? or maybe without bugs?
"passion industry"
gaming industry is going to ass i tell you
coming from the music industry, which I thought it was messed up, trust me, it takes 1 day to make a song that has the same chances at making money as a game that you're been working for years on has
which now can be done in 1 sec with AI
the problem is just to get viral
lol
yeah that too
btw I'm glad to find out that I'm not the only one that got enraged with this 3rd world engine.
<3
hard to make the amount of money some games have made with just a song.
scene editor is best description imo
how was it? "gangnam style"? lmfao
how much has minecraft made?
I had to go and buy 3 beers to make it through the evening
well, of course, the opportunity is there, doesn't even compare
1 game can make more than the whole music industry combined