#blueprint

402296 messages ยท Page 528 of 403

crimson swan
#

one section of a much much larger picture

trim matrix
#

better than my bps

flat raft
#

Pretty clean

crimson swan
#

i'm kinda curious to see yours now lol

#

jeeeesus

flat raft
#

Mine is neat.. I can't stand spaghetti

trim matrix
#

I have an inventory umg blueprint that is unreadable

#

well several

crimson swan
#

yeah that's how those things go

#

gotta be fresh when you go into them or else it's just jibberish after a week

#

i'm so confused

#

this should only be true if localslottype is 2 right?

#

then why does it return true when i compare 1 and 2 lol

maiden wadi
#

LocalSlotType is a byte?

crimson swan
#

yes

#

basically comparing is 00000010 == 00000001

#

unless i'm being retarded here

maiden wadi
#

Definitely shouldn't happen. It might be the printing logic. What else are you doing there?

crimson swan
#

litteraly just that

#

i'm printing localitem type and it's returning 1, so 1 is being compared with 2 but it's still returning it as true...

#

i'm considering casting it as an int but whyyyy

#

huh... converting it to an int returns as 1 and 0

maiden wadi
#

Kind of odd. I'm not getting the same result with a simple setup.

#

Your LocalSlotType is supposed to have a value of one?

flat raft
#

Compare it to 5

crimson swan
#

localslottype is 1 or 2

#

let me compare to 5 sec

#

no dice

maiden wadi
#

This alone prints as expected. True if TestVar is 2, false if anything else. And it prints the correct number each time.

crimson swan
#

very strange...

#

i solved it with a select

#

noooo idea why the hell it's doing that in my code

flat raft
#

Use the Debugger..

#

You can watch the value in realtime

crimson swan
#

well i mean i did debug, just not with a debugger ๐Ÿ˜›

#

too used to hardware debugging where a debugger costs big $$

#

prints are my friend

flat raft
#

not in this case..

crimson swan
#

i'm a hardware boy not a software boy lol

#

yeah i really should get used to using the debugger

flat raft
#

The Debugger is super helpful

crimson swan
#

it says no debug object selected but there's no options at all

flat raft
#

If you rightclick on the node connection point, you can choose Watch value

#

And you get a readout

crimson swan
#

oh dannng

#

this would've been very helpful 2 days ago XD

flat raft
#

๐Ÿ˜‚

crimson swan
#

but it still doesn't really help me see the value

flat raft
#

Never leave home without it

#

right click

crimson swan
#

i can't set a breakpoint

#

no i mean i could see the flow

#

but it doesn't stop when it reaches it

flat raft
#

Doesn't need to stop

#

Right click on the dark green spot

#

Select watch value

crimson swan
#

oh god i'm retarded

#

it's an enum -_-

maiden wadi
#

Splat.

flat raft
#

4bytes ...

#

Right?

#

or 8

#

I forgot

crimson swan
#

yeah....

#

facepalm

#

what's 4 bytes?

maiden wadi
#

I'm fairly sure that most UE4 Enums are bytes.

flat raft
#

Yea..they are

maiden wadi
#

Most of the time they're written out as uint8s

crimson swan
#

that's what i had

flat raft
#

so slot 1, 8bytes?

crimson swan
#

still confused why it would do that, one would assume it would give a binary value of 1 or 2

flat raft
#

hahaha nevermind... I might be thinking of something else

crimson swan
#

but guess not

#

oh no i'm even dumber than i thought

#

it just makes an array with index 0 1 2 3 4...

#

so makes sense that slot 1 is read as 0

#

and slot 2 is read as 1

maiden wadi
#

Actually it should be comparing 1 as 0 and 2 as 1 in your case.

crimson swan
#

yeeah

#

i think it's time for bed lmao

flat raft
#

LoL

#

Yea, me also

#

Night all!

crimson swan
#

but at least now the inventory works and i can finally get back to the fun of making a stats system, an equiping system and so on

#

good night!

#

thanks for the help

quasi frost
#

I still don't know why this isn't working. For some reason this for loop body is executing. However the complete loop does.

crimson swan
#

print out the array index in the for loop

#

i'm willing to bet it's either null or 0

#

@quasi frost

#

you need to make sure your character collision settings are correct

#

anyways hope that solves it for you, actually going to bed now XD

quasi frost
#

it is colliding I see the hello from the colliding event

maiden wadi
#

@quasi frost Do you see a blank spot between the two prints. The one that prints before the loop and the one on completed?

#

If you see a blank spot, that means that GetDisplayName is probably being run on an invalid pointer. Generally you should always check if the array length is greater than zero before performing loop operations.

quasi frost
#

no there is no blank spot

marsh seal
#

you can find out if he's right

#

but appending that particular print

#

and typing somethign before it

#

by*

maiden wadi
#

Just double checked. ForEachLoop won't run a loop body without a valid array index.

#

@quasi frost TLDR, your array has no indexes. Tested this. TestArray has no entries. During doesn't print.

quasi frost
#

@maiden wadi Hmm so for some reason it isn't saving the overlapped actor in the array? Is there a better way to call overlapped actors in a custom event?

maiden wadi
#

@quasi frost That way is fine. But you should double check both the static mesh's collision, The static mesh component's collision settings, and make sure that the overlapping actor is actually a MasterCardCharacter thing or whatever.

quasi frost
#

@maiden wadi Well it wouldn't be a mastercard it would be a child of master card. Is that the issue?

maiden wadi
#

Should still work. I use the same function and filter by Character all of the time.

hearty moss
#

are you actually adding anything to the array

maiden wadi
#

He doesn't need to add anything to the array. It's a function that returns an array of the current overlapping actors, filtered by a class type.

hearty moss
#

maybe the array returns empty

#

idk why that would be

#

but worth checking either way

quasi frost
#

Yeah it's odd. It is printing on collision so it is definitely colliding at the very least.

hearty moss
#

why aren't you using the overlap event

quasi frost
#

I only need the event on specific ocasions, not all the time.

flat raft
#

You are calling GetOverlapping on the collider, but you are not specifying which character

#

It seems at the moment, it's picking the first character it finds by default.

quasi frost
flat raft
#

yes, but which character ?

maiden wadi
#

All of them that should be colliding.

flat raft
#

Looks like he has 4 on the field .. 2 are not colliding?

hearty moss
#

then use the overlap event and call the custom event from there. and use branches for when you need it

maiden wadi
#

Function just says Get all actors overlapping this component. Filter out any that aren't of this type or that inherit from this type. Do something to everything that remains.

hearty moss
#

that way you can pass the overlapped actors through the custom event

maiden wadi
#

He doesn't want to do it on overlap. Overlap requires making the component leave the area and return to overlap again for it to fire.

hearty moss
#

then add the object to the array from the initial overlap

#

and remove on end overlap

#

ez pz

#

i know it's probably not the best way of doing it but it's certainly good for testing what's going wrong

flat raft
#

I see what you're saying authaer, but he still needs a reference to the 2 battling characters

#

He is using the Collider var, but for which character? my guess is he has a reference to one of the other 2 that's standing by.

maiden wadi
#

That's what the function returns. References of overlapping actors.

flat raft
#

right, but it's a child of the character

#

so calling this event from the character on the far left, will return nothing in the array

quasi frost
#

1 is a child of MasterCardCharacter 2 is Player and 3 is EnemyCommander. So the ones standing by should have no effect, they are completely separate BPs.

#

Also for the collision event, for now I am only checking front collider

flat raft
#

So, try this... from the event, print object name

#

So from dealdamage, to a print. You print Self>getobjectname

#

If your capsules are setup correctly, which I think you checked with hello/hello.. then they should return each other in the getall . Since they are not, you may not have the correct characters reference

#

To make sure that they are registering, you can add a E key in your player controller, GetAllActors of class, cast to ur characters, then get the collider and then use GetAllOverlapping

quasi frost
#

So from dealdamage, to a print. You print Self>getobjectname
@flat raft It just get's its self here, I guess that is what you expected right?

flat raft
#

Yes.

#

But do the second test first.. the E key

#

This will tell you for sure if there is a overlap happening

quasi frost
flat raft
#

Ahh... you don't need the get or cast

alpine halo
#

Why don't you guys using 'OnBeginOverlapStart' event

flat raft
#

GetAllActors to Forloop

#

Ooo...I've never seen OverlapStart

alpine halo
#

Nah like onbeginoverlap

flat raft
#

Oh lol

alpine halo
#

The event you can add in colliders

flat raft
#

I think it looses focus when he actually wants it

