#blueprint
402296 messages Β· Page 825 of 403
okay, get kill count, get the first entry, foreach loop over the array checking if kill count is higher than all other entries. if not, set array element accordingly?
And you're sorting it per kill I'd guess?
fine
Sorting it in descending order based on kill count
I mean per frame or per kill or per game?
Well the struct is populated in a separate way, but that wouldnβt fucking matter lmao
I just need help on the sorting
The frequency of the sort does in fact matter
Ya just bubble it
It's probably happening once per kill Max so not that often? Unless you're making vampire survivors part 2
you've had perhaps 5 people sucked into this vortex all giving you help
and yet, with your CS background, you cannot do this sorting
I don't know
I don't know how to help you
Likely on tick, unless something changed
Huh alright
Unless the repnotify started working
Alright lemme try and bubble sort it then π
Oh that thing worked ages ago
Swweeet
Bubble sort is actually probably a pretty good fit because nobody is ever jumping up or down by that many places any given run
So you pretty much always have an almost sorted array
nice, easier to run a whole bunch of these per tick
In fact bubble might be optimal.
Assuming nobody score goes up by more than one per run, you could do this in one pass each time after the initial sort correct?
I mean I wouldn't commit to it but bubble sort wouldn't be that bad. Most of the time it will be doing just one swap
how fast would a combination of merge and bogosort be
divided into pairs, bogosort, reappend
For building a Inventory as far as the UI in concerned, Would it be necessary or stupid that each "slot" be its own up element / widget
It's own instance of a widget, sure
Don't make WBP_BeltSlot, make WBP_InventorySlot
And add one for belt, boots, head, torso, etc
Im not making a traditional inventory either. so im not sure
Well what are you making.
there's a specific widget for this I believe
ignore the colors and symbols and shit
list widget?
listview?
each of those are item
it needs more
Yea.. I looked into the list widget but I wanst sure if that was the ticket
listview + custom listable widget
The list item should hold some ID / asset reference, and its name/type
I use it for storing profiles
Did it 
I need help for my game, LOTS OF HELP, please contact md/dm
Idk gonna test now
π₯² π«
LMFAO
Damn now I wanna make quicksort
Cool, new errors just dropped I guess lol
No issues here π€
secret unlockable error messages for those committed to doing what never should be done
No, but seriously
I don't see any issues
And I basically converted it from the bubble sort python code
And the issues are inside of the for each loop?!
Oh they are issues elsewhere
Nvm π
Dont think it is supposed to make duplicates 
It should be this but descending, know why it isn't working?
https://blueprintue.com/blueprint/qx91tuob/ - If anyone from that can understand why it is making a duplicate - much appreciated.
best thing you can do is use breakpoints to figure it out yourself
That is hyper scuffed. Just forloop over the array from 1 to Array.lastindex and if Array[i] < Array[i-1], swap them. That's a pass. If you ever do over 1 swap in a pass you gotta do it again.
FCK ok one sec
Ah
And works
Lot simpler
But like now it is ascending, not descending
Oh
Fixed it
Changed the < to a >
It's better to shuffle things around where you've been instead of in front of you. You can accomplish the same thing doing a reverse for loop and comparing with i+1
Thanks so much adriel!
I fixed it, all good but thanks so much man π
Doesn't that give you an index out of bounds error?
I was saying to start at 1 and compare with i-1
Nope
Works some fucking way
You're starting at 0 and comparing with i+1 which is fine except for the last index, you wanna stop at Last-1
It's probably blueprint being extra forgiving. Subtract one from the last index going into that for loop
Do you understand what I'm getting at. If the last index is five, it will try to get the element at 5 + 1 or array[6] which doesn't exist. In cpp it'll shit itself. Idk why BP doesn't tbh
anyone have any tips or recommended tutorials on a grid placement system. for example me and my friend are going to start working on a game that allows you to build in vr, kinda like creative mode minecraft, but with blocks of all different shapes and sizes, so unlike minecraft the blocks wont be 1x1x1 in ue4. are there any tutorials or even content on the marketplace that could get us started?
So how are you detecting when it's sorted?
How many times are you running this
Once every 5 mins no less π
What I mean is you're only doing one pass of that sort.
Oh tf
Which will only move one element to the right place
Have that sort return a bool bIsSorted (SwapCount<2)
You gotta run till it returns true
Count how many times it triggers a swap. If it swaps more than once, then you have to run it again. Over and over until it swaps under two times
Huh?!
Or just run this on tick and it'll be sorted 99% of the time anyway.
Nah
You'll even get a cool animation of ppl going up the rankings lmao
I just want it to run once and sort everything please lmao
Just
I want it to fucking work
Ok then listen. One pass is not enough.
In one call of the function
Alright
That's bubble sort. If it swaps more than once, call it again.
Uh one sec then
Just make a function variable int SwapCount. Increment it every time the swap is triggered. At the end of the function, return a bool (SwapCount < 2). If that's true (outside the function), then it's sorted. If false, loop back and run it again.
i have some child in grid panel. when i remove a child from grid panel ( from middle of grid panel ), it left empty gap
Say you had a list of 20 things sorted backwards. It'd take 19 runs to sort it. You are only moving 1 item to the right spot per run.
i want to fill empty area or rearrange child again in grid panel
Like that then?
Image 1 is in the main event graph, image 2 is in the funct.
Well that doesnt work π
Only things changed are in those SSs
Return after the array loop. Not in the loop
You're basically bailing out after the first swap
Ohhhh
Alright one sec
So like this?!
Adriel?
Or do I need to move the swap count bool to the completed too
You don't need that Boolean variable but that should work.
Just plug SwapCount<2 into the return
One way I can think of to fix this would be to store the row/column reference in the children when creating them, then when removing a child you can read these values out of the child save in a temp variable (hopefully in a local variable), and then you can recreate a blank one in the empty spot.
So adriel, when I press 2 to run all the shit (img 1) it does an inf loop
And that's the code
Just doing what adriel said
Dude get rid of that bool variable and just return the result of SwapCount<2
^
Take that less than node, and plug it onto the return
Yup
Yeah one sec
Print every time it runs and see how many passes it takes. Should take N-1 passes in the worst case
That should take 2 passes
Idk if that is doing 2 passes but works for that dataset
Now lemme try another lol - make it do 3
Yeah that works too with this dataset
Cool, thank you so much - it looks like it is working fine π
+Kudos xβΎ
π
Now try it with 10,000
Argh, disappointing that ISM instances with 0 scale cost the same as those with scale.. was hoping to avoid switching ism components
In Blueprint, is there a way to pick the Start and End Mesh for a Spline? I just need to cap off the end
Don't spline meshes NOT auto tile? Just set the first and last mesh to be something else.
if you have spline mesh made up of spline mesh components you can store entries in an array
How Can I Throw 2D Jumpscare When I Die
Just like making any other game over screen
But sudden
And scary
I know how to jumpscare but I don't know how to activate when I die
Code wise, the game doesn't know anything about the concept of "jumpscare".
Jumpscares are merely visual concept, the game code can only know execute this event and that event
Event OnDestroyed or a custom Death event or whatever.
So I inherited a base blueprint and I got "Parent: Begin Play" by default. I also need "Parent: Destroyed" as well but I can't figure out how to add it.
Right click on the event. Select call parent
Set actor rotation is overwriting my add actor local rotation what is the solution
Thanks
In widget blueprints, does anyone know how to call stuff you have stored in a datatable? I have some stats I'm storing in a datatable and needing the interface widget to display it in a canvas.
question, i finally figured out how to have an object align to the normal which was easier than id like to admit, anyway i now want to add a custom rotation to that which would allow the player to turn the object in 45degrees around that point
Datatables are static. Just call GetDataTableRow, use your table and whatever name for the row you need.
Don't remember the function exactly. Rotate Around Axis or something. Axis depends on how you want the object to rotate.
Not sure what the relative rotation set is for. The Montage should play just fine and stop.
oh right, don't worry about the relative rotation
but "Montage Stop" does do the thing right?

