#blueprint

402296 messages Β· Page 866 of 403

vale pasture
#

I've created a render target to output a camera into a material ; But I wanted to know if you have some ideas for adding a widget on render target ?

#

I tried a lot of thing, but not working or expensive consumption ..

odd ember
#

I don't believe that can be resolved in blueprint

#

(at risk of being meme'd)

indigo bough
#

Is anyone aware of a way to add/remove/modify layers of a material in Blueprints?

odd ember
#

you can use static bools in either case on a dynamic material instance

#

but that's as far as it goes

orchid geode
#

@thorn trellis Happy to report that the I improved the interaction system by setting the input to the actor and not to the player, this way each actor references the player and no the player referencing multiple actors breaking the system. even reduced the trace ticks by using a Set timer by event in 0.1 and using Get valid nodes to prevent it from firing if invalid or conditions are false...

The Player still stops on its tracks tho... I will keep working with the collision settings, I'm that must be the issue here :/

vale pasture
rough cedar
odd ember
rough cedar
odd ember
icy dragon
mental robin
#

Is there some weird no no I don't know about when it comes to handling instanced meshes for replication

odd ember
glass crypt
#

Is there a way to access the OnPossessed event of an actor component's owner?

#

Would it make sense to call something on the actor component's BeginPlay instead and just activate or create the component in the owner in its OnPossessed event?

solar sequoia
glass crypt
#

Yes

solar sequoia
#

would it make sense, in this case, to use an event dispatcher that's called in the actor owner?

#

part of your problem might be that the component may or may not be present on the actor, and most methods may want you to ensure that it is present

pseudo isle
#

Hello there. Can anyone help me about the problem I have. I want to simulate physics but nothing happens. Capsule component is deleting successfully but simulation doesnt work. 😦

glass crypt
#

Or just call a custom event on the actor component during the OnPossessed event?

#

the owner's OnPossessedEvent ^

solar sequoia
solar sequoia
pseudo isle
#

I tryied what u said πŸ˜„ I have a crash now πŸ˜„

solar sequoia
#

oh, well whoops

#

I think that the crash isn't directly related, maybe

#

I use it just like this and it ragdolls as expected, so my assumption is that the other node isn't the correct one

icy dragon
#

UE5 bug? πŸ€”

solar sequoia
#

possibly

#

I'm waiting for a full release before I even try it

pseudo isle
#

Alright, I tried again witout crash. Nothing happen again

solar sequoia
#

I feel like that may be contributing here

odd ember
jovial charm
snow jolt
#

hey, im kinda new to unreal. is there a way to do "reusable" blueprint. like for exmaple having a blueprint to handle health and be able to add it to any object

bright harbor
#

does anyone have a tutorial or idea as to how to make the player automatically move up onto a platform if they just miss it by a hair?

#

almost like a saftey net type thing

odd ember
#

it all depends on your usecase

odd ember
#

but generally if you're testing it and you're missing a platform by a hair... extend the platform

bright harbor
#

gotcha, for the extra invisible collision, you mean extend the collider a bit?

odd ember
late gorge
#

anyone know why the engine would start crashing if you try printing large floats?

#

and yes, i have confirmed it is the act of printing them that crashes it

#

connect a single print or set text on a text render that transforms just that float

#

and it crashes

odd ember
late gorge
#

it's a blueprints only project

odd ember
#

otherwise this isn't really a place to help with that

#

the alternative would be filing a bug report

#

but again, not knowing the circumstance it's hard to say what's happening

late gorge
#

hmm what do i have to install again for a full stack?

icy dragon
late gorge
#

right, debugging symbols

#

tnx

#

and it'll work without any setting up even for bp projects?

#

i have visual studio if that's needed

odd ember
#

I can't remember honestly. I'd ask in #cpp

late gorge
#

aight, cheers

faint pasture
blissful grail
rose elbow
#

Why have I only just started using BP interfaces they're so damn useful

trim matrix
#

Hi guys, does anyone know how to view a specific AI behavior tree? like I have 6 characters for an example but i want to view the 4th character behavior tree

minor wolf
#

no because blueprint library functions are static

#

best bet would be to just have a parameter for whatever you need to pass in

#

you cant throw a compile time error for runtime code. for runtime, im actually not entirely sure. you can UE_LOG(LogMyThing, Fatal, TEXT("Empty Param")) which will crash the game, or Error instead of Fatal to make it red in the log window but continue running the game

#

oh crap im sorry, i didnt realise this was blueprint channel

#

blueprint compilation just makes sure the logic makes sense and that your blueprints are constructed properly, it doesnt do any runtime checks

wicked osprey
#

Guys, what solution do you think is better if I need to make separate slots for weapons and separately for ordinary items. Use one array and add weapons to the first and second slots, and the rest of the items to the rest. Or create two arrays for weapons and items? But then there will be problems of dropping items and removing it from the array you need

maiden wadi
rose elbow
#

If its a small project I'm sure it's fine but it's also best to put it into practice

maiden wadi
#

I use casts all of the time. Whoever told you that doesn't understand what they were saying. There is no such thing as "referencing part of a class".

rose elbow
#

Super anal that's a new one lmao

rose elbow
#

Pretty sure the Unreal devs say themselves not to use casts somewhere

#

If they are so against it why did they add it lmao

maiden wadi
#

Interfaces are fine in the specific use case that they're meant for. They are not a replacement to casting or correct framework.

rose elbow
#

I can't think of something a cast can do that an interface can't?

maiden wadi
#

Not cause me a fucking headache with accessing data because I have to add extra shit I don't need.

#

It's really not.

rose elbow
#

I guess its fine if you mix but idk why you'd have an entite project with solely casts

#

Anyway I gtg back to work you guys have a good debate

torpid hound
#

Just gonna pitch in here and say that interfaces are great, I love em. Use em all the time. But using them as a replacement for casts is just straight up misunderstanding the purpose of them

maiden wadi
#

To give you some background, the interface love came about because some twit wrote on Reddit that casting is a terrible demon. This is because they didn't understand how Unreal instantiates and holds CDO objects in memory relating to assets and such.

#

They were whining because their memory footprint was absolutely massive and they got around it by reworking their project using interfaces.

#

Which is doable. But they got lucky. Interfaces don't solve the problem of requiring a correct framework.

jaunty summit
#

Honestly interfaces make it hard to follow how objects are connected

maiden wadi
#

Interfaces are meant for interacting with differing class structures in similar ways. If you have an NPC base, and 6 different children, and you're interfacing all six of those children to do the same thing, you're doing it wrong.

#

Do you, anywhere in your project have an interface function that you call to get a reference to an object?

#

You can get the same data with the camera manager. You can also get the same camera just casting to your player character class. Which is always loaded, making interfacing pointless there.

#

Fair. It'll save you a single node.

#

I couldn't live with 20% slower runtime performance and that kind of abstraction. Would be difficult to follow. πŸ€·β€β™‚οΈ

solemn bramble
#

OK, just made a few tests myself. BTW, I had no idea that you can simply paste asset path the way you did, at first I didn't know how to put Widget Animation reference in the Data Table field. πŸ™‚ As in your case, it's working in the editor, but not in the build. My best guess is that Widget Animation soft references simply can't be passed this way, especially considering the fact that they cannot be added to the editor fields, as they don't "exist" as content browser assets.

#

What kind of confirms my suspicion is that if I attempt to load a soft reference for UMovieSceneSequence (which is a direct parent of UWidgetAnimation) it gets loaded both in the editor and in the build. The difference between those two classes is that I can add for example a level sequence from the asset browser as the UMovieSceneSequence
type soft reference, without any need for path-pasting workaround, as in case of Widget Animation.

jovial charm
tight pollen
#

hi, how can i get all maps name on persistent level?

jaunty summit
jaunty summit
tight pollen
#

I'm afraid c ++ is requires :/

#

but I hope I'm wrong

gentle urchin
#

^?

#

This is not advertisement channel

jaunty summit
cosmic nexus
#

@gentle urchin Thank you for telling me about the rules But as a member how can I showcase my update then?

jaunty summit
#

#work-in-progress

cosmic nexus
#

Thanks, buddy πŸ‘

dreamy yacht
#

Guys how can I change the VehicleMovement component settings on the fly ?

#

I need to override the vehicle mesh Z axis inertia and set different wheel class for about 5 seconds when the overlap is true

#

I want to create an effect when vehicle runs over the oil leak stain and losses control or steering becomes really skiddy

#

To do that I need to: 1st reduce the Z inertia, so the car becomes much more unstable, 2nd I need to alter the rear wheels wheel class and reduce the LatStiffValue and LatStiffMaxLoad

#

but I don't know how to cast since there is no such function available

jovial charm
dreamy yacht
#

Which bp would that be in, my character bp :)? - most probably

