#blueprint

402296 messages ยท Page 914 of 403

gentle urchin
#

No

#

It stops the instant it hits the return

faint pasture
#

The first time it hits a return, it's done.

naive stag
#

They are in the same array, and I need to get the first item out of them

faint pasture
#

You want the first valid actor ref. You got it. What do you need now?

sudden zephyr
naive stag
#

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

faint pasture
naive stag
#

My whole blueprint?

faint pasture
#

Just the function

naive stag
#

I just used this one

#

I think it works

#

Im not sure

teal talon
#

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.

gentle urchin
#

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?

teal talon
#

the bottle and widget are both in the bp

gentle urchin
#

exactly

teal talon
#

widget has all the code

gentle urchin
#

well

#

I guess it's fine

teal talon
#

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

gentle urchin
#

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)

teal talon
#

hmm ok,

gentle urchin
#

Wouldnt it then be cleaner with Event Dispatchers in the widget

#

that the BP can listen to?

teal talon
#

But the widget is listening for the clicks and hover events not the bp

#

Sure how do I do that

#

Sorry I'm new

gentle urchin
#

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

oblique elm
#

how do I detect if a player joins a match for the first time?

gentle urchin
#

prob by some unique ID that you store somewhere

flat coral
#

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)

versed sun
#

Get Parent Actor ?

teal talon
#

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.

hybrid latch
#

Is it possible to Finterp to backwards / inverse? If not are there any alternatives without the use of a timeline?

faint pasture
#

unless you're trying to FInterpFrom which is weird.

hybrid latch
#

Target is a smaller number than current.. Just jumps straight to target and doesnt interp anything

hybrid latch
#

Think I might found the issue.. 2 sec ๐Ÿคฃ

gentle urchin
gentle urchin
#

"Dynamic Widget" in your case

teal talon
#

yeah I can't get those to connect

gentle urchin
#

did you make the dispatcher in your widget blueprint?

teal talon
gentle urchin
#

Dynamic widget variable, which type is that?

teal talon
#

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

gentle urchin
#

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

teal talon
#

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?

gentle urchin
#

Yeah, i avoid the default one

#

Not very usefull in the first place cumbersome to get the widget ref from it

teal talon
#

but if I remove it I don't have anything in viewport to work with and move?

hybrid latch
gentle urchin
hybrid latch
#

Shouldnt this be looping?

gentle urchin
#

Instantly , yes

#

You wanna spread it acoss several frames

teal talon
gentle urchin
#

The binding may or may not

#

Id set that up on beginplay regardless

teal talon
#

create widget can't be used in contruction is says.

#

hmm, maybe I'll remove whats in the component on build

gentle urchin
#

Theres always loopholes, but id suggest reconsidering

spark steppe
#

try it, either it works or not

teal talon
spark steppe
#

but for your final BP you shouldn't do it in construction

hybrid latch
gentle urchin
gentle urchin
spark steppe
#

if it won't let you do it at all in construction, you can cheat that thing by wrapping it in a function

teal talon
gentle urchin
#

Thats the loophole

hybrid latch
#

I dont understand why that should be instantly..

teal talon
faint pasture
#

it'll all resolve in ONE FRAME

#

so it'll be instant

hybrid latch
#

Works fine when it is not in reverse..

gentle urchin
hybrid latch
#

other way around is the issue

gentle urchin
#

This will not work, forward nor backwards

faint pasture
#

That logic is totally screwed up. What are you trying to do?

hybrid latch
#

Works perfectly when lerping towards smaller FOV

gentle urchin
#

Then its not the same logic

faint pasture
#

That's a fortunate accident then. Do it like this
Set FOVTarget wherever

On Tick:
Lerp FOV towards FOVTarget
Detect some state (bIsFocusing?)

spark steppe
#

or just use a timeline

gentle urchin
#

If fov != fovTarget -> lerp

faint pasture
#

Lerp anyway

gentle urchin
#

Or that

#

Just lerp forever

#

Doesnt matter much

hybrid latch
#

No timeline cause in function..

#

forwards that works aces

faint pasture
hybrid latch
#

same function

#

Not on tick

spark steppe
#

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)

faint pasture
#

How TF does it lerp over time if it's a one time shot?

gentle urchin
#

Its called multiple times

