#blueprint

1 messages · Page 271 of 1

drowsy rivet
#

thank you a lot!

#

thank you so much!

woven pond
#

I was trying to do a 20s timelimit for all connected clients to make a decision within

#

starting the timer on the server seemed right however getting all connected clients to use that timer

frosty heron
#

What's stopping you from using the timer?

#

there's multiple ways of doing it, depending on the pros and cons you want to take.

woven pond
#

im gonna say my lack of experience and the instruction I had been given (and my searches)

#

im very open to a better way

frosty heron
#

do you actually need 20 seconds window for the clients?
if not then just use server and let clients suffer some penalty in time due to delay.

#

you can tell clients to run their own timer if you wish

#

but their timer can just be a visual indicator

woven pond
#

yes the 20s window is for decision making and id rather have it server managed due to lag etc?

frosty heron
#

depends on how you want to design it.

#

but you can look into round trip time to do some offsets.

#

basically calculating the time it takes for the letter to arrive

woven pond
#

well i was rep notifying the variable i was setting from the timer and just binding to it on change

frosty heron
#

You can do that too, that will just cost the bandwith more.

#

really up to you, what ever works.

#

You can also just replicate the initial value and let client tick their own timer.

#

instead updating all 8 clients every net update.

woven pond
#

i didnt want it on the clients as i didnt want them to be able to modify it.

#

it happens once every 2 mins or so, so was hoping it would be ok

frosty heron
#

they can modify the timer to 99999

#

why would that matter

#

it's just for visual.

#

the server can just carry on with the "no answer given" logic

#

once the timer expired

#

it didn't need to ask the client, Hey is your timer expired yet?

woven pond
#

i get what your saying and does make sense i guess its just what i had been told/found

#

no the server downt ask it just carries on

frosty heron
#

yeah you don't really want to trust the clients on a lot of things.

#

as they can modify the value on their end and nothing you can do to stop it.

woven pond
#

does that still work if o want them to be able to use a one time pause/extension?

frosty heron
#

there are casses where you have to accept the client data. Such as Moves and Shooting.
Normally the client send the data, but the server still verivy if the action is possible on their end.

frosty heron
#

as in a float variable called the time

#

you can make the timer more accurate by accounting round trip time

woven pond
#

additionally if connecting the match late wouldnt it be better as a rep notify variable (say for the purposes of reconnecting when the timer is running?)

frosty heron
#

really up to you, I can't say what's better.

#

rep notify is less work the way I see it.

woven pond
#

do you have an opinion on another method for connecting when timer is running?

frosty heron
#

I will just Replicate the variable

woven pond
#

ok, thank you

frosty heron
#

path of least resistance to me

frosty heron
#

if you want the timer to be more accurate, but it's optional.

woven pond
#

I have found some bits but its all C++

#

but will keep looking

frosty heron
#

Nah, the concept can be done in blueprint

#

it's just calculating the time for the rpc to arrive

#

so you can offset the timer and kinda ahve almost the same time between server and client.

woven pond
#

So i found

#

but i dont fully grasp it to blueprint it out

frosty heron
#

Think about server replicating a timer value.
Lets say the timer is at 20 seconds.

By the time it arrive to client with 200 ms, the actual timer in the server is 19.8 when in client it's 20.0

#

if you subtract with round trip time.
In client it will be 20 - 0.2 = 19.8ish

#

not gonna be 100% but pretty close

woven pond
#

i was hoping that delay would be constant ish so when it starts 200ms later it also ends same

#

but get connections vary wildly

frosty heron
#

yes it depends on the connection so the best you can do is to calculate the average.

#

that article covers it.

woven pond
#

yeah, I thought so. Just implementing was where I was struggling

#

thanks for the feedback at least i know im in the ball park

frosty heron
#

@woven pond I just noticed something though, are you gonna be displaying in decimals?

#

because the server can only update soo many times in a second...

woven pond
#

kinda, was more a design choice

#

was only got for 20.1 (A tenth of a second)

frosty heron
#

Yeah looking at it, I would just have a timer running on the client.

#

especially if you have decimal

#

because you want to see it change smoothly

#

it will be weird to go from 20.9, 20.4, 20.1

#

you want it 20.9, 20.8, 20.7 , ....

#

So server will just inform the client the timer value and client can decrement it them self.

woven pond
#

ok, I can manage that (Although getting the time remainign if having connected part way through will be new)

gentle urchin
#

I used a local timer

#

With desired resolution

#

Start it on the server -> let client know it started
End it on the sercer -> let client know it ended

#

Anything in between was locally simulated

#

At whatever resolution you want

tepid marlin
#