jaunty summit
jovial charm
# jaunty summit GetActorForwardVector

Ty :) because I started the project from scratch I generally have no clue where it will be.. do I use GetActorForwardVector whenever Im shooting or aiming?

jaunty summit
#

Give it the player camera manager: GetPlayerCameraManager

jaunty summit
jovial charm
jaunty summit
#

Well probably both. You can shoot wothout aiming

maiden wadi
#

GetCameraRotation->GetXVector

maiden wadi
#

Wait. Does camera manager's rotation follow the camera?

jaunty summit
#

I guess you can GetPlayerCameraManaget that way from several places

jaunty summit
#

It does what you said

maiden wadi
#

Oh. Neat shortcut. Will have to remember that one.

jovial charm
jaunty summit
#

You should be doing a line trace

#

Single line trace for objects iirc

dreamy yacht
#

Guys can somebody help me?

#

Guys how can I change the VehicleMovement component settings on the fly ?
I need to override the vehicle mesh Z axis inertia and set different wheel class for about 5 seconds when the overlap is true
I want to create an effect when vehicle runs over the oil leak stain and losses control or steering becomes really skiddy
To do that I need to: 1st reduce the Z inertia, so the car becomes much more unstable, 2nd I need to alter the rear wheels wheel class and reduce the LatStiffValue and LatStiffMaxLoad
but I don't know how to cast since there is no such function available

#

the activator in form of actor will be placed / spawned on map

#

and will cast to custom event

bright frigate
#

Hey guys, is there a way to make "reusable compartmentalised" blueprints? Let's say I want to make my player character, but I want specific functionality that would be mostly consistent across any game I make in the future. So I want specific interactions and abilities by default, which I can extend or change for games depending on what kind they are, but for all of them I'd like to keep a template. Is there a way simple way I can make this kind of template blueprint? I keep thinking that because of how we have many cross-blueprint functions and stuff, it would be difficult since a new game does not have those other blueprints being listened to or referenced, so I'm unsure how to go about it.

#

@trim matrix I see. Yeah in the project I was working on (complete now), I used a few event dispatchers and that seems to be a good way to keep things reusable. Could you give me an example of "components in plugins"? Since I'm not writing C++ and sticking to BPs, I haven't really touched plugins in that sense so don't know how it would work in a project. I've mostly seen them as things I can add to my project rather than something I'd make for my own use.

#

As I'm learning different things, I'd like to be able to keep whatever I learn as the main template from which I'd create other projects. Right now the problem I face is that for a new project, I'd have to once again recreate whatever I learned already instead of just pulling in what I made from a tutorial earlier. A long time ago when I was learning C++, I quickly figured out how to make those things I learned in class as reusable as possible, so later on towards the end when there was some big project, all I had to do was copy paste what I had written months ago (since I knew what it did) and it all nicely plugged in. Poor-man's #include library lol. Yea library is a good word. But these are just text files and stuff in unreal is usually a bunch of files, whole projects for just one tutorial and I'm trying to wrap my head around how to make those "libraries".

mellow folio
#

you don't need any C++ to make plugins

#

you can just put BP's in a plugin and share it between projects

#

just look up a basic tutorial on plugins

#

(go to plugins section in unreal and find option to create one, then just put files there)

#

So when you make a plugin, you're trying to write logic which is as self-contained as possible, a decent example of this would be a Hit Marker widget which is completely in charge of destroying itself

onyx token
#

quick question-
so the default character blueprint controller can be a little bit annoying.... Like rotating the mesh independently from the capsule, etc. etc.

Would it make sense to just... make my own character by pushing a capsule with a mesh inside around?

#

or is that kinda stuff doomed from the start and should be done via c++ ?

mellow folio
onyx token
#

well, that's kinda part of my question - what stuff can the default character controller do that i want besides... well- walking and jumping predictably?

mellow folio
#

just toy around with OrientRotationtoMovement and UseControlRotation nodes in the player controller

#

there are a few other settings there, and on the player character

onyx token
#

and that of course gives the problem - if i do an action that overrides that turn - it still gets activated, so i gotta build a bunch of redudencies in order to stop that from happening...

#

know what i mean?

mellow folio
#

well if your movement changes are instant, then rotation changes need to be too

#

and if you want your rotation changes to be gradual, you need to make your movement changes gradual too

onyx token
#

yeah, the movement changes are gradual

mellow folio
#

then use your Lerp Rotator and you're done

onyx token
#

basically - i draw my sword and enter "combat stance" - where the character always looks towards where the camera is looking.

#

So trying to scuff together my own character controller using blueprints is probably a bad idea you'd say?

mellow folio
#

for what you're trying to do, yeah

bright frigate
#

are plugins only able to be made using C++?

mellow folio
onyx token
mellow folio
bright frigate
mellow folio
#

No

#

The answer is no

bright frigate
#

ok but where did you tell me no?

thorn ermine
mellow folio
bright frigate
#

Yea the tag from Lorash skipped focus over Panther's message

odd ember
bright frigate
#

I'm looking for plugin tutorials but they all seem to be geared towards C++. If anyone knows of some better tutorials let me know or if there are better more specific keywords because lord knows how algorithms are dealing with searches these days, can't find anything exact anymore

onyx token
spark steppe
#

what are you trying to archive?

odd ember
bright frigate
spark steppe
#

no, joby

#

joby, do you just want to rotate your character to face another one?

thorn ermine
# bright frigate I'm looking for plugin tutorials but they all seem to be geared towards C++. If ...

Ok, let's see. I have made a few plugins, mostly c++ but maybe I can see if I can help you, are you looking for a way to extend the editor using blueprints? Perhaps Blutility is the keyword you may be looking for, are you looking to make a Plugin that contains blueprints, that you can share between your projects? Then you can simply use the Wizard from the 'Create New Plugin' for example. It will really depend on what you are trying to achieve.

onyx token
# spark steppe joby, do you just want to rotate your character to face another one?

Basically i'm following CE's advice of just rewriting my entire project from scratch with the new knowledge i have learned making this.

And since i'm starting new, i thought to myself "welp, might aswell try out with stuff that annoyed me"

One thing is
If i have my sword sheathed, i want the character to turn in the walk direction.
If i have my sword drawn - i want my character to always look in the direction of the camera.

And of course i don't want the transition to be instant - i want it to be smooth - but the epic character controller doesn't provide that feature, so i have to kinda scuff around and do it via lerp and set world rotation.

spark steppe
#

i dont think that you have to lerp

#

iirc the CMC has a turn rate setting

#

if you set a new control rotation, it won't snap there

onyx token
#

it does, but the OrientRotationToCharacterMovement bool is just a bool...
And if you activate it, it instantly snaps towards the look direction of your camera

bright frigate
# thorn ermine Ok, let's see. I have made a few plugins, mostly c++ but maybe I can see if I ca...

Thanks. No not extending the editor, although that may come in handy I'm sure later on.

I want to make a collection of things that I can reuse in projects. I don't know if plugins is the way to do it (which is why I'm asking here) but if so, then that's it. For example, in my previous project, which was based on the first person template, I added many abilities to the character, e.g. different modes of crouching, camera shake when walking, jumping or running, sounds, perspective change. But this character has no body and I want to now make a proper first person character, properly rigged and animated etc. Ideally I don't want to re-do all that work earlier that added all the functionality. Especially considering how different the FPP template is, where it's geared towards the traditional "half body" first person approach which doesn't work nice the moment your game has reflections. Things are getting messy just thinking about how to tackle this lol.

Another example is if I want to reuse my day night cycle which was made with help from many here here including Ben. I'd like to be able to just insert it into any new project without having to worry about rewriting or doing a lot of complicated stuff beyond reason. Now of course part of the problem comes where in the previous project, it was all made according to the project and without much thought of reusability.

odd ember
spark steppe
#

ok, then you only have to lerp when you switch the state tho

odd ember
#

you can check what bOrientRotationToCharacterMovement actually does in the code

#

and mimic that

onyx token
odd ember
#

reading code is easier than writing code

#

(to some extent)

#