#

It must be

hybrid latch
#

Fark.. I know. There is a timeline running before this function is called, ofcourse

gentle urchin
#

There we go

#

๐Ÿ˜„

gentle urchin
#

Devils in the details

faint pasture
hybrid latch
#

I know..

lime yoke
#

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.

hybrid latch
#

As I said.. My own stupidity got to me

faint pasture
#

Are you meaning to drive bIsFocusing by FOV or the other way around? is focusing the "zoomed in" state?

hybrid latch
#

Focusing is zoomed in yes... I think I have a easy solution now

gentle urchin
faint pasture
#

Subclasses of BaseSpawner can add more volumes if wanted.

gentle urchin
#

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

faint pasture
gentle urchin
#

With non-rectangular areas

#

Or multiple areas in general

spark steppe
#

you are looking for the child actor component

gentle urchin
#

shivers

lime yoke
#

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.

spark steppe
#

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

gentle urchin
#

If its hidden spawns like pokemon

faint pasture
gentle urchin
#

Its prob not nvm

lime yoke
#

I'll try to illustrate quickly in Unreal.

spark steppe
#

it's pretty clear imho

faint pasture
#

I get it, just trying to sort out how it'd be easier then just copy pasting a spawner around

spark steppe
#

but you are overengineering it

faint pasture
#

ballpark max how many boxes for a spawner?

lime yoke
#

I'll explain in a second why I can't put many spawners.

spark steppe
#

i'll explain in 2 seconds that you can

faint pasture
#

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.

spark steppe
#

yea that sounds better, if you want to control spawn within the same actor

faint pasture
#

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)

spark steppe
#

also you can edit them in the level

faint pasture
#

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.

lime yoke
#

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.

spark steppe
#

one manager with a bounding box, which encapsulateds the whole spawnarea that he should control

#

3 actors with the spawn settings

lime yoke
#

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.

spark steppe
#

manager gets it's overlapping actors and manages spawns

#

that way you can also handle intersections

lime yoke
#

I see, I suppose that's a way to do that.

#

Thank you for the help, guys. I really appreciate it!

teal talon
serene bramble
#

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

faint pasture
calm cargo
#

How can I obtain the biggest float (the limit) value?

solid zenith
#

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?

calm cargo
#

Oh, do I have to type it in manually?

soft plinth
#

try

icy dragon
calm cargo
#

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

astral fiber
#

Is this the preferred way to iterate trough a map?

sudden nimbus
#

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

cyan bone
#

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

sudden nimbus
cyan bone
#

Its because its dynamically added. It needs Num data custom floats.

vast widget
#

@lean summit if you're on PC, hit ctrl + r that'll reload discord

lean summit
#

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.

sudden nimbus
lean summit
sudden nimbus
#

if you changed the order, whatever was last would be the one you saw

#

you need some kind of conditional here

lean summit
#

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

sudden nimbus
#

I don't think you changed the order I meant

#

What did you change it to, curious?

lean summit
#

It's setting the icon on all 3 structs

sudden nimbus
#

Ohhhhh

lean summit
#

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

sudden nimbus
#

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

cyan bone
#

I was told here that Material animation is cheaper than vinterping instances. So is material animation more performant than any type of animation?

lean summit
lean summit
#

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

sudden nimbus
# cyan bone I was told here that Material animation is cheaper than vinterping instances. So...

"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

sudden nimbus
#

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

lean summit
#

Fixed it by just switching out the button... lol it isn't great but it'll do

sudden nimbus
lean summit
#

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

sudden nimbus
#

is it a hack if its packaged nicely into a custom button or component or whatever? ehhh

#

if it works for the budget....

lean summit
sudden nimbus
#

thats right, until someone wants a (conditional) halo around that sucker

#

but i do recommend #umg and #slate as you continue that project

#

way more specialized advice in there

#

even if it might take a bit longer

lean summit
#

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

sudden zephyr
#

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?

sudden nimbus
#

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

cyan bone
# sudden nimbus "more performant" is simplifying it a lot. When you animate in a material you ar...

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?

sudden nimbus
#

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

cyan bone
sudden nimbus
#

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

cyan bone
sudden nimbus
#

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 ๐Ÿ™‚

limpid bronze
#

Where do I go to ask a navigation mesh question?