quasi frost
#

It's a turn based game so the moment they overlap I won't need anything. I only need it in specific circumstances, hense using an event

alpine halo
#

Then use blueprint interface

#

Get overlapping actor and if it implement the interface the do 'interact'

maiden wadi
#

On what? His problem is that his array of pointers is empty.

flat raft
#

What's did the E return @quasi frost

quasi frost
#

Yellow is return from array element (Which seems correct) the 0 is the array index return

flat raft
#

Can I see ur E call ?

quasi frost
flat raft
#

Ok, so that's correct , ya?

#

You have 2 cards that are overlapping their colliders

quasi frost
#

Correct

flat raft
#

Your setup is kinda weird... but

#

There will be only 2 cards fighting at anytime ya?

quasi frost
#

No, there could be up to 3 fights. However they don't need to be happening all at the same time. Calling a fight to happen one at a time is fine if it's easier.

flat raft
#

I mean 2 capsules overlapping?

quasi frost
#

I mean the capsules would be seeing friendlies too right? So there could be tons of overlapping going on

flat raft
#

u have a bool for enemy

quasi frost
#

yes

flat raft
#

ok.. so on deal damage..

#

copy paste the E nodes in there

#

GetAllActors .. to the overlap part

#

Check if it's overlapping an enemy using ur bool

#

if so.. do stuff.. whatever comes after

#

You will have to refactor later

maiden wadi
#

The only thing different between those is his class specifier.

flat raft
#

Oh true.. u didn't set a class filter zarz

quasi frost
flat raft
#

You have to add all the stuff u made in E

#

the class filter in the E call didn't have anything set

#

If it's not set, it will return everything, including the battlefield if it's touching

maiden wadi
#

If it's nor working with nothing set, then your input that is calling DealDamageToEnemyCard is likely calling it on the wrong character. Since your GetAllActorsOfClass worked fine. Are you certain you're not trying to call that on one of the two that aren't in the fight?

flat raft
#

that's excalty what's happening

#

Unreal chooses the first character spawned as index 0 I guess..

#

His index 0 character is probably the player on the far left

quasi frost
#

the card spawned first is the enemy

maiden wadi
#

How are you calling this event? Through UI, or?

quasi frost
#

When I click the end turn event it fires to the movement event, if the movement event sees that someone is infront of the card it fires to the deal damage event

maiden wadi
#

And they all move? So your movement is calling on the correct actors?

flat raft
#

That is a good point to get references to stuff, no?

quasi frost
#

Like?

flat raft
#

well..the Movement calls DealDamage

#

is dealdamage called anywhere else?

quasi frost
#

no

flat raft
#

well..actually nevermind.. I assume dealdamage will be called again

#

If the enemy isn't dead

quasi frost
#

It could be next turn yes

flat raft
#

ok cool

#

Nevermind then

maiden wadi
#

Out of curiosity. If you put this on your Damage event. Does this draw a point above any of your actors?

flat raft
#

so, is ur deal damage working?

quasi frost
#

@flat raft No?

#

Not sure what you are asking lol

flat raft
#

lemme see the bp

#

That's a cool way to check, Authaer

quasi frost
#

It doesn't make it past the for loop so nothing after that even matters right now

flat raft
#

Lemme see a screen shot

quasi frost
#

completed does print which is weird since loop body never prints

flat raft
#

You didn't update it

maiden wadi
#

It's not weird. It just means nothing is in the array. It probably means that the damage event is being called on the wrong actor that doesn't have anything in front of them.

flat raft
#

The code you have in E, needs to go here

#

Oh yea...ur the dude with the chain of casts.. now I remember ๐Ÿ˜‚

quasi frost
maiden wadi
#

What happens if you tell it to draw a point like that above the actor that the damage event is called on?

#

Before the GetAllActors part preferably.

flat raft
#

GetOverlappingActors isn't returning anything?

#

do the point over head thing also.

quasi frost
#

Out of curiosity. If you put this on your Damage event. Does this draw a point above any of your actors?
@maiden wadi It draws the sqaure

maiden wadi
#

Over the correct one that should be dealing damage?

quasi frost
#

idk lol it's literally between them in the middle

maiden wadi
#

Wut?

flat raft
#

Can I see? I've never used the point

#

What does the point look like?

maiden wadi
#

Just a little square thing. It's nice for debugging vectors.

#

Or things like this to make sure the correct actor is being called.

quasi frost
#

wait I got it. Looks like the issue is in movement. For some reason it is moving past the index that it should be stopping on. Which is odd since there is a branch to stop that movement. But by adjusting the collider I can atelast test it. It's now making it past the first loop.

#

The actor isn't moving but the index array is still doing math

#

Damage is working! So the issue is the movement index. See how the actor inches forward a little after every end turn. Notice it is no longer inside of the grid square

flat raft
#

So, going back to your old code setup..dose it still work?

maiden wadi
#

To be fair. Using collision for this is an odd way to handle this. Since you have a grid, it would be a lot easier to update an array of grid points with actor pointers and use that array to get what you want to damage. Base what you hit on your actor's facing. If in grid space 5/3, if facing is 0,1 then it's facing right. Get actor at grid space 5/3 plus 0/1, so at grid space 5/4.

flat raft
#

yea...when cleanup time rolls around.. def do that.. and the chain casts

#

Art looks cool

#

Did you do the 2D card art?

#

Are you going to add a dragon on the battlefield at some point?

quasi frost
#

Yeah I will do models and landscape stuff once i get all the code working lol

flat raft
#

Nice

rugged perch
#

Hi guys, can somebody help me replace the player location with the location of that cheese actor at the bottom ?

maiden wadi
#

@rugged perch What do you mean by location of the cheese actor? It's in the content browser.

rugged perch
#

@rugged perch What do you mean by location of the cheese actor? It's in the content browser.
@maiden wadi Im trying to get this blueprint to use the location of that actor class instead of the player, but its not working :/ any tips ?

maiden wadi
#

Do you have an instance of that class in your game world?

rugged perch
#

Do you have an instance of that class in your game world?
@maiden wadi yes

maiden wadi
#

What is your use case? Do you just want the closest one to the ai?

rugged perch
#

Do you have an instance of that class in your game world?
@maiden wadi the only way i made it to work is by putting the XYZ manually ๐Ÿ˜ฆ I have just one in the level and i plan on having just 1 and i want the AI to go to it

haughty ember
#

Specifically Direct Blueprint Communication Referencing

thorny willow
#

@rugged perch you know your cast is not being executed right?

rugged perch
#

@rugged perch you know your cast is not being executed right?
@thorny willow yes, i'm trying to figure it out, im ultra noob, i started 1 week ago ๐Ÿ˜†

heady epoch
trim matrix
#

Hey can anyone help how to show a ui in that particular map

misty gull
#

hey guys, not sure if i should ask this here or in the cpp section - I'm working on a plugin that will bring in external data that has a layout that can change during development (so the contents of the data is dynamic, but not necessarily runtime-dynamic) - I'm wondering if there's a way to work with such data structures via blueprints (something like a blueprint node that has dynamic outputs or that outputs an object whose members can change freely?). Is there a general way of working with data like this with blueprints? I guess a json-parser blueprint node could be a bit of a good analogy here.

misty gull
#

i just stumbled upon user defined structures, i guess having a function in my plugin that creates/updates such a structure should be doable?

#

well i can have my plugin connected to the data source and at user request i can build such a structure

#

yeah it definitely will be done on the cpp side, my question was more on the usability side of things

#

what if the struct changes drastically?

#

i don't expect this data to be serialized - and blueprint adjustment should be part of the development process

#

this sounds fine, thank you

trim matrix
#

I've made this inventory referring this tutorial
@alpine halo

What I'm looking to do isn't to add a background color behind the inventory slots but behind the whole screen. Kinda like rust does.

trim matrix
#

i just stumbled upon user defined structures, i guess having a function in my plugin that creates/updates such a structure should be doable?
@misty gull just use structs when you have certain them never will change, and of just basic data types, dont use object types inside struct

#

blueprints sometimes may get corruption when you change a struct

misty gull
#

they will change, that's the point

trim matrix
#

so use object instead structure

#

object is easier to extend and handle data

misty gull
#

what i have is another application connected to ue4 via my plugin, the user defines and fills a data structure in the other application and has to be able to use that on the ue side

#

and the data structure can change

#

not just its contents, but the layout as well

maiden wadi
#

I've never once had issues modifying a struct, C++ or BP. Well, not unless you use hotreload.

trim matrix
#