(don't @ me with non readable code)

spark steppe
#

even if you stay 100% BP

#

understanding whats going on can help

odd ember
onyx token
# odd ember and mimic that

mimic it as in - override that function and still use the character controller-
or mimic it as in - try my best to recreate the epic character controller from scratch just using blueprints?

spark steppe
#

1% of crashs are a miracle

#

99% my own code, which i dont need editor symbols for πŸ˜„

onyx token
#

ok

odd ember
#

not recreate the entire character controller

#

just see what the code using that bool does

#

and see if you can leverage it

#

you don't need to craft another wheel just because a spoke broke on the one you're using

#

(just replace the spoke)

onyx token
#

well i would guess it probably takes the world rotation of my spring arm, and just... copies that onto the character controller rooThink1

#

considering the spring arm always rotates independently afaik

spark steppe
#

actually you rotate the character which rotates the camera

#

not the other way around

onyx token
#

it doesn't? rescWTF

#

i thought the point of the spring arm was to ignore the whole parent-child stuff and just rotate by itself independently of everything to make camera rotation easier

#

so the spring arm just accesses the rotation of the root and rotates that?

spark steppe
#

both is possible

onyx token
#

maybe it really would be valuable to look into it

odd ember
#

it's almost as if we're not here giving out bad advice

onyx token
#

this would probably show it right?

odd ember
#

WHO WOULD HAVE THUNK

onyx token
#

wasn't implying it either, i'm actually following your advice from yesterday and re-creating my project, but now more neat v1

odd ember
#

in this channel

#

but it doesn't give you the whole picture

#

you really need to examine the rabbit hole

onyx token
#

OhIPanda you mean this?

odd ember
#

yes

#

#wellthatsnotveryhelpfulatall

onyx token
#

well first i gotta find a smol tutorial showing me how to get VS running with ue4

#

seems like epic made one

icy dragon
#

There's some stray pixel but dangit crop it yourself lemao

onyx token
#

OhIPanda alright will do

icy dragon
#

Bright mode bonus for your enjoyment

jaunty summit
#

What's this? I'm far into ue5

icy dragon
thorn ermine
# bright frigate Thanks. No not extending the editor, although that may come in handy I'm sure la...

Ok cool. Yeah take Panthers advice and just look on google how to make a content only plugin. basically you can then distribute your awesome blueprints, and any assets really as a plugin, and access them by showing Plugin Content in the Content Browser. the key is Content only Plugin.

it is actually super easy to make, if you use the Wizard from Epic, Create new Plugin, you choose Blueprint Plugin, migrate your blueprints into this new plugin ( the Plugins\PluginName\Resources folder ) and then copy your plugin where it needs to be used in the [MyProjectThatNeedsThisPlugin]\Plugins folder.

bright frigate
bright frigate
#

Would be good to know how seasoned devs do it (reuse previous stuff). Plugin approach as well?

#

I see, thanks

keen wedge
#

Hi all, I'm experiencing a strange issue which I can't track down - hoping you might be able to help...

Little flappy bird clone... when the game first starts the bird is positioned in the middle of the playspace. When the player clicks play, the bird is repositioned slightly to the left and down (when the instructions are displayed)... when I clicked play, the bird should remain where it is, but physics and player input is enabled.

What's happening is that the bird is being returned to the "start" postion in the middle of the screen. I've tried all manner of things to debug this and I can't seem to find where its happening.

I have two variables that are in use for these two positions, and to check that it was definitely re-using the "start" position, I set the X axis value of the vector to 80 so that the bird would be on the far right of the screen (rather than just appearing at 0,0,0 which might happen other other situations). Sure enough... the bird gets placed at the start vector where X = 80 - yet I cannot find any code I have that would be causing this to occur?

The only thing affecting the birds positioning one these two stages is a Timeline I have in place which does the autoflight (up/down movement) - but the X value is passed in from one of the two variables based upon the current game state (Started / Get Ready / Playing / Game Over etc)

What's also interesting is that the Y position, which would typically always be zero gets a random value, I've seen -12 and -30 (plus floating points values etc)... this made me wonder if a collision was occuring with something... but I've added code to PRINT out collisions and nothings triggering that...

Little video example... any thoughts?

fair magnet
#

How do I make a component use the lifetime of another actor?
I need to spawn it in an actor which destroys itself but before it does that I wanna "assign" that component to a different actor so it won't get destroyed

bright frigate
dreamy yacht
#

Is there a way to force static mesh actor use and follow a spline path ?

keen wedge
dreamy yacht
#

I have some Mixer Truck, which I don't want to convert into skeletal mesh because it's too much work and performance consuming. This truck is intended to be a obstacle, that has it's own collision and crosses the road, then turns and goes back like forever in a loop

#

I would update the Truck world position through event tick

#

What do you think ?

keen wedge
odd ember
bright frigate
keen wedge
#

OOOOOOOOOOOOHH! ~~
~~
Can a Hidden UMG widget still receive input? Maybe I'm clicking in the same place where the Play button was on the Get Ready screen... ?

Clicked elsewhere... made no difference, issue still occured 😦

odd ember
bright frigate
#

damn

dreamy yacht
#

I'd consider using AI and navmesh for this - do you think it's gonna work with static ?

odd ember
#

otherwise

#

use breakpoints @keen wedge

odd ember
keen wedge
# odd ember use breakpoints <@!486928404361379840>

trying to create that via the PRINT nodes etc... just can't seem to find the "moment" where it changes its position on the X... thought it might be one last frame of action hitting the timeline after I'd called Stop but even if that was the case it would still be using the "get ready" position variable at that point..

odd ember
#

use breakpoints

odd ember
#

you will find the issue

odd ember
keen wedge
keen wedge
#

does this allow stepping through frame at a time? I was trying to find the value of the characters X position but it then appeared to be dead... as if the game carried on whilst I was looking at something in the breakpoint

odd ember
#

in your case I'd try and figure first what happens on begin play and the afterwards what happens on click

keen wedge
# odd ember it does. but you can hover over any pin and see values at each point as well

So I have a breakpoint on my function which is called when the game state changes to "Play" from "Get Ready"... that only has a couple of other nodes, the last being the one that enables the phyiscs... after I've stepped over that the game just runs, the player hits the floor and I can't step through anything else... I dont really want a break point on Tick do i?

#

I'm struggling to navigate around the engine between windows like this 😦

thorn trellis
bright frigate
#

@keen wedge I think you should just strip away everything and only leave your character spawning on game start (assuming this does not create the issue), so this will be a start point. You can then add very detailed PRINTs on every step of every other component, so that you know when a certain component starts. Then enable them one by one and you can track with the prints what is being activated and when. It's very ... unprofessional but it works almost always for these high level issues.

#

also if it helps, disable the general flow of the game so that it's just the player spawning and you don't have to worry about dying and all that stuff

keen wedge
#

I'm current "in" a break point... the character has moved across to the X=80 position on the screen, but when I select the actual component in the Blueprint its reporting an X value of -55 (like the PRINT nodes were)...

#

litererally now idea what I'm doing now 😦

bright frigate
#

Do you have any other ideas on implementing the player's position, different than what you have right now, some other approach? You can try doing that to figure out if it's the approach which is flawed or something else

#

I had an issue with my doors where the engine deals with it regularly 0-360 degrees, but then in the editor itself it only goes from 0-180 then flips into negative values. Lots of headaches with that

keen wedge
bright frigate
#

I don't mean what you're doing is wrong, I mean to say that there is something that is getting lost in translation between the what the implementation is and how the engine is dealing with it

#

like the doors issue I mentioned

#

usually things spawned in a place should stick there

keen wedge
#

all the values are greyed out when in the breakpoint mode... so I'm assuming those values aren't "current" etc...

#

sigh

odd ember
keen wedge
#

this is a ballache

odd ember
#

just hover over them

#

to see their values

keen wedge
# odd ember so the next breakpoint should be on input?

I added one to tick, but disabled it so I can enable it just before I step out of the other function I mentioned... then I step over... I didn't realise I could hover over a greyed out value... I will try that... but this seems to occur after three "step overs" on the Tick... there is no player input at that time (as I'm starting at the debugging)

keen wedge
# odd ember that's pointless

...as this happens without any player input, e.g. the game just ticks along, there were no other functions I could really add a breakpoint to which would be called?

keen wedge
#

the player clicks the get ready screen... the code runs... the issue happens (sometimes/sometimes not)... the player doesn't have to be doing anything at that point...

odd ember
#

that's a breakpointable function

keen wedge
#

yeah, but its not the right order.. the click has already happened to trigger the function that I've already added the breakpoint to (in the order of events etc)

