#blueprint
402296 messages ยท Page 914 of 403
The first time it hits a return, it's done.
They are in the same array, and I need to get the first item out of them
So what's the difference. What are you asking?
You want the first valid actor ref. You got it. What do you need now?
Thanks for the info. ๐
Alr welp there might be an error in my blueprint that caused it not to work
Im gonna try fixing my blueprint because the function seems to be working
Show what you have right now
My whole blueprint?
Just the function
Question: I can not get my brain around this, after days. I have a Widget in a BP. I can't figure out why I can't easily get the Widget to only control the BP it's in. I go around and around with Guides but I can't drag anything in to this widget target actor ref (actor object ref) like the guides do. Please help me get past this. Right now everything works fine when there is one of them. But it there are more than the widgets change the ones they aren't connected to. I don't know why casting is so hard for me to understand.
Update the reference ?
This setup does seem a bit strange, does it not
Wouldnt you want the BP actor to handle the reaction from the widget interaction ?
so instead of inside the widget you try to cast to some bottle type
the bottle already creates the widget or what?
the bottle and widget are both in the bp
exactly
widget has all the code
other than the change style to change the mesh
99% of the changes are in the widget
The issue is I can't get the widget it cast to the bottle it's connected to
You can but this is part of my argument really
the bottle already know about the widget
it has no way not to know about it, as it's the owner of the widget in a way
while the widget doesnt really know about the bottle (unless you tell it about it)
hmm ok,
Wouldnt it then be cleaner with Event Dispatchers in the widget
that the BP can listen to?
But the widget is listening for the clicks and hover events not the bp
Sure how do I do that
Sorry I'm new
You'd make event Dispatchers equivalent to your function calls in the actor
So for example we got the "Change Style" function
which has an integer input
So in the widget you can make an Event Dispatcher "SetNewStyle" or smth, with an integer input
So the widget would look like this
Dispatchers can be listened to by others
so in this case i'd say the bottle should listen to the widgets dispatcher
and react to it
this can be setup like this in the BP_Master_Bottle
how do I detect if a player joins a match for the first time?
prob by some unique ID that you store somewhere
What's the best way for the parent actor to pass a function reference to an actor component?
Like I want the component to be able to call a function supplied by its owner (to get things like dynamic pickup text that knows how many of the thing you have)
Get Parent Actor ?
Why do I need to create it when it's already a component. I'm so new to this, it's much easier for me to not do any dynamic stuff and have everything as components. But when I try and drag Widget component in to bind the target I can't.
I really hate this part of the dev. This doesn't make sense why it's so hard to pass info back and forth, it's the entire point of interactions.
Is it possible to Finterp to backwards / inverse? If not are there any alternatives without the use of a timeline?
Sure, just Finterp to a smaller number then you're at already
unless you're trying to FInterpFrom which is weird.
Target is a smaller number than current.. Just jumps straight to target and doesnt interp anything
Show your code
Think I might found the issue.. 2 sec ๐คฃ
Its not that hard once you know how to. But you usually dont wanna tie every class together when it doesnt make to much sense
The target is not the component but the widget that the component holds
"Dynamic Widget" in your case
yeah I can't get those to connect
did you make the dispatcher in your widget blueprint?
I think I did it correctly.
Dynamic widget variable, which type is that?
I just made a variable of the return value at first but then went back and did a widget object ref instead. What should it be
Promote the return value to a variable
so its the specific class that you're using
Thats why it wont connect
it doesnt know that your reference is that specific class , and thus has the dispatcher that you're asking for it to bind to
ok something like this
Since I already have the Widget class in the component doesn't create wi widget wine widget make a second 1?
Yeah, i avoid the default one
Not very usefull in the first place cumbersome to get the widget ref from it
but if I remove it I don't have anything in viewport to work with and move?
Thought I found the mistake.. I did not. Probably my own stupidity getting the best at me but here goes..
The component still exist. And we're adding the widget on beginplay
Shouldnt this be looping?
But I need to design the widget around the object in the view port. Can I assign it at construction instead?
Prob works fine on construct yes
The binding may or may not
Id set that up on beginplay regardless
create widget can't be used in contruction is says.
hmm, maybe I'll remove whats in the component on build
Theres always loopholes, but id suggest reconsidering
try it, either it works or not
I'll see how it works, Regardless, I thank you for your time and efforts. This solved my issues and my bottles and interfaces are working correctly now. You are a superstar! Can I follow your youtube?
but for your final BP you shouldn't do it in construction
this answer for me?
I should've started one long time ago , but never got around to it lol
Yes
if it won't let you do it at all in construction, you can cheat that thing by wrapping it in a function
oh np, any other way I can support you
Thats the loophole
I dont understand why that should be instantly..
oh interesting. At this point it doesn't seem like it's duplicating the widget.
Yeah the lerp should be hit on tick, not in a loop like that
it'll all resolve in ONE FRAME
so it'll be instant
Works fine when it is not in reverse..
Because it executes everything within one single frame
other way around is the issue
This will not work, forward nor backwards
That logic is totally screwed up. What are you trying to do?
Works perfectly when lerping towards smaller FOV
Then its not the same logic
That's a fortunate accident then. Do it like this
Set FOVTarget wherever
On Tick:
Lerp FOV towards FOVTarget
Detect some state (bIsFocusing?)
or just use a timeline
If fov != fovTarget -> lerp
Lerp anyway
Is that on tick?
because you aren't creating a loop that runs within one function call until it reached it's target (that's just the answer why #2 works and #1 not)
How TF does it lerp over time if it's a one time shot?
Fark.. I know. There is a timeline running before this function is called, ofcourse
Devils in the details
That's basically the same as a tick. It's basically a temporary tick. Either way, that's how lerp works. You update something a little bit every time.
I know..
Hello guys, got a question. I want to make an Enemy Spawner (Let's call it BP_Spawner) and I'd like to make a Box Collision where I can select random points inside it. What I'd like to do is having the box collision as a different blueprint where it can contains it's own parameters, such as monster type, monster difficulty, and stuff like that. The reason why I'd like to have the box collision in a different blueprint is because that way the level designer can add more than one BoxCollision inside BP_Spawner instead of making tons of Childs from BP_Spawner that are going to be used only once. Problem is, the only blueprints I can attach inside an actor blueprint are Actor Components, and Scene Components, and none of those have a viewport. If you used unity before, I'm trying to make a GameObject and put it inside another GameObject.
As I said.. My own stupidity got to me
Are you meaning to drive bIsFocusing by FOV or the other way around? is focusing the "zoomed in" state?
Focusing is zoomed in yes... I think I have a easy solution now
The spawner can have a public array of volumes
Have BaseSpawner at begin play make an array of all its BoxCollision components then iterate over them later.
Subclasses of BaseSpawner can add more volumes if wanted.
More dynamic
Go public,
Bind to the events you need
You can make a separate box actor (and use that class in the public spawner array) with your own parameters and stuff
Would suffice for pokemon spawning
Is the box used for collision/overlap or just as a place to mark out where monsters come from?
you are looking for the child actor component
shivers
Just to mark where monsters are going to spawn. Each box collision should have properties to tell which type o monsters can or cannot be spawned. For example, if I have a tower, I'd put a box collision with the properties that only monsters of type ranged can be spawned.
even tho i don't think that this whole approach is saner than having multiple instances of the spawner
use a array of structs
and the struct defines your spawner properties
If its hidden spawns like pokemon
But you want multiple boxes per spawner?
Its prob not nvm
Yes.
I'll try to illustrate quickly in Unreal.
it's pretty clear imho
I get it, just trying to sort out how it'd be easier then just copy pasting a spawner around
but you are overengineering it
ballpark max how many boxes for a spawner?
I'll explain in a second why I can't put many spawners.
i'll explain in 2 seconds that you can
I would probably do it with 2 actors. One to designate areas, and another to do the spawning logic. Just plop the boxes all over the place, then have the other one get all actors of class at begin play and do all the spawning.
yea that sounds better, if you want to control spawn within the same actor
the actor doing the spawning could also just be a component on Gamemode or whatever but it's no biggie. That's how Epic does things (navmeshbounds volume, lightmassimportance volume, etc.
that way you can have some global parameters too (max monsters total, etc)
also you can edit them in the level
Hell even the Chaos solver is an actor I'm pretty sure.
You end up basically replacing what you're thinking of with box actors that spell out what can spawn there, and a global spawning actor.
In this scenario, the EnemySpawner is placed in the center of the room.
When the player enters a room, and overlaps the white box, this will work as a trigger and will close all the doors in that room. The player cannot exit the room until all enemies are defeated. In this room, the level designer decided that around the center, only Heavy Armor enemies are going to be spawned (Red Box), while in the rest of room on ground level (Green Box) only Medium Armor enemies can be spawned. There's also a high walls (Blue Box) where only enemies of type Ranged can spawn.
one manager with a bounding box, which encapsulateds the whole spawnarea that he should control
3 actors with the spawn settings
In order to have a tool easy to use for the level designer, I wanted to know if was possible to use an Enemy Spawner, and be able to add a component like this, where I can make multiple box collisions, each with their own properties.
manager gets it's overlapping actors and manages spawns
that way you can also handle intersections
I see, I suppose that's a way to do that.
Thank you for the help, guys. I really appreciate it!
Now that I have this working, I've been struggling to decide where to store the Collectables Unlocked Data, do you have a suggestion of a easy way to store basic RPG style data like this?
How hard would it be to make some kind of "wind noise" that plays? I don't want or need actual wind so not buying anything to do it; I just want some gust sounds playing while outside, and for them to stop or maybe dull down when inside
Starter content has a cue with that.
How can I obtain the biggest float (the limit) value?
How could I check how long key was held down last time? Get Input key down resets to 0 before check comes through can I store it somehow and reset only after its pressed again?
Oh, do I have to type it in manually?
try
Depends on how much fractional precision you want to have
Anything close enough would do I suppose
I was hoping for a predefined thing, I suppose I can make a re-usable BPFL for those but it wouldn't be as future proofed
Is this the preferred way to iterate trough a map?
I've not seen better, but you usually can safely skip the branch assuming you aren't in an event context and using delays (and thus the list can change underneath you)
it's definitely safest to keep it though
Ive thought about making a macro for this assuming I've not totally missed a built in one
Im animating my material up and down. Now Im trying to stop animation of just one instance. So i use Set Custom Data Value. But its not working. What am i doing wrong?
the return value prints false
Okay i found out the problem
There is only one path that returns false, the conditions are pretty easy to understand.
Its because its dynamically added. It needs Num data custom floats.
@lean summit if you're on PC, hit ctrl + r that'll reload discord
Anyone see why this would only set the Pressed icon? Hover and Default still show the original icon when I call this on my button on press, but Pressed works.
worked thanks
thank you @sudden nimbus
because you are always first setting it to Normal, then Hover, then Pressed no matter what
Explain, I'm trying to set the Image for all 3 states, I'm not setting the state to anything
You are setting it to all three, in sequence. You only see Pressed, because thats the last one
if you changed the order, whatever was last would be the one you saw
you need some kind of conditional here
Changed the order and it's the same, no change in behavior
This code isn't setting the button to pressed hovered or default and it's not supposed to
It's setting the icon on all 3 structs
Ohhhhh
I changed the order of the states being changed from default->hovered->pressed to hovered->pressed->icon and obviously no change because that's not what this is supposed to do
Yeah I see now
Well I wonder if its using one of these other styles for Hover/Normal
i know little about slate ๐คทโโ๏ธ
there is a dedicated #slate channel
I was told here that Material animation is cheaper than vinterping instances. So is material animation more performant than any type of animation?
I know little about slate either unfortunately :( Normally at work I literally never leave visual studio but the last couple days I've had to extend UMG into a full UI framework with data views and toolbars and dialogs and whatnot and it's been very, very frustrating
oh my
i dont envy that
Like it works and it's fine it's just a game of constantly fighting against whatever UMG wants to do and then wanting to do a belly flop off my balcony when it fights back
"more performant" is simplifying it a lot. When you animate in a material you are shifting the compute involved in the animation from the CPU to the GPU. However, if you are passing the animated values in from a blueprint or C++ you are not shifting that compute to the GPU. In that case, the cases where you'll have appreciably better performance by animating that material (ie using a custom parameter) are much more narrow. It may be faster, but you wouldn't want to do it by default over using a simpler path, especially if you don't have a performance bottleneck you are trying to solve
if you havent dug into input handling for this prepare for more pain to come
When you animate in a material you are shifting the compute involved in the animation from the CPU to the GPU.
This can be a bad thing too. Your GPU, while being powerful, is limited. If you need to be "highly scalable", meaning you need to support a wide range of GPUs from "bad to amazing", then over-reliance on animation directly within materials at scale (meaning lots and lots of instances of these actors etc) could even perform worse, depending on the hardware
The GPU still has to render everything after all
not just do animations
Fixed it by just switching out the button... lol it isn't great but it'll do
first hack of many im sure hehehe
Manyth hack of many
I usually take pride in the fact that I work nights just to clean up the codebase fairly often and hold a pretty high standard for no hacks when reviewing code
But this entire UI framework on top of a game hud UI framework on top of a UI framework is a hack
is it a hack if its packaged nicely into a custom button or component or whatever? ehhh
if it works for the budget....
lol, i guess as long as you never have to interact with the hack underneath, it's not a hack
thats right, until someone wants a (conditional) halo around that sucker
way more specialized advice in there
even if it might take a bit longer
Long term I want to build out a way to render Qt widgets within Unreal, or better, Unreal viewport as a Qt widget, because for what I'm actually doing that's probably the best choice of tools overall, but this is the way right now and I will satisfy it until my boss approves putting more resources on this for full production
So probably a weird question but I have some child actor that relies on parent actor (for bone placements) and I was wondering if there's a way to actually apply/see the animBP results in the actor BP itself?
this is doable using render targets and some c++ glue
or possibly handing unreal a hwnd or so but no guarantees
just can't ship with the editor code though but yeah I'm sure you know the license
Sorry i dont know if i understood well. So basically material animation can be more performant if not done by passing the values ? You mean passing the values like when you activate the animation in a blueprint as opposed to ?
This is what im doing ^^^ . Just a loop that tells material "Hey its on". Now the material will just move up and down. So its passing the value just one time? Isnt this super performant/cheap/awesome? Or i was fine just vinterping all instances all day?
if you set it only one time, yeah thats approximately as good as not passing anything from the CPU
seems like itd be fine, but I assume youll then start adding more capabilities to these soldiers
One thing you might consider is collision-- are you intending the soldiers to have collision? If so WPO isnt going to translate to that
well observed. the collision is treated in a different way, by batallion, not by individual instance. Individual instances dont have any collision (to be cheap ๐ ). However this animation is just a smooth hopping, to simulate the soldiers are walking
ahhh ok
So there's going to be a lot of these I'm guessing
Also sounds like you already were vinterping and had performance issues
which wouldnt be surprising if you were vinterping on tick for each one or so
No i didnt have issues with vinterping. I was just old "hey dont do this, do that, is more performant". So now im doing this ๐
That's fair, and if you just want to animate them up and down in a walk, its a fine way to do it especially if collision or other factors are handled externally
I think your current path sounds fine- but since the GPU is a limited resource, its not like material animation with WPO is a silver bullet that should just be used for all types of animations
Everything has tradeoffs ๐
Where do I go to ask a navigation mesh question?
ok i will keep the old lerp function. So just in case, later on when i test a big battle,
and there are issues, i try the lerp. Thank you @sudden nimbus
#gameplay-ai ๐
does anyone know how to locate what specific print function is printing a string during runtime?
its also printing into your output log, but with source blueprint mentioned
ah, im seeing some of them here
is there a way to jump to the specific node?
from here?
Sorry but how does introducing delay node here creates infinite loop
actually I remember now something in unity c# called coroutine cause you couldnt delay in any loops due to some reason if this is the same issue what can I change this into, press button > set float to 1 > immediately start reducing float until it reaches 0
while loops need to execute in 1 frame in bp
when they dont do that it throws infinite loop error
one of the advantages of c++ is this doesnt happen
think of it like it just continues while the delay is waiting to continue execution
^
what you want is a timer, or a tick event
looping timer, increase the index you look at each time
while loops need to execute in 1 frame in bp
btw its so much worse than that (i mean bp's so called "infinite loop" detection)
I use couple of them was looking for better solution
cause thats a lot of stuff to do for something like this idk
that is a better solution
if timer is best solution thats disappointing lol
if the correct way of doing things is disappointing then idk what to tell you
especially seing as delays arent great in the first place
why wouldnt you delay the whole loop
frame rate dependant, if you want time based things, use the time based methods
it would be the same
you mean put delay before loop node?
uh huh
what the hell does that even mean
the correct implementation here would be to move to a timer or something
if thats disappointing then idk
ya and I said thats a lot of work for simple thing like this
and that was my disappointing part
a timer might make more sense, i cant tell from the screenshot i guess
not the oh no! correct solution! how disappointing
ah
I will move to timer thanks
timers workflow aint that bad when ya get used to it ;)
if your delay is gonan be really small like .01 then just go for tick
otherwise timer
i guess you want it to be delay 0.2 + another delay 0.2 + another delay 0.2 and yeah timers
or delay + invoke an event and take an item off of an array (pop) with a recursive event
either way youll need state so
but at least the delay + invoke an event recursively would not require ending the timer
I need help figuring out how to get my animations to work again after repossessing the character.
It was working until I added widgets for some reason
if you save the controller in your anim blueprint and don't deal with it changing, that would do it
widgets are highly unlikely to matter but you can write any code you want so not ruling it out
hey guys i have a set of weapons that all inherit from the same class. they all scale damage with the player speed. it all works fine except on one of the child classes. nothing except the values are changed between classes - they all share the same logic. i have a Base Damage and Max Damage value. it works on all of the child actors except the SMG which lerps from the Base Damage variable down to 0, instead of Base Damage to Max Damage. this is making my head hurt
ue4 or ue5
ue5
imported from ue4 or ue5 native
any c++ in there? maybe a c++ base class for the weapon?
no just BP
ok
it's the SMG that doesn't work? because sounds like that does add new code, it's not just class defaults changing
that's what i thought, but it just uses inherited events and functions that all call back to the base class
is the damage applied zero or just not scaled to speed
it is scaled to speed but improperly. as i get faster it gets closer to 0, instead of closer to the max dmg variable
show the blueprint for the smg where it scales the damage
this function is called on tick on the player character and is part of the weapon parent class
what's the SMG specific code?
this is all there is
all the parent call on the begin and end fire do is just set a boolean
except the SMG which lerps from the Base Damage variable down to 0, instead of Base Damage to Max Damage. this is making my head hurt
so I guess you set max damage to zero then?
Quick Question: Can I make it so I can set something to decrease a certain amount per second?
(Not using a timeline specifically)
in blueprint? only by decreasing it yourself using a timer or on tick
you can set a timer for an event or function that calls every second to decrease a value by a certain amount
Ahhhh well I guess ill have to work with timelines
how do i save the controller in the anim bp?
oh never mind im dumb
I meant that having it not work anymore would result because you've saved the controller, the fix is to make sure that saved controller gets updated on repossession
The problem is that im trying to set up a stamina system, with a default value of 100, that decreases by 20 every second
That would be easy to accomplish with a timeline if it wasn't going to be possible to raise your max stamina
don't just fetch it every time either
that's a no no
I think it will even yell at you
something like this might work
Here's hoping! Thank you in advance
so where is the reverse behavior for SMG where it goes to zero instead of ramping up to max damage
Hey everyone! I am working on a game and I need my character to grind on railings like this one https://youtu.be/yjKJ_oUMQ4Q?t=7 I am creating in Unreal Engine 5. If anyone knows how to create this please help me out.
Sunset Overdrive: Grinding for Review by Chris Burns on Xbox One for SlashGear
im still confused so how do i get the animations to play on that controller
big enough and broad enough of a question to be actual work, see the hiring channels
Also. Has anyone found a fix for the flickering screen? When right clicking I mean
Bringing up any menu eventually just causes it to flicker and disappear
the animations don't play on a controller, they play in response to the controllers state
And then I have to restart UE4 to fix it
the way you feed that state into the animations is via the Update Animation node in the event graph of the character's animation blueprint
If the animation blueprint fetches the controller and saves it to a variable in Init Animation event or whatever, then it's not going to be right if you repossess
it would need to be updated whenever the controller changes
I'm pretty sure the stock content does this sort of stuff
that is what i was wondering also
i should be able to figure it out
maybe a quick video of that might help to know what it might be
override the xyz on both i think
I already restarted UE4 so ill just try to explain it best I can until it happens again
sadly didnt work
and also try using Get Actor Forward Vector
instead of rotation to get forward vector. might be the same thing but the latter always worked for me
Should have mentioned tho, my character often moves opposite where they are facing so the direction they are facing doesnt equal the direction they are travelling
After a while of using UE4, I could be in a blueprint for example, and right click to create a custom event, but after a while, the menu will immediately close after opening. I can still use the menu, and even click stuff, I just can't see it
didnt work :/
hmm. not sure sorry
So if I wanted to create a new action for the blueprint, I would just have to guess and hope I typed it in right
Same happens when dragging out a variable, the Get and Set Variable flicker away, but I still click on them
I have that exact same issue
The way I deal with it is save all when closing and restart
Tell me more about ahhaa, had it for ages
Its not a blueprint issue tho, smth with engine and the pc system
I looked it up a while back and I heard it's apparently something with Nvidia drivers
okay ive been trying to update the variable to the controller but its not working
what hardware? (for the flickering menus)
heard that as well, some mysterious unreal forums user knew exactly what the issue was, but never got a reply when asked for a solution lol
no i mean the player controller
sorry meridian, other Convo
oh sorry i thought u meant me

Hey, is there a reason the Exec for Set Time has nothing connected to it?
Wait nvm I have an idea
because idk what event you have to set it up
Okay, was just making sure
cool
I wasnt sure if I should have left it blank or not haha
Okay! Did a little adjusting and its working!
How would I go about detecting floor using a line trace? I'm trying to prevent spamming the "launch character" action when falling
I did try checking with "is falling" and a "do once" but after doing the attack when jumping then falling and landing I can never do it again
Line trace at the moment stretches all the way to the floor and i'm wondering if i'm able to limit how far it goes
Main goal right now is to only allow launching in the air once until you land/touch ground, and is there a way to prevent speed stacking while using launch? Because right now I have a button based jump (like marios) and the amount of height you get from the launch changes a lot sometimes it will be a short launch and sometimes you just get launched to a huge height depending on the button press
you would limit how far it goes by changing the End Vector
Try disable window animation in Editor Preferences
Already off
if anyone can help me figure out how to get my animation bp to detect the player controller after repossessing my player, that'll be great ๐ฆ about to get off
I don't think getting the controller is the issue because my player can move its just the animations not playing
This is inside my first state
How do I set the game instance of my project?
Where i can post a world/material question
Project Settings -> Maps & Modes -> Game Instance Class
I mean, if static mesh was not a root component and simulated physics, then the root component in the world would remain in one place
Yes, but I cant rotate it in BP class
What is the problem? You can rotate and move bp actors in many ways.
Yes, if your root mesh is the default scene root and you have a static mesh component, the actor would stay in place. To prevent this just drag it into the root mesh to make it the new root.
But you could have always moved the static mesh component instead depending on your use case...
If the mesh is the root mesh, its just about setting the world transform of the actor
if you need a new root, do as stinger suggest, and fix that
I think the issue was its simulating physics and not root
Gotta embrace the jank
I also told you that if I simulate the physics of mesh, then the scene root component will remain in place in space and if I want to save the actor location, then it will not save the mesh location, but the root component location
And if I make static mesh root
the root component, then I will not be able to change its rotation through the properties in the editor?
That's not true
Excuse me, I've got a project with an animation blueprint with a good few ik features in it. But, everything's based around the hand_r, I was wondering if it would be possible to hire a freelancer to change it to make the root the ik_hand_gun, as I haven't really found any tutorials or methods on how to actually use the ik_hand_gun in animation blueprints, especially in conjunction with ik.
If I have such a hierarchy, then when simulating the physics of the static mesh, the acene root component will be in place
you will have to make the mesh the scene root
If i set Input in character and place two instance on level and i possess one of them, then how input work? both them follow my input?
But how will I rotate it in the mesh properties?
Just give it a try, it will work
If only through the code
So you want to rotate in blueprints?
Yes
after setting the mesh as the new root, you can use the node for setting or adding actor rotation.
it will work, doesn't?
Okay, I have everything working as I want it to, is there a way I can take a box trigger and tell it to increase a float variable by a certain amount?
sure
By that I mean increase a float that is in a different blueprint
OnOverlap or whatever -> Other Actor -> Cast to myActor -> call the "increase float function"
maybe through interface?
I'll try this!
Then you will have to do set rotation on construction script.
i'd make sure its a function for it, so you dont go around messing with other bp's variables directly
Why would that be?
It turns out in my case only this way. I thought there was another method, but thanks anyway
Right!
I am confused about where to process the input. i can place input both playercontroller and character
there are many ways to do things with this level of freedom
I would try to limit the inputs to few actors/characters
i can move other actors unless i'm not possess that
Okay, so, when casting to my actor, it's asking for an object. Suggestions?
"Other Actor" from the overlap event
assuming thats the event you went for
then what is th point of possessing?
you can possess pawns, which are your main class for player representation
you can temporarily bypass the pawns inputs in another object if you wish to say.. open a door
Or you can use an interface for the interaction between the pawn and the object. In such case the pawn still handles the input, but calls an event on some "targetInteractable"
Thank you for explaining. I'll try to understand the subtle differences.
I think im blind or something, I can't find the increase float function
I know how to do it, but it's hard to understand the concept that Unreal intends.
drag out from the "casted" actor reference, and search for it
if its not there, the method is either not public, or you're in the wrong class^^
you can simple create add float function using add float node
i think add float node itself is function
maybe not
you usually dont want to manipulate other objects variables from externally, directly
Im trying to make so overlapping with a box trigger will change a float variable, but the variable is in a character blueprint
Im definitely doing something wrong
Ofcourse ๐
get playercontroller index 0 always mean myself?
Hmmm, could I by chance make it so that the box can trigger more than once?
i'm studying multiplay, it also confusing๐
like, tick over duration?
As in if you overlap with it again, it triggers again
There's nothing blocking this from triggering again
Oh then time to bug fix B)
show code ๐
Ah ๐
โข Calling it on the Listen-Server will return the Listen-Server's PlayerController
โข Calling it on a Client will return the Client's PlayerController
โข Calling it on a Dedicated Server will return the first Client's PlayerController
Very Clear Thank you!
I suggest you the eXi compendium on unreal multiplayer. Some slides on the general concepts!
That one is great
There's also that one YouTube video that goes into Unreal's networking system
Had pretty good explanation
thank you very much i will check right away!
I have a little brainblock about a datatable setup. Imagine theres a specific shoe there with a specific UIC for that shoe in that size and color. In my scene i want to be able to have this shoe, and be able to switch the color and size of it. This would mean i need some way to reference the new rows with the new specific shoe with the color and size selected...
actually i usally study through youtube haha
Sounds incredibly troublesome to add the relative row name for each possible combination?
Perhaps i could manage with only 4 links, (color up, color down, size up, size down) but then id block myself from keyboard input for the sizes or mouse input for the colors
Any suggestion for a better setup? This feels like a dumb one :p
Guess i could ass a second identifier, only used to identify shoes that are the same but a variation... then i could loop the datatable(or have a linker) that puts this all together...
I think that'll work!
Two DTs essentially
Ah, found it
https://youtu.be/JOJP0CvpB8w
An overview of the essential concepts for writing multiplayer game code in Unreal, in under 25
minutes or your money back.
Sample project: https://github.com/awforsythe/Repsi/
Patreon: https://patreon.com/alexforsythe
Twitter: https://twitter.com/alexforsythe
00:00 - Introduction
01:24 - Net Mode
03:33 - Replication System Basics
05:13 - Acto...
I watched already this channel his videos are all good thanks for recommend๐
Hi folks, anyone experiencing problems with boolean operators not working in ue5 animBP? I've had == returning false when 2==2 or a couple of true in AND returning false. Same strange behaviour with OR. And I could not find a way around it.
hi! i'm using ue5 but how to let everything looks realistic?
This check would be more suitable in the pawn that runs this , and just give a bool for the animBP to read
So is this a known issue? Im using a OnMouseButtonDown override event for a ui button but there is this weird input delay
Turn on lunen, nanite, download a bunch of ultra realistic assets, place them in the scene, and whatch your gpu burn
Overriding button down on a button handler?
Are you overriding on mousebutton down when clicking a umg button?
yes im overriding when the right mouse button is down
How long is the delay?
and just a weird delay. like once i click it it wont run the override again for about 500ms unless i spam it
super bizarre
Could it be trying for doubleclick
im thinking it might have to do with the actual check for the function is mouse button down
Is the button getting the click?
yes its getting the click
Theres very varying experiences with override + button
I dont believe they're intended used together
but i have a ui to select spells and have to use a mousebuttondown override event to use right click. it works but there is a delay before it will run again. if i rapid click twice it will only go through once. if i spam it, it will run with less of a delay
you cant use right click with on clicked can you?
How about ditching the button
And doing your own click handling in a new spellwidget?
well the button is created with each item added to the array i have. the plan was for left click to equip/unequip a spell to my left hand and right click to equip/unequip a spell to my right hand but the delay with right click really bugs me
Overrides+ ubuttons always bugged me ๐คฃ
this is what the event graph looks like
even with just this there is still a delay
Test it
Without the button
And see ๐
Add a new temp widget , sizebox + border/image
And override click
idk why there isnt a on right click event for buttons. or even just a click event that allows you to set which input will prompt it
yeah ill try that and see if theres still a delay
I have an actor variable in my blueprint but I can't set a default value. It only allows me to set the variable with actors in the same scene. I'm guessing it's because on of these?
If its a reference it must exist before you can set it
You cant set a default value to a ref
You could let this class spawn a new class and update the var that way tho
It seems easier to just do this in c++
Afaik you cant set a default value there either
But I've managed to do this before in c++ by just adjusting the UPROPERTY
If you say so
Pretty sure you are :p
But i wont bet on it ๐
I dont have a full grasp of all the c++ powers there are
Usually you just link these up at runtime tho
Because this works( tho it is a niagara system and not an actor)
Ye, not an actor
You prob have to spawn the item again before using it :)
Let's say you have an attack animation for one character
Is it better to play particle effects and sound via BP when the character attacks? Or is it better to add it in the animation notify?
Anim notify sounds more natural
When is the case you should add sound effects and VFX in anim notify? What case would be better via BP?
Assuming relating for things regarding animations
Wat's the difference between tick space geometry and cached geometry? seems like cached used tick as well?
Very few, if any, imo. AnimBP is also just a bp tho
Anim notify sounds more natural, afterall for every swing you want to play a sound
Its just... for me atleast it makes sense for animation related things to happen in the animationBP
You may have better luck in #packaging with this. Launch being similar to packaging with a few small differences. Haven't had that problem myself, but I use Niagara a lot, so no intention to disable it ๐
Yeah that's right, thanks!
Hey I need help with something, I need to make a gate with 4 inputs, how do I make it so it fires only if 3 or 4 of them are active?
a gate with 4 inputs? wdym
can you post screen shoot of your bp
Generally you just save state for it. A gate is nothing more than a branch with an internal boolean.
Just check 3-4 bools for it
Hm okay ty
Or state, as suggested
I don't know how others would tackle it, and I don;t know what you mean by gates that takes 4 inputs, You mean 4 different events going into the gate?
For the condition, I would make an array of boolean then do a for loop check to get the number of True bool. Then you can just do if statement if it's bigger than 3
Well, bools are state too. ๐ Depends on if you need specific keys to be known.
If you need to know that key3 is active and key 2 is not. Then multiple bools, maybe an array of them for extensibility. Else you can just do an integer check.
okay after some testing on a new widget. still same issue
@minor thicket Why not try Listen for Input action?
I dont get it. It seems to be a problem with override
You are just trying to detect right mouse button?
when its over the widget yes
There is an override function for that no?
oh nvm
On hovered
i have an override but there is a input delay
Hmm
Weird
Is the widget that you are hitting at the front in "Z order"
Not sure why there is a delay
Try widget reflector to see if u are hitting the right widget (making sure no overlap)
no idea how to right click detection when hovering a widgeet tho
i havent messed with the Z order on it at all.
but i make a temp widget with only an image to test if there was still a delay on override and there was
Strange
it works perfectly but the delay makes it not really worth it
Are you using a print string on the right clicked event or whatever you are using
Could you provide some screenshots
if i spam it, itll run more frequently. like every .1-.2 seconds
yeah i threw up some screenshots a little bit ago but ill repost them
A default delay function is 0.2 seconds
Must just be how the engine handles entering a widget
You might struggle with this
The new widget you tested, there was no button there, right?
yeah im thinking the engine might have a delay or something for when the mouse button is no longer down
yeah the new widget was just an image
and same response
Im testing it right now
if u right click once it's fine
but if u spam it
u can notice the delay
strange
Well it doesn;t fire the print string
yeah maybe it;s trying to detect double click?
i set double click value to 0 and it was still the same
Make a function that takes the same parameters as on mouse down. Call it in both OnMouseDown and OnDoubleClick.
How to detect double click? can u share ur bp plss
Thank you
Its just an override
just call the very same function with both overrides
"tryExecuteSpell" or whatever ๐
@minor thicket Yo they find tthe problem ๐
Have had that problem in a few widgets. Very annoying that it's not easily disabled. But the override calling same function is at least easy.
the double click also relies on being the same button twice
so if you do LMB, RMB, you can click like a hero with only single clicks
thats so weird that its automatically detecting double click
the backside of the coin of convenience i guess
its a nice override to have, imo
but feels a bit backward when you dont need it, I agree
could easily be some config for this
Imagine everyone starting timers everywhere in widgets for double clicks. ๐
I think Im using gate for double tap action
copied sum1 bp
not sure if that's proper
I use GetRealTime comparisons with saved floats for it. But only in gameplay actors. In UI it's always double click overrides.
They do FF7 rmk, but i doubt they will do 8 rmk, maybe skip to 9
would be nice
then I could die happy
altho, 9 is a gem as it is aswell so guess i shouldnt complain
7 is the best for me but i love 9, it has different aestetic
was a shame that they lost the original bg's tho
This might be the more proper way really
I dont like double click/tap functionality tho, since you have to block/delay the single click
okay so at least now i know and ill be able to find a way around this lol. probably just find a way without using an override
Nothing wrong with override anyway?
just override both
just my 2 cent
yeah ill do that first and see how i like it
They're the best ones for sure. I did enjoy 10 aswell, but after that it got meh
well, ue4/ue5 is coming up great imo ๐
Luminous is great, but more people use UE4/UE5
works perfectly. had to fix how i had it set up for unequipping spells, but that wasn't because of the override lol
Am i doing something wrong?
Seems reasonable i guess ?
what?
The setup, nothing obviously wrong to me there
Sure id stuff it in functions etc but thats just cleanup
But it doesnt save
maybe set Save SubClass after you cast, and make sure its type SGBasic
and make sure your folder your saving to isnt Read Only
wait how do i set a folder for my saves anyway?
default should be ProjectName\Saved\SaveGames
not sure how to change it
but if it saves , it should generate a file there
ok
Is there a way to connect this? (Actor is not choose able in Blackboard but I used Object -> Actor)
Heya, has anyone here tried using DataAssets as a place to write data to at runtime as well as read from? Good idea / bad idea? I want to have a sort of globally accessible, static place to store things that are currently all kept in a subclass of the GameInstance and have getters for various values which will do a quick lookup in a cache, then potentially do a slower calculation if the value's not found etc.
Cast to Actor?
Tbh, what I'm trying to achieve would probably be done better by writing a subsystem in C++ but the project is currently BP-only and I'm not ready quite yet to fight the battle persuading everyone to change that...
Hahaha
Jokes aside, havnt played around with data assets yet
I went way above and beyond to get shared attributes among my ai
Only to realize a single data asset would solve it
Atleast to my understanding
๐
@gentle urchin Figured out what I wanted. I needed a class reference instead of object reference
I was gonna suggest it but felt it was to obvious ๐
Yeah I'm new to unreal, used to working in frameworks and some unity
No worries, you'll get around, im sure
I'm currently pondering how best to handle hitboxes. I'm making a game with both melee and ranged attacks, with characters who use both body-based melee attacks as well as attacking with weapons, so I can't just stick some hitboxes on a sword actor or something, activate them during an attack and call it a day.
Ideally I'd like to do per-frame melee hitboxes ala traditional fighting games but it doesn't seem like there's a straightforward way to do that in UE.
Could you have a few hitboxes that get turned on/off at various points during the animation? Like on the fists/knees/sword etc?
And probably not the most efficient method outside of 1v1 fights.
Maybe.
I might have to give that a shot.
Did i miss the section where you explain how slapping a few hitboxes on them doesnt work?
It sounds like what id do,
Using notifystates to toggle them on and off
Well I mean I can't just create a seperate object that handles everything
The weapon would hold its own collision, fist fighting is also a 'weapon' just without a mesh
Ranged would be faked in whatever manner you feel fit
Anywhere from just linetrace to sweeping
Or just projectiles, which fortunately actually have a standard component
ill check
Hi guys. can somebody explain my such a thing. A make a bool var. expose it to cinematics. animate it from sequencer. Make a brunch with a bool condition. And brunch always skip condition on 1 tick ....... why does it happen?
This node gets the closest distance between a point and a line. Is it possible somehow to get the point in my line where this distance is being calculated from? Maybe there's another node that i dont know of?
You could calculate it with some trigonometry at least, maybe some other ways too
you basically have a triangle forming from your points
Though now I'm wondering how a notify state can tell an actor to active/deactivate a collision volume unless it's a very specific actor with a function for that purpose
Or that lol
awesome. thank you. thank you too zomg i think i will go ryck0shae way, than going full math lady ๐
Anybody able to suggest places where I can find reasonably good textures/materials for my game? After a couple wood and stone ones. Nothing 4K or stuff as it's too big for my project
I'd just look on Megascans, you can always scale them down if they are too high res for you :)
Well there are many ways really. Interfaces is an option
Depends on your setup really
Id just cast to my master pawnclass and call the activate/deactivate functions
Which would handle it accordingly, depending on whats equipped
Hi, I was wondering if I may have some help? I don't mean to interrupt, I apologise. I'm a beginner to unreal engine and I've been following various tutorials to create a first person melee combat system. I've got all the animations setup and working, I'm just currently struggling with line traces and actually getting the animation to apply damage. Each tutorial I've looked at seems like it does it a different way. Currently I've got a damage anim notify state blueprint setup, where I have the top and bottom sockets of my weapon skeletal mesh in the socket location, which is then connected to a sphere trace. However, I can't figure out how to get it working, when in play mode the sphere trace appears when swinging my melee weapon like it should, but is coming out of the bottom of my character rather than the top and bottom sockets of the weapon skeletal mesh which I want it to. I'm not sure how to fix this or if there is a better way entirely, I'm not sure what the best way to get line traces setup is.
I usually just make a collision for the weapon and allow hit events only during the swing with a bool.
For your method it sounds like the values for the start and end of the trace are offset for some reason. Do you have a screen shot of how are you getting the positions
how i can detect "on exit event"
@sharp fox you can set a boolean variable as true when you exit and check it with a branch
but what if user exit with alt + f4
Then they quit
but i want to save the game before quit
end play
They're not interested in saving
then call to parent after
omg thank you
One of the major problems with this is that there is no context for type of gameplay.
There is a large design implementation difference between a hack and slash fast paced game and a slow paced fighting game like say Kingdom Come.
Fast paced requires less precision and simply hides this with flashy animations and visuals. Spawn/use a large collider, test hits, apply damage, play FX, done.
Slower paced games require much more implemented designs. You need to know if a weapon is hitting something visually or it looks bad, most times traces can handle this on tick if you manage a decent fps target. More importantly, they require a heavier fighting system setup because of usual stuff like blocks or parries, and required animation state changes, etc.
colliders also work fine. But you really need to know what the enemies in front of you are doing to. If you're mid swing, you need to know what you might hit, if they're parrying, etc. It helps you manage animation state changes more smoothly. Looks a little less jarring.
Isnt mesh component the skeletal mesh of the character and not the weapon?
Yeah that's what I was thinking, I think the mesh component is referring to the anim montage, which contains the animation of the character mesh swinging the weapon, skeletal mesh. Idk how or if I'm able to specify that the location of the socket is in the skeletal mesh of the weapon.
Dont think you can, directly
Prob easiest going via the char bp
Or exposing the weapon ref somehow
Yeah I've followed many tutorials and tried that. I've got a weapon pickup system and I haven't been able to figure out how to get it working in the char bp alongside it. My issue is that when adding the skeletal mesh to char bp it adds it to the viewport, which I don't want, and adds the line trace only to that mesh. When I go into play mode the trace works but the weapon is attached to the viewport. I don't want the character to have a weapon by default, but be empty handed and so when picking up the weapon and swinging line trace works, the line trace also doesn't appear on the weapon mesh. I think it's because the weapon is a bp containing the skeletal mesh and collision which I'm using to for the pickup system.
Single player?
currently yes, but I might test out with multiplayer in the future possibly if I get some of combat and that working
The weapon should probably be a mesh/skel mesh attatched to the appropriate bone in the char when equipped
Char having a ref to the weapon actor
And being able to toggle its collision/damage state
How would I go about doing that? Apologies, I'm very new to this lol
Id let the weapon handle the damage
So a master weapon class with some basic definitions and functionality
Which you then reference from the char (with a variable) ,
So that in the notify state you can do GetCharacter -> Cast to myChar -> GetEquippedWeapon -> Enable collision
Notify state begin would start it, and notify end would stop it
Thats atleast how id do it from the top of my head
I think I understand, I'm gonna try see what I can do, thank you!
What would the master weapon class include?
The pickup & melee attack system/ nodes
It would include all definitions, variables and whatnot that you'd need in every weapon
It doesnt need the implementations, but it makes sense to at the very least toss you a bone with print strings if its something that must be overriden in a child class
And add any common implementation that you want every weapon to have
By definition i mean the decleration of functions really. So they can be called via the masterclass
hi guys i'm using "material parameter collection" with "vector" value for storing level actor's world position. my problem is when i duplicate that actor on level, duplicated actor's vector position gone and stored new duplicated actor(it's working normal). how can i handle multiple actor's positions in parameter collection dynamically? afaik there are no arrays values type in parameter collection?
and afaik we can't add or delete values at runtime on parameter collection..how can i handle this?
Hey, i was working on something and ended up running into some slight issues (i do have some ideas on how to move forward but that involves using a savegame so basically i was wondering if there is a better method around this).
So my issue is that i'm working on moving AI characters from a Lobby to In-Game. These AI characters will have data set on them when spawning into the lobby (Names, Stats, etc) but i noticed when i move between levels it does leave references within the array I tried storing Lobby players in but after moving maps it would destroy the map, the AI in the map and all the data connected to the references (i can check the array and see the index's are still there, but i can no longer get data from the destroyed AI from the previous map).
Can someone please help a noob question here: like in this video, after I insert the tube within the socket, I want the "Damaged Optical Fiber Cable" widget to change to widget that shows normal cable (indicating it has been fixed)
What should I add in the blueprint?
I know how to do it if it was a material and I wanted to change the material I would simply add "Set Material" and do it easily, but with widgets I'm not sure what to do.
I'm quite confused, do you know of any tutorials that might show the process?
Just start out by making the big broad strokes and functions in the masterclass
StartDamage, EndDamage, GetDamage,
Keep variables private, functions public
I can smack something together in an hour or two (or three)
Stuck babysitting now :p
wait.. settings?
Is it even valid ?
The savegame object
in content browser?
Check it.
have you used an is valid node?
in my life: yes
in this blueprint: no
Guys im facing a problem , i just forgetting which set function to use to give another blueprint access to player controller.
I sae a video few weeks ago to use. Get player controller but I'm forgetting where to plug the return
i changed the slot name and now it works
W
Life is easy. GameDev is hard
theory: easy
practice: hard
You can check the folder for the file
And prob just delete it
If you struggle with corruption it might be worth adding some functionality to fix it aswell
If cast failes but slot exist, try to delete the slot, before making a new one etc
hello everyone
I havent opened UE for like half a year and forgot almost everything...
I have a widget class "ArrayCounter", it has text block named "Counter". how do I access this text block? I'm trying to cast but looks like it wont work
yes
So you need to get the widget inside the component
I guess yes
is there a way to save data similar to how a data table is filled?
Or would I have to create my own storage class
The last one, yes
Not sure how convenient it would be to edit and save instances for that
Is it possible to give a BP an array of "wildcard" structs?
might be possible to load in data tables then
hmm
For context, I have been writing a bunch of blueprints that are set up from the data from data tables
with different structs
I thought it would be nice to have an editable alternative so that users can change them like settings
uh... can you explain what's wrong on my screenshot? I dont understand what you meant
Ur getting the widget component. You need the widget inside the component
I cant see it in the context meny...
Get widget?
oh, yeah
finally
thanks
Hey guys, got a question. Not sure if this is possible (if not, it's not a big problem).
I'd like to know if it's possible to paint in gray Enemy Name (block user to open dropdown menu) if Random Enemy is true.
In this particular situation it won't be a problem, but I think it should help in future situations.
It is. But not in blueprint I don't believe. At least I do this in some UWidgets in a plugin I have. You have to override the virtual CanEditChange from UObject. This lets you return whether this property can be edited.
Thank you! I'll take a look at that.
A basic example might be this to give you a head start. I have widgets with a bool property named bIgnoreStyleData. When this is true, it disables BlurStyleData and enables BorderBrush and BlurStrength. When it's false, it does the opposite.
.h
#if WITH_EDITOR
virtual const FText GetPaletteCategory() override;
virtual bool CanEditChange(const FProperty* InProperty) const override;
#endif // WITH_EDITOR
cpp
#if WITH_EDITOR
bool UAuthaerColoredBlur::CanEditChange(const FProperty* InProperty) const
{
if (Super::CanEditChange(InProperty))
{
static TArray<FName> InvalidPropertiesWithStyling =
{
GET_MEMBER_NAME_CHECKED(UAuthaerColoredBlur, BorderBrush),
GET_MEMBER_NAME_CHECKED(UAuthaerColoredBlur, BlurStrength)
};
static FName ValidPropertyWithStyling = GET_MEMBER_NAME_CHECKED(UAuthaerColoredBlur, BlurStyleData);
if (InProperty->GetFName() == ValidPropertyWithStyling)
{
return !bIgnoreStyleData;
}
if (InvalidPropertiesWithStyling.Contains(InProperty->GetFName()))
{
return bIgnoreStyleData;
}
return true;
}
return false;
}
#endif // WITH_EDITOR
Is there one to do that?
Ye
Can you set that in BP through the categories or whatever it is?
I might stick with the CanEditChange. Too used to it. ๐
Dear, While working on level editor, I saw some threads and questions about EditCondition meta specifier. But All examples show use of a single boolean variable as below. UPROPERTY(EditAnywhere, Category = Game, meta = (EditCondition = "bCanIUse")) Can I use multiple boolean variables for checking condition with boolean operation? Thanks in...
EditCondition
Huh. Will have to keep that one in mind. Certainly faster than a function override.
I used it to interlock land/water buildings
So it couldnt be none, but either, or both
I tried getting this to work earlier, but I still havent succeeded. Im trying to make the stamina bar on my widget flash when the bar is under 25%, any suggestions?
For getting the actual animation to play of course
During stamina use, check for the condition
Launch an event dispatcher when stamina goes below your treshold
On stamina regen
Do the opposit
A single delegate with a bool should be enough
Below treshold, true or false :)
I'd do it in the material myself
how would I do that?
I'll try this first!
Make a material that can flash and has FlashAlpha and maybe FlashSpeed parameters.
Personally id find that way more troublesome ๐
Need to make dynamic material instance aswell then
Yeahhhh I tried the material method and got nowhere
Hmm, could you elaborate a little on checking for condition?
Also, do you think I should make it a function?
All of what you told me to do
The widget would have a function
For playing the anim, and for stopping it, based on an input parameter
This function shall be bound to the pawns stamina delegate, which also has a bool ๐
Well, I already linked you the snippet of the material, meticulously commented and all
Oh I forgot im sorry :')
I took a brain break shortly after I asked originally
Here lemme check my mentions so I can find that again
Though I should clarify, I prefer materials because it'll save some load on Game thread's part
As in performance?
This very time limited operation shouldnt cause much of a dent tho
But many rivers small.. i guess
Extremely many micro rivers.. etc
๐
Ah! Found it! So, theoretically all I should have to do is substitute for the values I want to use?
I mean hey, and performance saved is good, right? :D
Yes.
The check is done in shader level, saving performance on the game thread, and all you have to do in game thread is just setting the percentage value.
๐
A h a h
Im a little over a week in :')
But im intentionally taking on an ambitious project first, because, well, im very ambitious, and im also a perfectionist so, I know my brain wont let me stop until this stuff looks really good
The project is ambitious so im forced to work with more, and learn more haha
Best of luck !
For context, the snippet in question
https://dev.epicgames.com/community/snippets/QkV/progress-bar-material-with-danger-pulsing
Next zelda incoming
Ahah! You already know by my pfp it's gotten some inspiration :')
And yup! I have it pulled up, im just trying to mentally go over it all because it's turning my brain a little
Okay I THINK im kind of getting and idea
I gotta check this out! Seem like a good snippet hub
Should I remove the flash animation from the widget itself as well or is this going to utilize it?
The material is all in one, really. You just have to apply the material into an Image widget
Woah this is 874 lines of code long
Yepp๐
Im so happy we have blueprints :')
It makes the process so much easier and faster
Hope you guys enjoy my company by the way, because im probably gonna have to come back here a lot :')
I'm sure manually typed HLSL code of the same thing could be way shorter
I just comment things a lot just to give clearer idea on what's going on
Oh you made all of this?
Well, there's definitely things in here that I have no understanding of :')
Pro contributor
Are things like PulseSpeed custom params?
Well, I mean, who else in the site used Makoto Kikuchi profile picture? :P
I didn't pay attention to that- :')
Yes, just scalar parameters
I really wish all action blocks had some kind of brief description
I wonder if Blueprints or C++ are harder
my third eye has opened
now that
is quite ugly
no dont take notes
dont listen to a woman who owes me $5,000
so a level that i loaded after 2 weeks is now suddenly failing to load with the error:
Error: Couldn't find Shader (TMaterialCHSFPrecomputedVolumetricLightmapLightingPolicyFAnyHitShader, 0) for Material Resource DefaultDeferredDecalMaterial!
i havent used the material
You spent two weeks loading it?
i havent changed the levels
-.-
you said after two weeks
i haven't loaded it in 2 weeks
no
Could I also apply this to my players health when it gets too low?
Damn. Was hoping it was my turn
you are not yet
Aye you saved me yesterday
I wear hoodies, not capes
gimmie
Sounds like debt.
because i want it