Hi, iv been tearing my hair out trying to get my head around getting rid of cast to nodes in loads of blueprints that really shouldn't be done that way, managed to get a lot that don't rely on calling anything or setting anything to the characterBP but i cant find anything that actually helps set up an interface (assuming that's what i should be using) to help solve even the most basic of the functions i want to use....

character with a bullion called "has rubbish?" > interacts with a vending machine > takes a can and has bullion "has rubbish?" in the character set to true > interacts with a bin > checks for "has rubbish?" and if they do drop it and set the bullion to false

obviously using a cast to here works but im trying to cut down the fact that so many blueprints call with cast to, and instead of only being a few kb in memory, they are multiple gb due to the way hard references cascade down... but all tutorials i find only talk about creating a basic interact function with the interface and iv already got them sorted, and cant find anything about how to set and call variables in a more efficient way... i really want to get to grips with not using cast tos to change variables be it bullion, float or probably some others somewhere that would also need going in...

really would appriciate some direct help on this one as its driving me nuts and getting nowhere

frosty heron
#

Another victim getting rid of cast nodes to replace it with interface crying

#

casting is free, it's the hard reference that cost the memory foot print

#

solution is to cast to Native class (having a base class in c++)

#

that's why blueprint is not scaleable for big project imo.

#

Interface is not a replacement for cast, doing so will give you a debugging nightmare

tepid marlin
#

so why do so many say not to, and why does the memory and disk size of a tiny asset scale up so big when using casting

gentle urchin
#

Casting to permanently loaded classes is fine (most player classes and game mode/instance/state

frosty heron
#

they have no idea, it's mostly a youtuber found out they are dealing with memory foot print. Make guesses , which is incorrect then as youtubers do best, they copy paste each other.
And the incorrect information get prepetuated.

#

the article covers it, I strongly suggest reading it.

#

take the word of Epic employee, not youtubers.

tepid marlin
#

i have got down to the bit about casting, how do i know which is hard or soft referances

frosty heron
#

casting to native class cost next to nothing and will not load it to memory.

tepid marlin
frosty heron
frosty heron
# tepid marlin

Your character will always be loaded anyway, assuming there's only CC_Character_BP in the entire game

#

so cast away freely

#

for other things that is not always loaded, you want to cast to the native class

tepid marlin
#

generally all im wanting to clean up atm is anything that evolved around the player as it was seemingly increasing small asset sizes, as well as a lot of extra parts that arnt even related to that bp which im assumign is down to the cast to cascade

#

but if memory of something like a character is always there anyways, its not actually increasing it?

frosty heron
#

to load them at will, you can use soft reference.

#

but the context have to make sense

tepid marlin
#

oh right

#

so i can just go ahead and keep all the bps that use the character cast to to set and call variabls and functions and its not gona save any overhead as they are pretty much always on and avaialble anyways ( ticket machines, bins, drink machines, carnival game object pick ups, hidden object pick ups)

frosty heron
#

you can only safely cast to bp_character because you will inevitably have a characte to play anyway.

#

They will always be loaded just as Squize says, your game instance, your player state, etc.

#

but your game may not always have a ticket machines, bins, drinks, in the level

#

so you shouldn't just cast to the blueprint asset of ticket machibnes, bins, etc.

#

as the hard reference produced will load them to memory, even if they don't exist in the map

#

The myth buster article is a gem, spend a few minutes to read through them.

tepid marlin
#

so those 2 nodes.... this is what i dont get, how to get 2 different casts up when theres only seemingly the option for 1 of them and the other is a class,

frosty heron
#

the native class is declared in c++

#

blueprint only project doesn't scale well

#

you either live with the limitation or learn what you have to learn

#

Blueprint is running on virtual machine, a hard ref to the bp asset will load it to memory

tepid marlin
#

so how do i get to look at c++ blueprinting?

#

if its limited to blueprint only

#

how is it limited to bp only

frosty heron
#

I would suggest learning cpp outside unreal first. Know how to use functions and declaring variable, then pointer. That's probably about it.

#

just to learn the basic probably take you a week. And with just the basic you can probably do things already.

#

kinda open a whole new world

tepid marlin
#

hmmm fair enough

frosty heron
#

you can start exposing a lot of the engine. 70% or more engine function probably not exposed to blueprint

#

there's no reward for bp only project but you can reap the benefit from using a little c++

#

like not having to use broken blueprint struct

lofty rapids
#

it's significantly faster at things in c++

#

blueprint is great to use but definately has it limitations

frosty heron
#

good for glueing functions together and asset reference or data only bp.
Use the best of the both world

astral ravine
tepid marlin
#

ooo i know an answer to that one but not sure its the best solution... i have a scrolling dot matrix sign that just runs by itself, creating a material with a panner that just sits, but if you made a panner with paramerters and then an instance, in the blueprint you could control the speed and direction of the panning variables with key presses?

#

and the texture is just quite long and thing (8192x256) just coz it has a long message

astral ravine
#

well for now ill have it set to one sign, how can I do that in the material?

tepid marlin
#

as in just a simple image as a texure and thats applied as a material in a seperate slot? if it involves anything properly uv mapped then im out of luck on that front

shell lichen
#

Hello! I’m trying to have the background blur strength of a widget change incrementally as the player does a task. How can I promote this to a variable and assign it a dynamic value?

kind willow
dawn gazelle
#

The widget component itself contains the current value. You just need to adjust its value as you see fit.

shell lichen
#

Hmm ok I think I’m close but it doesn’t seem to be actually changing

kind willow
#

You can always try it with a post process effect instead of a widget

shell lichen
#

The widget is already in the viewport at this point

#

Yeah if there’s an easier way to do this that would be great haha. Basically what I’m trying to do is if the player chooses to drink alcohol, everything gets a little blurrier. If the player then drinks water, it gets less blurry. My thought was to do it with a basic widget but maybe that’s not the way to go?

dawn gazelle
# shell lichen

This is creating another widget and manipulating the value on it, but this widget isn't added to the screen.
You either need to communicate to the widget you've already added to the viewport or have the widget listen for an event dispatcher that you could trigger so it can adjust itself as needed.

inner minnow
#

Anybody know the best way to execute these commands? Seems to activate about half the time after re-launching the game. Even worse when trying to get it to catch with packaged build:

Please @ or reply me so I can see. Thanks in advance if anybody knows

#

I have these in the level's gamemode bp atm

maiden wadi
#

I'm also not 100% sure, but I think the lumen ones should be put in an ini.

inner minnow
crude sedge
#

So I have a pawn as my player, this is just not working, here's my move IA too.

pastel apex
#

question, i want to make a diving attack which includes the ability to land directly on top of enemies and displace them from their position or at least displace the player near them if knockback isn't possible. I just mainly want to know what's a good way to achieve this?

#

i know characters with their capsule colliders by default will bounce off any other capsule collider that tries to get on top of it

dawn gazelle
eternal cradle
pastel apex
#

where in the settings of the capsule collider will it do that?

eternal cradle
#

it should be.. Can Character Step Up On

pastel apex
#

ohh ok

#

hmm

#

though it will allow them to stack on top of each other

#

i guess that isn't the actual desired behavior since i want either the enemy or the player to displace and for the latter i don't want them to bounce away, more so slide along the target's capsule to the nearest possible place

pastel apex
eternal cradle
#

you dont necessarily have to

#

but I'm not 100% understanding what you want to achieve

pastel apex
#

lemme doodle what i want

crude sedge
#

I added one and it works. Thanks!

pastel apex
#

basically i want to do the no knockback effect

#

where the player slides near the enemy from above when they don't trigger knockback

#

cause at least with the default behavior

#

if the player falls directly above the enemy, they get pushed away a considerable distance from the enemy

#

guess the answer to my question would be

#

how do i reduce this bounce force?

inner minnow
maiden wadi
# inner minnow This worked perfectly. Thanks again

Glad it worked. 😄 On a general note, PlayerController is one of the safest place for console commands due to it being a major part of what runs exec commands same as if a player entered them by hand in the console themselves.

crude sedge
#

How can I make it so I can't jump in the air? Im not too sure what to do.

craggy flicker
#

how can I create a variable as a "structure" then change the variable type to "specific structure"? like for example, I have different products with different product structures. in the product container ui, I have a StructRef variable. How can I set the StructRef variable to an abstract, then set the type based off an input of a function?

#

ie, StructRef becomes ProductCupsStruct

#

or it could become ProductFurnitureStruct

eternal cradle
#

I'd suggest you look at Instanced Structs

craggy flicker
#

ty

pastel apex
#

is there a way to reduce the bounce intensity when two actors are stacked on top of each other and they can't step on each other?

eternal cradle
pastel apex
eternal cradle
#

you can perhaps set the step up enum to "yes" and do a manual check on possibly event hit or something

pastel apex
#

i guess i could yeah

eternal cradle
#

on event hit you'd check the impact normal and accordingly add a custom impulse to target actor

craggy flicker
#

i set up a switch-case based off a types input

eternal cradle
#

ok so its a bit weird

craggy flicker
#

uh oh

eternal cradle
#

not too bad

craggy flicker
#

this is one of those things that would be easier if programmed instead of blueprint lol

eternal cradle
#

possibly 😅

#

but nahh

craggy flicker
#

basically what I have is a MarketItem widget with a SetProductDetails function

#

the SetProductDetails function has a Type and Struct input

#

the Type is of ProductTypes

eternal cradle
#

here's an example

craggy flicker
#

oh are you just checking if the struct has a certain value?

eternal cradle
#

in your case it might be easier if you have an enum as an identifier

#

aye

craggy flicker
#

gotcha

#

like json basically

#

okay

#

ty

eternal cradle
#

no worries

craggy flicker
#

let's say it's valid

#

would i then be able to do "make struct" and set the struct ref to that make struct output

#

from the struct input

eternal cradle
#

you can make an instanced struct

#

the valid checks if, for e.g in my example, if** FStatusEffectTick** == the RelevantData (instanced) struct

craggy flicker
#

yeah because of the "get value" stuff

eternal cradle
#

right

craggy flicker
#

okay ty 🙂

eternal cradle
#

np! gl

#

instanced structs are pretty new to bp i think. but they're very neat. bit messy tho

craggy flicker
#

oh wait

#

sorry my scenario is a bit different, since I have a types input I'm able to determine what struct type to apply automatically

#

would i just set the values of the struct ref based off the type?

eternal cradle
#

so.. StructRef is the instanced struct right?

craggy flicker
#

like for instance, if it's a "Cup" type, I can set the struct from the function input?

#

yes

eternal cradle
#

so what you'd need to do is make an instanced struct out of whatever struct you have before passing it into the input pin

craggy flicker
#

gotcha

#

then i break and check the value

eternal cradle
#

right

craggy flicker
#

im reading each row of a data table, spawning a widget accordingly

eternal cradle
#

I see. Makes sense

#

it'd 100% work for your case

#

in my case I'm using them for status effect "effects"

#

so like..
poison rank I - tick damage (using tick damage struct)
poison rank II - one-time damage (using one-time stat change struct)
poison rank III - one-time damage + tick damage (using yet another struct)

craggy flicker
#

that's a pretty neat use case

#

how far have you abstracted the potions and types

eternal cradle
#

quite a bit 😅

#

this is how the data asset looks

digital glacier
#

any reason this isnt working

#

maybe something in the event settigns?

frosty heron
#

print string and see if the input is even registered

digital glacier
frosty heron
digital glacier
frosty heron
#

and still cropped

#

rip

digital glacier
#

lol idk what youd get from the other parts but here u go

frosty heron
#

like the base class it's derived from

digital glacier
#

the actor logo?

#

alright

#

/parent class

frosty heron
#

input are disabled on actor by default @digital glacier

#

also I hope that's just a test because handling inputs in non centralized manner is a nightmare

#

if you want to enable input on that actor you will need to enable it.

Actor -> Enable input

#

For a test you can do
BeginPlay -> get a ref to self -> Enable input (Plug your player controller)

#

but seriously, delete that after you are done, you don't want to handle inputs outside of input component / character / controller.

frosty heron
#

read the rest of the sentence though.

#

you will be shooting your own foot if you have inputs on doors, etc.

digital glacier
digital glacier
#

anyone have an idea as to why when the Result finally gets processed after 4 digits, immediatly pressing the 4th digit for the PIN is an automatic success?

#

it may have to do with the fact that the "Then 1" node never executes?

#

is this because the return node has already set?

frosty heron
#

the purple pin will not be executed as you have returned (exit) the function.

digital glacier
#

i need it to reset all vars in this function once the 4 digit code has been processed though :/

#

could i just do it after the function?

#

in the event graph*

frosty heron
#

please read lurkin

#

delete the sequence node, reset your variables before returning.

digital glacier
#

ill try that thank you

frosty heron
#

or keep the sequence and return last

dreamy sail
#

Hi everyone, big noob here, so apologies in advance.

I am trying to create a speedrun system, for my 38 levels with 4 different difficulties, but I can't make it work for some reason.

I tried arrays and data tables, but with no success....

Basically in the screenshot you can see exactly what I want to accomplish, just a simple speedrun system that will track the total time of the level and will only save it if it's lower than the previous one ( keep best, basically)

How can I turn this 1 variable into 152, which is 4 difficulty levels with 38 levels each.

Please explain to me like I'm an idiot, 'cuz I am...

dawn gazelle
dreamy sail
dawn gazelle
#

That could be useful for a map lookup as you can use the string as the key.

dreamy sail
#

but chat gpt is driving me crazy, when I try to use it so it can help me to create the map properly

#

this is what I had in the map initially

#

the first one is a string, the others are floats

#

I was trying to use the unique name of the string, and then store the float value based on difficulty

dawn gazelle
#

Is that a structure you're using?

dreamy sail
#

but what are the exact nodes that I need ? to sort through all this stuff

dreamy sail
#

I thought it was a map

#

it was a data table witha struct

dawn gazelle
#

Ok, so it is a structure in that case... Data tables are read only, you can't really save information to them during runtime of the game.

dreamy sail
#

yeah this is the struct

dawn gazelle
#

What I would probably do, is remove the string from the structure. It is still useful as it contains the values for each difficulty level and you can use that to store things within a map.... One moment.

#

So here's how you can create a map variable type.... You'd want to probably store something like this in your save game object.

dreamy sail
#

so its a string with any kind of variable I want ?

#

or why is it blue/what type is it

#

the second one

#

can I turn it into a float ?

#

sorry for all these questions , I'll wait , in case you're still formulating the idea. I'll calm down 😄

dawn gazelle
#

You can use a lot of different things for the key and basically anything you want for the value. In my case I used a string for the key, and a custom structure similar to yours as the value.

dreamy sail
#

I see, let me try to understand it for a second

dawn gazelle
#

So then if you had an entry labelled "Level1" in the map and you were using a "FIND" with it, it would return the structure that contains all the values stored for "Level1". "Level2" would have a different set of values.

dreamy sail
#

can I bypass the need to add all existing values if I use 4 different save slots, for each difficulty level ? so basically each difficulty level will be a separate save

#

for this part I mean

dawn gazelle
#

It would look something like this... I use an enumerator here to switch.

dreamy sail
#

ok let me dig into this, much appreciated!

uncut shale
fiery swallow
#

think the plugin for it is called flat nodes, don't remember the plugin for the straight lines

#

iirc that one was paid

spark steppe
#

electric nodes

craggy flicker
craggy flicker
#

?

gentle urchin
#

Oh it was actually a thing lol

#

Surprised Datura dont have electric (anymore?)

dawn gazelle
#

I do... I also have like... 3 versions of unreal installed with a variety of projects all over the place that don't all have the plugin enabled. XD

gentle urchin
#

busy entrepreneur!

#

vivid project enthusiast

maiden wadi
#

I really dislike the flat nodes. And I don't use enough reroutes to care about electronic lines.

lusty birch
#

flat nodes...this is the way

gentle urchin
#

Yeah no, i stick with default lazy as it may be

main flume
#

Hey,
I am trying to convert my Landscapespline to a normal Spline, including the tangents. Currently, when I try to implement that the tangents are projected weirdly, a fix or some help would be great!
I attached images of my implementation and the output below...
Documentation about the tangents:
https://github.com/arbitrarygames/LandscapeSplineHelper/wiki/Documentation

GitHub

An Unreal Engine 5 plugin that lets you access Unreal Engine landscape splines inside blueprint - arbitrarygames/LandscapeSplineHelper

gentle urchin
#

seems like youii got the wrong direciton vector

#

invert it 🙂

#

*-1

main flume
#

Yea I tried that, sometimes there are still loops

gentle urchin
#

looking at the screenshot you sent, they're only reversed

main flume
#

Give me a second I'll show another example brb

#

Ohhh wait I might have an idea

#

So now the tangents actually get applied, the update spline ruined it. But there are still loops and the tangents are still not correct....

gentle urchin
#

screenshot ?

main flume
#

Yea, I'll make a quick screen record in a sec

#

Should be uploaded in a second

gentle urchin
#

I guess what you could do is check the direction vs next node

#

to figure out if you need to flip it or not

#

sounds like the data you're after should just be avaliable tho

main flume
#

I'll try that...

mortal palm
#

you only use Connection 1, and not Connection 2, is this normal? Have you tried using everything in world space?

main flume
#

I have tried worldspace

gentle urchin
#

second connection gives you a basis for the rotator tho, doesnt it

main flume
#

I'll check, after a zoom meeting brb

#

Some updated blueprints...still wild results at some parts

#

Loops and inacuraccies

#

I tried both rotation and calculating it on my own and it wont work

mortal palm
#

Isn't there a leave/arrive tangent?

main flume
#

I tried that too, but there is 0 difference in the result

#

Results in way more loops

mortal palm
#

Sorry I'm not sure. If you don't care about it being exact, you could recompute the tangents manually from the spline points. Add debug lines to see how your tangents look like

main flume
#

I might have found 1 breadcrub trace...The tangent rotation is in landscape space

mortal palm
#

you'd use: tangent at spline point i = (point "i+1" - point "i-1") / 2 or / 3 or something like that?

#

but staying with your solution, can you add debug lines for your tangents?

main flume
#

Yes!

#

Give me some time, I'll try to convert the rotation to normal space

mortal palm
#

I think it'd put the Connection 1 tangent length to the leave tangent of the first control point, and the Connection 2 tangent length to the arrive tangent of the second control point. Might be clearer if you create a different loop to first create the spline points

main flume
#

I will try that

gentle urchin
#

either -1 the resulting direction or reverse the subtraction inputs

main flume
#

I successfully converted the tangents to worldspace, but they dont seem to work with my spline yet

mortal palm
main flume
#

Some tangents are correct now, but not all

#

The debug is really wierd though

mortal palm
#

can you show your debug node?

#

I was thinking, draw debug line from:
Connection 1 control point to
Connection 1 control point + (Connection 2 cp - connection 1 cp).GetNormal * Connection 1 tangent length

main flume
#

Okay let me do that rq

#

I'll quickly disable the tanget code just to see whats going on

gentle urchin
#

Normalize

jade inlet
#

Okay, so I changed that, but now I ain't able to define the value on the fly anymore. I guess that's the reason why I plugged the PropertySize to itself, because this way it worked.

gentle urchin
#

it doesnt do anything tho

#

so that's not the reason why something worked

#

vs not working

#

Its like litteraly saying 1 is 1

#

setting 1 to 1 again, mmeans absolutely nothing ^^

mortal palm
# main flume

Looking good? So you could plug this tangent in the leave tangent of control point 1. (and maybe same tangent in the arrive tangent of control point 2)

jade inlet
#

I don't know what you mean by break point. I'm not very familiar with all the BP nodes and will have to do some research first ^^

gentle urchin
#

Right click the node -> Add breakpoint

#

the code will stop e xecution at that noode

#

allowing you to inspect surrounding values at that point in time

jade inlet
#

@gentle urchin
Regarding "logic for retrying" and "clamp" it's the same as for the break point. I will have to do some research on how to do the logic and what the clamp node does.

gentle urchin
#

Clamp sets the final value to be within the clamped values

#

so if the set value is < or > than clamp min/clamp max, it'll be set to the corresponding limit instead

#

I suggested a Max clamp (clamps the minimum value), if the desired outcome is that it is random, but minimum 5

#

There are a few other alternatives to ensure fair distribution , since this will be heavily weighted depending on the size of PropertySize

#

If we say for example max would be 6, then 86% of the cases would have 5, and only 14% would have 6, in a random test of 10000 values

#

to adjust for this, the randomm must work with the a value where minimum (5 in this case) is subtracted, then re-added after the random

jade inlet
#

@gentle urchin

so that's not the reason why something worked
...
setting 1 to 1 again, mmeans absolutely nothing ^^

Well, but why doesn't it work then if I don't plug in the variable to itself? 😅
If I don't do that and the variable is set to 0, I can enter any number, but it won't be saved.

gentle urchin
#

when you remove it, you remove the set node aswell, right ?

mortal palm
main flume
#

Still a really wierd result

jade inlet
main flume
#

The tangent itself looks really wierd too

#

Its not following the tangent itself

gentle urchin
#

if you dont want it to be 0

main flume
mortal palm
#

move the tangents higher so that we can see them, and color the arrive tangents in another color (from control point 2 - tangent to control point 2)

#

can you show code again too? (maybe we should move the discussion in a subdiscussion or something to avoid spamming?)

jade inlet
#

@gentle urchin
Hmkay, I try it

little prism
#

Hi All,

Can someone point me to the solution to my problem? As you can see on the video, when I enter UI I show Mouse Cursor but the UI is not "active" until I press a mouse button, only then I get highlights and can interact with UI...

Code for freezing character so it doesn't move attached

jade inlet
#

@gentle urchin
It's still set to 0. I mean I can enter a value in the set node, but no matter what I enter, if I want to change value on the fly, it won't be saved.

dark drum
little prism
#

I was trying to control game/UI state from the Player Controller object but when I switch input mode to UI then standard action buttons don't work... Is it better to keep the input mode logic in the HUD instead?

dark drum
glossy cloak
gentle urchin
#

or get, as in this case i belieive it was changed in the default value section

#

the confusion was thinking they needed to set, to be able to get

jade inlet
gray ingot
#

Hi, i am now working on gravitation, but when i try to walk on walls it does not properly (when i go straight, the anims are rotated 90 degrees to left/right) calculating the animation direction for locomotions system, i now have it like this, any ideas how i can fix it?

jade inlet
#

But yes, you're right! There were other issues why my code didn't work after the change. Thanks to you and @gentle urchin who helped me fixing the issue!

violet bison
#

how to remove a static mesh component?

#

that is added via blueprint

fiery swallow
#

DestroyComponent

dark drum
violet bison
gray ingot
#

How exactly i need to "adjust" it

dark drum
# gray ingot Yeah, i am changing the gravity direction, can you please tell more indepth what...

Well for example, in the basic foot IK control rig, it performs a line trace to determine where the foot should be placed. This assumes the gravity direction never changes meaning it will always perform a trace from the foot downwards. However, if you've rotated the character and changed gravity direction, instead of doing it 'down' you would want to trace in the direction of the gravity. Not doing this could result in the feet being snapped weirdly.

There could be other placed you might need to do the same thing.

fiery swallow
main flume
#

Is there any way to make the tangent on one side longer than the other of a spline?

gray ingot
#

So i need to get impact normal, but where exactly i need to use it? instead of velocity?

dark drum
gray ingot
#

Yeah, but i have 8 direction locomotion system and i need to somehow calculate direction accounting the gravity direction :/

violet bison
kind willow
#

I need to simulate gravity in flying movement mode so that the player "sinks" slowly. I tried stuff like add force and add velocity, but it didn't work for flying movement type. Any way to add velocity to a flying character?

#

"launch character" kinda works, but it caused my character to vibrate once they touched the ground

main flume
#

Does anybody know how to fix the tangent (orange) that is not aligned with the green arrow.

#

(The bottom graph)

#

GetRelativeRotation gets the tangent rotation in landscape space

reef scroll
#

Hi, I have a problem with two objects wich are overlaping each other. On biger object TEAPOT its show line when is mouse cursor goes over. On second object, a CUP is smller but in a same place as TEAPOT when mouse cursor goes over line dont show up.
All is present in short video.
For changing objects I use level variant set. The BP objects seting are present in video.
[10:54 AM]
https://youtu.be/BQk-D6uq9oY

I have a problem with two objects wich are overlaping each other. On biger object TEAPOT its show line when is mouse cursor goes over. On second object, a CUP is smller but in a same place as TEAPOT when mouse cursor goes over line dont show up.
All is present in short video.
For changing objects I use level variant set. The BP objects seting ar...

▶ Play video
#

@reef scroll

pulsar axle
#

Hey I really need some help with blueprints, particularly collisions overlapping with either objects or other collision boxes (I've tried both)

and I've struggled all day, is anyone available to do a call to help me out?

wise cradle
#

How to create DataTable With RowStructure

gentle urchin
#

C++ only afaik

wise cradle
#

Sorry What do you Mean "afaik"?

thin panther
#

afaik = "as far as I know"

faint pasture
#

what struct did you base that data table on?

kind estuary
#

Is there a way to call UpdateArmyUI directly instead of creating this dummy event with an argument just for it ?

thin panther
kind estuary
kind estuary
gentle urchin
#

I suspect its created without a base struct

#

Editor tricks this with the prompt during asset creation

wise cradle
gentle urchin
#

Where it asks for the row struct

wise cradle
#

i am creating asset out with blueprint nodes

gentle urchin
#

Im aware 😅

#

Is it a static struct you wanna use ?

#

Or dynamic?

kind estuary
#

Cant seem to be able to call /broadcast this ED... I set it up in C++

#

There should be a Call or Broadcast, right?

wise cradle
gentle urchin
#

Dynamic suggest that you pick struct type somewhere along the way of creation

#

While static means you can get away with precreating the base DT andnusing that as the class

#

I assume you wanna fill the data by script?

wise cradle
gentle urchin
#

C++ 😅

#

No bp can do

wise cradle
#

Oh You Have to us C++ For That Sure I haven't found how to do it in c++ that's why i am using BP

gentle urchin
#

Theres a datatableutilitylibrary

#

Which has all youd need

#

To get started*

wise cradle
#

I am searching that

gentle urchin
#

You can check what the editor does aswell

wise cradle
gentle urchin
#

Yuss

wise cradle
#

There are no Creation Function Here

gentle urchin
#

It got Rename row etc right?

wise cradle
#

Only Some Assign and Getter Function

gentle urchin
#

FDataTableEditorUtils

wise cradle
#

Okay It's in The UnrealEd Folder

#

Yeah I Got The File

gentle urchin
#

also looking at DataTable.cpp

#

CreateTableFromRawData

#

I think you'd want to create the DT Asset, then set its struct post creation

#

seems like its mostly marking it for change, setting rowstruct, and save

wise cradle
#

Will the DataTable Will Be Shown In Content Browser If create it from c++

gentle urchin
#

Yes,

#

but you dont need to create it from c++

#

you just gotta expose editor functions that lets you provide a struct to it

#

now providing a UScriptStruct probably also needs a c++ function, but that's just another step I naively assume

gilded whale
#

Link to blueprint: https://blueprintue.com/blueprint/p2hgpwio/

Hello! I am making a game for the first time! I am trying to work on movement mechanics first because I think they are interesting.

I am currently working on a Tarzan-style swing mechanic. My only issue is that I can't see my grapple cable when I press my grapple key. The swing part works. I tried debugging the grapple point actor (the actor I use for the attach end to actor node to attach the grapple) spawn and confirmed that the actor is indeed spawning each button press, I’m not sure how to confirm where. I tried to connect my cable to the grapple point but the cable is not visible. I made sure visibility is set to true everywhere I could for debugging purposes, but still nothing. I also use the same exact cable component elsewhere in my project and it works fine there and can be seen when I want it to pop up, but it just won't do it here...

I would really appreciate if anyone could help figure out why the cable isn’t showing, that would be awesome. Any tips to improve the grapple/how to remove the event tick (I've herd it is an evil deity we shall not use because it's bad for performance) and still keep original functionality would also be appreciated!

While I’m at it, any tips for learning UE would be amazing because I’m new and suck badly at blueprint lol.

Thanks in advance for your input and have a wonderful day! :)

frank olive
#

How can I get forward and right vectors for movement relative to the way my character is facing?

faint pasture
#

what do you want at the end of the day?

#

I'm guessing you want to know your forward and right SPEED correct?

frank olive
#

that's why it needs to be relative to the rotation my character is facing

faint pasture
#

or unrotate velocity using the capsule's rotation and break it

#

they're equivelent, you'll get the velocity elements in local space

frank olive
#

So like this?

agile moss
#

The player pawn is a moving platform on the X axis, I want the camera to be static in the middle basically different actors (a camera and a platform controlled by the player). How do I do that?

faint pasture
frank olive
# faint pasture yes so dot product velocity and Char.Forward and Char.Right

yeah, so it's kind of working, but for some reason the right speed is static at 0 according to the debugging, while the forward speed works correctly, this also lines up with the animations working when I'm facing the direction or opposite of the direction I'm walking, but strafing doesn't work for some reason, I don't know why the "rightspeed" isn't changing whatsoever

faint pasture
#

say you want cam at their average position but 1000 on y

#

CamPos = (AvgPos.X, 1000, AvgPos.Z)

frank olive
faint pasture
#

what event is triggering the lower code path?

frank olive
#

Event BlueprintUpdateAnimation

faint pasture
#

just use a getter on Character, don't drag off that upper path like that. Probably doesn't matter but it can

#

it's logically the same but way less gross

frank olive
#

did that, however still doesn't work

#

And yeah, "Right Speed" is static at 0 which based on what the animation looks like makes sense, what doesn't make sense to me is why it's stuck at 0

maiden wadi
#

Forward and Right speed, are just the velocity, transformed to local space, and the X and Y pulled for them.

frank olive
#

Yeah, but the animation doesn't work

faint pasture
#

Show a short clip, make capsule visible

#

also make arrow visible

maiden wadi
#

Why a dot for the speed though?

narrow sentinel
#

Anyone able to help with why I would get Object name of None if I get my widget component and so get user widget object ??

#

obvs setting a valid class

faint pasture
#

could also do it by unrotating velocity but same difference

maiden wadi
#

Dot is a measurement of directional compatibility. Not a speed.

faint pasture
#

the dot product of a world velocity and a direction vector is the speed in that direction

maiden wadi
#

It's not. Dot is -1 to 1. Speed is 0 to 90000000000

frank olive
faint pasture
frank olive
#

I'm very much a beginner though wdym by capsule and arrow?

faint pasture
#

so we can see if they're rotating to match velocity or not

maiden wadi
frank olive
frank olive
faint pasture
frank olive
#

unchecked for capsule but how do I do that for the arrow? the details panel is just empty

faint pasture
#

I'm trying to see waht the capsule is doing

frank olive
#

alr let me get a clip real quick

faint pasture
#

add another arrow to it if you need to

frank olive
maiden wadi
faint pasture
#

print those speeds

#

print the right vector

#

print everythng

kind estuary
#

When you are making a complicated game with lots of UI. They you make the UI in one Widget, and then hide / unhide as they are need (or collapse uncollapse). Or you Create Widget when they are needed?

faint pasture
kind estuary
#

like you have cities and units, and armies

#

and you click on them, they have different ui for each one

faint pasture
#

And is most of it visible at all times or does it come in and out like EVE online

#

give example

frank olive
#

It's also quite weird they don't add up to 150, and even if the arrow is pointing one direction and I'm moving perpendicular to the arrow it's still "ForwardSpeed" that is high

kind estuary
# faint pasture give example

it actually replaces. A good example is crusader kings.
So you have your city selected, it spawns WG_City. But if you select an army, it spawns UI of Army,

#

i mean doesnt need to spawn

#

i dont know how they do it

#

could be all in one widget, and then hide unhide

#

as i was saying

frank olive
maiden wadi
# kind estuary When you are making a complicated game with lots of UI. They you make the UI in ...

From a performance standpoint, either work so long as you follow two rules. Use Collapse and not Hide. Hiding a widget will still make it prepass for layout. Collapsing will not. The second is to remove bindings when the widget is collapsed. No need for game code to run on 200 widgets that aren't even seen. Also for this reason even when you remove a widget you should always unbind stuff in Event Destruct, cause they'll still run until the widget is collected.

From a design and architecture standpoint, I'd almost always go for creation on the fly. Hard placing a ton of widgets in another is going to cause a ton of reference issues in editor, it's going to be messy in your widgets. You end up locking yourself out of modability. You never really have to worry about hidden performance issues.

faint pasture
#

pythagorean

frank olive
#

right, makes sense

faint pasture
# frank olive

so it looks like they are correct at this point, now whether or not they get modified later or aren't being used correctly is another story

kind estuary
maiden wadi
#

That's what I meant. Delegates bound to a function.

frank olive
#

This is the blend space and the aiming state

kind estuary
#

this is not a joke

#

it gets complex really fast

#

maybe just clear it everytime

#

remake everything everytime you select an entity etc

faint pasture
#

for example

maiden wadi
faint pasture
#

just inspect nothing to hide inspector widget

#

its a state machine with CurrentEntity being the state

frank olive
kind estuary
#

before in an older project i just checked by get parent

#

and child

#

and see if stuff exists

#

it was a mess

#

🍝 🍝

#

😵‍💫

#

oh wait thats c++ only, right?

kind estuary
faint pasture
faint pasture
#

it should be the actor right and forward but just as a sanity check

narrow sentinel
#

anyone know why a get user widget object would return none when print string its object name??

#

the widget comp has a valid widget class and is valid

frank olive
#

it's like if I switch the right and forward inputs it only plays the strafing animations if it's normal it only does the forward and backward animations

#

even when I'm going sideways it's refusing to use the strafe animation

#

no matter which way I turn or walk, no matter the combination by the looks of it it doesn't even try to play the strafing animation

#

I don't know if there's a way to observe theactual blend space in use, like the preview X but instead it shows the live values on the chart, I doubt that's a thing

#

The animation only looks right when I'm facing the direciton I'm going in

gentle urchin
#

Pro tip; when printing on tick, ypu can set duration to 0

#

Avoids spamming the left side screen with noise

kind estuary
#

what are some things that are objectively better in Blueprints that you cant do in C++. id say none xd

feral path
gentle urchin
#

I work way faster in bp

#

No compile, no re-open editor yadi yadi

kind estuary
gentle urchin
#

Prototyping goes incredibly fast in bp when you know your way around it

kind estuary
#

yeah but c++ you can ask chatgpt something real quick, and boom you get a sketch of what to do

#

thats quite fast

gentle urchin
#

I wouldnt trust it to even compile

#

But thats me 🤷‍♂️

kind estuary
#

it doesnt, then you just debug it real quick

#

most of the time, i just notice the issue, and tell it and it corrects it

#

some things work at the first attempt

#

this is what makes me think BP might be at disadvantage one day if things keep going this way

#

godot gdscript is like BP, but since its code it will have an advantage

gentle urchin
#

Usually its hard to provide full context for the ai to create something useful end to end

#

And if you break it down to mich you gotta query it 100 times to get the working solution (after random() debugging)

kind estuary
#

it does individual functions very well. or like you explain and write a bit of code already it fixes it

tight pollen
#

if i try Redirect then crash

#

how can I do it manually?

#

Crash:
Assertion failed: !IsRooted() [File:D:\build++UE5\Sync\Engine\Source\Runtime\CoreUObject\Public\UObject\UObjectBaseUtility.h] [Line: 265]

narrow sentinel
#

anyone help with why this would return None

#

I've check and there is a valid widget class on the MFD which is a Widget component

#

and the widget is derived from User Widget Object as well

#

and I can see when I run Pie the widget is there in 3d spawn as I would expect

#

but when I try get object name I get None being returned

olive yarrow
#

Y'all, im using a shared interface here to try and launch an event from one blueprint to another.

This is almost literally how i have it set up in another project and it works but I'm having no luck recreating it in a new project. What'm i missing?

lunar sleet
#

Interfaces are not meant to be shared, only implemented/inherited

lofty rapids
#

when i shoot a projectile, why wouldn't it bounce off a wall ? i just loaded the third person template in 5.3.2 and am shooting a projectile it's going through the walls

vale narwhal
#

hello i'm trying to spawn something on my mouse cursor, i'm using chatgpt to help me since i'm a bp noob , and it tells me to connect left mouse button event to the get hit result under cursor by channel but i can't

lunar sleet
#

Also, velocity can be a factor

vale narwhal
#

error : exec is not compatible with player controller object reference

lunar sleet
#

You should learn the basics first

vale narwhal
#

ha shit, i wanted to learn bp with chatgpt

#

mh ok 🙂

lunar sleet
#

Look up “your first hour in Unreal”

#

It’s on the Epic portal

#

Then watch the 2nd pinned link video in this channel in full

#

Then you’ll be able to actually figure things out

lofty rapids
tight pollen
vale narwhal
lunar sleet
lofty rapids
#

the collision ?

#

is block all dynamic

#

like the projectile

lunar sleet
#

No

#

The object type

#

Block all dynamic means block all objects that have world dynamic as object type

#

If your object type is anything else, it’ll ignore it

lofty rapids
#

i tried blockall as well

lunar sleet
#

What velocity on this projectile?

lofty rapids
#

1000 start, 1500 max it seems slow i might want it even faster

lunar sleet
#

Also collision works better when it’s a 2 way street (the wall should block the channel corresponding to whatever object type the projectile is)

lunar sleet
lofty rapids
#

i just did block all on both

lunar sleet
#

Like a collision box on the wall that has a different collision setting

#

Collision is a tricky beast ngl

#

It often takes hours to narrow down the issue because there’s many things that can affect it

autumn pulsar
#

Is datatable access performance intensive? Was wanting to use it to store combo attack information and flow

lunar sleet
#

Ideally you don’t want to modify DataTables at runtime

#

But if you’re only reading data from it, it’s fine

autumn pulsar
#

Well I was going to store a name in the struct to use to reaccess it for the next sequence

#

Which might be overkill

lunar sleet
#

Yeah structs are a good way to go. Cpp structs tho, bp ones break when edited

autumn pulsar
#

Whack

#

If I reference something in a data table, that loads the object if the datatable is accessed correct?

frosty heron
#

Any hard reference in data table is wild imo.

faint pasture
#

filler up

#

I wonder if that can be an approach

#

if your asset base is small enough

frosty heron
#

Yeah if small probably don't matter.

#

But if it's large enough with 2 k textures and dozens of items.

#

I end up with 1 minute loading time.

faint pasture
#

Space is pretty much all just textures and audio right?

frosty heron
#

And loading all the items I don't need.

#

Spoke from personal experience.

faint pasture
#

if the "item" is a 200 byte struct then its nothing

frosty heron
#

Yeah probably doesn't contain animation or texture assets.

#

If it's just primitive types then who cares

autumn pulsar
frosty heron
#

I'm just soo concious of any hard ref in DT

#

My approach is only load what I need now

frosty heron
autumn pulsar
#

My game will have ass fidelity, so will have a lot of free RAM

frosty heron
#

If you don't need to have a collection of things to view, you probably don't need data table.

autumn pulsar
#

And I didn’t want to have hitching from asset loading something in 16ms

faint pasture
autumn pulsar
frosty heron
faint pasture
#

Is it like a recipe where move -> move -> move is a combo? Or is it more like a web or graph where move can lead to move can branch into this or that

autumn pulsar
#

I was going to have a string of attacks, and then a branch into an attack specific finisher

frosty heron
#

My combo is just an array of structs in DA

#

Loop through, find matching one, execute ability.

#

If player change job, just pass different DA

#

Or I can even have common one for basic attacks

autumn pulsar
#

I wanted a specific sequence

#

As I wanted more methodical combat

faint pasture
#

or do you async load the concrete character or animbp and that's when it loads its assets

frosty heron
#

Gotta think about it.

#

But I've been abusing UE5coro for everything.

#

I wonder if I can just use co await before playing the montage lol...

faint pasture
#

so how does async loading work? Is it like:

Async load actor class -> its loaded -> can spawn it "instantly"

#

Say i wanted an AnythingInMyEntireGameSpawner

frosty heron
#

I load them on the fly. Go through the data table and async them one by one.

#

So my cosmetic U.I gets filled over time.

faint pasture
#

I mean more for like projectile actors or whatever

#

is a projectile without a mesh flying through the world?

frosty heron
#

Yeah

#

I got 1 projectile and it's using soft ref

faint pasture
#

or say an enemy spawner

frosty heron
#

It has sphere collisions I just need to spawn the ball

#

Spawn sfx ( Co await myFireBall)

#

It spawn instantly though ( kinda )

#

I honestly should look into asset managers

faint pasture
#

I wonder how that works with things being spawned and destroyed

#

say im loading an actor class before spawning it

#

then i destroy it

#

does the CDO hang around?

frosty heron
#

no idea lurkin

autumn pulsar
#

I’m going to suffer so much tech debt kek

lofty rapids
#

if i simulate physics the projectile drops but it does collide

#

without it the projectile fly but go through wall

#

maybe just use physics and apply a force ?

autumn pulsar
#

Probably easiest to implement your own gravity and force

#

So you have total control over the behavior

frosty heron
faint pasture
#

show the projectile component layout, collision settings, and movement settings for whatever is doing the movement

lofty rapids
#

collision is blockall

#

on the projectile and the wall

frosty heron
lofty rapids
#

i think i will try another way because i need this to bounce off the wall

lofty rapids
frosty heron
#

you tried playing with the max simulation time?

lofty rapids
#

i think i should do this where i simulate physics and apply a force

#

instead of projectile

frosty heron
#

pretty sure projectile movement would handle something like a mesh not going through the wall if it were shoot too fast

#

by sub stepping

#

if your projectile move slow enough and still went through the wall, that;'s most likely your collision settings.

lofty rapids
#

so i did the collision settings, try sub stepping

#

still it just go through

frosty heron
#

i mean

#

it didn't for me 0o

#

does your sphere have collision? maybe just add a sphere collision

lofty rapids
#

i tried that as well

frosty heron
#

nothing out of the ordinary on my end

#

i shoot a sphere with projectile movement

#

it collide with the wall just fine

lofty rapids
#

🤔

lofty rapids
#

i think i figured it out

maiden wadi
# faint pasture I wonder if that can be an approach

It can be. But for sure if you have C++, definitely do bundling anyway. You can literally load it all into memory in the main menu or something if you want, but it gives you the easy option not to do that later.

lofty rapids
maiden wadi
lofty rapids
#

whenever i try to do a root it seems like the collision messes up

tight matrix
#

Hi everyone, I’m looking for a good tutorial or course on implementing root motion for a locomotion system in animation blueprint. It’s really difficult to find, so any recommendations would be greatly appreciated!

autumn pulsar
autumn pulsar
#

There’s some docs on the website

#

You need to set “root motion from everything” in the animation blueprint if you’re doing standard movement in addition to montages

tight matrix
#

Thank you, I’ll take a look.

autumn pulsar
#

I believe the Lyra game also has some examples

faint pasture
# lofty rapids whenever i try to do a root it seems like the collision messes up

The Projectile Movement Component moves and sweeps the root component of the actor it's on.
The component named Default Scene Root is a scene component which all actors get by default, as an actor must have at least one scene component.
You want to have something with collision as the root component of a projectile using projectile movement component. Scenes don't have collision, thats why it's going through stuff.

nova grotto
#

is there an event for getting hit by a sphere trace

fierce scaffold
#

hi guys.
so, i have this topdown spaceship. it can move and rotate across the screen. i have the thruster sprays figured out for the rotation.
but im out of idea for the translation. how to get the correct thruster particle spray fire when the ship move up down left right, when its orientation can be absolutely anything ?
i tried to map out an 8way directional but i dont know what to do with it next.
i have the local ship mapped from 0-7, and a world mapped 0-7. something tells me that a relationship must be done with those two, but i dont know what...

dawn gazelle
broken wadi
#

The sphere trace can originate from some other actor but the actor being it might have a component which is listening for hit events.

nova grotto
broken wadi
#

Right click on the component then choose add event and pick one

#

that one in particular is OnComponentHit

#

but there's also OnComponentBeginOverlap and OnComponentEndOverlap too

#

But just know that if you have a character inside of a capsule component and you use OnComponentHit it will fire whenever they touch the landscape because that counts as a hit event.

static fulcrum
#

Hi all. Having an issue with using Data Assets which contain Arrays/Maps of custom Structs. When making a change to this struct definition (eg, adding a new variable to the struct), compiling and saving, everything looks good and gets updated properly (eg, the new variable shows up in existing entries on the data asset). But when restarting the editor the entire Array/Map gets reset to 0. Anyone know about this, how to fix? Causing me major grief having to re-fill out these arrays again and again from data loss..

runic anchor
#

I have this function in my ui widget blueprint, which was supposed to show the next objective and hide the previous one when the function is called. The function successfully displays the next objective but can't hide the previous one. I've tried to reference the objective directly, reverse the logic, and even have the function hide the text rather than show the next objective, but still, nothing works. The weird thing is that I used a print statement to check if the text is being set to hidden, and it is. I would appreciate any help if possible. I've spent a whole hour trying to fix this.

https://blueprintue.com/blueprint/_69zs_x5/

https://blueprintue.com/blueprint/4lfke5ok/

edgy forum
#

How to edit the variable of a character blueprint from inside the anim bp it is using ?
I want to turn off 'isPlaying' Boolean in charBP once a state machine plays the animation 3 times.

#

I tried to cast from inside the anim bp using 'get owning actor ' but it shows non thread safe error

olive yarrow
#

it looks like there's no simple nor one way to make a pannable image in a widget (or both an X and Y scroll bar).. anybody been in the same boat and found a straight forward work around?

proud salmon
#

I setup an image pan for my map in OWSC. It works basically 1:1 with Fortnite

oblique terrace
#

Hi! I'm working on a game where I want Santa Claus to always be visible, even when objects like walls or platforms block the player's view. The goal is to achieve an effect where Santa is displayed in his original mesh color (not an outline) through all obstructing objects, using Post-Processing or Material Tricks in Unreal Engine.

How can I show the original colors and textures of Santa's mesh through walls and other occluding objects using Unreal Engine?

I'm Giving The Screenshots of My Project

olive yarrow
proud salmon
olive yarrow
#

You're an amazing soul, i'll try plugging that in after a good refreshing sleep

proud salmon
#

(Minus the zoom, that's a different function on the mouse wheel)

olive yarrow
#

ah heck ima try it now.

proud salmon
#

Who needs sleep when you got UE? 😄

olive yarrow
#

I mean honestly, what can my job be expecting of me at this point? i put in my notice a while agoshrug

proud salmon
#

😂

olive yarrow
#

is this mouse move coming from the widget?

#

tryna find the on mouse move function

proud salmon
#

Ya its an overridden function on the widget

copper chasm
#

Can I change the input mapping context on beginmouseover or something? Like if left click on the navmesh is normally “move to location”, can I have a mouse over event for a character change the mapping context to “IMC_CharacterInteractions” or something so that when the player left clicks a character, it swaps to that IMC and fires its left click action?

surreal peak
#

Trace for Actors below the MouseCursor and if you hit the Character, add the IMC with a higher Priority.

#

Up to you how dynamic you want that to be. Could be interface driven or stay hardcoded to the character.

gentle urchin
#

Would it be viable to implement a context without something like sprint purely without an actual input key but still the same input event ? Thus overriding the original context input?

maiden wadi
#

Like virtual input for sprint?

gentle urchin
#

Ye

maiden wadi
#

For AI or something else?

gentle urchin
#

To block the regular sprint.. either

#

Player id say

#

Never considered ai using input mapping contexts 😆

maiden wadi
#

Hard to say. I put most of that kind of consideration on GameplayAbilities and mostly leave inputs alone.

crude sedge
#

how can I get the formated text to be the return value?

autumn pulsar
crude sedge
#

Yeah I figured it out

#

thanks

ruby badge
#

I'm trying to use the Text3d actor and I want to be able to update the text but it doesn't work like it does for the 2dTextRender. I does anyone know how to do this?

crude sedge
#

what does cast want for a Widget Blueprint?

#

for the object

gentle urchin
maiden wadi
#

Depends on the UI. For that I mostly just use the input modes. If I don't want movement it goes to menu.

maiden wadi
crude sedge
#

I dont see anything that says that it points to the widget

maiden wadi
#

Read cast as "Treat as". If you have an Actor level pointer(like from a line trace), and you want to know if it is a character, you can cast the actor level pointer to a character. If the Actor level pointer is not a character, then it will fail the cast.

#

You're trying to treat that actor level pointer as a character in this example.

#

In a widget's case, you'd have a Widget, or UserWidget level pointer usually that you'd try to cast.

#

Explicitly speaking, Casting does not "Get" anything. It's simply an access level conversion.

main flume
#

I am trying to convert a landscape spline to a blueprint spline. The red tangent is correct, but the green one is incorrect. However, when adding the world position, it is correct, although the tangent remains wrong. Do you guys have any ideas on how to fix this?

uneven warren
#

Hi Everyone

if i spawn a Niagara system attached to a specific bone in my character mesh and set location type to snap to target, does this location input acts as an offset from given bone or is it the world location?

thanks in advance

frosty heron
#

@uneven warren looking at the code I don't think the location is used at all if you use snap to target.

#

you can try add a little offset see if it does something

uneven warren
frosty heron
#

@uneven warren sorry I was wrong

#

the location will be an offset from the target location

#

just tested

pulsar axle
#

aye anyone willing to join VC to help with a blueprint of mine? it's not complicated but I've struggled to find a tutorial that can explain this part well

gentle urchin
#

You're usually better off just asking in text

#

commiting to VC without knowing anything about what it's about is a rather big ask 😛

frosty heron
#

who knows what's in store when we don't know what we signed up for.

gentle urchin
#

||/* FORCE DELETE EVERYTHING */||

frosty heron
maiden wadi
#

~Authaer has joined voice~
"OOOOOHHHHH THERE ONCE WAS A HERO NAMED RAGNAR THE RE---"
~Authaer has been banned from voice~

pulsar axle
#

its such a small but specific issue nobody has made videos about it online.

maiden wadi
#

For use with what? Cause it's already in the overlapping array.

#

Like what is the general endgoal with the implementation? That might help some.

pulsar axle
#

It's really hard to put into words, which is why I keep trying to use VC to show what I am trying to do.

frosty heron
pulsar axle
frosty heron
#

bp to bp coms may be hard to be understood at the start.

#

once it click, it's easy though..

maiden wadi
#

That's why I asked what the end goal was rather than the specific task. Knowing the final intention tends to help follow specific implementations easier.

frosty heron
pulsar axle
maiden wadi
#

So make an array and put them in it.

pulsar axle
maiden wadi
#

It is, cause that's your only task. You haven't outlined why or any other constraints.

pulsar axle
#

I need to get what a collision box is overlapping, look through that and find the specific child components needed, add them to a array.

all of this is taking place across three separate blueprints.

you can see why its infinitely easier to just show someone this.

#

frick this I'm gonna record a video

maiden wadi
#

What are the specific child components? What separates them from other components?

pulsar axle
#

video

frosty heron
#

don't ask chat gpt

#

especially for blueprint

pulsar axle
#

You see why it was so hard to explain? xD

frosty heron
#

not really

#

how many instance of dungeon generator are in the world?

pulsar axle
#

Just one

frosty heron
#

you can use get actor of class to grab the instance then

pulsar axle
#

So, now that you know it's not really difficult, would you mind getting in a call to help explain it to me? pretty please?

frosty heron
#

No, I only go into calls if I get paid

#

no disrespect

#

Turn your Add Exits Within Render Distance collision into a function

#

add an input parameter

#

the object can be your exit list

#

Then in any other class where you need to add to the array.
Get Actor Of Class (Dungeon generator) -> Call the function, passing the instance to the function input.

pulsar axle
#

thanks for the assistance, but this texting is no help to me I'm sorry.
have a good day

frosty heron
#

ok, good luck trying to find someone to get into video call with you.

#

and if you are still stuck, the answer is above.

pulsar axle
#

If I could wrap my head around texting like this, I'd be writing code instead, but I can not unfortunately.

frosty heron
# pulsar axle If I could wrap my head around texting like this, I'd be writing code instead, b...

https://www.youtube.com/watch?v=EM_HYqQdToE&ab_channel=UnrealEngine
This will help you understand bp to bp coms.

Announce Post: https://forums.unrealengine.com/showthread.php?101051

This Training Stream takes a look at Blueprint Communication. We find that Unreal Developers of all levels can sometimes struggle through the concepts behind moving data between objects. So in this video we'll take a look at the different ways to make Blueprints talk to one an...

▶ Play video
tropic peak
#

I'm missing something stupid.

#

I have a blueprint in my level called TimeManager

#

I would like to debug its stuff using keys

frosty heron
#

show what you have

tropic peak
#

I added caps lock to my IMC, and put a key caps lock node in my time manager just to check if it's working

frosty heron
#

print screen the blueprint uncropped

tropic peak
frosty heron
#

uncropped

tropic peak
#

the key is recognised if I put it in other blueprints

#

but not with this one

frosty heron
# tropic peak

this is the legacy settings anyway , nothing to do with enhanced input

tropic peak
#

oh that's it

frosty heron
frosty heron
tropic peak
#

I mean there's not much to show really

frosty heron
#

I need to see the base class

tropic peak
#

what base class?

frosty heron
#

just show

#

the

#

blueprint

#

uncropped

#

missing info

#

you are not the first person this week with input problem and not showing the whole blueprint

tropic peak
#

okay but there's literally nothing to show, the rest of the blueprint is totally unrelated to this

frosty heron
#

people don't know what they don't know

tropic peak
#

I want to print out a message when I press a key, that's all

frosty heron
#

yeah and I can tell you if something is wrong

#

if you just show the blueprint

#

but if you are fighting it

#

that's gonna make it harder

tropic peak
frosty heron
#

still cropped

#

i can't see the base class

gentle urchin
#

still excluded the class

#

top right corner

#

the class this is within is relevant

tropic peak
#

actor

frosty heron
#

ok that's why

gentle urchin
#

or the base class rather. Ok

frosty heron
#

thank you but please just show whole screen shoot when asked next time

#

dont make us guess.

#

Inputs are disabled by default on Actor

#

If you are just doing it for test.

Begin Play -> Enable Inpuit, plug your controller

tropic peak
#

ok that's gonna be it, I missed the enable input I had in my save class, sorry and thanks. coming back to UE after a small break, my mind is not quite there yet

frosty heron
#

you shouldn't be consuming input from places other than the actors you controlled.

#

if for testing, then who cares but for gameplay, that will be a bad design.

#

you don't want a door blueprint to handle the E input for example

tropic peak
#

of course, it's just to trigger widgets as I don't have the rest of the system quite ready yet

#

it's not going to stay

dark drum
frosty heron
#

imo, Input component, controller, pawn and UI

#

UI.I for U.I
Input component if need to accustomed to different game modes

#

controller / pawn, well if there is vehicle or not

#

other actors is kinda questionable to me, if game is small enough maybe just drop it in controller or pawn? a custom actor will be hard to track and debug.

maiden wadi
#

It bothers the fuck out of me to no end that I have to subclass NavLinkProxy in C++ to make a blueprintcallable function just to set the smart link locations.

gentle urchin
#

fun times!

dark drum
maiden wadi
#

More fun. If you tell an AI to go to a location past a link... They'll go to the first part of it. Run the smart event. Then proceed to fly through an area they have no nav in to the second link, and it doesn't run the C++ code for finished until the AI reachest all of the way to their end goal long after they've stopped using the link.

BUT, if you change the move order while they're in the middle of the link, it'll correctly end it at the second part of the link.

#

Like wtf is this?

dark drum
# maiden wadi Like wtf is this?

I feel you're pain. I had some wierd issues using them to trigger open/close animations on doors so NPC's can pass through them. It's crazy to think you can't just enable/disable them (smart links) at runtime via BP.

maiden wadi
#

That you can do. At least in 5.4

#

That's literally all you can do in BP though.

#

Literally.

#

SetSmartLinkData is mine from my own subclass.

dark drum
#

They have so much potential but seem very limited from BP which is a shame.

maiden wadi
#

Nah. You have to view it from Epic's POV. They work perfectly fine on a STATIC map, where shit is hand placed in simple deathmatch maps. What else would you possibly need AI for?

dark drum
maiden wadi
#

It's just a weird thing. Like normally I can convince myself that it's fine cause you'd do it in C++ for performance anyhow. But this is like.. level scripter level stuff here for generating even runtime level design stuff.

scarlet ledge
#

*sorry wront channel

dark drum
little prism
#

Hi, very stupid and basic question but... I have a base object (sub class of Object) and I can't find a Construct event for it in blueprints... What's the best way to initiate data upon creation?

dark drum
little prism
#

right... I thought it would have a standard Construct like any C++ class...

maiden wadi
#

Even in C++, they don't use constructors for that with like Actors and Widgets.

little prism
#

I get that there is a overhead from Engine itself for Cons and Dest but that's pretty basic functionality that I thought devs would have implemented into blueprints.
Nevermind, I'll use @dark drum advice 😉

frosty heron
#

@maiden wadi are you fammiliar with GAS for multiplayer? 🥹
I'm trying to figure out where I can play my cue on client and play the same cue on the server.

maiden wadi
# little prism I get that there is a overhead from Engine itself for Cons and Dest but that's p...

Implemented how? Without C++ and a custom constructor, the object will have no ability to set data before it's initialized. So you'd have an init function that'd run before it has any data set. You wouldn't even have expose on spawn stuff set up yet because that is ran after the fact from blueprint generated nodes you don't actually see in the editor.

So effectively you'd have a confusing init function that simply runs right after creation that'll confuse people when they make things expose on spawn and it's not set for their objects. This including for things like actors and components and the like since they would likely inherit this functionality.

maiden wadi
#

Generally speaking, State based cues are handled from putting them in respective GEs. Multicast cues are usually just broadcast from the server through the ability.

frosty heron
#

Hit react :3

#

i want it predicted on client

violet bison
#

how do I read a varaible in a client's own game instance from controller when connected to a server?
get game instance only returned the server's

#

or should I have used run on owning