cyan bone
#

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

sudden nimbus
grave apex
#

does anyone know how to locate what specific print function is printing a string during runtime?

twilit heath
#

its also printing into your output log, but with source blueprint mentioned

grave apex
#

ah, im seeing some of them here

#

is there a way to jump to the specific node?

#

from here?

sudden nimbus
#

nope

#

and it's not always exactly right, but at least it's something

solid zenith
#

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

thin panther
#

when they dont do that it throws infinite loop error

#

one of the advantages of c++ is this doesnt happen

sudden nimbus
#

think of it like it just continues while the delay is waiting to continue execution

thin panther
#

^

#

what you want is a timer, or a tick event

#

looping timer, increase the index you look at each time

sudden nimbus
#

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)

solid zenith
#

I use couple of them was looking for better solution

#

cause thats a lot of stuff to do for something like this idk

thin panther
solid zenith
#

if timer is best solution thats disappointing lol

thin panther
#

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

sudden nimbus
#

why wouldnt you delay the whole loop

thin panther
#

frame rate dependant, if you want time based things, use the time based methods

sudden nimbus
#

it would be the same

solid zenith
#

you mean put delay before loop node?

sudden nimbus
#

uh huh

solid zenith
thin panther
#

if thats disappointing then idk

solid zenith
#

ya and I said thats a lot of work for simple thing like this

#

and that was my disappointing part

sudden nimbus
#

a timer might make more sense, i cant tell from the screenshot i guess

solid zenith
#

not the oh no! correct solution! how disappointing

thin panther
#

ah

solid zenith
#

I will move to timer thanks

thin panther
#

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

sudden nimbus
#

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

dusk cave
#

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

sudden nimbus
#

widgets are highly unlikely to matter but you can write any code you want so not ruling it out

summer pewter
#

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

sudden nimbus
#

ue4 or ue5

summer pewter
#

ue5

sudden nimbus
#

imported from ue4 or ue5 native

summer pewter
#

ue4 native to the EA to 5.0.1

#

sorry no

#

this code was redone in 5

sudden nimbus
#

any c++ in there? maybe a c++ base class for the weapon?

summer pewter
#

no just BP

sudden nimbus
#

ok

#

it's the SMG that doesn't work? because sounds like that does add new code, it's not just class defaults changing

summer pewter
#

that's what i thought, but it just uses inherited events and functions that all call back to the base class

sudden nimbus
#

is the damage applied zero or just not scaled to speed

summer pewter
#

it is scaled to speed but improperly. as i get faster it gets closer to 0, instead of closer to the max dmg variable

sudden nimbus
#

show the blueprint for the smg where it scales the damage

summer pewter
#

this function is called on tick on the player character and is part of the weapon parent class

sudden nimbus
#

what's the SMG specific code?

summer pewter
#

this is all there is

#

all the parent call on the begin and end fire do is just set a boolean

sudden nimbus
#

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?

summer pewter
candid geyser
#

Quick Question: Can I make it so I can set something to decrease a certain amount per second?

#

(Not using a timeline specifically)

sudden nimbus
summer pewter
candid geyser
#

Ahhhh well I guess ill have to work with timelines

dusk cave
#

oh never mind im dumb

sudden nimbus
candid geyser
#

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

sudden nimbus
#

that's a no no

#

I think it will even yell at you

summer pewter
#

something like this might work

candid geyser
sudden nimbus
# summer pewter

so where is the reverse behavior for SMG where it goes to zero instead of ramping up to max damage

quick ember
dusk cave
sudden nimbus
candid geyser
#

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

sudden nimbus
candid geyser
#

And then I have to restart UE4 to fix it

sudden nimbus
#

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

summer pewter
#

i should be able to figure it out

sudden nimbus
half portal
#

how can I make it to dash in the direction player is moving in

summer pewter
candid geyser
half portal
summer pewter
#

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

half portal
#

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

candid geyser
#

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

summer pewter
#

hmm. not sure sorry

candid geyser
#

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

half portal
#

The way I deal with it is save all when closing and restart

candid geyser
#

Same here

#

I just wish I didnt have to do that

half portal
#

Tell me more about ahhaa, had it for ages

#

Its not a blueprint issue tho, smth with engine and the pc system