dangit
then the bug is somewhere else
does any one know how to make a grappling hook that would pull an enemy or a diff actor i cant find anything for it
there are cheap tutorials on how to make a hookshot which is basically just a pretty looking launch character node, instead of launching yourself tho you take the actor you receive from the linetrace and add a impuls or launch to it
dunno been a while
oops wrong reply
ive only been useing this for like 7 months
yes i am using a normal vector, i understand thats my axis i want to rotate around, but i dont know whats the vector i want to rotate it around
Use quats
Characters are a little more difficult. If you start with actors, all you need to do is set the root component of the actor to simulate physics, and add force on it enough to pull it.
Makes rotation easier
You don't need quats to rotate something 45 degrees.
Is it a specific 45 degrees in a single direction around an axis? Yeah then I admit quats may be overkill
this is how i get my rotation, i dont know how quats will help me here
[HELP]
I was watching this video on an interactable door: https://www.youtube.com/watch?v=SW4nq2BNlto
Everything is working perfectly except that I have 2 separate door BPs so there are hinges on either side for each BP. (Basically the same door but flipped, but two different BPs).
I'm trying to get it to work for both doors but I'm not sure how to continue because whenever you add a BP to the viewport it adds a number to the BP: https://i.imgur.com/McAXyPV.png
This is my BP so far: https://i.imgur.com/ROxv4S9.png
Thanks in advance, hope I'm posting this in the right place π
God lemme think, isn't it something like thats your rotator and you rotate and or unrotate your impact point by that and then rotate that point by 45Β°? Its 1am so I might be making it more unclear so excuse me in advance
How does it need to rotate? World space? It's own local space?
its own local space
imagine you place a book on a angled surface and you turn the book around its axis
Basically like how we are in editor are allowed to do stuff but instead at runtime with 45Β° lock?
its also 1 in the morning for me lmao
CET power
and i think i exhausted my brain power already
Sleep on it, you might find the answers in the morning since you've had a good think about it tonight
true
@rain egret Semi sure that this works.
@tribal ploverDon't rely on object names. You should make one single door type class, and have a boolean in it that you can switch that will define if it should play stuff inverted for mirroring doors. Single class, one cast, instance editable boolean toggled in the world details panel.
amazing, this did it, thank you
how would i even do characters
@maiden wadi I see. Would this matter if my door SMs are flipped? They aren't the same mesh.
I did this and it works now. But I want to explore your solution
Depends. You're in complicated territory. This is the reason that stuff like GameplayAbilitySystem was created. Stateful abilities that can affect things directly without complications. But to hack it together, there are a couple of ways. Easiest is to just disable their movement component and interpolate the actor towards the grapple.
oh ok i just did it
Should not. You could even choose the mesh based on the bool in the construction script.
thanks a buch @maiden wadi
it seems Epic deleted old answerhub posts today. Atleast the imagesπ‘
@maiden wadi Okay, thank you. I will work out how to get that to work.
I'm probably being an idiot here lol but why are the connections on these nodes gone in my materials?
uhh
Hello - I am dissecting a complex package of many blueprints that reference each other. How can I know from which node&blueprint an Event is being called during runtime? Using just breakpoints or RMB>Find References doesn't give you that info, afaik.
probably one for #graphics
but it looks like you done goofed perhaps
I moved a bunch of files around in Unreal earlier to organize better, but I broke a lot of things in blueprints, like casts and whatnot. Is there an easy way to fix this? Or what channel should I go to to ask for help?
there isn't. it's a pain in the behind that this functionality doesn't exist, but you basically have to go into every class and check that it is ok. if you play in editor, it will tell you of SOME of the classes that are having issues, but not all of the classes
Damn. Is there a way to avoid this down the line, or prep for it if you need to organize stuff?
in code like #cpp it's built in functionality called refactoring. in BP they haven't made it part of the ecosystem sadly. generally it just speaks towards thinking about how your organize things early instead of having to move them around later. especially if they contain logic
Okay, that makes sense. I just took a project of mine and reorganized a lot to have better practices, but it broke some things
Thanks for the info
wtf? for some reason my main character asset now causes my project to crash whenever I try to interact with it, even so much as right clicking on it makes the engine crash
What's the diff vs last working submit to Source Control?
stupid me didn't use source control in a veeeeeeeery long time ;.;
Yeaaaaaahhh
How hard would it be to rebuild that class?
Very
Have you cleared out intermediate and saved and all of that
Because it's not just the blueprint, it's the components and controller
First I hear of that
Intermediate I mean
I would delete intermediate, save, binaries if it's a c++ project and cross your fingers
Do this on a copy of the project by the way
Delete intermediate and saved then. Everything but config content and uproject file
So far it's a big fat no
I don't understand why it even happened in the first place, it's not even what I was working on and it doesn't crash when I import it in another project
Time to import entire project into another project
agghhh gdi, when I import all of it, it does crash
No crash report?
I'll have to do it step by step to figure out what is fcking up
crash reports, yes
oh god.. no
It's the components that cause the crash
They're just totally not the bulk of the system
Well, show the crash report
Good evening, I have a doubt, I'm trying to make a system where according to the level of the player the cost multiplier increases (the default is 1.25x), and I want to be able to put for example, aparte do level 10 the multiplier will be 1.50x, but looking on the net I could not find a blueprint that serves for this situation, someone knows how I can do ?
just a second, the report is too long so I'll have to split it
report is useless without editor symbols installed
also, 3 backticks ` before and after the code block to format it
Ah thanks, I tried to make it collapseable but it didn't work hahaha
Make a curve.
where am I supposed to get that?
epic launcher, dropdown near your installed version, options, check editor symbols there
Ok, thanks, I'll check the forum to see how it works
Any reason why a static mesh scale would change when you move it under a Scene Component?
If the static mesh is is in the root the scale is 1,1,1
once I move it under a scene component it changes to 10, 10, 10
phew, luckily it's only one component that's crashing, it's the heaviest of them all but at least I won't need to redo absolutely everything
but it's bloody damn long, that's not even 10% of the error message
this may be big dumb but I have a blueprint each of a PlayerController and a PlayerCharacter, it's best practice to route input from the controller to the character, right? Is this typically done with a custom event for each input type on the character which the player controller calls? something like this?
You can place inputs directly in the characters. Any inputs that would be character agnostic (like say a pause menu input) should be put on the controller.
figured out it collapses it automatically now, that's why it didn't work before π
Thing is so long I'm not even sure where to look at.
Hard to believe a single component is causing that much issue when it worked just fine before :S
In the event that a player character is unpossessed, wouldn't it still retain those control mappings though?
When a character is possessed the inputs are fed from the playercontroller to the possessed character. Once unpossessed, those inputs are no longer fed to the unpossessed character.
working in unreal engine 4.27 blueprints is there any simple way to make it so the player can't stand on an object? like if they tried they'll just be pushed away instead?
well by default you got the option to negate an actor's ability to step on objects in the collision settings
i tried setting can step up on to no, but nothing changed
otherwise, you could use something like AddActorWorldOffset or others like this (I believe that is how they do the character push in 2d fighting games like GGStrive)
a third option is to add an "invisible wall" to the object to prevent players to even get on top
this might be a longshot, but is there a way to tell an object it can't be walked on? like make the slope angle larger than the character movement supports without rotating the object itself?
you'll have to rely on invisible walls for that then
or reduce the angle/height your character can walk up to
or at least as far as I know that's the simplest option
worth a try
i think with a bit of extra scripting i managed to get it working
tysm for the help
is it possible to stream in a level in a different location, with a transform?
Hey guys, if I want to scale an actor on blueprint, which one should I scale to have things work properly? CapsuleComponent or Mesh?
Capsule Component (or a Box, or a Sphere) can basically be thought of as the pilot of the Character/Pawn that you're using.
Generally if you want the size change to mess with gameplay (should he actually fit in smaller spaces if smaller? Or have a greater reach when big?), go with Capsule.
If you want it to be a strictly cosmetic size change, it's probably better to scale by mesh.
Can someone please help me with importing a character onto the ue4 rig..
It works in blender fine, I can move the bones and everything is working, but when I import into ue4 it looks like a collapsed mess
I don't know if im exporting it wrong or something but im going insane lol
Try this
Nevermind... Skeleton doesn't appear to be working in UE.
is there any way to export from blender in to ue4 that keeps both the objects origin point from blender and it's location? as it is right now I can import objects and the pivot is the world origin not the objects origin and if I leave objects where they are they will keep their transform but not their pivot point but if I move them by their origin to the world origin they will keep the proper pivot point but not their transform is there a way to keep both? I need to import 1000 objects into ue4 and I'd rather not move them back into place by hand
i dont use blender, but in other software that i've used, there's been the same issue and i found scripts that handle the moving of each object to the origin for export then back. Maybe there is one for blender. If not, save your blender scene, then move all your objects to the origin, export, then reload the scene to before they were moved. Batch exporting is rather common afaik.
Object origin of things exported from blender is the scene origin.
And blender is better than Maya and auto desk for 90% of things at this point. 100% use it
lol
its not about them being moved to origin it's that that doesn't keep the translation in ue4 when they import that way they have a good pivot but the transform is off
if they are exported from origin and the transforms are 0,0,0, it should come in the way you want. Maybe check the import settings of the mesh and see if there is added translate?
that one plate I manually entered in the transform
I don't want it at 0,0,0 I want it at 411.82, etc
ohhh
it should preserve it, but again, it might be an import settings things not carrying over
yeah I know it's out there but it would make life so much easier if I don't move them to the origin it'll preserve the location data but it won't let me pivot them as these are vent plates to be opened
If it's imported as an fbx scene all the objects should keep there relative positions
if I do that then in ue4 the pivot is in the middle of the ship so the panels can't be rotated correctly
the only way I've found to do it is the reset the transforms and manually enter in the location data for all 1008 plates by hand to match the location in blender
pretty sure this doesnt need to be done, but hey, if nothing else, maybe you can rig it π
Yeah that feels wrong, but I don't bring pre-assembled meshes over generally since it's more efficient to bring over peices and play lego master in unreal
Well it's the hero ship and I need it to look good for my game lol
Wouldn't look any better or worse.
Just more modular, so instead of one ship I can make a dozen variations with the single set of meshes
Yeah π I can do the same I unticked combine meshes so each part can be modular the only ship that isn't is the hero ship as the player will be flying only it I wanted a very distinct look that modular piece couldn't give me hence the individual vent plates I'm animating but oh well by hand it is
Hello, how would I go about using an external actor as the camera? I want to place the "Camera" bp into the scene and have it set as the main camera
aside from making a custom one through camera manager class, i guess you could set location of the camera to your actor on tick
I'm doing this in another BP but it doesn't change the camera
I did not know camera manager even existed, maybe that might work
its a bit complex. ive not worked with set view blend
hello guys
how can i detect collision without calling Onbegin overlap
is there any way to do can any one help me guys
On hit is another option.
You can do a distance check if you feel like busting out the old school 2d methods (not the best)
Camera manager is pretty dope, you can just basically say "I want to view the world from this point at this rotation" and it does it. no actors or components involved..
how much slower are bps in practice compared to cpp
are bps faster than the same thing done in unity with c#
Really depends on the thing.
lets say a multiplayer rpg game is tht gonna cause problems
no nativization as well cuz that dont even work half the time
Blueprints can be 10% slower to 2000% slower or more than C++.
large range
Well, consider what blueprints are meant to be used for. Designer stuff. Spawning a particle isn't going to be that much faster calling it from C++ or Blueprint. The heavy code is in C++ already anyhow, it's a rare call maybe few times a second max. You won't see a performance difference moving that to C++. In fact it'll just annoy you because blueprints have easy static access to particles, meshes, etc, and having to get those assets in C++ requires work arounds that aren't as simple as "Spawn this, kbye"
Now, world generation on the other hand. Several iterations of long drawling functions that have to rerun over and over. You're going to see blueprint pretty much die here. Blueprint causes many function overhead calls and will start breaking down performance wise in these heavy mathematical areas.
ok lemme add some hypotheticals.
Lets say theres an inventory/health/major system in the marketplace that has a <1 ms latency. pure bp asset. really clean coding.
could i say reference this asset through cpp when i needed to do heavy math for some tasks in an rpg or would i have to recode the whole thing in cpp.
(total noob to ue4 cpp but i know normal cpp)
You can do anything you want in C++ as long as you understand how to do it.
awesome
As far as C# versus blueprint. Never used C#, but it would be much faster in the heavier areas. As a written language you have more performance tools to use. Less function overheads, etc. Can't compare how it is to use as a designer as I've never done it.
Also. C++ in Unreal is extremely easy if you just follow a couple basic engine rules. You can get away with leaving a lot in Blueprint if you want and only moving performance unfriendly code to base classes. But I will say that not being able to base class core engine framework is just asking for trouble. There are so many thing you can do by just being able to override engine virtual functions.
ok thanks for the help
Going over the documentation and some tutorials now to see if I can get my smooth camera following stuff to work, How will I do that? I have no clue, but this seems like the first step
UE4 saves auto saves in the temp folder or the app data folder I am pretty sure
I saved my work from there once when I fucked it up beyond belief
With the twist that auto save restore only works if you enable the editor's source control feature
No?!
Dude UE4 has auto saves that work without scm
You are trying to access a pointer that is invalid.
Yes.
I asked this the other day, but for some reason it didn't save and it's back. I'm supposed to add something in project settings?
The autosave works regardless, but the automated restoring only works with in editor source control enabled.
I do not specifically said the autosave won't work without it at all, but just the automated restoring.
Enum no longer contains Soft entry. Just needs unhooked to compile.
Other two look like you're missing named Axis bindings in project settings.
Enum issue may be project settings as well, unsure. Haven't used physical materials.
we had the soft thing working the other day. I added something in project settings, and a thing appeared on that node, to hook to that bottom node.
will this be exactly in mainWGT somewhere or it can be in BP thats trying to access it?
It tells you where the issue is. If you click on the Branch or IsValid, it should open your MainWGT blueprint and zoom to where that error is caused from.
Good morning, can someone explaine me in simple how i can change the physic? Thx I dont understand this Preset Physic
it just opens standart macros
Do I need to have 2 random nodes to roll twice, or dragging from the same pin to two different locations gives me two randoms
gives two randoms
you sure?
Could somebody please tell me what the difference is between
A: calling a BPI function (where target is selected bp -left)
B: calling it as an "interface call"? (where target is BPI Grab - right)
I have some of these nodes implemented using A - where a reference to another bp (implementing the bpi of course) is plugged into the target node and communicates just fine. I also have another handle of nodes using B with another bp (also implementing) plugged into target - that also works fine.
There must be a difference between the two because when I change the ones from A to B, the engine crashes!
my hunch on the whole "target" thing is that it means that it is the owner of the function call. As long as the class has the interface added to it, it would have the option to call it. Nevertheless, I don't think you want those calls, i think those are messages. I forget what they are called - I think there is message, call, and one other - and that one other is found as a bpi call when you turn off context sensitive.
Message is the one that appears when you deselect context sensitive, I'll stay away from that until I know what it does!
But you say I should be good (for simple communication at least) if I stick with the one on the left that has the bp name as the target?
i dont use the ones you have with the lime green input. The one on the right (with the envelope) is the Call, which you put a Target actor in to call it on. So on the called actor, it would have the event to execute.
Oh I see, so essentially the same thing but sans passing across variables?
i just looked into it. You want to be using the Call Function or the Message. Not the interface call.
i suppose. I use the Message.
like that
Great thanks, I'll ignore the interface calls for now. Strange as the nodes using that worked fine until the engine crashed and now they don't work at all!
Yeah that is basically what my setup is with the normal call but I have access to the variable pins
the message will also pass inputs
I think it's my first engine crash too, haven't tried to replicate it exactly - might do in a mo. But I closed when it crashed, opened it again, code didn't work. Restarted Unreal a second time and now it works again. Can't remember the last time an application insisted on a twofer with a restart!
I'm an idiot, I just realised the message node I linked was for an empty function and not the same one π
Which is why there were no variable pins!
thinking on it, i believe its just message that you need
i forget the uses for the other two lol
Thanks for helping me out, I'll read up on it further and try using the message node too
But why does the message node only become available when you deselect context sensitive?
Yeah you can restore it by looking at the files in the auto save directory. Thatβs what i was fucking talking about lmfao
And it's fucking cumbersome if you ask me.
Gotcha!
i have Structure and i make from this structure "Make Array" how can i set for selected index from array new values?
generally SetMembers is for updating Structs. Also Structs are a pain to work with in bp, so dont expect the cleanest method.
I can't agree more with this. It's not the most fun.
And trying to update them through multiple layers of UI
Even less fun
Is keeping every thing straight normal? Or is that considered time-wasting? Because I've seen several people in tutorials I've watched and none of them really explain whether to organize it all and I think every single one has usually just left a curvy somewhat jumbled mess. But if that's the norm because straitening it all is time-consuming then I maybe I'll start focusing more on efficiency.
it's an aesthetic, makes it easier to read
Especially that bottom image there, the guy I was watching didn't have that much space down there, I just felt the need to make it all straight.
some people use a plugin that makes them straight/angled lines instead
it would actually be better to avoid this when possible though
Why is that? Is time-consumption the main issue or is it the excessive amount of reroute nodes?
that bottom one looks like tick, so setting the delta seconds to a var and then hooking that var up would mean no wires over the entire thing
there's a nuance about how data gets accessed with bp - the calling function pulls from everything that is is plugged into it
so it's better practice to be aware of what is plugged in by setting vars instead of long wires
it becomes evident when doing things with random
its also how programmers would be setting up things in code since they dont reroute, they define all their variables
Just making sure, "var" means "variable" right?
yeah
this one doesn't have reroutes or is doing what im talking about btw, this one is fine, but as for straight wires - its an aesthetic
Oooh I see, so this is essentially a bad habit, I'll start trying so avoid this and use variables more often.
i cant remember which video, i think it was an epic live training on blueprint basics with zac parrish, and he mentions this
it seems more jumbled, but based on how bp works, its better practice to plug in the same variable that use a wire than to channel out that value where needed via reroute wires
again, its not the long or straight wires part
it's trying to avoid reroutes, if possible
and there are places where you cant
Okay, I'm starting to understand a lot more. Thank you so much, that was a very good explanation!
I've been following along this Chris Murphy tutorial on pinball and I haven't really been understanding his blueprint section.
Re-did the image to un-include his links, I don't want to get in trouble for throwing links around...
how dare you
What? Did i do something wrong??
lol no sorry jk
XD i wasnt sure how strict the link-posting rules were
So what parts did you not understand?
Ooooh
I believe this covers what i was referring to
https://medium.com/advanced-blueprint-scripting-in-unreal-engine/pure-impure-functions-516367cff14f
It's mostly been a lack of in-depth explanation. Not to say his tutorial is bad, it's actually been extremely helpful and informative. I'm just having a hard time as a beginner since he will add in nodes like "branch" nodes or "Get Save Data" or something and I'm left confused as to: where did these nodes come from? Like what reason are we using this specifically or how was I to know it existed if I hadn't been shown that? Or all these pretty specific node names that confuse me. Idk, many things, though most are probably common beginner questions. Aside from that, I am aware I still have so much to learn.
Thank you!
Its amazing how fast your priorities change after less than an hour on a public discord server at like 2:30am
Hello, when I possess my player character, its camera (third person template camera) gets left behind and doesn't follow it until after the possess is over. How can I keep the camera following the player while possessed?
Any reason why this wouldn't work? RH_Weapon is a skeletal mesh with two sockets for where I want this sword trail particle to start and stop. The custom events are called from an attack montage, but the actual trail particle never appears.
Hi guys, apologies for the newbie question but could someone let me know if this is the correct way to check if enough points have been gathered to proceed to the next level?
It works fine but I`m sure I do not need to do it with event tick.
Many thanks in advance!
anyone knows any good tutorial or course using cooldown values higher than a float of 1 can be implemented in UMG?
Just remap / calculate percentage
It would be better to check only when you add points. Instead of every frame ;)
thanks
Thank you, the part of that that confuses me is if begin event play only checks at the start and event tick constantly checks, how do I get begin event play to check the condition?
I`ll do some googling first!
I don't know why, but after taking that screenshot it started working. I'm absolutely baffled, but I'll take it.
I have a question about anim notifies. I'm currently firing off a montage to equip my weapon as soon as a certain animation montage plays. Which works but it just plays the entire weapon equip animation and doesnt play the actual attack. I want the equip to play then the animation to play. Is this possible?
Then you would want to check if your weapon is equipped, if not first do the montage then followed by the attack
You basically wrote exactly what you need π
Play montage > play attack
You should try to go more event driven, and not relying on constant checks like a tick is.
Event tick is ment to be used in cases where you need something to update every frame (like animation)
The best way is to implement a function like AddScore somewhere for example in the GameState und inside the character. Now everytime you get or loose score, this function should be called to add the score. And at the end of the function you can just do a simple check if score > x and have a simple system that just runs the calculations if they are necessary ^^
@timber knoll I would assume I should set a variable if my weapon is attached but how do I get the montage to see that and play the next part?
and if you seperate equip/attack you have the on complete pin to start a new montage right after π
both methods would work just fine, up to you what you prefer
oohhhh I get it now. Thanks!
Isnt it a bit weird to combine equip/attack montages?
as they can be very different, and generally is exclusive anyways
Yeah I also did an alternate version of this by just adding in the equp animation to the attack montage and firing an equip weapon BP notify when the hand reaches for the weapon to snap it. But I will be needing the method Eezeh showed me for something else I have in mind!
But the original reason for this is my weapon has its own montage animations I need it to also play at specific times
@frank rover @gentle urchin Thank you for your help, it now only checks when the character tries to enter a portal!
Atleast thats event driven π
I would suggest checking whenever a point is recieved tho
then you can easily react to it by playing some sound que and do some effects when the player has enough points to move to the next level
Yeah, I have that in the player blueprint, I just have a number of boxes a player has to jump on to get to the next level, super simple but I`m finding it pretty good to learn the basics
Sorry, I meant in my block blueprint
Player BP
ok, so My game is going to have 2 different characters that are going to play very differently from one another. Now I've seen a metric ton of tutorials showing different ways to set up a character select Menu screen, but They don't explain how they set up the second character. Would the second character be a separate CharacterBP?... And if I was trying to do something like Diablo 3 and have like 5 different charters with 2 different genders each, would I need 10 CharaterBPs then?
There are a few ways it could be done
You could for example have a BP_MyCharacterBase which contains the functionality which is shared between all your character types, and then one subclass per character "archetype". If archetypes have genders, then you could either swap the model or have a subclass which swaps the model
thanks, i'll have to look into that because making a bunch of CharacterBPs from scratch for each race/gender seems tedious af. lol
For easy edit it could make sense to have a base character class and create subclasses for the individuals :)
Shouldn't running this result in 6 values being added to the Array?
I'm trying to figure out if it is user error or something Unreal Engine 5 specific.
each race in my game has their own model and animations(then sepperate animations based on Gender), but one race plays all together different.. would a subclass system be able to account for all those changes?
It should.
Tested it in both 4.27 and 5.0 and it doesn't work.
It must be something super obvious that I am missing.
default values doesnt update
instanced values does
Top one is from the spawned actor
bottom one is the class default
@bold badge
So the default one doesn't update, but the instances in the level update?
yepp
Same script as mine?
Yup.
Works on mine as well. I was testing on a character and had no visible instances in the level. That's why I didn't cross my mind.
Thanks.
np
I tried anything else there was to try :)).
someone knows what wrap means and how it works?
if you insert value 14 in a wrap of 0min 10max, it becomes 4
like a modulo
pretty much
does anyone know why this wont work? its a function thats supposed to make a translucent cube snap on a grid sized 40 when i press E, but whenever I press E it just comes back to an error saying: "Attempted to access GhostBlock_C_0 via property GhostBlock, but GhostBlock_C_0 is pending kill" and gives me the location of the error which is the last node on the far right, or the variable
ensure that you check that the hit actually hit, and that the target of the hit is valid before doing any calculations
i dont understand how to do that if im completely honest
oh i fixed it, it was the spawnactor nodes, the collision handling override was messing with it so it never ended up setting the ghost block as a reference
Use a Branch and the bool connects to the ReturnValue of the trace that is true when something got hit. Using traces to position this cube on a grid is probably not the most efficient way to solve the problem :)
Checked, was clean empty π
I'm trying to rotate a single bone based on mouse input, how can I do this in UE5? It seems like some nodes from UE4 have been removed.
@trim matrix offset it from the default scene root and rotate the root
I was woundering if there's a way to do it permanently via editor
not offsetting just adjusting the pivot permanently
there isn't. you'll have to handle that in your 3d package
I c, not even plugin?
who knows
there is
I wouldn't expect anyone to know the state of every plugin out there
put mesh in an actor, adjust mesh rel location in actor to where you want it
@versed sun did you read
place actor in world , the right click and "convert actor to static mesh
but that essentialy make a new static mesh
i do it often when ,y 3d artist can get to it fast enough and I need to keep moving
need more simple explanation
also , you will have to re-build collision on new mesh
I have not seen invalidate timer? does that exist?
only clear and invalidate timer exists
click on the invalidate node?
sets to 0 sec?
invalidate handle just unlinks the handle from the timer
/** Explicitly clear handle */
void Invalidate()
{
Handle = 0;
}```
like unsets the variable?
unlinks the handle from the timer
wheres that can be used?
I don't know?
clear and invalidate can be used in places where you need to clear the timer
clear means what exactly
means the timer will no longer run
just that?
yes
so if you just invalidate it it will run or what π
yes
but?
no but?
it still runs but its now invalidated
doesnt affect the custom event?
I don't know?
yh
ye the node is stupid
what happens when you start the same timer again?
in between its ticks
it will restart at the time you start it again, invalidating its old time
@odd ember Hey CE. I got the pawn to reset it's X-roll. But it resets upside down. If i divide by -1 it resets on it's side. I'm shit at math
I guess that means you'll have to get better at math π
try multiplying by -1 and see what that does
Both when i multiply or divide by -1 it sets on it's side relative to world
if i don't multiply or divide it centers upside down
same thing with 90 & -90
you might need to use quaternions then
Does anyone here have experience in animation blueprints or should I stick to #animation ?
depends on your problem
I'm using a layer blend per bone to allow different upper and lower body animations, but this causes some animations to break. I'm trying to find a way to allow for some animations to blend while others to go straight to output pose.
Blend per bool will still cause any animation I run through it to blend unfortunatly.
Never mind. After some more digging I stumbled upon a variable which was not attached and caused this mess. Now everything is fine π
@odd ember sry for ping boss
something like that crashes the game
in standalone
i load levels from array of names
with a delay
maybe you know why it happens?
its an array of small 60 levels
like rly small , with one character in there
@crystal crown Why aren't you just setting roll back to zero?
cus u helped me b4
Hello, i would like to know if its possible swap between to anim_Bp? like when they go inside a trigger box it switch to other anim bp
you're not giving me incentive to help you again if you're gonna ping me
I have tried to do so for 2 days now. I'm doing something wrong.
anyone have any idea if its possible to extract data from the browser console from my website and bring it in to the game? for example when my user does something on my website it creates an array of items in the console. Can i take this array and bring it to ue4?
Can I see your reset roll function?
ok.
Hello, i would like to know if its possible swap between to anim_Bp? like when they go inside a trigger box it switch to other anim bp
well you can call custom events from the console. but I'm not sure how that works with browsers and all
have you tried?
so im using the launch url in my blueprints
it opens my website after he launches the game
he logs in on the website and some data is filled into an array which you can see if you open the browser console
then i gotta take that info and use it in ue
so I assume that's an external application?
external browser?
ye it opens their browser which is set to go to my website
yeah there's no callback for that into unreal
they need to enter some info before they can return to the game
you'd have to have some middleware or use an in game browser to get the data
or have the server of the website communicate directly with the unreal instance somehow
yeah this is complex as i thought. Thanks ill keep digging
Dear all, does anyone know the easiest way to turn a blueprint child into a own blueprint
yes, i create a reference to the trigger box then cast to my character and now idk what to do. I want to change the animBp when entering inside the box trigger
Does anyone know how to switch back from viewing a blueprint in the full editor to the collapsed/simplified view (where you just have your settings)? I've been trying to google this but can't seem to find the right terminology/solution
the animBP value resides on the skeletal mesh afaik
what does this mean?
so basically i create a blueprint and then create a child off of it, I dont want the child to execute any of the code @peak wedge
I want it to execute its own code
ah right it's called parent function call or something
just remove that if it's present at all
In your child, call the event you DONT want to run, and just dont put anything after it
so on the initial blueprint I print a message, and then I created a child off of it
Oh, you're adding rotation. You need to invert the world rotation's roll from zero.
and I dont want to execute the print there
okay, go into the newly made class and screenshot the event graph
Parent Code
wtf @versed sun ?
cool so it doesn't have anything that calls the parent functionality here
what event do you not want to fire in your child ?
Could you please explain to a 5 year old or make a quick example. I don't get it atm
I created the child so I do not have to create all the components etc again
what this mean? that i cant switch?
if you right click on any of those events that you have, you can see an option that say Add call to parent function. if you click that, it will add a node that calls parent functionality. if you don't want that, don't have that node @trim matrix
yes , but they will fire unless you tell it to do something else
@crystal crown Try something closer to this. AddLocal on an actor does that to it's root component. Root component's relative is to world. So if your actor's world roll is -20, if you get that and invert it to 20 and add 20 to it's local roll, it should zero out.
ok, name a event that you dont want to fire
I am just trying to learn cross BP comm etc
so in child, add an event On component begin overlap(bombspot trigger)
and dont put anything after it
recreate that event in the child and see if it still fires
yes
on top corner of child , what does your parent class say ?
Hello, i would like to know if its possible swap between to anim_Bp? like when they go inside a trigger box it switch to other anim bp
This should work.
I'm so damn stupid. My branch node was stopping the flipping thing to zero itself out.
multiplying by -1 worked after all
thx
thank you very much guys
how do I make it play the sound just once and not continue to play it?
click the down arrow on the node
then if there's no option there it needs to be set on the sound cue it self
ah
Have you tried making sure the time dilation actually goes back to normal with a print string?
hi guys, another thing how do i setup a transition inside the anim bp, like when i pressed left button it will enter in the transition
everytime i open unreal I get this error, anyone know how I can fix?
Maybe lerp or set it on a timeline instead. Should be more accurate then a delay
Or a timer
how can i setup this? So i want to have 2 type of gameplay. I want to put 2 bind for different things, For exemple a left mouse button to jump but when inside a trigger box i want it to attack. How do i do it?
For an action event you could just use a bool and a branch off pressed
Use the trigger to set the bool
thx, one more thing, how do i get the character speed?
Hello, I'm trying to learn blueprint logic and I'm struggling with a very tiny detail. I've created a simple respawn point, and it functions just fine, but the player seems to respawn off to the side. I've added lights to the spawn points so I can visually see the logic, and I can test that the respawn works just fine. However, when respawning, the character respawns off to the side of the spawn point. Am I missing something? I'm sure it's probably something trivial.
any one know how to spawn a static mesh using bp
It might be adjusting position due to collision. Is there room enough at SpawnTransform for the character capsule to fit?
thx, one more thing, how do i get the character speed?
Get velocity, get length of that
ok thx
I thought that too, but the Character_BP is set to ignore collision upon spawn
You have "Always spawn, ignore coliision" set on the spawn actor node?
that might be fine but AFTER spawning, the character might realize it's colliding and move
It's not gonna stay in a colliding state
So I need to change the collision for the collision box, is that correct?
I'd guess it's spawning with it's feet colliding with the white mesh
WTF? it happened again and even when I retrieve it from my backup it fucks up
it's not even the same file and I had barely started recreating the component
how do i get the lenght of the velocity?
Drag off of the vector pin and type length.
Hey guys, this is driving me crazy, can you help me out?
This is my DoorUI (Widget BP)
and this is my Door button actor
how can i put the player velocity?
Don't use == or != for floats. Use Nearly equal.
'Widget' is the DoorUI
ok
Is not getting to print string
@tawdry mural why the question mark
Oh
yes, I fixed that, I did have another print string to see if I got there
the question is
I fixed it but still doesnt work
ok thx its working
is that the only door in the game
right now yes, but its not gonna be
Door Button Actor has a Door UI
and Door Button Actor has a Door Actor variable to set
each Door Button Actor has a Door UI itself
Does anyone know how I can change the the save game from slot and load game from slot to a directory inside the "content" directory? I need to be able to load .sav files from the game instance because they have level structure information in them, but It seems like my .sav files are not being packaged and loaded at the start.
where do you add the Widget to viewport ?
That sounds really hacky.
Its not on the viewport, is on a mesh
Widget = Door UI
Im doing the UI interactive on the world
I'm generating the levels procedurally, then saving that information in the save file, then loading it so that it will be the same afterwards.
@versed sun yes, Hello prints fine
maybe uncheck the "Call in editor" on the Door opened event _0
it shows with that weird icon and its not showing more options than this:
says Graph is not editable
Click on the Door opened event _0, it will be on the right in Details
ok, make it unchecked before you connect the Red Delegate
ok, you might be binding before it exists on the door
if I add a string after binding, it shows the string "Binds fine"
still doesnt work, tried with 2 seconds delay too
its driving me crazy
I leave here more information about the Door Button and DoorUI
ok thanks for helping me out
there might be something special about world space widgets... dunno
@dry mantleWhy are you doing all this binding, just notify the widget when door is opened or closed
hey guys, im trying to learn Blueprinting and couldnt find it on internet so wanna ask you. What is the difference between Get and Set when dropping into the bp building space ? can someone explain it really basically and give an example please
One reads the value to do other stuff, the other sets a new value to it
Begin play -> Construct widget -> pass over bDoorIsOpen
On Activate (Or RepNotify if multiplayer) -> pass over bDoorIsOpen
You really oughta read some sort of Programming 101 article if Get and Set are foreign to you.
I want to do a reusable Door Button, where you can set a Door Actor variable to it, and automatically that door button will open that set Door Actor (calling a function to it). What I'm doing right now is, Event dispatcher OPEN at DoorUI, in DoorActor bind this event dispatcher to an event, and that event doesnt get to the end which is a print string.
im literally a beginner
Have the link between doors and buttons happen between them. So you'd have bButtonState and bDoorState. When linked, the button sets its door's bDoorState based on its bButtonState
What is SET MORPH TARGET, and what can I do with it in 3rd person game mode?
also what is stick bones look like in UE4 if imported from Blender?
Exactly. Start from the absolute basics of programming in general.
Get = Get the current value of the variable
Set = Overwrite/Set the variable's value
Simple as that π
I would not have the widget communicating with the door. Just have it communicate with the button which communicates with ITS door.
I will try this, thanks man, will let you know how it goes
thanks but can you give me an example please ?
What I tried to do is, Widget event dispatcher > Door Button Event > Door open
@dry mantle
Are you working on doors in your game?
Get Health -> Returns the amount of health i have left (the value of my health variable)
Set Health -> Tells the Health variable what value it shall have.
I'm dead if Health <= 0
Im alive if im !Dead
This was it, I turned off collision for the plane and problem solved
Yes I want to do the Star Citizen door panel in the game world
Oh, so door buttons
Which version?
how do you listen to boolean change? thats why I tought I would need an event dispatcher
Overlap or linetrace
Im new to UE so not sure, I come from Unity, Im using a Widget Interaction in the player
Oh, fuck Unity, UE better
hahaha
That depends on if you want communication to be 2 way or 1 way. You can just have Button call an event on it's Door when changed. If it's Multiplayer, RepNotify makes it easy.
definitely
yeah but how does the button knows the UI was clicked
the Clicked event on the button actor doesnt work
only the Clicked event on the widget UI
Widget like this
That could be a bind between the button and button UI itself. What I'm saying is the UI should not be talking to doors at all. It talks to the button
But that's what I'm currently doing, I'm not even doing anything to the door, just trying to get to print string trought event dispatcher
there is no way to make a BP node like this right?
I wanna make an attack function with multiple latent out executions
You can do it any way you want.
On clicked -> Call UpdateState on MyButtonActor
Or MyButtonActor can bind an event to a dispatcher on its ButtonUIWidget
I do the first one but you can do whatever.
a Macro can have multiple Exec out pins
yeah but it has to be a macro right? in my case I want to call it on my Character from a BTT
you can use a switch on notify name
Huh?
I think you misunderstood my question
I just want to make a function on my character with multiple latent out pins
Ah
So that on my btt I can finish execution only when the montage finishes playing
Right now I'm doing something quite hacky that looks very ugly
LOL
I basically am doing the attack directly on the btt
I'll take the shot even though edited π
Sorry for the insult my auto correct fucked up xD
Hahahahaha
On clicked -> Call UpdateState on MyButtonActor
I kinda liked this approach, so UI will have a reference to the door button actor?
I swear it wasn't on propose
No offense taken, it actually had me snort π€£
@faint pasture how do you spot the door button? with tag?
I mean how do you spot it to call the UpdateState func
Between the widget and button or door and button?
widget and button
Button owns the widget component and is spawning the widget so it can set a ref to self. Or the widget can get its owner, cast to button, set ref.
If I understood your goal correctly; I guess you could set a variable to become true once the animation is over (blend out or however else you prefer) and then set your relevant BTTs to only happen if that variable is true, that way when the animation is playing it cannot perform any of them
like this right?
Or if you want references to only flow one way, button can bind an event to a delegate on widget
@unreal quail
In that screen I'm referencing widget from button, and I need the other way around
Nah it's to run the finish execution
First of all do you wanna use a dispatcher or just a direct reference?
Basically if the montage is interrupted I want to finish execution with a failure and when it finishes as a success I want to finish the BTTask with a success
Ahhh I understand, you want to delay FinishExecution until the animation is actually over
Sorry, took a while for my brain to register π
tbh, right now, whatever works to make them reusable and scalable
like, drop the button, drop the door, connect them, and they work.
thats what Im trying to achieve at least
Just make a variable of type Button Actor Reference in the widget BP and set it from the Button when created
In Button
Create widget -> Set MyButton(self)
Unfortunately I don't know a "clean" way to do what you want, @unreal quail
I can think of patchworky ways but I've no idea how well that'll go π
Or
In Button
Create Widget -> Bind event to ButtonWidget.OnClicked
so instead of having the widget in the hierarchy I should use create widget right
Welp I already have a patchworky one
You're confusing a widget with a widget component
widget component just displays a widget in world space
Only other thing I can think of is using Delegates
And well that'll be a mess so I'd rather avoid that
The ownership goes
ButtonActor -> WidgetComponent -> Actual Widget
I think I'll use delegates instead
I just can't stand looking at this
makes me feel icky
the icky here is the reroutes. just store the cast result (set variable) and then plug in that var instead of all the wires
i believe that is calling the cast function for each node that needs it anyways
ah
Reroute nodes are not causing it to call multiple times
You mistake this for pure nodes
thanks Exi
ah yeah it's not a pure cast
you scared me
@surreal peak what should I do in your opinion ?
I have no idea what you need. Only read the part from Conrad
basically I'm finding myself forced to do my AnimMontage play on the BTT because I can't figure out how to call the finish node when the montage is done
I guess I could pass an event Dispatcher bound to the finish execute node and then call it from my character when anim montage is done
i have it setup where my montage changes a boolean when it finishes
it stays in this task until it completes
I want to avoid that :/
well this is a task, so you'd have to be checking something on its tick
task can tick right?
not necessarily
yup
but in my case it doesn't
the play montage node calls finish execute directly
i mean this is happening when you first step into this task
so you have to wait until the montage finishes, i.e. check on tick for when its done
no because there is also a delegate called when it's finished
honestly seems simple enough to use an anim notify so that it can be set based on the animation
Which would be better for customizable characters?
One Mesh Body or Multi-Mesh (body parts seperated) Body?
I need info for a rpg game
yes, when it finishes the execute chain, not when it finishes a time latent action - hence the tick
I want player to customize character's physical look, e.g. fat, muscle, hair color, etc..
any tutorials for Morph targets?
and importing blender to UE4 and use original skeletons for morphing
Hello. Are there any geodesic wizards here? I'm working with a geodesic dome model and trying to make the windows open/close along their specific axis. I'm finding it difficult because many of the windows are not aligned to any global axis, they are tilted in one direction or another away from all 3.
My current attempt is to figure out how to designate one edge of the 3 edges as an axis, either through programming or by manually putting a static mesh in and lining it up (programming would be better), and rotate around that, but I'm not finding functions to rotate around another object, it all seems to be based on the 3 axis.
I would say that's pretty normal
To do the AnimMontage in the BTT
I mean we use GAS internally
so the BTT just activates a GAS Ability, which has the Montage, and when the Montage ends the Ability ends, which then ends the BTT
Not too much different, just one step more
So Im spawning a sword on the death of one of my AI
All my weapons are children of this item, how can I spawn this actor or any of its children
I see thanks for the info!
Stop movement immediately isn't doing anything
My character is falling and the does nothing
Instead I did a get velocity, multiplied it by 2, negated it and launch charecter, but they go upward and the other way a little bit
How do I make the character stop in place
2nd hit
I would add a socket per window. The socket would be the frame of reference for the window
You can do it with empties in blender or do it painfully by hand in unreal
Or if you want it all to be one mesh, you can do it with bones. The bone rest pose would hold its reference frame. Basically opening a window would just be rolling two bones