#

its also only goes into it once, so its not like a double-click and repeating the same code

odd ember
#

that points to enabling physics being the issue

keen wedge
#

yeah, but when I drop a PRINT node (as I was before) straight after that, spewing out the players position, its correct, at -55 on the X...

#

this is really bizarre... not had anything like this before...

bright frigate
#

what if it's the camera that is shifting?

#

or the print is executing too early, before the change in position is actually registered

odd ember
#

only pre game

#

as soon as the game starts the prints stop

#

so I don't think you have the full data

keen wedge
#

not sure I understand... if I throw a PRINT into Tick its prints constantly in game?

keen wedge
keen wedge
odd ember
#

so you're seeing old data

#

in the video

#

presumably you're ticking the wrong class

keen wedge
#

oic... that print output, in the video, that wasn't coming from Tick but another function that is stopped (called from the Timeline to do the autoflight stuff)

#

ok... so just doing the hover over a property to see its true value when greyed out thing...

#

three ticks after the game starts, the bird is moved to X=80... yet hovering over the value in the engine still says -55.. ?

odd ember
keen wedge
#

yet in the viewpoint, its evident that it is X=80

#

I'm on the Tick node... so when I step over an entire frame has passed... its still reports -55...

odd ember
#

the entire execution has to pass through once for a frame to complete

#

and by virtue of function scope in programming languages, you cannot know a value of a function until you complete that function

keen wedge
#

...but it has...

odd ember
#

show me a screenshot

keen wedge
odd ember
#

of your code

keen wedge
#

x=0 would be the centre

odd ember
#

not of your bird

keen wedge
#

oh, sorry thought you meant of the breakpoint data...

odd ember
#

yes

keen wedge
#

was going to be the next screenshot

odd ember
#

the breakpoint data

#

is in the code

#

it's not in the game viewport

keen wedge
#

hovering over the property with the mouse... this is for the Bird sprite.. the only thing that I was moving with code...

odd ember
#

so if you're looking at it there those are going to be your default values

keen wedge
#

ok, I'll grab the blueprints... but shouldn't that -55 be showing -80 as its updated on screen etc?

odd ember
#

those won't change

keen wedge
#

oh...

#

I thought that was what you meant when you said to hover etc..

odd ember
#

no I meant hover over the pins in the BP nodes

#

that's what I said

keen wedge
#

its getting a bit hard to follow... when this occurs I'm not "in" a function... so I'm not sure what pin you want me to hover over...

keen wedge
#

ok.... so which one am I in?

#

honestly... I'm completely lost..

#

not trying to be difficult

odd ember
#

beginplay at worst. going from there it could be tick, it could be anything

#

I don't know your code since you haven't shown your code

#

it's really not rocket surgery

keen wedge
#

Thats the last "function" that is called... the wires going up and out are just to PRINT nodes...

#

after the physics is enabled, I guess things would be in "tick"... but I'm not using tick for anything...

odd ember
#

what's the issue?

keen wedge
#

what would I hover over, the pin coming out of Bird before it goes into set simulate physics etc?

#

then look at the transform data?

odd ember
#

assuming your function runs on tick

#

I still don't know the full extent of your code

#

but if you follow Lorash's advice and look at the call stack, you can see which function you are in at any given moment

keen wedge
#

Ok, I'm happy to send you anything/everything, but I dont know what to send you...

You are both talking about things I am not familiar with, so its difficult for me to follow the instructions, which probably seem straight forward to yourselves etc... I'm not trying to be awkward... but I dont know where I'd even find the call stack in here...

odd ember
#

when we're talking about blueprints

#

we're talking about things inside the event graph

keen wedge
#

yep

odd ember
#

or functions that have a similar graph

#

we're not talking about anything else

keen wedge
#

call stack?

#

where would I find that

odd ember
#

even if you forego the call stack, your breakpoints are in the event graph

odd ember
keen wedge
#

yep, first time I've used those in bp today...

odd ember
keen wedge
#

yes...

odd ember
#

so you must also understand that at any given time, while the game is running, some code is running

keen wedge
#

I do... but I guess what I was trying to put across was that it wasn't necessarily "my" code that was running... after the physics is enabled... nothing of mine is being triggered... what the enging is doing with the physics/collision or anything else, I'm not entirely privvy too...

odd ember
keen wedge
odd ember
#

if it wasn't, you wouldn't have a game in the first place yes?

keen wedge
#

that the call stack view (Execution Flow tab etc)

#

yes, I agree with you

odd ember
keen wedge
#

ok...

#

So, after it leaves my function where I turn the physics on... my only other breakpoint at the moment is on Tick...

#

but I dont know where else to add those breakpoints to, especially if its stuff happening in "engine" and not "my" stuff etc..

odd ember
#

it's only your stuff

keen wedge
#

not really sure what any of this means...

odd ember
keen wedge
#

I'm also loosing the mouse point when in breakpoint mode, so its a bit hard to navigate around

#

I meant the values on the right..

odd ember
#

that's why I suggested putting a breakpoint on mouse click instead of on tick

keen wedge
#

its the class name...

odd ember
#

really there's nothing obscure about this

keen wedge
#

breakpoint in place..

odd ember
keen wedge
#

😦

odd ember
#

you want the breakpoint to be in game

#

not on widget

keen wedge
#

so I need to create a new event somewhere else to detect the mouse click?

odd ember
#

you mean you don't have that?

keen wedge
#

no..

odd ember
#

so how do you play your game?

keen wedge
#

the widget responds to the click, fires an event...

#

the other code is bound to that event and responds

#

player controller is bound to the UI event(s)

odd ember
#

that's all irrelevant

keen wedge
#

in this case, OnGetReadyClicked

odd ember
#

how do you play the game

#

once you're in the game

#

how do you play

keen wedge
#

space bar to flap

odd ember
#

okay so space bar is flap

keen wedge
#

mouse to interact through the UI

odd ember
#

breakpoint on spacebar then

keen wedge
#

ok... but at no point during this issue am I pressing the space bar..

#

I can add one

odd ember
#

no but you want data from in game

#

you don't want data from pre game

#

so if you add stuff on space bar you are going to get an accurate picture

#

whereas everythign prior to that is irrelevant

keen wedge
#

ok... but, I think whats going to happen is you're going to ask me to run the game, click the screen to "play", then press space... but by that point the issue will have already occured, as its happening once the screen is clicked...

#

so, if the issue occurs.... I'll find out that the sprite is at x=80 - but still wont know why.

odd ember
keen wedge
#

ok... I'll add that now

odd ember
#

that's how you debug things

#

you could also try and add it once the game starts playing, after you click. e.g. inside the actor that has the bird

keen wedge
#

so now run the game, until the issue occrs and press space as quickly as I can when I see it happen

#

?

odd ember
#

now that you have that breakpoint, you'll have a call stack of things that happened up until the point where that breakpoint happened

keen wedge
odd ember
# keen wedge

so this looks like you don't have anything active on tick running in the background. which means all the actions are happening during the transition. where is your camera located?

keen wedge
#

Just to check, did you want me to add a breakpoint on the BeginPlay event for the bird also? wondering if this is why there isn't much in that call stack.

The camera is in the same BP as the bird... BP_Bird.. has a camera component and the sprite component...

odd ember
keen wedge
#

its only the sprite that is moved, relative to its owner..

odd ember
#

if that is your assumption

keen wedge
#

I'm assuming that it would be in this class yeah, only because thats where I've added stuff to move the sprite, and during testing I changed the "Start" location variable to be positive 80 so that it would be more obvious than say just defaulting to zero, which is actually where the start location should be... being that it ends up back at 80 on the X, it feels like its still using/applying the value of that variable for some reason... but, the logic doesn't seem to show me where/how...

#

Ive tested for collisions and none are reported... although I still don't understand why, when it happens, the Y axis gets changed to different values also, as I do not change that at any point at all, its always left/set to zero in my code... which is what made me feel that maybe a collision was happening in the first place...

odd ember
keen wedge
#

eh?

odd ember
#

during testing I changed the "Start" location variable to be positive 80 so that it would be more obvious than say just defaulting to zero

keen wedge
#

I knew where the 80 was coming from.... but I dont know why its being set to it... I am not setting it to use that variable after the first start screen...

odd ember
keen wedge
#

there are two location variables... one for the "Start" screen (currently set to 80 on the X, normally zero)... then the "GetReady" location, which is a little more to the left and down a bit...

#

both get passed into this function

#