well, the day you get a blueprint corruption due struct, it will be the day you will wish stop using struct for dynamic data

maiden wadi
#

Which won't happen if you don't use hotreload, or remove a data type from a struct without modifying the classes that use that datatype first.

misty gull
#

so what would be a good workflow for my users in this case?
Say the user has a vector value exposed in the other application that should be usable in ue4, and they want to replace it by 3 float values - if i auto generate/update a user defined struct in my plugin to reflect the struct in the other application what will this result in?

trim matrix
#

for vector, consider each vector element a scalar value, with a key

alpine halo
#

@trim matrix make border in your inventory ui

#

And the inventory slot border brush color alpha to 0

misty gull
#

not my point - my point is a changing structure where a member is removed that's been used before

trim matrix
#

Will that fill the screen? @alpine halo

untold anchor
#

Can we modify a particular phyics body within a physics asset from blueprints to change it's mode from kinematic to simulation?

simple crow
#

is there a way to prevent an array from shifting?

untold anchor
#

Example:
Via blueprints, i want to change pink from kinematic to simulate, and also switch blue from simulate to kinematic, and vice versa

simple crow
#

Lorash what if I need to remove the stuff

#

oh thats an idea

#

ill try that

#

Thanks

tough cipher
#

This might seem like an odd question but does anyone know how to make a pocket room in unreal,sort of like a room where you can store stuff in the same level and it moves along with the character

alpine halo
#

@trim matrix nah

fallow fox
#

Hello guys! I want to open a door in the opposite side but sometimes, some of the doors if I'm at the right side is opening on my side. What is the correct way to check on which side of an actor I am?

#

The first vector is my FPS forward vector

simple crow
#

@fallow fox how is the rest of your door working?

fallow fox
#

I have room doors which are opening in the correct way. But when I want to open smaller doors, for closets if I'm standing a little bit to the right, it's opening on my side

simple crow
#

ah I see

fallow fox
#

From this location it's opening

simple crow
#

how are you changing the doors rotation?

fallow fox
#

Rotationg the blueprint

#

not the components

simple crow
fallow fox
simple crow
#

hm no clue thats odd

untold anchor
#

what do you mean it's opening on your side?

simple crow
#

look up he shows it

untold anchor
#

it looks like in your second screenshot that it's doing the closing angle another time after it's closed?

fallow fox
#

From that angle, the door is closing, not opening

#

I want to open, because I'm in front of the door

untold anchor
#

it looks like that's hpapening in the screenshot?

#

happening*

fallow fox
#

yes

untold anchor
#

first is correct, 2nd is incorrect

#

right? but it's doing the 2nd one sometimes

fallow fox
#

I can't get the correct front of an actor. I'm checking if I'm in front of the actor, or in the back of the actor

untold anchor
#

for that door, what is your goal with checking if you're in front or behind?

#

do you want it to rotate inwards like the 2nd doodle i posted?

fallow fox
#

I don't have problems with only one door. There are more door

#

s

#

which are children from a parent blueprint

untold anchor
#

you're wanting a door mechanic that always opens the door towards the player, right?

fallow fox
#

Yes

untold anchor
#

so that it never open's in the relative forward, but always swings towards the player

#

gotcha, hmm

#

are you doing a ray cast of any type during this?

fallow fox
#

Yes

#

I have a umg button which interacts with the door. It's a mobile game

untold anchor
#

your doors, your just running the trace on the bounding of the model?

fallow fox
#

Sorry, I don't understand

#

Btw, if I change the Z rotation of the door to -90, to have the correct way, the rotation is going crazy. It's opening half only and after that 180'

#

For this door only

gentle urchin
#

Get actor forward, isnt that the issue ?

untold anchor
#

yea, it's hard to tell what exactly is the frame of reference here since so many things are just "target self" but not knowing what self is

#

dunno what is the door, or the player, or something else

#

it looks like you're doing a forward trace from the player

#

the first actor it hits, it checks to see if it's interactable

#

if it is, then you store the forward vector of the player?

#

no

#

yo'ure storing the forwrad vector of the actor it hit

#

i don't see you using that store variable though

#

stored*

fallow fox
untold anchor
#

well not stored, but what's inside the FPS interact that it's going to rather

fallow fox
#

Here I'm trying to get the position of the char in front/back of the actor

untold anchor
#

yea, i was thinking the same, just use the normal, but

#

yea, i'd use a clamp to clamp to hard 0 within a range

#

and then also, i'd set it so that if it's 0, do nothing

#

then don't clamp, and just say if it' close enough to 0 do nothing then

#

the noise fucks up with exact angles, and often have to give it some forgiveness

#

pulled my hair out fighting gimbal lock with some omnisurface wall running cuz of it X_X

#

Q_Q

#

haven't messed with quat math since college, so scared of it, that i didn't even use it XD

#

oh?

#

it works really well, my only problem is i get some violent jitters while it's fighting gimbal lock XD hmmm

#

no, but i'm going to start my praying to Fquat on google for sure

autumn heron
#

Hello guys! Quick question: an event created inside blueprint is always created virtual? That is, is always overridable by child?

main lake
#

Is it possible to put a group of buttons inside an array so I can use a "For Each Loop" on them to do something on each one ? (each white square is a button)

earnest tangle
#

Sure

main lake
#

how please ?

earnest tangle
#

You can make a variable with the button's type as an array

#

or use a make literal array node if you just want one temporarily

main lake
#

for now I have a ref for each button and also a boolean variable for each saying if the button is on or off

shut hinge
#

ok how do i get the notifier system to link up with data table.

trim matrix
#

@shut hinge you got to clarify

thorny glen
#

asking this problem again, sorry all.
just seriously stuck on it.

i am going to chronologically go through my line of code and identify what properties are being read as none.

als_base_char is the parent bp of my actual pawn bp, but it controls most of the actual movements.

tawny bison
#

looking for someone that can point me in the right direction. I want to implement action rpg inventory with game spark.

thorny glen
#

this is part of a function that is called every tick to update movement, the error node is the movement curve from the broken movement settings.

#

the movement settings refer to a struct that exists and the movement curve references a curve that also exists.

#

the initializer in the first picture is suppose to initialize those 3 variable component references for my combat component to use.

#

the stupid part about this entire issue is that i haven't actually messed with anything that i am aware of that would cause such a major issue like this.

tawny bison
#

The values are not getting set.

thorny glen
#

they are

#

this is not even a part of the code i touched. this is all longmire locomotion for als v4

trim matrix
#

I would assume the issue is with your get target movement settings function then.

#

Have you tryed print stringing if that function is returning valid references withing that struct?

#

At the very start of the function?

thorny glen
#

so take that get target movement settings func and debug it alone to read what my values are?

trim matrix
#

yep

#

try is valid

thorny glen
#

k, let's see. it's just so fucked that all this is wack now, i've not messed with any of it and it was fine yesterday.

#

so, i can't check is valid because they are obj references

#

i can check is valid on the break of the settings for different parts, like the movement curve (which is the error)

trim matrix
#

what?

#

you cant check if an object reference is valid?

#

Im like pretty sure xD whta

thorny glen
#

says it is not compatible with obj ref

#

when i drag the line in

trim matrix
#

drag off of the reference

#

and get is valid function from there

thorny glen
#

sorry, my bad

#

it's a struct

trim matrix
#

yea so break the struct xD

thorny glen
#

lol i am new

trim matrix
#

oh alright

#

well yea break the struct, then check if the refrences are valid

#

By dragging off them and getting the is valid function

thorny glen
#

is valid bool or is valid func

trim matrix
#

bool will be more usefull since it is eaisier to debug with print strings

#

either would work tho

thorny glen
#

this is so weird, checking whether they were both valid has me moving again, but my movement is a lot faster than before

#

either way, i am moving now, so there's that

#

ty

#

i have never had to check or mess with any of this code

trim matrix
#

oh ive had issues like that before to

#

where things just dont work untill you do basicly anything to the code

#

just try getting rid of the is valid and trying again to be sure though

thorny glen
#

lol no, getting rid of the is valid breaks it

#

checking if it's valid makes it work

#

even though i've never done it before and it worked fine

trim matrix
#

ah then it was an issue with the function

#

That function must be returning invalid references sometimes

thorny glen
#

lemme look into it, it's als v4's coding, not mine

primal smelt
#