candid geyser
dusk cave
sudden nimbus
#

what hardware? (for the flickering menus)

half portal
dusk cave
sudden nimbus
#

sorry meridian, other Convo

dusk cave
#

oh sorry i thought u meant me

half portal
dusk cave
#

This works when I press play but not after I try to repossess the character

candid geyser
# summer pewter

Hey, is there a reason the Exec for Set Time has nothing connected to it?

#

Wait nvm I have an idea

summer pewter
candid geyser
summer pewter
#

cool

candid geyser
#

I wasnt sure if I should have left it blank or not haha

#

Okay! Did a little adjusting and its working!

graceful sparrow
#

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

dusk cave
icy dragon
candid geyser
dusk cave
#

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

dusk cave
#

This is inside my first state

limpid bronze
#

How do I set the game instance of my project?

sharp fox
#

Where i can post a world/material question

icy dragon
wicked osprey
#

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

foggy escarp
# wicked osprey 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...

gentle urchin
#

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

foggy escarp
#

I think the issue was its simulating physics and not root

gentle urchin
#

rip

#

i hate physics ๐Ÿ˜„

foggy escarp
#

Gotta embrace the jank

wicked osprey
#

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?

foggy escarp
#

That's not true

topaz escarp
#

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.

wicked osprey
#

If I have such a hierarchy, then when simulating the physics of the static mesh, the acene root component will be in place

foggy escarp
bronze hill
#

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?

wicked osprey
foggy escarp
#

Just give it a try, it will work

wicked osprey
#

If only through the code

foggy escarp
#

So you want to rotate in blueprints?

wicked osprey
#

Yes

foggy escarp
#

after setting the mesh as the new root, you can use the node for setting or adding actor rotation.

candid geyser
#

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?

gentle urchin
#

sure

candid geyser
#

By that I mean increase a float that is in a different blueprint

gentle urchin
#

OnOverlap or whatever -> Other Actor -> Cast to myActor -> call the "increase float function"

bronze hill
#

maybe through interface?

wicked osprey
gentle urchin
foggy escarp
wicked osprey
#

It turns out in my case only this way. I thought there was another method, but thanks anyway

bronze hill
#

I am confused about where to process the input. i can place input both playercontroller and character

gentle urchin
#

and in other actors too!

#

Be carefull tho,

#

it easily gets messy

bronze hill
#

yes that make me much more confusing

#

i place input all over actors

gentle urchin
#

there are many ways to do things with this level of freedom

#

I would try to limit the inputs to few actors/characters

bronze hill
#

i can move other actors unless i'm not possess that

candid geyser
gentle urchin
#

assuming thats the event you went for

bronze hill
#

then what is th point of possessing?

gentle urchin
#

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"

bronze hill
#

Thank you for explaining. I'll try to understand the subtle differences.

candid geyser
#

I think im blind or something, I can't find the increase float function

bronze hill
#

I know how to do it, but it's hard to understand the concept that Unreal intends.

gentle urchin
#

if its not there, the method is either not public, or you're in the wrong class^^

bronze hill
#

you can simple create add float function using add float node

#

i think add float node itself is function

#

maybe not

gentle urchin
#

you usually dont want to manipulate other objects variables from externally, directly

candid geyser
#

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

gentle urchin
candid geyser
#

I got it now!

#

And it's working!

gentle urchin
#

Ofcourse ๐Ÿ˜„

bronze hill
#

get playercontroller index 0 always mean myself?

gentle urchin
#

yes, the local playercontroller

#

if you're doing splitscreen, it gets worse

candid geyser
#

Hmmm, could I by chance make it so that the box can trigger more than once?

bronze hill
#

i'm studying multiplay, it also confusing๐Ÿ˜…

gentle urchin
candid geyser
gentle urchin
#

There's nothing blocking this from triggering again

candid geyser
#

Oh then time to bug fix B)

gentle urchin
#

show code ๐Ÿ˜„

candid geyser
#

Oh never mind it works!

#

Im just really tired and wasnt paying attention I guess

gentle urchin
#

Ah ๐Ÿ˜›

hot lotus
# bronze hill get playercontroller index 0 always mean myself?

โ€ข 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

hot lotus
#

I suggest you the eXi compendium on unreal multiplayer. Some slides on the general concepts!