but only when they are called from the players input

#

pressing Play on the Start screen...

#

Clicking on the Get Ready screen...

odd ember
#

I can't make anything out from this function alone

keen wedge
#

ok.. one sec..

odd ember
#

so you're setting the location of the bird sprite itself

#

not the actor as a whole

keen wedge
#

yes... thats correct

#

because I dont want to move the camera

odd ember
#

wasn't this your issue?

keen wedge
#

no

odd ember
#

so what is your issue

keen wedge
#

ok... let me break it down....

odd ember
#

just a simple sentence please

keen wedge
#

I cant really explain the steps in a sentence

odd ember
#

I care about what the issue is

#

what specifically happens that shouldn't happen

keen wedge
#

ok, so the bird should be at the "get ready" location when play begins, and isnt

odd ember
#

because you've moved it

keen wedge
#

no

odd ember
#

yes

keen wedge
#

because something is moving it

odd ember
#

yes your code is moving it

keen wedge
#

and I dont know what

#

this is why I wanted to explain 😦

odd ember
#

you set it to be +80

keen wedge
#

thats for the "Start" screen

odd ember
#

the game does what you told it to do

#

evidently not because at the start screen it's in a different position. even during the log you can see that the numbers are reflecting this

#

better yet

#

try removing that SetWorldLocation in the function you screenshotted

keen wedge
#

Click Play in editor
Start Screen Displayed - Bird Set to "Start Location" (80,0,-35)
Player Clicks Play Button
Get Ready Screen Displayed - Bird Set to "Get Ready Location" (-55, 0, -60)
Player Clicks Screen
Play begins - but "sometimes", the bird is position at the "Start Screen" location

odd ember
#

and see if your issue gets resolved

keen wedge
#