Hi everyone. Does anybody here have any experience with multiple timelines being synced up to start and end at the same time? This is probably going to sound nuts, but I have a main timeline that runs for 20 seconds, I'll refer to it as MAIN. I then have a timeline for every quarter of a second (0-0.25), which I'll refer to as QUARTERS. When I press a button it will play MAIN from start and the first QUARTER from start. When each QUARTER reaches the end it will play the next QUARTER from start (after setting a couple of boolean variables each time). The thing is, when I reach the end of the final QUARTER, only 18 approx seconds have passed according to a timeline position print string of MAIN. Anybody have any idea what might be going on here?

trim matrix
#

I do know that timelines and timers are not exactly perfect with there timing. Not sure that would account for a two second difference although.

#

Anyways do you really need to use so many timelines?

#

That seems really overkill in pretty much any situation i could ever think of to have to use multiple timelines that need to be synced together.

#

Im curious then as to why your using multiples?

#

@primal smelt

thorny cedar
primal smelt
#

@trim matrix @trim matrix thanks for your responses. What I'm doing is having an NPC actor move along a spline that follows the duration of the MAIN timeline. The QUARTERS (of which I indeed have 80) will interpolate between rotation coordinates that will move the NPC's head (the direction it is facing). The reason for this as opposed to having a separate track on the main timeline is that the player can "sight jack" the NPC and look around (with an appropriate clamp applied). As the game I am making is all about manipulating timelines in subtle ways, I want the new coordinates to be stored at every QUARTER so when the player rewinds time the NPC will look in the same direction at those moments in time.

trim matrix
#

yea use notifys

primal smelt
#

@trim matrix The thing is, if the extra frame is adding time, how is it the QUARTERS all end up finishing faster?

thorny cedar
#

i have a japanese lesson in 5 minutes will ask in 1 hour again

#

Haha ๐Ÿคฃ

primal smelt
#

@trim matrix Ok cool, I'll have a look into AnimNotify. I haven't really touched animations yet as I'm currently just using primitive shapes to build my prototype but now is probably the time to start because I do intend to have fully animated models in place. Thanks for the suggestion ๐Ÿ™‚

thorny cedar
#

Basically my constructor of the spline elements is triggered twice

trim matrix
#

oh @primal smelt you would use event track notifys for a timeline

#

Im not sure where this animation stuff is coming from?

#

Your working witha timeline right?

#

Like a blueprint timeline you would put in an event graph or something?

#

I dont think for a resuable system that controlls ai movements no

#

If it was like a one off npc movement then for sure a sequencer though

primal smelt
#

@trim matrix I am yeah. I have a few ideas for what I might need - I'm also considering generating splinepoints but as I understand it using BP to do this will add the splintpoints to the end of the track and I would need to work some magic with arrays to dynamically place a spline point at a precise moment. I was going to try this method last as it seemed the most complex!

thorny cedar
#

The visibility of my teleport node is default on and I can change it in editor through my constructor. But I can't use these teleport nodes in a spline variant since it is always calling the teleport nodes constructor, so I wanted to change the visibility variable in my spline constructor

trim matrix
#

So wait oldboy let me make sure i understand you right. You have a 20 second timeline and every 5 seconds you want to run some code?

#

oh every quarter of a second you meant ok

primal smelt
#

@trim matrix @trim matrix Yeah basically how I have broken up the smaller timelines is somewhat arbitrary. I picked a timeframe I felt wouldn't be noticeable by the player too much if the change in coordinates for the face isn't too noticeable if it doesn't happen precisely the moment the player changes it (they can't move the timeline while they are sightjacking, it pauses while they look around and when they hit play again there'll be a brief fade out/in while the new coordinates are stored)

thorny cedar
#

Sry I was in a hurry ๐Ÿ˜‚

#

Will explain it later in detail!

primal smelt
#

@trim matrix @trim matrix Yeah I don't think an event tick would be too costly here, the only trouble is I can't dynamically add keyframes to a timeline so - for this method at least - I think I need the QUARTER timelines for positions to lerp between but also they kind of act as exterior keyframes where I can dynamically change the rotation coords

trim matrix
#

Oldboy this is some sort of rewind time game right?

primal smelt
#

@trim matrix Yeah time manipulation is a central mechanic to the game

earnest tangle
#

random but did you participate in brackey's recent jam?

#

theme was rewind in that lol

trim matrix
#

then you know your idea of making an array to store things sounds like a great idea to me.

primal smelt
#

@earnest tangle can't say I did, but thanks for making me aware of it. WOuld be cool to see what people came up with!

earnest tangle
#

yeah there was a bunch of interesting ones :)

trim matrix
#

Im not sure a timeline would be a good place to do the logic to capture the state of actors at intervals

#

I would think a timer would be a way better option

#

since you can make those looping and have them run a function each time it completes

primal smelt
#

@dark haloa well, because the time manipulation isn't going to affect AI in anyway (their paths are all predetermined until the player changes something) I thought timelines may do the trick but I'm now having doubts ๐Ÿ˜ฆ

trim matrix
#

Ofc your timing is never going to be exactly 0.25 seconds with any method.

#

Ai never changes its path at all?

primal smelt
#

@trim matrix yeah as long as it's not noticeable to the player then a little imprecision won't be too bad

trim matrix
#

And never will in your game change for any reason?

#

Well even if they dont tbh it wouldent matter because im sure there are things in your game that will move around dynamicly and need to be rewinded

primal smelt
#

@trim matrix I was thinking there will be certain times where, say, if the player moves a character's head to face a point of interest then I could do something like swap out the track to another predetermined path where they follow that point of interest if you see what I mean

trim matrix
#

yea

primal smelt
#

@trim matrix I fear you may be right! Thought I'd start with the easiest thing to attempt to see if it works but I'm thinking the answer is no!

trim matrix
#

I would recomend to you to use a timer to run a function. Which just stores the position/rotation of actors at your 0.25 second intervals

#

It can store that info in an array

#

And then later when you need to rewind time

#

You can make a function where you input a value to rewind time byw

#

and it will search the array for the closest match to X number of seconds ago

#

You would have to store the time of each capture in the array also

plain chasm
#

Does anyone knows how to convert/spawn static mesh of skeletal mesh (last pose) let say on damage/death?

trim matrix
#

you could also limit the number of entrys in your array to make sure it doesnt get out of hand. And if you create it properly you could even create an actor componet that you can place on any actor to make it work with the rewind time mechanic

primal smelt
#

@trim matrixOk I think I get what you're saying. I was also going to try using an event track so its on one continuous track where maybe every time the event fires off it gets current timeline position, check a range and apply the change in coordinates at tthe nearest point in time. Problem is I'm still not sure how to transition from the default NPC head movement to the new position.

trim matrix
#

oh um

#

Your using a timeline to make your npcs move?

#

and also a timeline to make your npcs head turn update?

#

you were doing that right?

primal smelt
#

@dark haloa @trim matrix Cool if I share some screenshots? Might make it a bit easier to see what I'm attempting

trim matrix
#

sure

#

well anyways tho those questions are you?

primal smelt
#

@dark haloa @trim matrix beware, I am still a new so you may wince at things you are about to see! There's plenty I know I'll be able to do more efficiently but as it's a prototype I'm just getting everything in place first

trim matrix
#

yea its fine

primal smelt
#

@trim matrix Yeah NPC head moves on a separate timeline to their body. Essentially when the player sightjacks there is an invisible (well, not currently but will be) pawn that the player controls directly. If they are not moving the mouse they can play the timeline and the pawn will follow the head sceneroot component which is what follows a track on a timeline (or as is the case currently, across all those quarter second timelines). When the player moves mouse, timeline pauses, they can reposition and then resume play. At this point new coords are stored so if they play the timeline back they will see the NPC briefly look in that direction.

#

Sorry still taking screenshots!

trim matrix
#

oh i see

#

Well it seems to me like you could really really benifit from using the proper Ai and NPC tools that unreal has.

#

Using a timeline to controll ai is really not a good way to go

#

as unreal has very strong ai tools avaliable

#

I wouldent expect you to have if you are new but have you ever used a behavior tree or the AI controller?

main lake
#

Is it possible to put a group of buttons inside an array so I can use a "For Each Loop" on them to do something on each one ? (each white square is a button)

trim matrix
#

Yea

#

Buttons exist as variables in the widget blueprint

main lake
#

it's more cleaner

trim matrix
#

ah whatever you do you will not be able to get rid of each individual variable for each button

#

Anyways if your worried about cleaness xD

#

Do you know about catagorys?

main lake
#

nope ?

trim matrix
main lake
#

Someone talked about TMaps, but I struggle to use that

trim matrix
#

xD it blew my mind when i was new

#

i didnt know for so long