gentle urchin
#

That one is great

icy dragon
#

There's also that one YouTube video that goes into Unreal's networking system

#

Had pretty good explanation

bronze hill
#

thank you very much i will check right away!

gentle urchin
#

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...

bronze hill
#

actually i usally study through youtube haha

gentle urchin
#

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

icy dragon
# bronze hill thank you very much i will check right away!

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...

โ–ถ Play video
bronze hill
trim matrix
#

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.

worthy carbon
#

hi! i'm using ue5 but how to let everything looks realistic?

gentle urchin
minor thicket
#

So is this a known issue? Im using a OnMouseButtonDown override event for a ui button but there is this weird input delay

gentle urchin
gentle urchin
#

Are you overriding on mousebutton down when clicking a umg button?

minor thicket
#

yes im overriding when the right mouse button is down

gentle urchin
#

How long is the delay?

minor thicket
#

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

gentle urchin
#

Could it be trying for doubleclick

minor thicket
#

im thinking it might have to do with the actual check for the function is mouse button down

gentle urchin
#

Check doubleclick first

#

0.2 sec is the default value for it

minor thicket
#

no not double click

#

i changed the value to 0 and no change

gentle urchin
#

Is the button getting the click?

minor thicket
#

yes its getting the click

gentle urchin
#

Theres very varying experiences with override + button

#

I dont believe they're intended used together

minor thicket
#

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?

gentle urchin
#

How about ditching the button

#

And doing your own click handling in a new spellwidget?

minor thicket
#

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

gentle urchin
#

Overrides+ ubuttons always bugged me ๐Ÿคฃ

minor thicket
#

this is what the event graph looks like

#

even with just this there is still a delay

gentle urchin
#

Test it

#

Without the button

#

And see ๐Ÿ˜„

#

Add a new temp widget , sizebox + border/image

#

And override click

#

Print

minor thicket
#

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

gentle urchin
#

Its an ancient button :p

#

Pre-historic

twin pine
#

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?

gentle urchin
#

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

twin pine
#

It seems easier to just do this in c++

gentle urchin
#

Afaik you cant set a default value there either

twin pine
#

But I've managed to do this before in c++ by just adjusting the UPROPERTY

gentle urchin
#

If you say so

twin pine
#

and then set the default in blueprint

#

But I might be mistaken

gentle urchin
#

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

twin pine
#

Because this works( tho it is a niagara system and not an actor)

gentle urchin
#

Ye, not an actor

twin pine
#

yeee no I was mistaken

#

I'll just have to use the stuff in the scene

gentle urchin
#

You prob have to spawn the item again before using it :)

pale blade
#

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?

gentle urchin
#

Anim notify sounds more natural

pale blade
#

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

trim matrix
#

Wat's the difference between tick space geometry and cached geometry? seems like cached used tick as well?

gentle urchin
trim matrix
gentle urchin
#

Its just... for me atleast it makes sense for animation related things to happen in the animationBP

maiden wadi
#

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 ๐Ÿ˜„

round basin
#

Yeah that's right, thanks!

strange blaze
#

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?

trim matrix
#

can you post screen shoot of your bp

maiden wadi
#

Generally you just save state for it. A gate is nothing more than a branch with an internal boolean.

gentle urchin
#

Just check 3-4 bools for it

strange blaze
#

Hm okay ty

gentle urchin
#

Or state, as suggested

trim matrix
#

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

maiden wadi
#

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.

gentle urchin
#

Int check ftw

#

Inc/decrement int on keypress ๐Ÿ˜„

minor thicket
#

okay after some testing on a new widget. still same issue

gentle urchin
#

Dang

#

Thats unfortunate

trim matrix
#

@minor thicket Why not try Listen for Input action?

minor thicket
#

I dont get it. It seems to be a problem with override

trim matrix
#

You are just trying to detect right mouse button?

minor thicket
#

when its over the widget yes

potent laurel
#

There is an override function for that no?

trim matrix
#

oh nvm

gentle urchin
#

Apparently slow

#

Like half a sec delayed

potent laurel
#

On hovered

minor thicket
#

i have an override but there is a input delay

potent laurel
#

Hmm

#

Weird

#

Is the widget that you are hitting at the front in "Z order"

#

Not sure why there is a delay

