#blueprint
402296 messages · Page 772 of 403
I've already identified a number of points where I disagree with things like naming scheme but these are all really, really simple teaching examples, which is what I need at the moment. I started on some videos intended to be an introduction but it was all... high-level abstract and historical information and not touching the tools in the detail that I need to actually learn it
Does this use a state machine or just blends?
State machine
Ya so you'd have 3 states and the rules to transition would depend on those 2 bools. You'll figure it out.
Yeah, I understand that part, but I don't know what I don't know. Never touched animation before this in... anything. I think I watched a video on how it's done in Flash once.
I'd take a peek at the 3rd person template if you haven't yet. It's got a nice simple animBP
I'll go back to that one and see what it does after this one
I was really just wondering if there was some weird pitfall with something like the vertical component changing between the sequence executions and the value of the last getVelocity persistng somehow
For reference I'd do running and jumping as 2 states with 2 blend spaces. Running blendspace uses velocity to blend between running and standing, and jumping blendspace uses Z velocity to blend between jumping and falling.
Ah, neat
bIsInAir would be the bool to switch them, I think you can just yoink it from the character movement component but don't quote me. My game doesn't have jumping shrug
actually i think its called IsFalling
Anyway anyone here ever done a detached camera? What's the most elegent solution?
If I could jsut add a camera component to the playercontroller and drive it around that'd be great but that doesn't seem to work.
I am working on a project with a bunch of idiots that just sit on their phones and stuff, anyways, the yellow arrow indicates the tick in the base enemy class and everything in the picture is connected to it. I am pretty sure this is waaaaaaaaaaaay to much, especially considering there are gonna be about 25 - 75 enemies spawned at once. I have told them use timelines and timers, but their best solution is the easy way and throw everything onto the tick.
(everything except that one event in the middle) nevermind it is binded
" bunch of idiots" correct
not that tick is bad
but
why not do AI with the AI systems
That's a clusterfuck, what all is going on there?
idk, and that is just the base enemy as well, the others call the parent plus a shit load more
Yes you guys need to learn Behavior Trees if you want decent AI that's not a spaghetti mess
idk isnt for what all is going on there, let me look real fast
Can you give a higher res screenshot so I can see what's going on here?
moving left to right it does ai stuff along with setting flipbooks, then in the middle it does damage checking and health checking along with flipbooks, then at the right it does more movement things.
Do you have smoothly regenerating health?
no the health doesn't regen on the enemies
Then probably none of that has to be on tick. Dunno much about flipbooks but they might have to be
I mean this project is a cluster fuck. I have 1 thing on tick, which I am working on the bosses, and it checks death and thats it
Basically if you don't expect something to be changing EVERY FRAME, it doesn't need to be on tick
not even that has to be, just make an Event Death
@final python https://www.unrealengine.com/marketplace/en-US/product/graph-printer?sessionInvalidated=true
You'll thank me later
Event any damage -> is hp<=0? -> Event Death
yea would be nice if I could do it that way
This project is headed to chugga chugga spaghetti city if you guys don't whip it into shape lmao
but the character guy who also does the projectiles is half dumb as well
oh trust me it already is there lmao
Start with this. If it doesn't typically change a value EVERY FRAME, it doesn't go on tick.
HP Regen on tick is fine
updating aim direction on tick is fine
animation stuff that should probably be in the animBP but can be hacked together in the pawn BP is fine
checking for Dead is not
For instance, here's my Character tick, where I do stuff that has to update EVERY FRAME
the acceleration tilt can probably be handled by animation, just haven't don that yet
yea I know tick, im saying there is about 15 of us in this class working on this project, and about 10 of them either sleep, sit on their phones, or gossip the entire class (and all classes), and the only reason I had to check death on tick was because he wasn't applying damage on the enemy attacks, he was straight subtracting health
If you're trying to do AI in your Character BP by doing stuff like perception or navigation ON TICK with 70+ AI running around is a recipe for disaster.
lmao
when's this due?
we also have a c++ class that is another project class, but it is solo since we are still in the process of learning it, and they do the same thing in there, so Idk how their projects are gonna turn out onthat
the next milestone is due monday lmao, but its graded on seperate parts so I am good
like they get graded on what they wroked on, and I get graded on what I worked on, and so on
Set your HP variable private
yea, this is a mess, me and about 3 other people are trying to get everything to semi work, because also a bigger kicker is they said the enemies work and they dont at all, so we are gonna try to just polish it, since there isn't enough time to just do it ourselves
make him use the damage interface
yah 15 nubs on a BP project lmao consider yourself lucky if it doesn't crash
yea I hope it doesn't, the professor is gonna be cringing once they see how much they have on the tick when we upload it, and present it lmao
So does like every pawn use different stuff if made by different people?
Is this fine or shitty?
For just driving around a camera as a transform.
nah, like we split into groups, and then each group had 1 person create the base class, adn they all help out and think of stuff they needed to make it and include as much as possible that everyone needs (if needed) and send it to a branch on the github, and then they were assigned who would do what in that group, like you make enemy A, you make enemy B, you make enemy C, etc... , and they would all just work on their class, and communicate if they needed something added in another class, so 2 people wouldn't upload the same file and erase the other one, anyways, so to answer the question, sorta, but they all derive from a parent that they all made
Would anyone know why GetActorOfClass fails (returns 'None') when the class it is getting an actor of simply has one component's collision enabled?
If I disable that component's collision, GetActorOfClass works again.
Ie, this:
... fixes/breaks this:
(Where that white egg/orange cone thing is the BP_Flyer)
Is the flyer spawning at runtime or does it already exist on the map?
Runtime, it's the default Pawn class so PlayerStart sets its position
er
Well I guess that's not runtime
It's what the gamemode sets as the default pawn anyway
Did Unreal Engine 5 completely overhaul math operations?
I remember being able to do operations between different variables, but it seems to be unified and more limited?
for example, I used to be able to do intPoint - Float, but now it's gone, and it's giving me errors if I try to convert it into IntPoint
is there a way to get around this?
I managed to get this
It's a lot wonky though, getting the widget to clamp exactly to the edges is a little bit tricky
The circle one is easier, but I reckon that's not what you want
Also, I suck at recording videos 🤷♂️
square version looks better to me, close to skyrim level
@hexed inlet by description that's not a problem I've encountered. There must be some other logic involved. As a generic potential fix, try delaying the Get slightly in case it's some funky issue with the dynamically spawned thing not yet being fully constructed. Idk what the circumstances are.
Love the avatar btw. Star Control II is a personal fave.
vague, but, Sequence?
I don't think that would work. Sequence does not allow parallel execution
basically I want to continue on the the Meleeattack2 Bool without waiting for the delay
But I dont think its possible
atleast not the way Im doing it
you're right, timer would work though
timer?
Oh, right. Timer would work better
You set a timer for the event to fire after your set time. You'd need another event to hold the logic you want to run after the event.
Just get the timer node, it should be intuitive after that
Specifically timer by event. It's easier to work with imo, than timer by function name
set timer by event?
Im not sure If this will work
Im trying to start a function and play it onTick, then stop it after a certain amount of time
will I just need to create a function to stop the original function
?
It's not recommended in any case to put a delay in tick.
does a delay work not in tick?
It works. But you have to be careful in its useage. If you aren't sure of what you're doing, you'd get unexpected behaviour.
Is there a way to make a function repeat every tick?
Tick
besides just putting it in event tick
A looping timer.
Is there any way I can put a delay inside a function?
no, event graph only 😛
timres it is
and yes you can put a timer in a function
a timer can call an event (via delegate or create event node) or a function (by its name)
for a timer I just call it once, or do I call it at the end aswell?
when you call the timer it sets it into action, it will wait the time before it calls the associated event/function
alright
But your design sounds a bit suspicious. Tick without using tick? Are you trying to circumvent the notion that tick is bad?
me?
Yep
No I was just wondering because I know you need a tick to use a delay. So I was asking if a function could use ticks
if that makes sense
because I wanted to put a delay in a function
You don't need tick to use delay. You just can't use it in a regular bp function. Only events in the event graph. Doesn't have to be tick
hm
so a function just plays a function when the timer runs out? or plays the function until the timer runs out?
it would not be the best to use tick with delay. A delay node, when called, will run its time and if it is called again, it will ignore the input (pretty sure it will not allow the flow to continue). Once it expires and continues the flow, it can be called again
It plays a function after the timer expires. Like an alarm or a stopwatch
i think i understand you.. you call Function A which has Timer A, and when Timer A expires it will call Function B
alright
its only asking for one function, it this Function A or B?
Awesome hehe. You know they've (as in Fred and Paul) have officially started on UQM2? One of their team of now 4 does a stream twice a week on its development. Super super early stages.
Regarding the GetActorOfClass, I even tried calling it every tick. Same issue.
so when the timer expires, it will call THAT function, does that make more sense?
yes
regarding tick, and this is twofold, you can check the timer to loop, which will repeat the time delay and call the associated event/function at each interval - secondarily, timers output their "handle" which is a reference to them so you can clear it, pause it, or check the time of it
thanks
I think it'll be easier if you explain what you're trying to do. Not the logic, just what you want to achieve gameplay wise
alright its gonna be a long explaination
i remember the same difficulties and confusions, but if you can get the hang of them, they're awesome
Not the entire gameplay though 😅. Just the section that is troubling you
I have a boss with two 'heads'. Each with two attacks. I need to be able to call and play any of the two attacks for a certain amount of time(which was what the delay was for)
So you play the attacks and after a while they stop?
yes
I think I have a solution
I put a timer in each attack function, which plays a function stopping every attack and calling a random one again
But that wont work
now that I think about it
Hmm, it's a complex case. I can't provide a design since I don't know the full picture. But I would suggest learning how to use timers they would be very useful for what I think you want to do.
And don't put delays in tick unless you've thought long and hard about it.
lol thanks
But I have one last question
Can you put a timer for functionA if the timer is in functionA?
so it can call itself?
nope
Not sure if you can but if it's possible I would advise against it. Recursive functions are usually a bad idea in most cases.
But I can have timer for functionB in functionA?
Absolutely
if it helps
CallThisWhenTimerExpires can be your function instead
sure thing
would vector2d * float be the same as vetor2d (x) * float, vector2d(y) * float?
so this should work?
once E is pressed, 5 seconds later MeleeAttack1 will be called
what if meleeattack1 relies on a tick?
why does it rely on tick?
Yes
The * will basically do component based multiplication
Then it should use a timeline
So you trigeer the event and the event starts a timeline
hmm, the only thing that is dependant on continuous updating is the set world location part
But that looks weird to me for a melee attack tho
yes
Delta Seconds * 0 !?
Yeah that just teleports them
hm
You’re not even using the lerp
ah ok
is it? squints
the boss goes from its current position of the player
well to the player's old position
Yeah I would use a timeline for that
so what about move to location node?
or move to actor
i guess it would stop once it reaches them..
Does that work if its not pawn/character?
my code?
What conrad said
"move to" calls just need an AI controller
Ye that is true
and navmesh
the boss doesnt have an ai controller
i kinda figured
so... what my initial thought was 🙂 make another timer for the set location
actually wait..
then it would interfere with other melee attacks
Nah nah
possibly
Timelines are the way to go in that case 😛
Gives you control over the movement and how it interpolates
You just change the lerp alpha to the timeline value
you call MeleeAttack1, that should do the set visibilities afterwards, the timer can loop at whatever interval to call the set location portion
Another timer as in event?
doesnt need another timer
please hold
So if I set timer by function name it will simply just play the function even if it's not included in the event graph?
I think so 🤔 I actually always use event timers haha
But if you are using timeline which you are
It should be event regardless
alright
im assuming a set timer cant be called in event tick?
Time graph?
You wouldnt do it on tick
Is it a teleport?
Rip. Then thats solid
Lerp.. isnt this prone to issues?
No I wouldn’t do that conrad
Fluxing framerate?
That is a very risky setup
but if its working with a tick, then that would be the adjustment
wdym by risky?
Keep in mind the event timer only means it will AT LEAST take x seconds
i would prefer something else as well
So if you drop fps
Your movement will be completly broken
Whereas normal frame tick is variable
im assuming delta seconds is set by tick, meaning the delay time should match with the frame drop
so a better aproach would be a timeline?
It won’t either
Delta is, but timer isnt adjusted
You will have last frames time
how would that look?
a better approach for movement would be Move To, but there's no AI controller
MoveTo, isnt this some charge attack? Sry didnt read up to far 😅
you say that...
It does tho
there's no Ai controller
no, just move to the players previous location
If your frame drops, your timeline will sinply continue and stop at the end
Guaranteed
feel free to provide a mockup, there's a reason why BT and AI controller exist though
Yeye that would be a good idea
Ahz, ok
I might just have to restart the whole thing but with an ai controller this time 😭
But without, I think that would be the way to go
what's the boss curently?
If one is doing bp ai one could make a custom input management system for the ai without ai controller, but feels way out of scope for this
It was fully functional except for one unfixeable bug
atleast unfixeable the way I made it originally
you could always just not do this one thing and go a different route
before it becomes a topic of proper AI execution
Id rather just restart and do it right this time
Give me 3min need to get onto my pc then xd
i dont think its necessary anymore
so whats so good about an ai controller?
its just been a bit of bp, so honestly if noha says it mainly works except for this little detail, then i assume they have it implemented the way they want
Fair enough
once again noha, if it's just this one thing, maybe just cut this and work with what works currently
perhaps you'll have an opportunity to make another enemy and then you can explore ai controller method
everything works, But I want to add more than just 2 attacks, but with the way I have it implemented it would just cause more problems, even if I remove the problematic attack alltogether, more problems would arise anyway
it works with one attack but not two right?
it is somewhat of a learning curve tho if you've never worked with AI controller and BT before
thats alright
i dont want you going down this route when this is essentially working
heres how I put it in:
if you want to do Ai, make a new class, implement this method as a new enemy rather than replacing what you have
separate it completely from what you have now in the same project
this isnt going to be my last boss, so I might aswell learn how to do it right
and yes, I would completely restart
oh right... not your last one ye then sure
basically the BT will be the brain of your boss
ehhh, dont go deleting all you got now
so you just feed it with data and it will do the work for you
well kind of for you, you tell it what action to do based on the data
yea Im still keeping some code
just dont mess with that code
since you want to start from scratch, just make new classes and such
im talking about health mainly
so am i
wait, enemy health or your health?
duplicate and remove the attack/movement code
enemy
alright, still, yeah
how does an ai controller work?
similar to a playercontroller for the player
you have functions that it can call such as move to actor which does what i think you were trying to do with the set actor location
but then every AI has it's own controller with the basic AI functionality
it does use navigation mesh
so it will make life easier or harder?
easier to maintain, harder to set up right since you're new to it 😄
good luck
ty
In this presentation, Epic's Paulo Souza uses Unreal Engine's built-in AI features to build smart enemy behaviors for a game with stealth-like mechanics.
By relying on the Gameplay Framework in Unreal, we're able to quickly create convincing AI using Behavior Trees. Behavior Trees are great for creating complex AI that can be presented in a way...
here you have a good starting point explaining some of the basics as well 🙂
gn
that is a great one, might be steep
that is actually one of the best ones compared to most other BT AI tutorials
so even with a BT I can have it use a blueprint's code?
put it on loop when you go to sleep and when you wake up you'll be speaking french in no time
omele du frumage!
@timber knoll them old peeps know what im talkin bout
I'm too young in that case 😂
well, its a reference to Dexters Lab, an cartoon where Dexter listens to a french cd to learn the french language. but it bugs out and the same phrase repeats over and over again
that's all he can see the next day, and as awkward as it is, it works out where that is the thing to say in every situation
pffff that's been too long ago for me XD
yeh..
i knew it sounded familiar!
is there a way to automatically unreference assets within a folder so that I can delete the folder without crashing? Thank you
not that i've found, reference viewer helps
Hi, I have a scene root that is parent to 10.000 instances of instanced static mesh. It renders fast. However, when I move the scene root, performance goes away.
How can I effectively move all instanced meshes at once, without losing performance?
c++
I can do it in c++, however my blueprint code calls one node update in one actor, once per frame.
sounds something like what im doing,
altho at 1/10th of the amount
there are some tricks in c++ that arent exposed to bp tho, will get you further
beyond the regular perf diff
Ok, so how would I do it in cpp?
well most of it would be like in bp, with the exception of this i think (haven't tested myself (yet))
will look into it, thank you 🙂
cant read that
I have a animation montage I want to play while my character is sliding on the ground. But when I fire the montage it looks like the animation is half way between my walking animation and the slide. almost like a 50% blend of the 2. any ideas what it could be?
this is in my characters bp
This is in my anim bp
How is the montage blended?
I have a character blueprint that's set as the default pawn, set to receive input, etc. It's not receiving ANY input though. what have I forgotten?
That's cool, what did you use?
have you tried asking in #animation ?
Hi all, quick question if I may...
I have a small game where enemies are spawned and give off "threat"... the object is to collect the enemies and destroy them, reducing the threat to zero - game over you win etc...
At the moment, the gameover condition is being checked against the remaining threat. Because these values are floats, when they are getting added together there is a tiny little fraction left over, so, although I remove the cumulative threat for each enemy, its never actually gets to zero (unless you destroy the very first enemy quickly and no more spawn).
I looked at the IsNearly node, and noted it has a Tolerance property. I set this to 0.1 for good measure, being that the values I am left with are things like 0.000763 etc, it still didn't seem to work. The existing logic was just check for <= 0 etc.
I wondered if perhaps there was something else I could do? I was hoping to avoid wiring up specific values if possible, e.g. <= 1, but the floats are a bit of a pain in the arse. Only other thought it is to move to a solution which counts the number of enemies instead and then checks whether that is zero, as that would be integer based instead.
I'd check if you have a bug first
nearly equal is pretty good at picking up on things
but you could also try rounding
0.000763 would definitely return true for nearly equal zero at 0.1 tolerance. If you have a set amount of enemies each map, it could be worth turning the threat display into nothing more than a visual, and just rely on the actual enemy count for game ending logic. If you're using a spawning system that spawns until a set amount of threat is reached, it could be worth just doing a simple check based on the lowest threat enemy versus how much threat level you have left for spawning.
Stepped through it a few times, and it was always the same, if only one enemy was spawned and destroyed, all all worked fine. When there were two or more, the issue with the floats became apparent, and after destroying the last enemy there was still a little bit of "threat" left in the game preventing the win.
I changed the value on NearlyZero to 0.001 and that seems to have resolved it for now. Feels a bit of an arbitary value though, so think I'll probably re-engineer the mechanic to use the number of enemies instead. Not sure why the 0.1 value didn't work yesterday, maybe I wired it up wrong when tired. 🙂
Yeah, I think that's the way I'll go when I iterate over this feature again. The enemies keep spawning, but there is enough time in between for the player to destroy all that are in the level, if they are quick, and thus end the game. So maintaining the count of spawned enemies and checking for when that's zero is probably going to be safer. I prefer the constant of zero than having to choose a tolerance value which may/may not be ok for all occasions etc. 🙂
why is my print string outputing my characters bp instead of what im actually trying to get
i have it connected to get current active montage and it keep outputting my base character bp
doesnt make any sense to me
i get this warning "Blueprint Runtime Error: "Accessed None trying to read property CallFunc_Create_ReturnValue". Blueprint: Menu Function: Execute Ubergraph Menu Graph: EventGraph Node: Add to Viewport
"
Is it possible to blend post process settings in a blueprint?
For example, blend bloom intensity from one value to another over time?
yes
wait sorry
wym by blend
ik you can control post process from bp
yeah structs in BP use the details panel
It's likely to be something in the construction script or construct event on your widget
How would i put binds/bounds on a camera or object so it for example doesn't go under -90 on the pitch axis?
is it a lot of work to get a menu that can scale the skeleton ect ?
just set the pitch axis to what you want once and never allow it to be modified
you'll have to elaborate
but if you want more than this you can clamp values
basically a character creation menu
if you have to ask this question I'd say pretty damn hard
where can i add my return value from the create widget node to
Get the angle between camera forward and target direction, then use it to get normalized direction in screen space. Then clamp the direction vector to the edges
also if you're new and you're building something that requires a character creation screen, I'd recommend scoping down your project
If it's a visual effect you can also look into doing it as Niagara mesh particle system
hmm interesting, so dot acos? how do you handle dot being left right agnostic?
yeah im a little ahead of my self rn lol but its one of my main things to learn / get a grasp on
why don't you start by making some fun gameplay happen instead of trying to focus on technicalities? you can build a small game around fun gameplay. you can't build a game with no gameplay and only a character creator
Is it at all possible to have an asset which is an array of curves? Instead of having a curve for every single value?
So I could do away with this and have them all exist within a single asset?
Actually I used this to get the angle
It returns -180 to 180
Then,
x = r.cos(theta)
y = r.sin(theta)
(x,y) is the normalized vector in screen space
A data asset but it's an array of references to these curves...
Wouldn't be strictly 1 asset though
hmm isn't atan2 supposed to be used with like atan2(y, x)?
idk, But I did have to exchange x and y while setting the position of the widget
but I'll take a look regardless, if this works even to some degree it'll save me doing the full complex viewmatrix bs
very well, I'll give it a go
thanks a bunch
Hello i'm new to UE4 i was wondering why is there UMG and the hud blueprint to render a UI on the screen?which one should i use?
i've read some stuff about both of it and i think im going to use UMG for the main menu UI and for rendeing some stuff like the crosshair or the health bar i should use the hud blueprint
am i on the right way?
how did you handle the clamping?
I can't seem to replicate your results
In Screen Space, Y is up-down and X is left-right
Check the absolute values of X and Y,
if Y is bigger, set the widget position to the upper/lower edge of the screen (lower or upper edge is calculated based on sign of Y), update the X position
if X is bigger, set the widget position to the left/right edge of the screen (again calculate using sign of X), and update the Y position
It's not really 'clamping' the values per se
ah I see
I've gotten a normal in screenspace so far and I thought I could multiply that with viewport size
but I guess it isn't that easy
I'm trying to avoid having a separate widget space
Yeah, That seems to give some weird results for me
well I had to normalize the normals to an alpha value
so both x and y have a range from 0..1
The widget actually performed an ellipse on the screen instead of sticking to the edges 🤷♂️
I think that's fine technically. it's essentially trying to follow a circle bigger than the viewport
but clamps to viewport edge
as I understand it
-1 to 1 ?
ordinarily a normal would have -1..1
0 to 1 would only give you the upper right corner of the viewport always
but if you create a constant bias you can normalize it to alpha scale
so 0..1
not if you multiply by the viewport extents
it becomes percentage of the viewport
but I'm not sure if it works for this method
I'm not sure how to handle the clamping in that case
yeah that's a good point. if the circle would be big enough the clamping would be automatic
atm I'm trying to just make it work without clamping and I'm getting very odd results
using just this
That gives a circle
Multiplying the values by a large number and clamping them gave some odd results.
but I assume you multiply by viewport center then?
what? didn't understant
I simply have an Image anchored to the center of the screen
ah that's why
So, (0,0) is already the center
Yeah
Keep in mind, I'm changing the position of an Image withing the Widget, not the whole widget
but yeah I still can't get it to work properly even with center viewport multiplication
I'm certain the math is correct but I just have no clue what to do with it
You have the normal vector, right?
yeah, cos(angle), sin(angle)
if I just set the vector it stays in upper left corner/disappears
Weird 🤔
actually
It's a normal vector
I see it now
yeah but if put it directly as position the position is between -1..1 on both x and y
so it makes sense it stays in the corner
there's some pivot weirdness now I'm sure
it seems to go in a circle that center on the (0, 0) of the viewport
so the upper left corner
when I multiply it with the viewport center
so I'm only getting a quarter of the rotation
Are you multiplying it by the viewport dimensions?
GetViewportSize() * 0.5
Hi i want to learn how the weapon (pick up, fire weapon, pickup multiple weapons, etc) system works. Does someone knows a good tutorial
if I don't multiply it by anything viewport it's just stuck in the corner
I need to make the pivot come down from the upper left corner into the center
If you don't multiply it by anything, it should stay in the centre of the screen
well no
Tracing a circle of very small radius
it stays in the upper left corner
because it uses normal values
so both x and y are -1..1
These normal values are not relative to Viewport
I'm talking about Cartesian Plane
(0,0) at center
right but because I don't spawn my widget inside another widget space, I use viewport space
(0,1) to the upper side
(1.0) to right
(-1,0) to left, etc.
Well, that requires some more math which I'm not aware of then
currently it seems that the normal uses viewport space, so 0,0 is upper left corner
I tried multiply the normal by ViewportSize() * 0.5 which just makes the radius of the circle tangent the screen center
it does not move the pivot
The normal would use any space we want them to
Try adding ViewportSize/2 to the position?
adding
of course
that could be it
yep
that centers it
also found alignment
which may be the cartesian you're talking about
it isn't, lol
welp
but ok
The alignment is probably the pivot
ok I got half a circle showing up by doing ((cos(angle), sin(angle)) * radius) + (ViewportSize() * 0.5)
going out from middle
possibly
okay
added 90 degrees to the amount of degrees, made the radius larger than the viewport size and it's working
it's missing some accuracy but it's way better than what I had before, so appreciate the help
for the record these are identical, but the one on the lower side is cheaper
Yeah, it's not that accurate
I think I can play around with the radius of the circle
to make it slightly more accurate
Got a weird one. Projected is C++ base and replicated. This problem relates to a prototype (mostly in blueprint) and is not replicated. RTS style game
What should happen:
- Player selects building what they want to build
- Shadow/Ghost version of building follows mouse
What is happening:
- Player selects what building they want to build.
- Shadow/Ghost Building spawns but doesn't follow mouse
- If pawn is unpossessed or the PIE is exited but not closed (by clicking on world tree)
- the pawn is repossessed or the PIE is resumed (by clicking back in the window) the building follows the mouse
Sad part is, I've done this before without this issue
since this seems to be based in replication issues, have you tried #multiplayer ?
actor
and how do you move the actor?
@odd ember so, you want a circle or a square
it's what is mostly BP. All the variables it uses are C++ based right now (the methods will be too when the prototype is done). It is being spawned by a actor component (100% bp currently) that is attached to the player controller. The second it spawns the building it through casting (interface will replace this soon enough) calls a method (event) in the building BP that sets actor to location. Location is passed through the component. The location is based on the mouse location with some offsets.
(code base I am using works, it is from my tutorial series, but I am making an new version of it in C++)
I think I figured it out, this is basically what I am doing now:
@worthy frost here are the methods (events) I am using
also I need to move is previewing I know
@odd ember but that would result in the widget going out of the screen
it would but you clamp it to ViewportSize() * 0.9
it works for all angles
top down too
For some reason that results in the widget getting stuck in a corner for me
and what does MovePreview do @spiral sand
well you have sub widget space right?
Yeah
that might be why
@worthy frost this is the BP prototype of the BuildingMasterBase class file.
sorry i was meant to ask where you get the mouse info from
I will have more than one of these widgets on screen at the same time, so that's why I think it's better to spawn them directly in viewport
the player controller
it feels like a focus problem
the information is valid and is being correctly passed along.
I was just given a suggestion though that it may be the way the building master is constructed
as when you loose focus on the game viewport then regain focus
it fixes itself right?
yes
already done. Game Mode and UI mode (due to the nature of the game)
interesting, i mean we only ran into that issue when the input mode was wrong in Red Solstice 2
I thought it was a focus problem too. Let me quickly tackle the building master base issue (I constructed the base code differently), because that in theory could explain it too.
(if begin play does not finish firing by the time it is suppose to track the mouse the mesh may not being set and by leaving the viewport it sets partially - would also explain a secondary issue)
@odd ember ah, I see
Tested both ideas.
Setting the mesh in the construct script did nothing.
re-setting (in case the C++ player controller setting was ignored) the focus for game/UI did not work either
do you spawn some widget?
can't spawn the building... will make a dummy key for it
hmm
shit
can't really not spawn the widget, nto without a lot of code change
I could just not add it to view port
@maiden wadi how do you stop the widget from stealing focus?
First thing I did when starting my most recent project, was make a new Userwidget that is a button, has styling options, but most importantly, it and it's internal UButton has IsFocusable disabled by default.
jnot a UMG guy.
UButton has IsFocuable true by default. And it's incredibly annoying.
One moment. I seem to have lost something... like the construct script
weird part is it is still firing but it is not even listed as an overrideable now
@spiral sandOn a side note. I haven't been following the conversation long. What button is the widget stealing focus for?
it's not the widget
just did without the widget on the view port, using a hot key to spawn the building in.
And that doesn't work either?
nope same error. Small update to the problem though
I made one small mistake and this mistake is why it appears to be a focus issue.
@maiden wadi if you're interested in the offscreen problem from yesterday we got it resolved
It is not clicking out of the view port that matters. It is clicking out of the view port and selecting the actor in the world outliner that fixes the problem
(for all angles)
Always up for learning. 😄
this is the easiest way to show off what's happening. the radius is the outer bound for where the indicator wants to be, and that is clamped by viewport size. the math itself is getting the angle between the vector of the OtherActor pointing at the camera (or pawn), then translating that into a 2d normal by going normal = (cos(angle), sin(angle)), then (normal * CircleRadius) + GetViewportSize() * 0.5
circle radius can be adjusted based on normal value to get best results
so it's not just a circle but an ellipse effectively
in my case I'm using something like CircleRadius = normal.x > normal.y ? GetViewportSize().x : GetViewportSize().y
Huh. Might have to mess around with that. I was always wondering how to project it to the edge of screen effectively. That'd be a pretty easy way to handle that. Also probably computationally faster than what I have at the moment. 😄
yeah definitely not a focus issue I think.
also avoids math/perf heavy solutions like deprojecting view frustum to get vector intersection
which was the road I was heading down 😅
That sounds ....... complex 😅
yeah. I mean it is available in BP as well, but requires a very roundabout way of doing things
like you have the find the actual camera to get its FMinimalView struct (because for some reason this isn't available through the camera manager)
btw, you can use the same angle to rotate your widget so it points at the target
the angle you calculated earlier
ah yeah, appreciate it
I will probably rotate a part of it to give an indicator. have to create a new widget now that the logic is in place
I'm also trying to scale the widget based on distance
but perhaps opacity is a better marker
I'm cheaty. I just get look at rotation from Screen center to screen location with zero Z and use the yaw value of that to set the angle of a right facing arrow.
But lookatrotation only seems to take the position into account 🤔
If character is standing at a location and you get the rotation to the target,
Then you rotate the character in the same place, and again get the rotation,
In both cases, it returns the same value
For the arrow direction. In screenspace.
I do the same thing for quick radial menus. Getting the angle of Initial mouse location to current mouse location after pressing the key allows very easy radial menu selection. Can choose the option from an array based on the angle.
I prefer float comparisons for this. Some people use delays.
lookat is the direction from the other actor to the player character/camera
In regards to this, how often should the hit be able to damage? Like once per second, or?
I thought it was the direction from start to target (or whatever the other var is called)
it is, so if we plug in the other actor's location into that, we get the direction from the other actor towards our player character/camera
Why is there a branch with always true condition?
might as well remove it
if it's being registered every frame, your issue isn't with this blueprint. your issue is how your hit registers every frame
Huh
I thought it was the other way
Exactly
So, If Start is the player character and target is the target actor
It should give the direction from Player to Target, right?
then we are looking from the player character
but that's not what we want
we want where the other actor is looking at the player from
yes
I did all that the other way though
We find where the target is from the player's perspective
you already have where your character is looking from, that's the forward vector 😉
@sudden briar Try this out.
The forward vector is where the character is looking at
If the target is to the right of the character then that gives us 90 degrees between the forward vector and the direction vector to the target
90 degrees means the indicator should be displayed along the right edge of the viewport
This is what we've been talking about, right?
I would personally look into structuring your architecture so this doesn't happen. because if it happened here, it will happen again elsewhere
that's potentially true, and I did add 90 degrees to make it work out right
so it may be a question of using right vector instead of forward vector
Hmm.. I wonder if that's a possible feature request. It would be nice to be able to set macro's local variable defaults.
you can just set it at the beginning of the function before doing anything
There are cases where that isn't applicable. Since that would force you to execute that macro at least once before use. That isn't ideal in UI uses at least.
as far as I understand macros aren't actually like functions
they are just collapsed graph
I use them to keep variable lists clean. I love macro's local variables.
Yes, but if you're accessing the local variable, that means you're executing the macro anyway?
Or am I forgetting something?
Macros are generally meant to be ran multiple times and keep state. Otherwise there's no point in using them and you should just use a function. To set up initial state in a macro would require having a bool and switching on whether it's been executed before.
One wouldn't think it would be that difficult for some UE graph wizard to add an editable value in the details panel for the node.
this tbh
I've never had problems with them. 🤷♂️
I've never had use for latent macros in any capacity
https://answers.unrealengine.com/questions/803198/how-to-sort-an-integer-array-in-blueprint.html?sort=oldest
https://answers.unrealengine.com/questions/729952/how-do-i-sort-an-array-by-distance.html
https://www.reddit.com/r/unrealengine/comments/6r5np4/blueprints_trying_to_sort_actor_array_by_distance/
search at google "ue4 sort array by distance", if it is C++, then create your own function in C++ and expose that function to blueprints
There is a blueprint function called "Max/min array element", which return element with it's index, just do with your array and remove that index element after adding to new array. Unreal engine should have that kind of functions in blueprints as well for sorting arrays.
the best answer is have these in a priority queue
or at least that's how I would do it
of course one of the very valid data structures that still isn't natively implemented in UE4 😔
Is it possible to initialize an asset reference using it's path in the content folder?
E.g. I want to get an array of Texture2D references by iterating over all .uasset files in my textures folder
Is the AssetData Struct bugged? Why can't I set its member?
Unless there is a better way, i store all applicable textured2d assets in a name|texture2d map. Then I fetch any textures by name. Maps must have unique names (keys) so you can have an array of all appropriate names and search that way
Yeah, that's a way. But I would have to maintain that map. Textures in my game are modable. User jpegs are loaded from the mod folder at runtime. But I also want to load everything which is in the vanilla textures folder as well using the same function 🙂
I think soft objects would be the area but ive not worked with them really
This looks promising: https://isaratech.com/ue4-get-assets-by-path-in-blueprints-with-the-assetregistry/
maybe it's not exposed to be writeable for blueprint. generally I would avoid heavy struct editing in BP
it's a can of worms due to how cpp handles copies
because you're not really meant to mutate asset data in this way. Modifying these won't change the actual asset, or it's metadata. You should be requesting another asset data if you just want valid data that references another package.
it isn't bugged, that's an intentional design choice
Makes sense! Thx 🙂
Hey guys. Is there any way to disable a first person characters hud from appearing during the loading screen? Currently I have an empty level which is used to display the main menu, and at the end of the script I have a DestroyActor function to prevent the HUD from appearing. I'm sure theres a better way but I'm not sure.
Why does destroying your character have anything to do with your HUD?
The character has a hud built in but for some reason when the main menu is displayed, the hud is being called and drawn over the main menu
so the only way ive found thus far to prevent that is to destroy the character
By hud I'm assuming you mean a widget. This is one reason that character spawning should not handle widget creation. At the absolute most, your character should call to the local controller's actuall AHUD class, and tell AHUD that it's spawned. And AHUD can manage your actual widget UI. Then you can not use that HUD class in the main menu.
@worthy frost in doing some reading it appears this issue happens to others too when the root is the collision mesh, which still makes no sense but hey at least I'm not the only one with this issue
I'm trying to set up a metahuman with the Advanced Locomotion System following a tutorial but when i start playing the animations i get some weird clipping between the jacket and head
Hi, i 'm needed to set vlue of this variable "Wood Life" that is stored in another BP it ask me the target what should i put in it?
an im not really sure whats causing this because the custuction script seems fine
Appreciate the response. Actually managed to fix it by setting up a second game mode, which i should have done originally.
Also i want to hide this object when this variable reach zero, how should i connect the trigger?
this happen when game start ofc
Connect a branch
but if i connect only to new visibility the exec node is not called
i need eoither to use event tick or something else?
If the variable “WoodLife” is in another BP, then you have to get a reference to that BP. Cast and store the reference as a var. Then drag off from the reference/var and search for “WoodLife”
Is it like that on all LOD levels?
as of now i havent added all the LOD levels so its at 0 right now
MetaHumans already have 8 LODs by default.
Something you can do…since he’s wearing a hoodie, you can hide his torso with a material that’s blank
Ok so i added a LODsync and plugged in the LODs and it works fine on lod 0 but not at default -1
Oh i figured it out
Hoodie missing?
I had a misspelled word somewhere
thanks for the help though, i think it was a problem with the LODs
dont know where to be
but i have a very simple question
how do i get my text to not get out of the fucking borders lol
like this
anyone pls...
Can you show the order of the widgets on the side?
I see...try to nest the text block under the border
Does anyone have a good quake movement clone?
Hey. How can I have my components overlapped actors specific component?
Well, it's more of a later Source movement, but Source is based on Quake engine, so yeah.
Guys, how would you make a statistics graph in widget?
Something like this?
http://kantandev.com/free/kantan-charts
oof I'll have to use that someday
Hi! Is anyone here familiar with the UE4 to Arduino plugin?
im having trouble installing
I put it in my plugins folder
but nothing comes up when I search for it
do planes not trigger collisions?
looks like you might need to compile it yourself?
hard to tell
follow the instructions
we know as much as you about the plugin
(if it even is a plugin)
yes I need to compile it myself
Im probably just gonna make movement myself
i need the experience anyway
good luck
ty
you want both to be true?
when bullet hits the target, it should die and when the barrel explodes the target should die again
with variables i did it twice as u can see at bottom
but one of them overwrites another
the enemy shouldn't be responsible for when the bullet dies tho
any ideas what I have done wrong here?
Read the error
The property associated with Camera could not be found in '/Game/FirstPersonBP/Blueprints/FirstPersonCharacter.FirstPersonCharacter_C'
What are you trying to do
I am following a guide for a 3rd person game
I want to keep my 1st person perspective
so you started with first person instead of third person because...?
That's fine, what are you actually trying to do here?
what is this bit of code supposed to do
you should add a camera to your first person character I guess
omg, doesn't starter content come with one, lol
right but you need another
lol
you need a third person camera
k
One is what you see, the other is what other ppl see. Are you trying to have 3rd or 1st person view?
well right now you have first person
I wanna place things into the world and need this reference for line tracing
K then you're fine, what are you trying to do with that code snippet you posted?
omg, thanks for helping me to see the light, lol
but wouldn't I wanna stick with the same view as the player has, to ensure accuracy?
what's the best way to save and load physics objects that ive already spawned into the world? idk how to upload my project files so people can help, could i just give you the uasset file?
For line tracing you already have everything you need. Just trace out from the camera you already have
wait so you don't want a third person camera?
probably better to ask in #legacy-physics
No he doesn't, I just don't know WTF that bit of code he posted was trying to do lmao.
following this dude, about 4 mins in
https://www.youtube.com/watch?v=Z8u1EUJxfOI&list=PLGm9gBuuMTeuLQythBu61WK7qO31RRH7l&index=4
UE4 Base Building, Build System tutorial series.
Assets used in these series: https://www.mediafire.com/file/zvcwp3fadw4af0i/ItsMeBroBaseBuildingAssets.rar/file
Building Playlist: https://www.youtube.com/playlist?list=PLGm9gBuuMTeuLQythBu61WK7qO31RRH7l
Join our discord: https://discord.gg/Gr9sPP2
Free assets: https://itsmebro.net
Donate: https...
What is THIS trying to do?
OK i gotcha. He's makign a component to handle the building mechanic and move the ghost item around
I have a custom event to spawn an actor and I want that event to trigger on collision with a box trigger. What's the best way to do that?
This is where you fucked up.
yup
you're in luck. box collisions have an event called OnComponentBeginOverlap
use that
Do it just like he is. Just telling the Build Component that its Camera variable should be the camera on the character. This is done from the Character
He is setting BuildComponent's Camera to be Characters Camera
someone knows how it would be
I don't understand enough yet on how to change it to 1st so will follow him and figure it out later
thx bro
First try doing exactly what I posted. In the Character, which should contain the BuildComponent, set BuildComponents Camera to be the Character's Camera on Characters Begin Play.
will do
sorry for noob question but would you recommend that on the begin play event?
yes
That isn't the same thing
I suspected not
Drag off build component, set it's camera
if you check there's a bunch of links pinned that you can check out
in the channel
this discord channel
pinned
ta, will take a look
Does build component have a camera variable yet?
aight so I made some VR arms and they are acting up a bit
hi,,,, i'm having issues with playing my game,,,, for some reason when I click play it only simulates the blueprint i'm in,,, i dunno why
You skipped the part where you give build component a camera variable then.
Or you named it something different.
this is what I have now (but still in 3rd person) ... will clarify how to switch the came later as I have been getting "stuck in the details"
oops
A plane isn't a primitive collision shape so maybe you need to use Complex Collision or make a really thin box collider, lol.
I ended up using a thin box.
Yeah complex can be wonky in some scenarios
ok, what is the simplest way to spawn in an actor from collision with a box trigger?
k thx
I got the movement working
well I made my own
its not spot on but its close enough
Change the type input you are passing
I'm using this in game mode after Died. It works in my multiplayer game but problem is that it resets player but not "controller" example: UI shows 0% health
Is there way to reset whole player after getting killed in multiplayer game?
Like open level to current again but without loss multiplayer session
Thank me later
i worked it out
but thanks
❤️
Hey guys, I'm working on a jump system for a small project, Im trying to emulate something like in the FF13 games where the jump is fixed to a position. could someone point me to the right direction for resources, I think I need to look at, Camera and Animation material, is there anything else I would need to look into? Just looking for an idea on the right keywords to search for, thanks all!
I think it's just as simple as playing the jump animation and lerping position from one point to another.
I'm not sure what jump fixed to a position means? a fixed position in front? back? where the character stands?
It's more of the jump positions are predetermined.
Final Fantasy XIII Gameplay Walkthrough PC 4K 60FPS / 2160p 60fps, the highest quality walkthrough of Final Fantasy 13 is here, enjoy my massive 4K series of FF13, I will play through the entire FFXIII Trilogy in 4K 60FPS!
Final Fantasy XIII Gameplay PC Ultra Settings going above 1080p 60fps, this video is available in 2160p 60fps when using Goo...
like this
At least in first Final Fantasy 13, you can't jump around at your own will (as there's no need to - the game is very linear and not a platformer), so the characters would jump from one point to another only in specific points in the map.
^^ this yeah
(also can't forget how the "prologue" chapters drags out for hours but I digress)
yeah that was terrible
looks like something you could set up with sequencer generally
Or simple lerp w/ timeline
lerp would linearly bring you to the end position
And that's pretty much how it goes in the game. It's just basically play (exaggerated) jump animation and move the player entity into position.
I'm thinking about the jump animation do the lift up.
Not necessarily "in-place" animation.
that's bound to cause issues
I'd handle it as a cinematic and have the character teleport basically
hence sequencer
it also simplifies the fact that you have cinematic "jumps" separate from game logic
Cool I look into both options then, cheers
I'm new to unreal and I'm trying to figure out a way to get all objects with a certain tag and then run some code on each of them. The problem I'm having is that all the objects are different classes and have run different code so I can't reference one function.
sounds like something an interface is for?
it's exactly what an interface is for
though it depends on what function parameters each class has
there has to be some parity in the function signature
Though he mentions tag, so I'm assuming it has to do with GameplayTags
I'm not versed in GameplayTags yet
It turns out the tag part was unnecessary, I can now just use does implement interface.
Guys I have already created my own graphing script for statistics 🙂
There's also a get all actors with tag, but both those functions are pretty heavy because they get everything and then check if it has whatever you're looking for..
If you can avoid it, I'd try get direct references another way or do an event dispatcher and have each of your actors implement a delegate event to run the code you want
No copying from Kantan Charts? 😏
Well now make it fancy..
With like colors and dots or something
this is mine I did it from 0
yes that's the next step
I'm putting more data to show me but it works very well
You know, because kantan charts is free and open source, just in case you claiming it as yours, made from scratch. But I'm overthinking tbh
I think it is not worth buying some of this if you can do it yourself
Buying for $0?
If it's easy to do and you wanna do it, I always find it's easier to work with my code then someone else's
I'd prefer making things from scratch because cooler first, practical second.
Imagine the street cred gained from going deep into the code, heck yeah.
Not to mention potential to naming things yourself to be said in public presentations
Haha idk if you've watched the cppcon presentations, but they get deep..
I gotta pop an asprine in advance
How do you create a bullet tracer round that can be seen, regardless of distance from the actor? Similar to how you can see Bullets flying across the map, and from the barrel of your gun in any modern fps game, like battlefield, cod, etc.
The material will always fade drastically or disappear completely when it reaches an unknown distance, and I've never been able to figure out how to fix that.
sounds a bit more like a vfx questions, but if you use niagra ribbons and a line trace, you can draw a line. with a little finessing you can make it as if the bullet took a few frames to reach that distance or else it will be an instance line. the fade effect and appearance can all be handled in the ribbin
apologies, I was looking for a material channel but didn't see one. I'll ask there. 🙂
If I have some blueprint uassets files, is there any way to 'view' them without adding them to some functional UE project? 3rd party or otherwise tool? Just a semi functional viewer? Original uproject is un-openable, so can't do export from it, and just want to examine some things
No.
There is https://blueprintue.com, but it's more for copy pasting BP nodes.
yeah, need access to BP nodes first 😦 I did find a uasset 3d model viewer, but nothing for blueprints
could you take the uassets of your bps and open them in a new project?
first of all make a full backup of the broken project
then take out assets and put them back in until you found the "corrupted" one
then get that asset from source control or the backups you make regular (right?!), otherwise check if there's an autosave of it which still works
Also check your log file, it may tell you what the problem is.
oh there is like a million problems, its not my original project that 'went bad', it was just never good/functional, requires things I don't have (plugins, and whatnot)
and aside from spending several days trying to unwind things, I just wanted to read/reference for educational purposes by looking at some of the uassets.
(e.g. downloaded a old sample educational project off internet, and even though using right version, just busted af)
I mean, theoretically you can move the files, if all references are moved, from one project to another, given they are the same engine version
But there are of course lots of terms and conditions attached
It's probably better to at least get that project to open and use the Migrate function to get the files out.
Shall the project unable to open at all and File Explorer is the last resort, at least make sure to keep the file structure all the same when copying from one Content folder to another, as to not break the references.
Noob question. Why Add movement input with floationg pawn movement not working when i spawn actor?
Million reasons. Is the Actor a Pawn that you're Possessing? How are you adding the movement input?
Im trying to adjust friction based on vehicle speed. is there a way to adjust paramaters to the wheeldata asset on runtime?
Just curious, how hard would it be to make a game from start to finish entirely in blueprint? I remember hearing something about how there's certain things that text coding is capable of doing that blueprint can't do, or is really difficult with blueprint to do
Depends on type of game and features you want
for some reason specifically my e input isnt working when i am holding control. I changed it to f and it worked perfectly.
Yes, depends on the game and features. Some is doable entirely in BP, some would involve C++ into the mix.
(I don't say purely C++, because some things are legitimately PITA to do in Unreal C++ as opposed to side loading the job to BP)
Thank you so much :)
What does PITA mean though?
Pain in the a||rse||
I tried like 5 other keys and every one works with control except for e
been doing that for awhile now
What things have you achieved doing it that way?
the first thing i made was a fps shooter, nothing great, but thats the basis of the engine
Awesome none of the less
Are using e somewhere else?
Like this
If i add him on scene all work correct
But not when i spawn it
@tidal marlin what does that print string output? But also why are you not using a ProjectileMovementComponent for your rocket?
Im not sure that if i using projectile movement, i can change speed.
Print string i use to see that all variables is correct
k i fix it
Need change auto posses ai
I'm trying to implement a crosshair for a tank by using a line trace but for some reason its not accurate, First i use line trace by channel then store the hit location in a variable and then in the hud i retrieve the value using project BP i display it on screen but for some reason its not accurate i could fix it by adjusting the return values on the project BP but is it really the correct way to do it?
Also for some reason when i shoot the crosshair jumps down why is that?
Your rockets should not be pawns lol, and yes you can change velocity in projectile movement component.
Here is the video showing the problem
@unique falcon That's not how you draw something on screen space from world space. You need to convert the coordinates.
And when you shoot you're probably tracing and hitting your shell.
"convert the coordinates" which coordinates ?
Convert 3d world to 2d screen
you mean i have to convert the return value from project BP?
Is that what that project node does? Haven't seen that one.
yes
You need to offset it. The point you're giving it is the top left corner.
Haven't seen that draw texture node but try setting texture u and v to 0.5
Try setting the UVs to 0.5. That might be the UV they map to the XY
subtracting does work but is it the correct way to do it
but what about the weird movement of the line trace and the crosshair
when i shoot it just jumps down for no reason
look at the video you'll see what i mean
You're probably hitting your projectile with the trace unless you have recoil
Have the projectile collision NOT block whatever channel you're tracing in.
i have to do that in BP right?
Just edit the collision settings. Unblock whatever trace channel you use for aiming.
what do you mean by unblocking "trace channel"
you mean these two?
oh wow
thank you so much it's literally been a few days i was dealing with it
i think i have to go read some docs about physics
@unique falcon https://docs.unrealengine.com/4.27/en-US/InteractiveExperiences/Physics/Collision/Overview/
Hi quick question: is there a way to convert a Texture 2D Dynamic to a Texture 2D in blueprints? Im downloading images but want to change its parameter values at runtime so i have to convert it
Hello, I have a prompt for when I am overlapping the box and it comes up fine. But it doesn't seem to go away even after leaving the box. Any thoughts? This should've just ... worked?
Save the widget to a variable
I did that too, didn't make a difference. Changed the order too.
This has solved it
So that means that the multiple overlaps are creating multiple widgets and it's always one short of removing the last widget. The question is why? Why not remove all the widgets?
wth! All my light blueprints are just messed up on their own! I know the first thing you'll say is I did something, but I haven't touched this blueprint in weeks after making everything perfect. I just checked and all their locations are messed up, they're no longer as they were (e.g. light parent of 2 lights, both children are no longer children and just listed as separate components in the hierarchy instead of being parented and their locations are all offset at random spots)
wth man
I just don't understand these weird things, unbelievable
Hi! What is the correct way to make a tooltip on specific words like this?
So far I've found only two ways:
1 - break the text into multiple text blocks, which doesn't work with multiline
2 - make a custom rich text decorator in C++, which may or may not be reinventing the wheel
Is there any way I can get trigger collision input from other blueprints besides the level blueprint? I want to spawn an object when the player walks into a box trigger except the spawn system is on the player blueprint and cant be moved elsewhere because it relies on a variable in said player blueprint
I want to make a procedurally generated office, does anyone have a good tutorial for this?
@sand yacht multifloor or not?