primal smelt
#

Ok so this is the maintimeline, can't see it depicted but from here it will move the NPC along the spline track and this bit all works just fine

earnest tangle
#

a Map would be an option yeah

main lake
#

Yeah I know that but I'm talking about the code having it clean like using For each loop instead of assigning each thing to it's own button and all that stuff

earnest tangle
#

Another method would be to create a custom widget blueprint for your buttons

main lake
#

@earnest tangle But I struggle using Map

earnest tangle
#

This way you could have the on/off state held inside that specific blueprint

trim matrix
#

Ah well the issue is diversity

primal smelt
#

And then is the first second of the quarter timelines (nothing going in to play from start pin here as that is done remotely via a Play node)

trim matrix
#

that those variables are auto generated by unreal

#

So you cant do much to get rid of them and reorder them into a array or map

#

Unless you create the buttons yourself using code

main lake
#

@primal smelt Press ALT + Screenshot button to screen only 1 of your screen

trim matrix
#

xD oldboy

#

yea you really should look into the proper way of making ai

main lake
#

I created this Map Variable, but I can't assign the button (reference) I created above

trim matrix
#

Are you doing anything oldboy?

primal smelt
#

@trim matrix I must admit I have not touched anything to do with AI! I will certainly start down that route though. Does Unreal have anything built in where where you can track pawn movement and input the data into a sequencer or something?

trim matrix
#

Maybe we can hop on vc and i could help you with it?

#

Oh yea @main lake you wont be able to assign references like that

primal smelt
#

@trim matrix very kind of you to offer! Lemme check as I think I'm about to eat, what time zone are you?

trim matrix
#

oh im PST

#

Its not late or anything not even 10 am

#

Anyways thats not really how reference variables work.. @main lake

main lake
#

@trim matrix why, as I made a Button Object reference but in drop down menu it doesn't show me all the buttons I created

trim matrix
#

yea reference variables dont work like that

#

Think of it like this sorta

#

You can only ever set a reference variable in game

#

Or if the actor exists within the level

#

You are going to need to make some code that runs in game to fill your array.

main lake
#

But I don't want that I just want thing with key+value

trim matrix
#

same thing xD

#

you are going to need to make code that runs in game to fill your map

frail relic
#

i posted in plugins but just incase i'ma post in here too cuz i'm in need of some help. i'm using the va rest plugin and i'm getting my json and everything and the content comes through as a string but i can't "delve" into the json and get my vars/ objects/ fields

clever cedar
#

Hi is it possible to have a blueprint contain an instanced uobject? Whenever I add an object reference to my blueprint, it expects an asset. I need to edit these default values inside the uobject at design-time. Thanks

marsh seal
#

It is not

#

you can use reference Assets.. like a static mesh or a particle system or something... but instances of an Actor or something only exist at runtime

maiden wadi
#

You can do that if your actors are placed in the level. Direct Blueprint Communication. Besides that you cannot.

marsh seal
#

unless your character is also already on the map

#

yea

maiden wadi
#

You'd have to make one actor spawn the other on it's beginplay, and then use that reference at spawn to set your references if you wanted to do it at runtime automatically.

marsh seal
#

^

main lake
#

I mean I can't set it up in a for each loop and don't know why

subtle nova
#

Question ๐Ÿ˜› To add to the list.
I'm trying to spawn a "Press E to Interact" widget over an object when the player is near. In order to keep it modular, the interactibleness is an actor component I can drop onto whatever I want. When I spawn the widget though, it's not over the object as I'd like.
How can I tell a widget what it's transform should be, when it's being created by an actor component?

bitter mason
#

so i want to change a parameter of a slot material at runtime, is there an equivalent to this for my purposes?

marsh seal
#

take the return value and you should be able to "set parameter"

#

"set vector parameter", "set actor parameter"

#

that stuff

maiden wadi
#

@subtle nova It might be easier to leave the widget as is, and just move the component or actor that has the component in it to where you want it in world space.

bitter mason
#

@marsh seal the thing is it gets the base material, the parameter gets changed (checked by printing) but i dont see the result of the changed parameter. i figured it was because its a slot material

#

but this assumption might be wrong

trim matrix
#

@trim matrix nah
@alpine halo But thats what im looking to achieve :/

#

I want to have a color that fills the whole screen

#

then on top of that the inventory window

bitter mason
#

weirdly it works now, after i restartet unreal

#

so nvm

crimson swan
#

@main lake did you figure your issue out?

past girder
crimson swan
#

your execute pin isn't connecte

#

connected*

past girder
#

Oh, thanks

crimson swan
#

no worries, it's usually the simplest solutions lol

past girder
#

Lol

brazen elm
#

does anyone know why a particle system (niagara to be specific) would show up in the PIE, but not in a packaged build? thanks

past girder
#