trim matrix
#

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

minor thicket
#

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

potent laurel
#

Strange

minor thicket
#

it works perfectly but the delay makes it not really worth it

potent laurel
#

Are you using a print string on the right clicked event or whatever you are using

#

Could you provide some screenshots

minor thicket
#

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

trim matrix
#

Someone did that monkaHmm

potent laurel
#

A default delay function is 0.2 seconds

minor thicket
gentle urchin
#

Theres also preview down etc

#

But not sure it helps

potent laurel
#

Must just be how the engine handles entering a widget

#

You might struggle with this

gentle urchin
#

The new widget you tested, there was no button there, right?

minor thicket
#

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

gentle urchin
#

Let me test

#

using a random widget and the override

trim matrix
#

Im testing it right now

#

if u right click once it's fine

#

but if u spam it

#

u can notice the delay

minor thicket
#

strange

trim matrix
#

Hmm lets find other solution?

#

dont use that function

maiden wadi
#

It's not a delay

#

Double click.

trim matrix
#

Well it doesn;t fire the print string

#

yeah maybe it;s trying to detect double click?

minor thicket
#

i set double click value to 0 and it was still the same

maiden wadi
#

Make a function that takes the same parameters as on mouse down. Call it in both OnMouseDown and OnDoubleClick.

gentle urchin
#

its the doubleclick

#

so as Authaer suggest

trim matrix
gentle urchin
trim matrix
#

Thank you

gentle urchin
#

Its just an override

#

just call the very same function with both overrides

#

"tryExecuteSpell" or whatever ๐Ÿ˜„

trim matrix
#

@minor thicket Yo they find tthe problem ๐Ÿ˜„

maiden wadi
#

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.

gentle urchin
#

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

minor thicket
#

thats so weird that its automatically detecting double click

trim matrix
#

The function is always there

#

u are just overriding it

gentle urchin
#

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

maiden wadi
#

Imagine everyone starting timers everywhere in widgets for double clicks. ๐Ÿ˜„

trim matrix
#

I think Im using gate for double tap action

#

copied sum1 bp

#

not sure if that's proper

gentle urchin
#

Im using delays for double clicks

#

or i was, anyways

trim matrix
#

yea gate and retrigable delay

#

FF9 is sick btw

maiden wadi
#

I use GetRealTime comparisons with saved floats for it. But only in gameplay actors. In UI it's always double click overrides.

trim matrix
#

They do FF7 rmk, but i doubt they will do 8 rmk, maybe skip to 9

gentle urchin
#

would be nice

#

then I could die happy

#

altho, 9 is a gem as it is aswell so guess i shouldnt complain

trim matrix
#

7 is the best for me but i love 9, it has different aestetic

gentle urchin
#

was a shame that they lost the original bg's tho

trim matrix
#

I stop playing FF 10 onwards

#

7 - 8 - 9 is what i long for

gentle urchin
#

I dont like double click/tap functionality tho, since you have to block/delay the single click

minor thicket
#

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

trim matrix
#

Nothing wrong with override anyway?

trim matrix
#

just my 2 cent

gentle urchin
minor thicket
#

yeah ill do that first and see how i like it

gentle urchin
trim matrix
#

didn't expect them to ditch their engine for UE4 lol

gentle urchin
#

well, ue4/ue5 is coming up great imo ๐Ÿ˜„

icy dragon
#

Luminous is great, but more people use UE4/UE5

minor thicket
#

works perfectly. had to fix how i had it set up for unequipping spells, but that wasn't because of the override lol

trim matrix
#

Am i doing something wrong?

gentle urchin
#

Seems reasonable i guess ?

trim matrix
gentle urchin
#

The setup, nothing obviously wrong to me there

#

Sure id stuff it in functions etc but thats just cleanup

trim matrix
#

But it doesnt save

versed sun
#

maybe set Save SubClass after you cast, and make sure its type SGBasic

#

and make sure your folder your saving to isnt Read Only

trim matrix
versed sun
#

default should be ProjectName\Saved\SaveGames

#

not sure how to change it

#

but if it saves , it should generate a file there

trim matrix
#

ok

odd veldt
#

Is there a way to connect this? (Actor is not choose able in Blackboard but I used Object -> Actor)