(removed it, it didn't)

odd ember
#

okay, so you now know that this function likely isn't the issue

#

you can now look up anywhere where you use set world location (or set actor location) and remove them in a similar fashion

#

and see where it makes a difference

#

remember, the game is only executing your code, and it is much more likely that your code is wrong than it is the engine doing something wrong

keen wedge
#

excuse the messy lines...

The AutoFlightOrigin is populated by one of those two variables I mentioned earlier... this function is called from the Timeline... repeatedly... to make it move up and down on the Start/Get Ready Screens...

#

I'll take that one out and see what happens...

#

still occurs

odd ember
#

I gave you the method

#

it's up to you to look through where it could happen

keen wedge
#

Thanks for you help, and time.

odd ember
#

I can't help you any more than that

high ocean
#

Any way around this?

#

I really need to watch live the values in there... 😐

gentle urchin
#

Print

#

Sounds like something that'd ignore actual frame delta

#

Or time delta

high ocean
# gentle urchin Print

ya... it's hard to watch it since they're 99018510 objects of the same class. But if there's no way around it πŸ€·β€β™‚οΈ thanks!

gentle urchin
#

Ouch πŸ˜…

high ocean
#

jesus I hate physics... Does physics simulation update actor rotation/location and I'm retarded, or does it only update component's?

#

Ya, but in this case, it's not:

#

right?

#

that's what I'm getting here - actor location/rotation stays the same, component goes crazy

keen wedge
#

@odd ember - just as a little follow up - still not resolved it, but it would seem the issues goes away if I do not enable physics when the game starts. Leaving that disabled retains the position of the bird in the manner I would expect. Obviously doesn't help me a lot as I need physics on. Kinda feels like the physics side of things has "remembered" where it was at some point, and then moves it to that position once physics is enabled again.

odd ember
keen wedge
odd ember
#

especially if you have a character movement component

keen wedge
#

gravity is enabled... but if "Simulate Physics" isn't turned on, gravity doesn't do anything

odd ember
#

but really, any type of movement component will handle this for you

keen wedge
#

no character movement component

odd ember
#

sounds like it's just not setup correctly within the engine

keen wedge
#

the gravity setting?

odd ember
#

again I would not use physics for htis

keen wedge
#

when you say maybe not set up correctly in engine... in project settings or something else?

odd ember
keen wedge
odd ember
keen wedge
#

Yeah.. just applying a force when the player presses the space bar, and allow gravity to do the rest... was all ok, until this other issue.. no issues with the movement itself

odd ember
#

a movement component will solve your issue instead of using physics

#

make of that what you want

keen wedge
#

ok. thanks. sorry if I've pissed you off or something, wasn't my intention.

odd ember
#

I'm trying to give you solutions and you're just saying "well everything else works"

#

either take the solution, or try on your own

keen wedge
#

was just saying that the actual "movement" worked etc

sly heath
#

Hey there! What resources do you suggest for learning Optimization and Profiling? Especially the meaning/naming/settings of the analysis that the 'stat' commands show and such? Any suggestions?

gentle urchin
#

Isnt there an epic session on the profiler ?

#

Would be a good start

sly heath
#

yeah but as I'm experimenting with a project i'm working on, my main issue rn is knowing what the names mean

#

things like "Unaccounted" in the GPU Insights analysis, VisibilityCommands in stat GPU and stuff like that I can't find any answers online so far

sly heath
#

if the Docs had a list of those names and what they are and mean that would be amazing

icy dragon
#

Or probe the rendering thread with RenderDoc

sly heath
#

yeah renderDoc could be a good idea

#

but the thing is more that I don't know what those names represent

#

for isntance, hat does the "Unaccounted" process in the GPU mean/stand for?

gentle urchin
#

I agree, itd be great with a list !

#

I have atleast not seen one so far

sly heath
#

it's very very hard to find any decent info on some of these names

#

the forums have threads of ppl asking questions, that are filled with replies that ask the same question, no answers.. the docs are kinda bare, with just general tips on how to use and setup the tools. The only info I've been gathering comes from youtube videos of tech artists and a couple livestreams as suggested, as well as private blogs of other unreal users. It's quite frustrating

#

especially so when I have literally no idea of where to get proper information for this besides the notion of go hunting for comments on the source code from the engine ? :X

civic spruce
#

Hey there, I'm trying to create some widgets with defined values and display them add them on one list view.

#

But unfortunately, their value is overwrote by the default value

#

If I add them to the viewport, they will have the correct value

#

this is the blueprint

odd ember
#

is this multiplayer?

civic spruce
#

No

odd ember
#

I remember there being some issues with ListView in general, but I can't remember exactly what was wrong

wicked osprey
#

Guys, do they use GameplayTags for item types instead of the same Enum?

civic spruce
# odd ember I remember there being some issues with ListView in general, but I can't remembe...

I've found right now this post on forums and the last reply has a working solution for the issue.
https://forums.unrealengine.com/t/how-to-use-settext-with-list-view/431267/37

odd ember
#

glad you got it working

jovial dirge
#

Trying to setup something to get the session setting, but its giving this note

maiden wadi
# jovial dirge

It's no big deal. It's just a note. Not a warning. Nothing will break because of it.

jovial dirge
#

Well my code isn't working, so I'm a bit confused

#

Do you mind if I send you a DM and can you overlook my code if you see any mistakes

maiden wadi
#

It won't be because of that. You'll need some breakpoints or prints to check the data. All that is, is a C++ function trying to pass a by ref parameter to BP without it being const. BP doesn't return by ref in events though.

valid hill
#

I'm trying to figure out how to go about making ship cannon aiming with physics on one side of the ship. Tracing the sphere, and then adjusting cannon rotation based on camera angle with constraint? If anyone has better ideas I'd love to hear it

topaz loom
keen wedge
topaz loom
odd ember
#

there's an entire channel dedicated to #legacy-physics if you're keen @valid hill

keen wedge
topaz loom
keen wedge
blissful grail
#

Is there a way to give a description to a custom event? I have an event that is pretty much only used to create something in the editor and I'd like to document what it does when hovering over it in the details panel when on the object in the World Outliner

onyx token
#

hm so i'm trying out the tip you gave about including event dispatchers in anim notifies in order to tell my player pawn when an animation is done-

Am i supposed to call those events inside the anim notify, or add them to the animation blueprint and cast to them inside the notify...? rooThink1 @odd ember

odd ember
onyx token
#

since i shouldn't use montages

odd ember
blissful grail
odd ember
# onyx token yeah

and you're now asking if you should setup the notifies in the animBP or just where ever?

odd ember
onyx token
#

well- if i add an event dispatcher into my anim notify-
That event dispatcher wants a target... But i have no idea what the target is gonna be rescBlank

blissful grail
#

But I have a function now.

odd ember
#

so a little hacky, but that should get you what you want

#

perhaps?

blissful grail
#

Eh - guess it doesn't matter anyway. Still doesn't display the description. Womp womp

odd ember
onyx token
onyx token
#

this is an anim notify i called "AnimationDone!"

#

i put it into the animation

odd ember
#

follow this guide

onyx token
#

ooooh THAT'S how you meant it

odd ember
#

yeah it's a system that's already setup

#

I was hoping you'd do the docs reading yourself

#

can't win them all

onyx token
#

Alright, to get this straight:
I press Left Mouse button to attack.

#

i pull this attack into my animBP

#

then based on this animBP attack bool
i play the animation in my animGraph

odd ember
#

we just moved away from that

unborn venture
#

trying to get string from bp to widget so I can display time on the hud. Ive hit a roadblock and dont know what to put as the object.

onyx token
#

now-
As soon as the animation notify shoots-
I capture it using my animBP and dispatch it

#

I catch the distpatch in my third person character BP like this

#

and bam. donezo. works.

#

how the hell would anyone ever figure this out by themselves

odd ember
#

you can optimize it and make it a bit more automatic, but that's the general gist yeah

onyx token
#

yea, the problem i see here is the "third person character" reference in the event dispatcher...

#

well- apparently it's not good practice to do montages

#

they're neat for little stuff but i wanna make big combat system

#

skyrim rescBlank

odd ember
#

(-----)

#

this big

#

(not to scale)

onyx token
#

i wanna be able to bonk and block

#

and maybe roll

odd ember
#

I personally wouldn't

onyx token
#

i'm having a moment here lorash

odd ember
#

but each to their own πŸ™‚

onyx token
#

you're ruining it

#

Don't care about toxicity glueNodders
CE can be as toxic as they like, can call me a smelly noob for all i care, in the end my brain expanded.

odd ember
#

a model student

onyx token
#

thenks ce v1

#

i just cuddled my cat, i smell of cat.

onyx token
# odd ember a model student

So, now my question now would be why use an event dispatcher at all?
After all, i'm already casting to my third person charcter bp - i could just call upon a custom event shrug

odd ember
onyx token
#

oh wait-

#

ooooh ok i think i get it

#

it's an event dispatcher because i can use the anim notify in whatever animBP i like - and always listen to it

odd ember
#

a good way to think about event dispatcher is like a subscription service

#

you subscribe to it, and it notifies you when something new comes out

onyx token
#

alright that's pretty smart

#

yea i like that better than montages

#

because i can do all sorts of shit with the animations in the animgraph, blend between them or just manipulate individual bones if i want to

#

that's neat.

#

ur neat CE.

odd ember
#

I appreciate it! now try and see if you can make enum states and make them work with blend poses

keen shard
#

does anyone here know how to force UE to index my blueprints? it seems like the search functionality is broken. it's just stuck and "searching..."

#

and i'm getting incomplete results

odd ember
#

they should be indexed already, what are you trying to search for?

#

is it out of class functions?

keen shard
#

it's just an event. it's giving me results from some files that use or define this event. but not others

#

and it's stuck here at "searching"

odd ember
#

try cancelling and then fixing up redirectors on root

keen shard
#

there doesn't appear to be a cancel button.

odd ember
keen shard
#

trying out fixing all redirectors

#

does that go pretty fast generally?

odd ember
#

depends on how often you do it

#

and how big your project is

#

remember to save afterwards

keen shard
#

no go

#

sadly =\

odd ember
#

welp, I'm out of ideas

#

perhaps the forums?

onyx token
#

since we're out of ideas here - i wanna ask one more rescVVV
So i'm blending now.
Blending based on a spine bone, and the lower portion should just do the normal thing.

#

how do i take the animation that other animation states make-
and feed it into this animation state?

onyx token
#

sure

odd ember
#

so I'm not sure if it's a separate node, or if you have to configure this node. if you click on the node itself there should be more information in the details panel

keen shard
onyx token
#

it doesn't really have an option to take the animation that's usually playing "be it idle or running" and project it to the lower bones

odd ember
onyx token
#

Nono i get the blend by enum, that i understand

odd ember
#

once you have that, you should have a blend pose (<your_enum_name>) available

onyx token
#

ok i explained it wrong

#

right now i have this

#

so how do i make it so i only attack with the upper body?

#

i know how to do it in montages - caching the pose and everything-

odd ember
#

ah my bad

onyx token
#

or is that just a limitation of the animgraph and i gotta live with it?

odd ember
#

you were using the right node, you'll just have to look at the bone hierarchy and decide where to blend from

#

this is an example of how I'm doing it

#

the depth is the amount of sublevels from the bone you're using

onyx token
#

sublevels as in... the bones that come after?

odd ember
#

so like everything is affected by the root bone

onyx token
#

sure

odd ember
#

but the head bone is an endpoint, so it's not affecting anything else

onyx token
#

oh i get it, so you set the bone to "Spine_01" and do 5 levels up - so it only affects the head

odd ember
#

likewise, arms are affected by the root bone, but also have their own transforms that affect the elbow, wrists and hands (and fingers)

odd ember
onyx token
#

or that

#

right but my problem right now is this

#

How do i make it so the base pose takes the animation from a state that isn't active right now?

Or do i have to copy my blendspace every time for every state where i want running to be a part of the animation?

odd ember
onyx token
#

oh-
So attacking, idling, jumping, climbing - all the same state?

odd ember
#

think about the first state you're making from "entry" are more like domains, rather than actual states. so one "state" node could be "standing on ground"

#

and then inside "standing on ground", you have an enum that blends between all the different possibilities that you have standing on the ground

#

does that make sense?

#

you only really need to make new animgraph state nodes when you're dealing with a different domain

onyx token
#

a different domain would be...?

odd ember
#

something where you are no longer standing on the ground for instance

#

it could be horseback riding

#

or flying

#

or what have you

#

although technically you could field those inside of the blend poses node still. you can actually hook up entire new state machines to each of the poses

#

the point is you rarely need to deal with transitions

onyx token
#

i see

odd ember
#

the transitions are handled by blending mostly

onyx token
#

Right, so my idle animation right now is this:

#

it's 2 idle animations with different length and overdrive blended together on 0.5 - that way my idle animation doesn't loop

odd ember
onyx token
#

sure, i just made both animations 50% stronger.

#

like i just scaled all the bone rotations up in blender

odd ember
#

right but they take place at the same time

odd ember
#

unless you have one animation do nothing for half the length

#

and the other do nothing for half the other length

#

anyway

#

instead of having that in a separate state

#

hook that into your blend poses enum node

#

and it'll work all the same

onyx token
#

Right- that gets me to my question-
This is idle, and i wanna blend to walk and run...

Should i just not do blend spaces and do it with a float?

odd ember
#

think about the blend poses node as your main hub for everything that you do

onyx token
#

hmm

#

sadly this doesn't seem to work well....

odd ember
#

right now you're just blending everything at once

onyx token
#

oh nvm

#

yea you're right

#

ok i think i get it

#

this does work

#

and i can replace it with an enum

odd ember
#

this

unreal quail
#

does anyone know why my navlink proxy isn't triggered even when my agent is trying to take it (and clearly stands on it)?

#

all it tries to do is snuggle with it and then give up

#

these breakpoints are never hit

onyx token
odd ember
#

no spaghetti states

gentle socket
#

Hey, what could I use if I'm looking to store strings in a tree-like structure?

odd ember
#

not really a BP question because you can't really do that in any good way in BP, but a trie/dictionary tree is what you're looking for

gentle socket
#

Right, I was thinking it could involve blueprint classes since it seemed possible to create a blueprint that contains itself

#

So there is no way to make some easily editable data class which contains nested lists?

odd ember
#

your best bet would be to do this inside structs in #cpp

gentle socket
#

Overkill as in much work compared to Cpp?

odd ember
#

and too much performance to make it work. I'd suggest structs in BP, but really writing to structs in BP is a pain, so you're generally just better off doing all the work in cpp

gentle socket
#

Alright thanks, but I'm not sure that really solves anything. Because you can't hard code the values for the structs.

odd ember
#

and you're guaranteed that the structs are actually being written to

gentle socket
#

Yeah I see

#

But then I'd still have to create the data in a nested data structure in an external program, then convert that into a file format to import into UE4 and then write classes to parse it

#

which also seems overkill

odd ember
#

well the data has to come from somewhere

gentle socket
#

That's the main gripe

odd ember
#

I'd see if there are importers for this kind of thing for cpp

gentle socket
#

I'm looking for a way to store and edit the nested data in UE4 not so much process it

odd ember
#

this isn't a new problem

gentle socket
#

I'll have another look around. Come to think of it there's probably a solution out there somewhere, related to dialogue stuff for instance

maiden wadi
#

Dialogs. 😦 Ew.

gentle socket
#

it's not for dialog

#

but it solves the same problem

#

since dialogue options are also nested data and tend to get quite big

maiden wadi
#

What is the problem exactly? At least in my personal project, dialogs are attached to gameplay tags.

gentle socket
#

For context I'm setting up a fairly complex UI structure. Triggering certain binds would display "deeper" binds . These binds are also swapped around a good bit.

So I'm essentially looking for a convenient way to manage a structure of nested data for these binds (icon name, bind key, deeper binds). I'd then use this data structure to initialise a nested structure of blueprint classes with some more functionality.

maiden wadi
#

Mostly just sounds like a datatable of a struct.

gentle socket
#

I could just create a flattened table yeah

maiden wadi
#

Or a savegame array of structs if it needs changed at runtime.

gentle socket
maiden wadi
#

I don't think there is much like that in the editor as far as visualizing it. Not by default. That'd be some heavy editor customization.

gentle socket
#

What I'm thinking now is a simple table with the names of the entries indicating their depth

#

and then do some funny parsing business

maiden wadi
#

Well. Maybe not. Maybe could cheat that with an editor widget.

gentle socket
azure night
#

Can someone help? Why is the camera pitch rotating about its own axis instead of the players?

crimson saffron
#

Disable use control rotation in the camera

#

And only keep it in the spring arm

azure night
#

@crimson saffron Thank you!

crimson saffron
#

Np

azure night
#

Can you use comparison operators for floats?

odd ember
azure night
#

yes

odd ember
#

uhh there's probably some new over complicated process for that

opal pulsar
#

why cant i teleport the player on the y axis?

dawn gazelle
# unborn venture _

Casting is only a means of taking one reference and making it more specific - if you're casting to something that isn't what it is, the cast fails. Eg. If you're doing this in a widget, casting "Self" to BP_DayCycleDome will fail as I imagine BP_DayCycleDome doesn't inherit from a widget class. You need a reference to the object that contains that variable.

unborn venture
dawn gazelle
#

You can feed it in when creating the widget by using an exposed/instance editable variable. You can use Get Actor of Class. etc.

#

Just don't use Get Actor of Class on tick.... Set a reference to the object On Construct or something.

wicked osprey
#

Guys, what solution do you think is better if I need to make separate slots for weapons and separate ones for ordinary items. Use one array and add weapons to the first and second slots (in other words, reserve the first 2-3 slots for weapons), and add the remaining items to the remaining slots. Or create two arrays for weapons and items? But then you will have to add a lot of code to drop items and remove it from the correct arrays (if we drop the weapon, then remove it from the WeaponArray, if the item, then itemArray) and other operations. But still, which solution do you think is more correct? And why?

mellow folio
#

Assuming it's 2 weapon slots, I wouldn't make an array at all

#

Just 2 single variables

#

The idea about "The First indexes of inventory are reserved for weapons" is a definite no

#

Assuming an item in your weapon slot is not in your "other" inventory, the other inventory should just be a normal array

#

Writing some code to move something between inventory slots and weapon slots should actually be quite easy to do

#

And is recommended, whether your weapons are standalone variables or an array

#

(Another slightly janky approach with a few elegancies would be to put all items in a struct array where, within the struct, the item signifies which slots it is in, in all contexts. This approach would require alot of extra looping cost which may or may not matter in your game, but would add a little bit of extra flexibility that you probably don't need)

#

But don't do that unless it really resonates with you

mellow folio
blissful grail
#

Is there a way for the math expression node to accept a vector input? (not having to break it)

#

Looks like you can click on the expression and then change the inputs.

orchid geode
#

Does anyone knows How can I Get an "Input Key Structure" from the Player controller?

#

I wouln't know wich nodes to pull up for that, Not even by getting or casting the Player Controller πŸ€”

trim matrix
#

so, i'm using the ball template in 4.27, but the ball is way too slippery, it easily slips off the map. it has no grip

#

i tried looking online and only found forums without an answer, just the same question

orchid geode
#

Trying to get the Key Event Structure without having Widget focus, so I can set an input text...

#

Overriden "OnKeyDown" only works when the Widget has focus

jaunty summit
orchid geode
#

Setting Has Widget focus even if its only for a single tick, disrrupts the player controller so player has to drop and use again...

Yeah, that is the Overriden function πŸ™‚

jaunty summit
#

Well I don't think this can be done out of UMG. As I don't see where it would be needed.

#

There is a dirty solution though and that is to have all the input keys events one by one, and get the key name of pressed key...

knotty mauve
#

Hi there o/ I am a bit of an idiot so please call out any stupidities you see
I am trying to make a floating ship rotate (gravity is set to 0 in the project settings). I have the following blueprint for adding torque, this gets done every frame when one of a few keys is help down.
The problem that occurs is that the ship just stays where it is, no rotation happening. After placing a breakpoint I can see that the applied Torque is a vector of (10, 0, 0). Power is 1 and Axis is (1, 0, 0).
Problem occurs no matter which axis it is applied to. Simulate physics is set on the ship and the collision preset is set to Pawn. No errors occur during play.
I am using UE5 preview if that matters
Edit - I have tried increasing the torque applied to well over a million without any result
Edit2: I was indeed an idiot, issue was due to the skeletal mesh having been deleted

wicked osprey
#

@mellow folio Thank you, it's just my first time making an array. I did it in the first way, but I thought that this logic would not be too flexible. Regil to ask how to do it better, so as not to change all the logic later. Yes, and working with two arrays, as I think, will be easier, for example, when finding an empty slot and other things, there will be no need to loop. Thank youπŸ™

mellow folio
#

With all entries after the removed one getting lowered

#

So the indexes will always be contiguous from 0

#

Which basically just means, expecting things to be in the same place is bad if you ever remove

wicked osprey
#

And it work correctly
It would be possible through remove, but then you would have to immediately resize the array

grave relic
#

Is it possible to have a cinematic camera recording the player from a distance while playing? I want to record a bit of gameplay from an arial view while playing. But dosent seem to work by just putting a cinematic camera in a sequence and then recording.

lusty elbow
#

Let me know if this belongs in a different channel, but
Are there any good guides on how to integrate projects? Imagine I got a project from the marketplace with a functionality I want and I want to integrate it into my own project. Or that I have to redownload the latest version of the project (also from the marketplace) that I'm using as a base for mine.

jaunty summit
#

The faster and safer way would be to build upon that project. Although I don't think that's idea as you won't understand how things work properly there.
If you try to copy paste what you want in your project though then chances are that you will have some/lots of errors but you will get around that and get a better idea of what's going there.

#

This will also help you edit there code if needed for optimization purposes or any other purpose that serves your game better

whole anchor
#

assigned an actor variable to the Get Acor Of Class, but it's returning Actor Object Reference. How to fix it?

#

The variable not returning BP Class!

jaunty summit
#

You are giving it a class variable, but you're naming it Actor which is misleading

#

Also Current value = None that you see means that you haven't injected a wire there, so it's none

lime cairn
#

Was it a fever dream or was there a way to compact type conversion nodes

#

Compact as in, making them smaller or hanging them to their output node

whole anchor
lime cairn
half token
#

Recently jumped from 4.26 to 4.27 so I could get a startup video working proper with Bink. It seemed to have cause problems with player spawning. I'm having an issue where in this map, that's only supposed to be a sequence for the game's ending, keeps spawning the player beneath the map and falling over and over.

jaunty summit
#

You need to get a wire out of there. So you can do for instance, a for each loop

#

Because you will be getting a bunch of actors

jaunty summit
#

Beginner friendly tutorial on how to set up and use nodes get all actors of class, actor of class and get all actors of class with tag.
Learn how to use blueprints in unreal engine 4, what it is often used for and how it can help with coding your own games.

00:00 Intro
00:20 Get actor of class
01:41 Get all actors of class
02:53 Get all actors ...

β–Ά Play video
meager vessel
#

I've created a projectile with a collision sphere that is set to ignore on projectile, overlap on pawn and block on everything else. I want to destroy the projectile when it hits the wall but it just passes through walls. The wall in the screenshot is a basic StaticMeshActor. I'm not quite sure why it doesnt even collide with the wall. Can anyone give me a hint on what i might be missing here?

jaunty summit
#

Well it's the StaticMeshActor that blocks the projectile, not the other way around. But ok. Check the collision channel on StaticMeshActor and make sure it blocks the projectile

meager vessel
#

Oh im so stupid

#

I did check the StaticMeshActor Collision and set it to BlockAll... but it still had the Projectile as Ignore

#

Now i set it to Custom and also changed Projectile to Block and it works... thanks @jaunty summit

mild crystal
#

can someone tell me why this bug happen? I cant select hearing sense. this is a bug in ue5 that dont let me select anything

#

but idk why it happen

jaunty summit
molten crane
#

Hello, apologies if this isn’t the correct place to ask this.

Essentially I’m learning UE4 by making an endless runner, but I’ve run into an issue with my method of picking which β€œlane” to move to on a tile that has rotated. I’m hoping for better solutions / ideas for my terrible logic.

My basic logic is:

Tile has n number of β€œlanes”(current 3 lanes)

The player holds a copy of the current tile’s lane options along with an index of what lane the player is currently in and swaps between them by grabbing the Y location and adjusting the position accordingly.
This was working fine until I’ve added in the ability to turn a corner (always +90 or -90 degrees). The new problem is the Y doesn’t change if you’ve turned 90 degrees as now X is the value that turns left or right.

I’ve thought of picking either X or Y when changing lanes based on what the current rotation is, but overall it seems like a messy solution.

Anyone any ideas on a better solution for locking the player to lanes?

odd ember
#

why not have lanes as splines that you can then move between?

#

that will take into account curvature

#

and you could make each lane unique

#

etc.

little flame
#

hey super noob question but how do I restart a level lets say after 10 minutes?

#

Im afraid that a timer will be too performance heavy :S

odd ember
meager vessel
#

I want to create different Projectile Skills (like a fire ball and a frost orb). I though about creating a DataStructure for my different projectile skills. They wont only differ in damage, also in "behavior" like projectile speed, piercing, chaining, etc. Is there a way to give every DataRow a reference to the blueprint I would want to spawn? Like i have a blueprint for my fire ball and another for my frost orb. Or is it better to make a more generic projectile and all those different behaviors as attributes? So i would have a way bigger data structure that has to store values like damage, projectile speed, projectile amount, particle system, material, etc

little flame
#

@odd ember but do you think this is the best solution? I am writing here since I wanted to get some tips

odd ember
#

if it has issues, see if you can fix those issues

meager vessel
#

@odd ember thanks i will take a look!

little flame
#

@peak wedge what do you mean its a "wrong" way to think? Obviously I am writing here to get help, if I could just "fix those Issues" probably wouldve done it

#

@peak wedge if thats your only answer I would prefer not getting those from you

#

thakns

#

*thanks

odd ember
little flame
#

but what was your help? you just said I should fix it on my own

#

instead of pointing me towards a direction, which I could use

odd ember
#

I said try the timer. see if you'll have issues with it first

little flame
#

im not asking you to fix my problems, i am just asking for advice

half token
little flame
#

but thats NO ADVICE come on dude, try the timer this is what im allready doing, and im wondering for the future if there would be better ways

meager vessel
#

well it kind of is advice. He said your approach could or could not work

#

Part of learning is try/error

little flame
#

im allready doing that ......

odd ember
#

if you don't have any issues with a timer currently, then it's the best solution. there isn't a magic silver bullet that solves all your problems for you

meager vessel
#

So just go ahead if you already got a "solution" in mind

little flame
#

its the same as saying "well everything is relative, you could do that or this it probably doesnt matter its all up to you"

odd ember
#

this idea of thinking of the best or most optimal solution before even starting on something is a fallacy. it matters if you're dealing with structural elements

little flame
#

discord is for sharing knowledge no ?

odd ember
#

but this isn't a structural element

#

if you don't like the advice, don't take it

#

but don't come here saying it's not advice

little flame
#

haha well its not

earnest tangle
#

What is it with all these people lately who start arguing with people because they don't get their hand held all the way through?

odd ember
#

I know right

little flame
#

and its not a very welcoming attitude btw

earnest tangle
#

Is this another account of that guy on #cpp the other day?

little flame
#

i am not asking to get my hand held through??

#

I am just asking if somebody tried other options

meager vessel
#

It was valid advice though. You are complaining about nothing

odd ember
meager vessel
#

A timer could be totally valid for your project

#

We dont know if it will give you problems down the road

#

If it works now its simple and easy

#

So try it

little flame
#

hey im out, thanks for nothing. I am sorry if you feel that youre too good to even give a simple hint , i dont need this

earnest tangle
#

Programming is not an exact science. A timer could work for you, or it might not. You haven't provided a sufficient amount of details about how your project works to be able to give better advice

meager vessel
#

He was just stating that your approach could already be sufficient enough

onyx token
#

CE is online vvHappy

onyx token
# odd ember I know right

I've encountered another problem.
I've done the enum thing you said i should do, to make a combo attack.
right hit - Left hit.
My hits have a "animation save" and an "animation end" notify.

The animation save is set a little earlier - so i can switch to the other hit while the first animation is still playing, making it look more fluent.

Here's the problem: If i switch over to Attack2 - Attack1 hasn't finished, and will stop.
And if i then start over with Attack1 - it will play the rest of Attack1 instead of starting from the beginning like i want it to

odd ember
onyx token
#

nope, only ever worked with montages

#

because i can tell the montage "play from the beginning"

#

i guess it would work if i put the "save attack" notify completely at the end...

#

like when "AttackSave" is triggered, at that point if the player clicks again - it switches over to the "Hit from left side" animation

odd ember
#

this sounds to be like you just need to increase the blend time?

onyx token
#

hm blend time makes the problem less worse because the rest of the animation that plays gets blended... still tho

odd ember
#

what you can also do is that any of these nodes can go a level deeper. you can hook up another blend pose node to your enum based blend pose node. or you could hook up an entire state machine to it too. so if you're wanting a sequence of states to be triggered in order, you can do that too

onyx token
#

I mean- i guess i could probably split the animations up into 2 parts rooThink1

#

like the hit part, and the recover part

#

is there no way to force an animation in the graph editor to always play from the beginning once it gets blended?

odd ember
#

well like I said, you could make another blend pose node that takes e.g. another enum that handles attack only

onyx token
#

idk if that would do anything either...

odd ember
#

so you could say instead of "Attack 1" "Attack 2", you just have an "Attack" state, which leads to an enum based on where in the attack states you are

#

that way you can also save the attack state separate from the rest of the animation states

onyx token
#

sure, but that would be the same problem though

odd ember
#

well no because you can reset the saved states

onyx token
#

the animation pauses once it's no longer active - and just resumes once it is

#

oh

#

wait - the saved states being the enum?

#

the enum isn't my problem

#

ok hang on i'll show what i mean

#

maybe i explained it wronig

odd ember
#

it kind of is. you want your state saved right?

onyx token
#

my state already gets saved

odd ember
#

so you want to start from the beginning of the attack every time

onyx token
#

there, see? After the right hit and the left hit - if i restart the combo - it just plays the rest of the right hit animation instead of resetting

#

like the enum works fine, and the logic is all good

odd ember
onyx token
#

you mean make Attack1 a state and Attack2 a state?

odd ember
#

so your main animation state is still "attacking", but you reset the order of attacks

onyx token
#

Hmm

odd ember
#

doesn't even have to be a state, could be an int as well

#

if you want to simplify it

#

but the idea is that your main animation states don't care about what kind of attacks you do

#

they care that you are attacking

#

it's all about the granularity

onyx token
#

so this

odd ember
#

also, if you want that exactly as it is, you can literally recreate that logic in another state machine, and nest it under "attacking"

#

so your entire "attacking" state links to another state machine that handles just attacking

onyx token
#

you mean blend 2 blend spaces with one another, one just contains the attack states, and the other one contains all the other stuff...

odd ember
#

no blendspaces

#

you understand what the state machine is right?

onyx token
#

wait right, not blendspaces

#

state machines

#

stupid terms

odd ember
#

it's the thing where you make the transitions as you've done

onyx token
#

sure

#

Was just confusing the two

odd ember
#

you can make a simple state machine that just does a sequence

#

and for each transition, you check if the next state has been triggered AND that e.g. the animation is 85% done

onyx token
#

so just for the record-
There's no way to force an animation to always play from the start is there?

odd ember
#

that is literally what the state machine does for you