@crimson swan But i still can`t make a torque node

crimson swan
#

you have the add torque node though

#

you just need to connect the while line to it

past girder
#

But its in Degress

#

I need plain

crimson swan
#

let me check that tutorial sec

#

haven't really worked with that yet

past girder
#

Ok thanks

fathom cobalt
#

I tried making a character pawn that has simulate physics enabled, but when i ran simulation, instead of going to the target point itโ€™s body (a cube) just jumped up and collapsed without doing anymore

crimson swan
#

you should be able to just put the add torque node

#

belicure you need to set up a few other settings before it won't just collapse on itself

past girder
fathom cobalt
#

belicure you need to set up a few other settings before it won't just collapse on itself
@crimson swan like what?

crimson swan
#

@past girder try unticking context sensitive

#

belicure to be specific you just want an object to have physics right?

fathom cobalt
#

Yeah

crimson swan
#

ok your issue might be that your mesh has collisions enabled and so does your actor capsule

past girder
#

@crimson swan doesnt work

crimson swan
#

infinite collision = my people need me

#

ok shadow hold up let me boot up ue4

past girder
#

ok thanks so much

fathom cobalt
#

To put things in perspective I followed this tutorial and now I want to make the thing thatโ€™s sliceable move around https://youtu.be/8G3uxbHg89U

Do you need to make a Sword for your VR game in unreal engine?
This Unreal VR tutorial is just what you are looking for.
*
unreal engine VR sword tutorial
Unreal VR sword
*
Welcome in my and new simple Unreal VR tutorial.

You need to get ready your mesh first, so make sure th...

โ–ถ Play video
crimson swan
#

you're getting linear velocity

#

that's why it's not workign

#

@past girder

past girder
#

Yeah but then i cant and normal linear velocty

crimson swan
#

yeah you can

past girder
#

Ops fixed it

crimson swan
#

i don't think you followed the tutorial very well XD

past girder
#

Ops

#

Sorry

#

Thanks for taking time

crimson swan
#

hahah no worries, it's a learning process

#

all that matters is that it works ๐Ÿ˜›

#

@fathom cobalt So you're basically trying to move the table that he's slicing if i'm understanding?

#

if I'm honest i don't really get what's going on in your game exactly, when you say your mesh collapsed you mean it became a pancake or just stoped moving etc? If you could get some pictures that would help

fathom cobalt
#

Not literally a table. Just something with the same code as the table

#

gimme a sec ill get pictures or something

main lake
fathom cobalt
crimson swan
#

am i looking at the anvil or the white cube

fathom cobalt
#

Both the Anvil and the Cube have SimulatePhysics for their meshes and are character actors

#

yes

#

they basically suffer from the same problem

crimson swan
#

ok, the problem i'm seeing is you have a capsule and a mesh

#

i'm 99% sure both have collision enabled right?

#

as in both the capsule and mesh on the same actor

fathom cobalt
#

they have "pawn" for colluision presets

crimson swan
#

set your mesh to no collision

#

it should stop going crazy

#

or rather to overlapp

#

that way it can still get cut

fathom cobalt
crimson swan
#

do you have a node that removes them under some condition?

fathom cobalt
#

I shouldn't

crimson swan
#

ok out of curiosity what fi you unlinked the beginplay

#

would it still dissapear?

#

because clearly it hits the ground, doesn't spaz out and then vanishes

#

i mean otherwise i really have no idea. from my limited experience with physics in ue4 the main issues i've had were always two things on one body colliding with ea other

#

or bad collision settings

fathom cobalt
#

They do disappear

#

Thank you for trying anyway

crimson swan
#

hopefully someone who messed around with it some more shows up :/

dusk flame
#

Is there a way to do regex based validation on textbox input?

normal robin
shy path
#

im trying to make a system (in multiplayer), where whenever a player enters a trigger box, a song starts playing. And leaving makes the volume fade to zero. But i only want it to work on the player activating it. Any ideas?

main lake
#

if someone could explain to me, how can I get the value of a specific item in a TMap please using a For each loop ?

fallow orchid
#

Hi! how to set vector via config variables? floats, integers, bools are fine.

main lake
#

It doesn't answer my question

#

I have TMap with 9 buttons as keys and they have each of them assigned a boolean value, I want to use a for each loop to modify the background color of the button pressed by the user and switching the boolean to true if it was false, and false if it was true but again only for the button pressed (wich is in TMap as key)

simple dragon
#

hi how to rotate vector

near crag
#

I'm trying to get this to make the character move in the direction on the cursor (top-down). Before I had a node set up that checked for the hit location, but that gave me trouble with the navmesh. The set up I have here kinda works in the way I want it to, there isn't any annoying pathfinding, but the character will only move forward and will sway left or right depending on the mouse location until it falls off the map.

spring magnet
#

@near crag im not sure what the Add Movement Input would do, try getting rid of that

#

Simple Move To Location will handle the movement using pathfinding, manually calling Add Movement Input will only cause problems

near crag
#

The character won't move at all without the add movement input, it's the same with my old set up:

#

The above works, but it uses the navmesh which makes the character move in directions I don't want it to when the cursor hovers above areas not covered by the navmesh

spring magnet
#

ah, so you want the player to walk directly at the cursor location, regardless of obstacles?

near crag
#

Yes

spring magnet
#

i havent done character stuff in a while so im gonna hop in engine real quick brb

crimson swan
#

^that's how you're supposed to do it

#

it's what i have, except i'm not sure i'd put it on tick if it's a multiplayer game

#

but then again if it was that wouldn't work to begin with

near crag
#

Ah that works perfectly! Thanks!

spring magnet
#

no problem ๐Ÿ™‚

fathom cobalt
#

How do I make objects (capsule for example) not collide with very specific objects?

alpine halo
#

Make a collision preset

#

In settings/project settings, there's collision panel

#

And after make your capsule to ignore collisions for that preset

flat raft
#

Hey yyoooo

alpine halo
#

Hey

flat raft
#

Very hot ๐Ÿ˜‚

#

Cali fires

#

How's your AI studies?

fathom cobalt
#

I'm thinking more specific than thaty

#

like, if I only want a sword or anything like the sword to penetrate the capsule, how do I do that?

robust gull
#

hey can someone help, im trying to create a text obfustication effect as can be seen in minecraft (example below)

#

oh wait crap its not doing the thing

#

(if you open the original it should work)

#

sorry for the hamfisted explaination

hearty moss
#

@ripe drift game instance isnt replicated so it only exists on the server

robust cliff
#

Does anyone know how to spawn the player after the Main menu start button is pressed?

#

cant i just use restart player

violet wagon
#

When my character is standing on a blocking volume, all ai in my game stops following my character, but when my character is standing on anything else, my ai will follow. Navmesh surrounds my whole level. Anyone know why?

hearty moss
#

probably because the ai cant find a path

#

@robust cliff what do you mean

robust cliff
#

I am trying to get a start menu implemented in my game. So instead of just starting and spawning the pawn automatically from the player start. I actually have to press the start button

#

@hearty moss

hearty moss
#

are you talking about a basic main menu system?

#

use the 'open level' node on button press

robust cliff
#

ok

#

i already did that let me try something different

hearty moss
#

so make sure you have 2 levels. one for the main menu, and one for your level. i always use a new blank level for the main menu

robust gull
#

I found a solution but its awfully janky, are there any improvements that could be made?

hearty moss
#

@robust gull why don't you use a timer

robust gull
#

timer?

#

oooh i see

#

Set timer by event?

hearty moss
#

im assuming you want the text to change every so often

#

yes or set timer by function name

#

run that timer on begin play and set it to loop

#

then connect your blueprint code stuff to the custom event you make

robust gull
#

Hm, I get a signature error from connecting it to Event Begin Play

hearty moss
#

wait can you show me your blueprints

robust gull
#

okay well it runs with a Set Timer by Fuction, but i dont get that rapid changing effect

hearty moss
#

hold on

robust gull
#

Oohhhh

hearty moss
#

the 'DisplayNumber' event you see there is a custom event. you add those by right clicking and using 'create custom event'

#

then in the 'set timer by function name' node, make sure 'function name' is the name of the custom event you make

#

this will also loop indefinitely like how you want

wintry storm
#

Hi, I'm new to Unreal and am using it to get realistic screenshots for ml dataset. I'm trying to automate getting screenshots using blueprints from different camera views. Blueprint picture attached. Any thoughts on why nothing shows up in default saved screenshots folder?

hearty moss
#

i'd suggest possessing the cameras from within your for each loop and replacing the 'take automation screenshot' node with a console command

wintry storm
#

@hearty moss Thank you! I guess I will try that.

hearty moss
#

np

#

@robust gull how did it go

tawny bison
#

anything wrong with using json?

robust gull
#

Its going good, though I never actually intended for it to go indefinitely. Its supposed to be used as a sort of animation.

#

but now that i have that working I can probably work through it

hearty moss
#

yeah you can make it not loop indefinitely

#

gl then

robust gull
#

oh yeah ill probably just use a bool for that

hearty moss
#

you can actually use 'pause timer by function name' to stop it from looping

robust gull
#

Oh! thats convenient

#

thanks

#

Huzzah! its all working perfectly now!

hearty moss
#

good to hear :)

#

you can also use 'clear timer by function name' if you dont need it to resume again

robust gull
#

there is one more thing i'd like to ask, is it possible to get the number of digits in an integer? So for example, 100 returns 3

hearty moss
#

uhh im not actually sure if theres a node for that. you could run a while loop and divide the integer by 10 until the value you're testing is less than 10, and increment another integer every loop

robust gull
#

hmm

#

i think i understand what youre saying

hearty moss
#

there may be a better way of doing it but this should work

#

actually this will get 1 less digit i think

#

yeah. change the 10 to a 1

#

@robust gull

#

if u have any questions lmk

robust gull
#

where did the digits integer come from?

hearty moss
#

it's just a new integer

robust gull
#

Any value or do i leave it blank?

#

because so far when i run it it just adds by 2 each time

hearty moss
#

it should be 0

#

the ++ node it's connected to is the 'increment int' node which just increases the value by 1

#

so if it were anything higher than 0 then the value would be wrong

#

if you're gonna run it multiple times, make sure you reset digits back to 0 before running the loop again

robust gull
#

Ahhh okay there was the issue

hearty moss
#

if you need to keep the value, you can store it in an array

gentle urchin
#

Wouldnt it be easier to go int to string -> length?

dense mica
robust gull
#

huh that would have worked easier wouldntve it

gentle urchin
#

๐Ÿ˜… would think so

#

Dunno if theres a length node for strings or if you need to go via char array or smth but in essence it should work

robust gull
#

haha yeah it worked

#

wow

#

its funny how we can overlook the simple things

#

anyway, ive despaghetti'd my code and the entire system works flawlessly now. Thanks for all the help!

gentle urchin
#

Perfect.

queen meadow
#

guys do you know how to fix this?
Im using a basic ik setup(fabrik node) with effector target the hand_r, hand_l as the tip bone and upperarm_l for the root bone. For some reason it messes up the animations. Any ideas?

#

without ik

#

with ik

wise raven
#

@queen meadow you can adjust the effector location in the anim blueprint itself, check the viewport and you will see a diamond shaped socket on the forearm , you can adjust it

queen meadow
#

it doesnt let me do that. It locks in place

chilly jetty
#

how do I get a media Texture into an Image?

#

for some reason an Image in my MainMenu UI isnt accepting it

jaunty dome
#

is there a simple solution to randomly pick a pair from a Map ?

atomic salmon
#

@jaunty dome get the Keys array from the map and pick a random Int between 0 and Last Index. Use that key to get the value from the Map.

#

Or use directly the Values array with the same procedure.

jaunty dome
#

thank you, I figured it out sometime ago (using the same technique)

north bay
#

I created an PlayerCameraPawn but when I hit play Unreal is not using my camera.

What I already tried:

  • I changed the default Pawn and the player controller in the world settings.
  • I also selected my PlayerCameraPawn and changed auto possess to 'Player 0'.
  • I also removed the standard mannequin from the scene

What could be the solution?

atomic salmon
#

@north bay Is there any Player Start in the level?

granite forge
#

Hey, does anyone know if it's possible to assign actor component references in the blueprint properties panel? For some reason I am unable to do so, as they don't show up, but at the same time if I hook them up via construction script, they work just fine. I'd just like to avoid the whole wiring construction script step and assign them directly in the properties panel instead.

#

I am kinda confused why would the blueprint properties panel have an asset picker UI element for actor components when nothing can be picked anyway.

charred berry
#

in content I double clicked on /thirdpersonBP/ then the character on left, edited the 'mesh' on left i components, and altered scale to my need, and after compile and save, I got compile error, is this an issue or did I edit wrong file ?

atomic salmon
#

@granite forge the UI picker is meant to set references from the Asset Browser, so someone else (e.g. an artist) can use your Blueprint and tweak the visuals without changing the code. You expect more a Unity-like behaviour. You already have a reference to the Static Mesh Component which you can drag to the Event Graph. If you want a copy of that reference within your custom component you can set it as you did (Construction Script or Begin Play).

#

@charred berry what's the error?

charred berry
#

compile error is all I recall

#

it was last night so

#

Ive altered scale of character before but it never did this

#

I looked in console still in bp and the errors had nothing to do with my altering the scale of char. mesh

#

let me look one sec

#

here is one Pin for variable 'Crouching Input Open?' recreated, but the variable is missing.

#

got that after hitting play for game

#

Pin for variable 'Output_Get' recreated, but the variable is missing.

atomic salmon
#

@charred berry usually there is a visual in the Blueprint showing where the error is. Sometimes it is necessary to delete an outdated pin (which appears in red) and reconnect it properly.

#

So scan your Blueprint, find where the error is and follow the visual cues.

charred berry
#

ya but why all this after just changing mesh scale

#

I'll look ty

#

am I altering wrong component ?

atomic salmon
#

@charred berry no idea. Maybe that affected something else. It may be easier if you post some screenshots of what you did and what the error looks like. If you restore the mesh scale to its original value does the error go away?

charred berry
#

lets see

#

it doesn't oddly, all I did last night, and will here is restart without saving, honestly I think its a bug

#

but not being a awesome programmer I felt I should come here first ๐Ÿ˜‰

#

maybe I am altering wrong component, seems it doesn't like I messed with mesh component...

severe iris
#

This would be the relevant BP, i've tried changing spline dir, but it doesn't fix anything ๐Ÿ˜•

#

Essentially I'm just creating a spline mesh between every pair of points. The tangents are just terrible at the minute, but that's not the result I expect even without proper tangents

mortal wharf
#

What is that one node called? The like node which opens links/internet addresses?

glacial eagle
#

launch url

mortal wharf
#

Thanks!

main lake
#

If I have a set of widgets (checkbox + a bool value) in a grid, How can I check when a widget is pressed as I can't use the OnPressedButton as the button is not there and it's in a Grid, so I don't know, help please

primal smelt
#

Anybody have any experience with generating splines using arrays? I'm not trying to create a spline mesh, I just want to use the construction script to generate the spline using a vector array so when I place the spline bp into the level I can have the number of spline points I want at the tangents I want and at the appropriate length. Every tutorial I can find is about setting up a spline mesh component which you can then drag out manually in the editor window but this is not what I am after.

uneven whale
#

probably an easy one

How do I check if user is within trigger box? I see on overlap begin, overlap end, but not one for isUserOverlapping?

jaunty dome
#

is there a way to debug infinite loop in blueprints ?

#

it is giving me a callstack, however I cannot print the variables that might cause it

main lake
#

@uneven whale use the OnBeginOverlap , this will be true until the player leaves the trigger

uneven whale
#

hmm ok

#

thanks

atomic salmon
#

@jaunty dome if you know where it is happening, you can make a loop counter and check its value, then branch out if it is > max loops. Put a break point there so you can debug.

jaunty dome
#

sadly while loops don't have breaks

#

however i just found out about Blueprints debugger

#

Adding a breakpoint has helped me find where the issue is

#

thank you ๐Ÿ™‚

primal smelt
elfin hazel
#

It's an ADD() to an array, probably of type SplinePoint struct or something.

primal smelt
#

Great, thanks!

atomic salmon
#

@jaunty dome that's what I was recommending above. To add a breakpoint.

#

Glad you solved it anyway.

jaunty dome
#

ah yes, didn't notice sorry

#

thank you, nonetheless

vapid hatch
#

can i somehow save a whole row of a data table in a struct and not just the handle?

main lake
#

please help

twilit heath
#

@main lake override OnMouseDown

tight venture
#

From when you start the game, what is the earliest possible event trigger that I can override to bind a delegate function from my World Subsystem? LevelBlueprint::BeginPlay()?

#

Should be noted that, of course, the subsystem will need to be initialized, of course. Is there a PostInitialize for subsystems? Gonna look that up lol...

twilit heath
#

if you don't have an inherited BP class

#

binding delegates is fairly safe

#

its the blueprint initialization that overwrites the dynamic multicast delegate invocation lists when it deserializes

#

so you lose anything bound to those delegates before the BP was initialized

#

@tight venture

main lake
#

@twilit heath Wait how overriding OnMousebuttonDown will know wich widget has been pressed ?

twilit heath
#

because its a function on the widget

main lake
#

But I have to do it on my main widget containing a grid of my checkbox widget or in the checkbox widget ?

twilit heath
#

if you want checkbox to react to mouse down, then in checkbox

main lake
#

the thing is in the checkbox I have the event "OnCheckStateChanged" but in my main widget containing 9 checkbox it's not there

#

and as I tried to use that event in the checkbox to call a function in my main widget, I can't because it needs a target and it has to be the same type as my main widget, but I don't have an object to cast tho

granite forge
#

@granite forge the UI picker is meant to set references from the Asset Browser, so someone else (e.g. an artist) can use your Blueprint and tweak the visuals without changing the code. You expect more a Unity-like behaviour. You already have a reference to the Static Mesh Component which you can drag to the Event Graph. If you want a copy of that reference within your custom component you can set it as you did (Construction Script or Begin Play).
@atomic salmon Hmm, I don't think that is right. I tried to create Static Mesh Component based asset within the content folder, but it still does not show up on that list. So the mystery continues, I still have no clue what is point of that UI list picker ๐Ÿ˜

atomic salmon
#

@granite forge Try with a Static Mesh, which corresponds to the visible content of a Static Mesh Component.

granite forge
#

I have tons of static meshes in my content folder, so they'd show up ๐Ÿ™‚

#

It's literally reference to a static mesh component, not the static mesh asset. It's very confusing though, as I have no clue what are the conditions for anything to show up in there.

tight venture
#

@twilit heath Oh okay. No, I don't have a BP subclass of the world subsystem. So, in a LevelBlueprint, in BeginPlay(), is my world subsystem guaranteed to be initialized by that point?

#

I'm only asking about BeginPlay() because I really just don't know where else to be binding the delegate

#

The WorldSubsystem is acting as a LevelGenerator, using a DataAsset to generate the floor/walls in a maze-like level

#

I just need to "pass" the delegate the correct data asset to use to generate the next level (which I guess I'll be pulling from GameState or GameInstance, I dunno yet)

#

or really, I guess I just need the "next level" data asset to always be available in the game instance/state <-- which one? and then, as soon as the subsystem is initialized, it can go ahead and wipe the old level (if there is one) and create the new one and display it

#

Dunno exactly the timing of how that should go down, but I'm getting there...

twilit heath
#

i wouldn't even allow BeginPlay

#

until the world is fully generated and ready for play

tight venture
#

makes sense, so then when should I generate it?

twilit heath
#

btw

#

you can call it directly

#

WorldSubsystem's Outer is World

tight venture
#

oh

twilit heath
#

its LevelActor is your level BP

#

as long as it has a c++ base, you can execute functions on it directly from WorldSubsystem

#

WorldSubsystem also has a working GetWorld() function

tight venture
#

Is it safe to call at the end of Initialize()?

#

I had heard that that function should be completed before using the subsystem at all

twilit heath
#

don't know the eact order of execution

tight venture
#

By "it", I mean GenerateLevel(UDataAsset const& level)

twilit heath
#

but i would have GameMode (not GameModeBase)

#

direct the procedural generation

tight venture
#

hmmm

twilit heath
#

allowing ReadyToStartMatch to return true only after procedural is done

tight venture
#

okay

#

thanks Zlo!

#

good info

twilit heath
#

you can start it after Super in InitGameState from GameMode

tight venture
#

practically writing this for me lol

twilit heath
#

basically - until GameMode is ready to start match

#

it won't allow DispatchBeginPlay to be called on World

#

so no Actor can call BeginPlay as a result

tight venture
#

k

#

awesome, thank you!

twilit heath
#

by the time your GM calls InitGameState

#

World, WorldSUbsystem and LevelActor are all fully operational (with exception LevelActor not having called BeginPlay yet)

tight venture
#

How did you learn all this? I have searched for stuff like "ue4 game play startup sequence" kinda stuff, haven't found all that info

twilit heath
#

GameMode is Spawned

#

by the World

tight venture
#

Just wondering if there was some sort of reference page I missed, or you just learned it all by experience

twilit heath
#

after its loaded

tight venture
#

nvm, continue...

twilit heath
#

by that time World is there, World Subsystem is there, and all actors from the package are there

#

so anything preplaced on the level is there by the time GM initializes GS

tight venture
#

"the package"?

twilit heath
#

that includes LevelScriptActor

tight venture
#

okay

twilit heath
#

(which can be subclassed and set as a parent class for level BP)

tight venture
#

great. I appreciate your time and feedback, Zlo

#

Thank you.

twilit heath
#

and i read a lot of source code

stable plover
#

Hello. We have the ability to replace the parent class for the widget. Is there some way to also replace the class for the button? I know that you can create a custom button, but I would just like to replace the class for the existing one. thank

tight venture
#

Really, just create a new Widget Blueprint and make your own button, afaik, it's simple and I've done it before, it works.

Or you could do it in C++ by subclassing UUserWidget? I think <--? Or you could go hardcore and use Slate and customize everything about the button hehe

twilit heath
#

it still wouldn't replace the UButton

stable plover
#

I need extend UButton from c++, yeah

twilit heath
#

only engine alteration could do that

tight venture
#

Oh... okay, you want to replace it?? Oh... Nvm forget I said anything, I dunno

twilit heath
#

yeah, but there is nothing automatically populating widgets with UButtons

#

so you might just as well use UCustomButton isntead

stable plover
#

E.g. I have some projects, projects have complete UI, I need replace already exist buttons to my custom buttons

twilit heath
#

unless what you're after is retroactively changing every UButton in your UI with UCustomButton

worthy frost
#

that would not be easy, why do you need a custom button for

stable plover
#

for manipulation UI from my plugin

stable plover
#

okay, found it

#

It's can be done easy

tight venture
#

Is there some sort of Replace References function in the editor?... I mean, it does exactly that when you delete an asset. Hey! Maybe, create your custom button widget, then copy the Engine's UButton class to a safe place, then delete it, and have the editor replace all the references with your custom one, then just copy the Engine's original UButton back where it was! @stable plover

#

oh

#

lol ^ kinda crazy idea, but was just spitballin for ya

stable plover
#

Step 1 : Create custom class wrap UButton
Step 2: Go to widget & select needed button
Step 3: RMB -> Replace with...
If all okay & custom class exist - you can change it

tight venture
#

that would only replace one of the buttons though

#

right

stable plover
#

yeah, no all buttons of course

tight venture
#

not every UButton, in every widget

stable plover
#

yep, it's work, but slow & need to do it manually

tight venture
#

that's probably your safest bet.

stable plover
#

best way in dreams - replace all UButtons to custom, but idk now how to do it

tight venture
#

my idea was a little looney, but just thought, maybe it would work lol

stable plover
#

need to be tested, thx

tight venture
#

I suppose if your custom button had as a part of it a UButton then my idea wouldn't work, cuz then the custom button would break when you delete the original UButton

flat prairie
#

A blueprint that was moved/deleted months ago is still showing up in the list of actors. I've tried using fix up redirectories but that's not fixed it! anyone know how to remove the reference completely?

fallow orchid
#

what's wrong with actor component config variables? I can't set it via game.ini. All other config variables work just fine except one actor component.

fallen glade
#

I've been trying the dot product and atan method but it's not working : /

proven mason
#

for the speed of the walk is it 600cm/s? or 600cm/hr?

#

I would assume it's the former

#

so I'm talking about the max walk speed of the 3rd person example character

hollow cape
#

@fallen glade dot product I believe is what you want

maiden wadi
#

@proven mason per second. 600cm/hr is about the speed of an ant. A slow ant.

proven mason
#

so ya former indeed.

#

what I don't get is the max acceleration by default is set to 2048 cm/s

maiden wadi
#

What about it?

proven mason
#

I wouldn't call myself a physics expert but I don't think accerlation rate would be higher than the max walk speed of the character which is 600cm/s

maiden wadi
#

Well, presuming that it is 2048 acceleration per second, consider that if you limit that to 600, it'll take a full second to reach max speed. With that same logic, 2048 acceleration reaches full speed in 0.292 seconds.

proven mason
#

I was looking up the average speed as well as the average velocity for an average athelete

#

the avearge speed is 24 km/hr so if you translate that into Unreal Units it would be around 666.66 cm/s

#

close enough to max walk speed.

#

NEwayz I'm just trying to be releastic when it comes to numbers for speed and acceleration.

#

I think you can tweak the curve of an acceleration using the "add timeline" node

#

so imagine I'm using an analog stick and tap the stick quickly to a scale of 1 and continue to hold at that scale the dude would have an explosive accerlation only for a few seconds.

fervent crag
#

Hey ๐Ÿ‘‹ So I have this weapon sway system that uses lerp rotation and I noticed that when I have low fps, the weapon sway isnt updating as fast as it should. Also yes, I multiplied the lerp alpha with world delta seconds.

devout geyser
#

Hey guys, how are you doing today?
Quick question, I have a behavior tree that when enemy can't see player he will move around randomly and when he sees the player he will chase him, the problem i have is that only when he arrives to the random location he will start chasing the player and lets just say i want him to like break from the "patrolling" state and move to the chase instant before he will arrives to the random location, how do i do that?

crystal mural
#

I've hit a tiny roadblock (more like a traffic cone). How do I convert this colour? I'm just making text go from green to red as an enemy's health drops.

atomic salmon
#

@crystal mural

crystal mural
#

I get this. But that's the same as recombining my structs. I'm not quite sure what's happening with this conversion. But in game it goes from green to yellow and then stays yellow.

#

The alpha is definitely updating properly.

atomic salmon
#

@crystal mural check with a Print String

crystal mural
#

Cool, let's see...

#

I watched the colour value and it's coming out right. But not sure what this conversion is doing to it. I think maybe I need to do a material on the text rather than this.

stiff hatch
#

quick question i'm having a brain fart. what is the node called to get the first few characters of a string (specified by one of the inputs)

crystal mural
#

@stiff hatch I saw a tut by the good Mathew Wadstein. It has somdthing in one of this String tutorials. Select String maybe?

stiff hatch
#

OMG you're a life saver. that wasnt it but it jogged my memory. it was "get substring"

crystal mural
#

Split string?

stiff hatch
#

thank you so much xD

#

also yee Mathew Wadstein is pretty cool guy ๐Ÿ˜„ helps a lot

native terrace
#

anyone would know why i can't cast my generic class to derived class?
I have class B inheriting from A inheriting from Actor.
When i cast Actor ref to B or A it fails..

tight venture
#

@native terrace I don't believe you can cast references. Pretty sure that "Foo&" must refer to an object of type Foo, and can't be coerced into being treated as a subclass. You'll need to use a pointer instead.

native terrace
#

i'm talking blueprints, not c++ tho, there are no pointers in blueprints. the casting node fails for no reason

tight venture
#

oh crap this is not #cpp

native terrace
tight venture
#

lol

native terrace
#

heck this shit will be simplier to implement in c++ if i don't make this node work

#

this is damn stupid. The "is child of" node returns true, so the engine has correctly set the parenting, but casting fails BrokeBack

tight venture
#

post the graph where it has the error

native terrace
#

you can probably cast references, c++ allows for a lot of stuff donk

tight venture
#

Well, I am and I ain't... What I said I'm pretty sure is true, but I wonder if you could "cast" it when you assign the reference

native terrace
#

hang on for the graph

tight venture
#

a la Foo& foo_ref = SomeSubclassOfFooObject;

native terrace
tight venture
#

not sure if that would compile or not. I'm still thinking no, that's not allowed...

#

well, it's probably the other random actor then

#

you said there are 2 actors in this array?

#

it's probably failing on the one that's not actually a... whatever that says

native terrace
#

no it fails for both

#

that's my problem

tight venture
#

BP_ItemBaseInteractive

native terrace
#

it should work once, and fail the other time

#

yet it fails twice Sadge

tight venture
#

Try using your actor class filter