ruby flare
#

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.

ruby flare
#

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...

gentle urchin
#

Nobody has to know that you converted!

#

join the dark side

ruby flare
#

Hahaha

gentle urchin
#

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

ruby flare
#

๐Ÿ™‚

twin pine
#

@gentle urchin Figured out what I wanted. I needed a class reference instead of object reference

gentle urchin
twin pine
#

Yeah I'm new to unreal, used to working in frameworks and some unity

gentle urchin
#

No worries, you'll get around, im sure

short reef
#

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.

ruby flare
#

Could you have a few hitboxes that get turned on/off at various points during the animation? Like on the fists/knees/sword etc?

short reef
#

And probably not the most efficient method outside of 1v1 fights.

#

Maybe.

#

I might have to give that a shot.

gentle urchin
#

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

short reef
#

Well I mean I can't just create a seperate object that handles everything

gentle urchin
#

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

short reef
#

Or just projectiles, which fortunately actually have a standard component

gentle urchin
#

Yepp

#

They'd be unrelated to per frame hitbox control anyways

trim matrix
wheat niche
#

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?

cyan bone
#

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?

earnest tangle
#

You could calculate it with some trigonometry at least, maybe some other ways too

#

you basically have a triangle forming from your points

short reef
#

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

versed sun
earnest tangle
#

Or that lol

cyan bone
# versed sun

awesome. thank you. thank you too zomg i think i will go ryck0shae way, than going full math lady ๐Ÿ™‚

serene bramble
#

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

earnest tangle
#

I'd just look on Megascans, you can always scale them down if they are too high res for you :)

gentle urchin
#

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

north ore
#

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.

tawdry surge
#

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

sharp fox
#

how i can detect "on exit event"

short pawn
#

@sharp fox you can set a boolean variable as true when you exit and check it with a branch

sharp fox
#

but what if user exit with alt + f4

gentle urchin
#

Then they quit

sharp fox
#

but i want to save the game before quit

gentle urchin
#

Id just ignore it

#

If people quit by alt f4

potent laurel
#

end play

gentle urchin
#

They're not interested in saving

potent laurel
#

then call to parent after

sharp fox
maiden wadi
#

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.

gentle urchin
#

Isnt mesh component the skeletal mesh of the character and not the weapon?

north ore
gentle urchin
#

Dont think you can, directly

#

Prob easiest going via the char bp

#

Or exposing the weapon ref somehow

north ore
#

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.

gentle urchin
#

Single player?

north ore
#

currently yes, but I might test out with multiplayer in the future possibly if I get some of combat and that working

gentle urchin
#

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

north ore
#

How would I go about doing that? Apologies, I'm very new to this lol

gentle urchin
#

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

north ore
#

I think I understand, I'm gonna try see what I can do, thank you!

north ore
#

The pickup & melee attack system/ nodes

gentle urchin
#

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

fervent kelp
#

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?

tame kite
#

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).

finite flax
#

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.

north ore
gentle urchin
#

StartDamage, EndDamage, GetDamage,

#

Keep variables private, functions public

#

I can smack something together in an hour or two (or three)

#

Stuck babysitting now :p

sharp fox
gentle urchin
#

Wrong savegame object type

#

Print its displayname

sharp fox
#

not printing

#

it just print "it failed"

#

and on object name it just prints "none"

gentle urchin
#

Soo

#

What type of savegame object do you have in your settings?

#

None?

sharp fox
#

wait.. settings?

gentle urchin
#

Is it even valid ?

sharp fox
gentle urchin
#

The savegame object

sharp fox
#

in content browser?

gentle urchin
#

No, when you cast

#

Is the incoming object even valid?

sharp fox
#

i think so

#

its load game

gentle urchin
#

Check it.

dusty sky
#

have you used an is valid node?

sharp fox
opaque acorn
#

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

sharp fox
#

i changed the slot name and now it works

dusty sky
#

W

gentle urchin
#

So the slot exists

#

But is not the type you think

#

Or is just broken

dusty sky
sharp fox
gentle urchin
#

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

last walrus
#

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

gentle urchin
#

Ugh

#

CounterOnCube, is that a widget component or what

last walrus
#

yes

gentle urchin
#

So you need to get the widget inside the component

last walrus
#

I guess yes

gentle urchin
#

So...

#

GetWidget

#

Cast to ArrayCounter

gentle socket
#

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

gentle urchin
#

The last one, yes

gentle socket
#

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

gentle urchin
#

No

#

Not easily done in c++ either

#

Wildcards, that is

gentle socket
#

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

last walrus
gentle urchin
last walrus
gentle urchin
icy dragon
last walrus
lime yoke
#

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.

maiden wadi
lime yoke
#

Thank you! I'll take a look at that.

maiden wadi
#

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
gentle urchin
#

Meta specifier for this

#

To grey out /make them un-editable

maiden wadi
#

Is there one to do that?

gentle urchin
#

Ye

maiden wadi
#

Can you set that in BP through the categories or whatever it is?

gentle urchin
#

It even takes statements ๐Ÿ˜„

#

No, must be done from cpp afaik

maiden wadi
#

I might stick with the CanEditChange. Too used to it. ๐Ÿ˜„

gentle urchin
#

EditCondition

maiden wadi
#

Huh. Will have to keep that one in mind. Certainly faster than a function override.

gentle urchin
#

I used it to interlock land/water buildings

#

So it couldnt be none, but either, or both

candid geyser
#

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

gentle urchin
#

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 :)

faint pasture
candid geyser
candid geyser
faint pasture
gentle urchin
#

Personally id find that way more troublesome ๐Ÿ˜…

#

Need to make dynamic material instance aswell then

candid geyser
#

Yeahhhh I tried the material method and got nowhere

candid geyser
#

Also, do you think I should make it a function?

gentle urchin
#

Which part

#

Id do that yes

candid geyser
#

All of what you told me to do

gentle urchin
#

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 ๐Ÿ˜„

candid geyser
#

Here, ill show you exactly what im working with

icy dragon
candid geyser
#

Here lemme check my mentions so I can find that again

icy dragon
#

Though I should clarify, I prefer materials because it'll save some load on Game thread's part

gentle urchin
#

This very time limited operation shouldnt cause much of a dent tho

#

But many rivers small.. i guess

#

Extremely many micro rivers.. etc

#

๐Ÿ˜„

candid geyser
#

Ah! Found it! So, theoretically all I should have to do is substitute for the values I want to use?

candid geyser
icy dragon
# candid geyser As in performance?

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.

candid geyser
#

Oh wow this looks

#

Overwhelming :')

gentle urchin
#

๐Ÿ˜‚

candid geyser
#

So many actions im not familiar with

#

Such is the process of learning I guess

gentle urchin
#

Indeed

#

5 years, still learning

#

Trying to improve :)

candid geyser
#

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

gentle urchin
#

Best of luck !

icy dragon
gentle urchin
#

Next zelda incoming

candid geyser
candid geyser
#

Okay I THINK im kind of getting and idea

gentle urchin
candid geyser
icy dragon
candid geyser
#

Ohhh okay nice!!

#

I see now!

#

Will update if it works!

gentle urchin
candid geyser
#

Woah this is 874 lines of code long

gentle urchin
#

Yepp๐Ÿ˜…

candid geyser
#

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 :')

icy dragon
candid geyser
#

Oh you made all of this?

#

Well, there's definitely things in here that I have no understanding of :')

gentle urchin
#

Pro contributor

candid geyser
#

Are things like PulseSpeed custom params?

icy dragon
#

Well, I mean, who else in the site used Makoto Kikuchi profile picture? :P

candid geyser
#

I didn't pay attention to that- :')

icy dragon
candid geyser
#

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

late gorge
#

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

candid geyser
#

You spent two weeks loading it?

late gorge
#

i havent changed the levels

late gorge
candid geyser
late gorge
#

i haven't loaded it in 2 weeks

candid geyser
#

OHHH

#

i knew that

late gorge
#

no

candid geyser
candid geyser
#

well you will be once i have it functioning

gentle urchin
#

Damn. Was hoping it was my turn

candid geyser
#

you are not yet

candid geyser
icy dragon
candid geyser
#

gimmie

blissful grail
#

Sounds like debt.

candid geyser
#

because i want it

blissful grail
candid geyser
#

Bro all the actions you can do in materials is

#

OVERWHELMING

#

Yeah but I dont know what they mean

#

Almost none have any description