#blueprint

402296 messages ยท Page 945 of 403

gentle urchin
#

Which would add and bind to the specific collider shape

#

On a per child basis

#

Parent would then hold the rest of the logic

eternal cairn
#

I thought about overriding the root component in the parent's construction script, but i couldn't find the right functions for it.

tight schooner
#

Or you can have the parent/host actor class "interface" with it as a generic primitive component if it knows which one to get. (Get components of class / with tag?)

Or if you want to do sort-of timelines in a component, you can do something timeline-ish with curve assets and some tick logic.

eternal cairn
#

By all means the logic i am doing makes more sense as a component. I guess i could look into messing with enabling tick when needed, and doing things in tick.

tight schooner
#

Yeah, Set Actor/Component Tick Enabled is in my top 10 BP nodes lol

eternal cairn
#

It's fairly simple what i'm doing. I'm essentially just giving random rubble on the level the ability to teleport (long story why), and i just need a timeline to write a material scalar on the meshes so it fades in and out when teleporting. It makes a lot of sense to me that this logic should be in a component.

tight schooner
#

If it's a simple ramp then FInterpToConstant should be enough...

gentle urchin
#

Id probably make a manager for this and not a component

#

Gives you way better control in a random scenario

true valve
#

How can I use a timeline to select a value? Let's say at speed 1000 i want the timeline to return me .5 and at sped 200 return should be 1, etc. The reason behind timeline is that It will go from .5 to 1, etc.

tight schooner
#

Not sure what you mean by speed but you could use a regular old Select node

#

to pick a value based on some condition

true valve
#

For example, speed goes from 0 to 1000.

eternal cairn
#

Seems like you just want a curve where when X is 1000, Y is .5. And when X is 200, Y is 1. And whatever more values you have.

true valve
#

I want the output to be 1 to 0.5. It will smoothly go from 1 to 0.5. That's why I can't use select.

gentle urchin
#

Map range clamped

true valve
vapid ibex
#

Both. Like, NPCs for instance, some of them will be on the level from the get-go, others will be spawned due to gameplay events. Same for items. While items don't really have anything complex and I'll need to just delete everything and respawn them from saved data, NPCs with AI are more complex.

gentle urchin
#

InA is 1000, inB is 200, outA is 0.5, outB is 1.0

icy dragon
#

What even is this supposed to mean MikiWut

gentle urchin
#

Or inA is 200, inB is 1000, outA is 1.0, outB is 0.5

tight schooner
#

Or just make a new float track in the timeline alex

gentle urchin
#

This is a way smoother approach ๐Ÿ˜Ž

#

Map range is underestimated!

#

Id ditch the timeline entirely really

#

It doesnt seem to serve a purpose for this

vapid ibex
# vapid ibex Both. Like, NPCs for instance, some of them will be on the level from the get-go...

But currently my main issue that I'm using a plugin for making my dialogue system, and the dialogue in that plugin is stored in an asset that's being loaded into an actor. So I need a way to differentiate these assets in order to code a system that will remember which dialogue options the player had already seen in which dialogue, in order to skip them. Before I used soft reference to the asset as a key in a map array, but now when it came to saving this message history, I need an ID string to differentiate them.

fallen glade
gentle urchin
#

Like these rocks or whatever as an example

fallen glade
#

Is that a thing? Do you mean a bp to control the rocks? or is there a manager actor?

gentle urchin
#

Or all the ai controlled workers in some settlers game

gentle urchin
fallen glade
#

I get it, thanks

gentle urchin
#

Instead of slapping components on a random number of rocks

#

You let a manager control all the rocks (or a random amount)

fallen glade
#

Makes sense

#

Thanks!

woven ermine
#

hey

#

why isnt this working ?

fallen glade
#

What's n_snowfall?

#

probably it's not ready try a it's valid branch with it first and see if it goes through

woven ermine
#

its a particle from my pawn

#

its this one

fallen glade
#

is it valid when you cast to it's parent?

woven ermine
#

you mean like this ?

#

its valid yes

#

hmm but

#

this isnt

#

@fallen glade

#

i dont understand why its not valid

true valve
tight schooner
#

@woven ermine basically impossible for us to say. Does the particle system compile? Does that component even have a particle system asset set for it? Does the BP script destroy that component somewhere?

#

Idk I'm straining to think of scenarios where your particle system component is invalidated

woven ermine
#

yes it works fine

#

whats worse, in 5.0.2 it worked

#

I mean what i was doing so far worked in 5.0.2

tight schooner
#

Maybe it's cursed. Try deleting component and remaking it

#

I really don't know, sry

woven ermine
#

๐Ÿ˜ฆ

tight schooner
#

Can fixed particle system components (added to the BP class; not at runtime) auto-destroy?

#

Like does the particle system play out and self destruct?

#

Just brainstorming situations

woven ermine
#

no

#

its just a snowfall

#

it plays continuously

#

the thing is :

#

IF i do it like this it prints VALID

woven ermine
#

but its the same thing

#

am I missing something

tight schooner
#

What is weather 1? A function somewhere?

woven ermine
#

yes

#

its a function

tight schooner
#

Is that function called at beginplay?

woven ermine
#

no

tight schooner
#

Yeah I really don't know. I've been using Niagara since beta and I've seen all manner of bugs and crashes over the past year or two lol

#

One of the paranoid habits I've picked up from those days is spawning Niagara systems at runtime rather than adding them to the BP class as fixed components

#

So that's a random ass thing you can try; maybe the issue will magically go away but no guarantees

dry condor
#

yeah somtimes UE bugs are super stupid, like i just spent a ton of time trying to figure out why the viewport controls in one of my projects were not working anymore (couldnt move in viewport).
After hitting play once it worked again ๐Ÿคฆโ€โ™‚๏ธ

gentle urchin
#

But.

woven ermine
#

im not sure its a bug (this time) i think its something im doing wrong

gentle urchin
#

You should

#

Not read it directly

woven ermine
#

im doing this now

gentle urchin
#

The good ol' safe approach is a getter function

#

GetSnow

#

Which checks if snow is valid, and if not, creates the system, assigns it. And returns the new system

#

Failsafe method

woven ermine
#

FIXED IT

#

sec

#

ill post ss

#

@tight schooner @gentle urchin @dry condor so on begin play i cast to the player pawn, get the particle, set it as a variable

#

then I can call it

gentle urchin
#

Id still say its good practice with the get'er function

woven ermine
#

etc

gentle urchin
#

And not allowing external access yo variables directly :p

#

But if it works it works

woven ermine
#

yeah

#

but

#

what do you mean by get'er function

#

can you show me ?

gentle urchin
#

Not at pc

#

But its just about creating a simple get function in the weatherclass

dry condor
#

you would create a new function, like you do with i.e. a variable. and then you make it do the stuff you need it to do, i.e. check if the particle system exists and if not create it etc.

gentle urchin
#

A pure function, returning the system in question

woven ermine
#

ah

#

i know those

#

ok

#

but for now ill leave it as it is

#

but

#

i have to do it in the pawn bp right?

#

not the level one

gentle urchin
#

Depends on the accessibility you need i guess

#

Does it make sense to have the weather system in the player pawn?

woven ermine
#

no

gentle urchin
#

I would think so since its a relatively local system ..

woven ermine
#

i just need to have the particle there

gentle urchin
#

But im not sure where people do weather systems in general tbh

#

Some of it would be global

#

But thats probably just a global material parameter

dry condor
#

game mode i would guess

woven ermine
#

I have a particle system in front of the camera (snowfall), and it gets changed in the level, like after the player enters a cave it stops, when he exists the cave it starts again but with different parameters (more/less snow, gravity, speed etc)

tight schooner
#

I'm no expert but if I had to make a similar system, I'd probably make snowfall an actor that tracks or attaches to the player rather than resides directly inside of the player pawn class. In my current project I have an atmospherics actor that contains/controls a lot of stuff... Directional lighting, volumetric fog settings, volumetric clouds...

gentle urchin
#

It would make sense to keep it external aswell.. like
.. usually theres enough crap going on in the player bp :p

tight schooner
#

Yeah

limber parcel
tight schooner
#

The snowfall already is, but then you wrap it in an actor that can set its location and drive its parameters

limber parcel
#

just add it as a component

#

and then u can expose variables and modify them in whatever its attached to

tight schooner
#

If you read the whole convo above that was the starting place; the particle system being a fixed part of the player pawn

woven ermine
#

my player bp isnt that complex, so it hold that particle without issues, its all pretty basic

tight schooner
#

Yeah you could do it that way, but if you eventually make a big, complex game, you want everything to reside in the right place

#

So that you're not editing the player pawn just to change how snow works

woven ermine
#

remaking a 1.2mb game into a 1.2gb behemoth

tight schooner
#

Looking forward to your photorealistic UE5 remake of Final Fantasy 6

woven ermine
tight schooner
#

Sick

woven ermine
#

only now its called Ski3 haha

gentle urchin
#

SkiNotFree

woven ermine
#

well i would not like to charge money for this, its more like a project to test what i know and to learn new things, etc etc, its my first project from ground up

#

so Ski3 it is

#

hope bill gates wont mind

gentle urchin
#

Theres a lot of old golden games

lyric rapids
#

how do i set a max speed

blissful widget
lyric rapids
#

ok what about in the air

blissful widget
#

It's tricky because it needs to be the tiny pill thing, from my experience. There's two other movement components that don't have that same param

#

Well you don't walk in the air unless you're Jesus

lyric rapids
#

no but when im moving in the air

#

im not talk bout walking

#

lets say i just jumped

valid bolt
#

Any pointers for where i should go if i were to make a inventory system?

gentle urchin
#

youtube

#

Is a place to start , if nothing else

#

(hope Adriel isn't around to arrest me)

trim matrix
#

How do I make Blueprint Interface functions pure?

gentle urchin
#

Dont think you can

lyric rapids
#

so how do i set a max speed in the air

gentle urchin
#

max what

#

velocity =

#

?

#

fallspeed?=

drowsy veldt
#

Is there a way to check if a level exists? I'm trying to implement the "continue" main menu button aka "load the last visited level", but if Open Level (by Name) receives an invalid name [from a save file], the game stops.

lyric rapids
tawdry surge
#

@drowsy veldt you can make an array of level names and if the level name you try to load isn't in the array then handle it

drowsy veldt
#

@tawdry surge Is there something more automatic? Or a way to make the list automatically?

gentle urchin
#

You might find some utility searching for assets by type or something..

#

The Victory plugin has such utility function

tawdry surge
#

Yeah like squize said I'm sure you can generate it. I've never tried tho. I generally just have a default level set in a variable, so if they don't have a previous save game then it just starts a new one

gentle urchin
#

It is a bit weird that no such list is avaliable since they all exist in some project config file...

drowsy veldt
#

The concern isn't a null, but incorrect data. Specifically, somebody could have a save saying they're on a level that doesn't exist.

gentle urchin
#

You decide what to save tho,

#

So a level shouldnt really not exist

tawdry surge
#

Yeah I assumed it wasn't returning anything

gentle urchin
#

Also this one

#

"Does asset exist"

#

Build a string, test it, and if not then no level is named such name

drowsy veldt
#

This relies on all level being in the same folder.

#

Which is acceptable, but a better option would be welcome.

gentle urchin
#

No, you can search multiple folders

#

One by one

drowsy veldt
#

Can you catch all folders automatically tho?

tawdry surge
#

What are you building where you don't know for sure if the name of the level you saved exists?

drowsy veldt
#

I'd just rather have Does Level Exist than trying to solve a bugreport why the game crashes on a particular user to find out that his save was made on a level that doesn't exist anymore.

tawdry surge
#

sounds like a silly solve for a weird problem

#

but all levels are world type objects. I'm sure you can find them all in the project

#

asset manager would be my first stop

gentle urchin
#

Placing levels all over the place is also not common

#

Not sure id delete olf levels directly

#

Id probably redirect them instead

drowsy veldt
#

Thanks

gentle urchin
#

You neeed a fallback fir when it doesnt exist anyways

spark steppe
#

you can query the asset registry

neat stream
#

It seems that I can't update a value in my subsystem.. if I print the value after patching it like so it's empty

gentle urchin
#

Wouldnt you make a function for the subsystem , updating a variable ?

neat stream
#

I did both

#

none work, also tried in cpp ...

gentle urchin
#

You sure the value you're reading from contains something ?

neat stream
#

yep the breakpoint

gentle urchin
#

Print it ?

neat stream
#

it does print my loaded value for testing purposes it's "Where's your mom?"

gentle urchin
#

Guess its more or a cpp question kinda

runic parrot
#

Hi! does anyone know if there's a way to make a interface method "Pure"?

gentle urchin
#

Cant

runic parrot
#

i got a workaround with a local method, but only makes sense when using within the same actor

#

: (

gentle urchin
#

Why pure anyways

torpid hound
gentle urchin
#

Im not really seeing much purpose for it anyways, but I guess i dont know much about the context here.. Pure just look nicer in some situations

faint pasture
#

Is it effectively no difference in BP?

gentle urchin
#

The interface is just a carrier of the eventcall, and doesnt contain the actual implementation

astral stratus
faint pasture
#

if by fire you mean play a sound and do a line trace

torpid hound
astral stratus
#

@faint pasture holding down the mouse button continues to fire the muzzleflash particle effect

faint pasture
faint pasture
#

the MF is looping until you release.

astral stratus
#

@faint pasture gotcha

indigo bough
#

Hey folks, never seen this before UE5... My construction script appears to be causing a strange blurred actor. Even though construction on drag is disabled, and I have a stop in which doesn't construct unless a variable changes from it's last set state, it still seems to build and then create this fuzzy mess. Anyone seen this before?

willow gate
#

Hey guys. I'm working on a random spawn location function that gets a random location from an array of locations. I don't want there to be any repeats so I'm getting a location from the array and then removing that item from the array. I'm still getting repeats. When you remove the way I am, do the other values shift?

celest oar
#

hey guys, im trying to play an animation that has vfx notifies in it, but i dont want the vfx notify to play, does any 1 know how to do that or if the engine has any support for that?

rose charm
willow gate
gentle urchin
#

Theres a random node for arrays nowadays

#

Just fyi

willow gate
willow gate
gentle urchin
#

It for sure does ๐Ÿ˜„

wooden river
#

hello, I implemented something like that
https://forums.unrealengine.com/t/scene-actors-bounding-square-screen-space/459787
but that box is not nearly thigh enough ๐Ÿ˜ฆ
Do you guys have some ideas how to improve that?

I tried to use smaller object inside bigger one, using static mesh bound instead of actor, and rotating bounds with object.
Right now I'm trying to use blueprints only, cause I'm new to Unreal but if someone is willing to provide me with some exact instructions, then I can try switch to Cpp as well.

limber wolf
#

hello guys, i want to load a .pak file in realtime on Unreal... Does anyone have a tutorial or doc about this?

trim matrix
#

I have no knowledge about programming, except going as far as loops and functions to search and sort an array. How is BP? I want to make some SP game prototype, not the whole game, a single mission. I think that using games from 20 years ago wouln't do much good for a portofolio

cyan bone
#

I have an actor component just for the functions.
Im trying to create ann Add Spline Component but the node doesnt show up.
I have the reference of the Character, that is a little army.
In the Character i can create Add the Spline. Why cant i add here?

gentle urchin
gentle urchin
cedar sparrow
#

Should if the tab key does something different on every UMG, should I be putting that tab functionality in my UMG widgets or the player controller?

cyan bone
gentle urchin
#

Let the umg handle it @cedar sparrow

gentle urchin
karmic tapir
#

What's the best practice to have an Actor Component require an abstract function?

  • Currently, I have the AC and a separate interface, both attached to the owning Actor. Problem here is we can't 'require' an interface, so the AC and Interface are tightly coupled and will likely cause issues.
  • Without inheritance, there doesn't seem to be a way to override a function from an Actor Component
  • I cannot find a way to make specific functions in an Actor Component abstract, to be implemented by the owner
cedar sparrow
gentle urchin
cedar sparrow
#

nevermind, i see it in there

#

thanks @gentle urchin

cyan bone
#

unticked โŒ

gentle urchin
#

Rip

#

Try outside the function

#

In the event graph

cyan bone
#

Doesnt work. Its an actor component

#

i mean

#

im inside the actor component

gentle urchin
#

Same as mine

cyan bone
#

this is where its coming from

#

i think it was you who taught me this trick some weeks ago

#

using this to organize things better

gentle urchin
#

Daym

cyan bone
#

but if i cant create box collisions and splines. then i will have to duplicate a bunch of functions ๐Ÿ˜ฆ

gentle urchin
#

Did i actually teach someone something ๐Ÿ˜†

#

Yeah i agree

#

Ill have to check i guess

#

If you try "GetParent" then add component ?

#

Nothing there either?

cyan bone
#

so if you create an Actor Component in your Character. Named Army_Functions.
Then go in Army_Functions. You can create a spline or box collision?

gentle urchin
carmine cypress
#

my bad

#

thanks

cyan bone
#

i tried also getting owner

gentle urchin
#

Opening...

gentle urchin
#

is what we're after

#

Construct object from class

#

No its not

#

lies...

#

there we go

#

this is what im doing

#

hmm

#

doesnt seem to work in my other project...

cyan bone
gentle urchin
#

Yeah, im not sure whats different.. the parent actor is not relevant..

#

In the project it didnt work in, was with some random actor

#

But the component doesnt know that

cyan bone
#

You did exactly the same in both projects? This is mysterious

desert relic
#

What do i put in the object pin?

faint pasture
desert relic
#

except not everything will work

faint pasture
#

You need to get at the thing you want to cast to that class

gentle urchin
faint pasture
cyan bone
#

thanks a lot

#

its like we tricked the engine ๐Ÿ™‚

faint pasture
desert relic
#

Im trying to get navmesh to be rebuilt on runtime

#

i cannot find it in project settings

faint pasture
#

Navmeshvolume settings?

#

Don't rebuild on tick lol

desert relic
#

ah shit didnt think of that lol

faint pasture
#

There's settings somewhere to have it be dynamic. Don't try to force it like that.

desert relic
#

found it

#

thanks

karmic tapir
vapid wasp
#

hi guys, i need to make the same rectangle as in the video. The forum was painted exactly how to do it. I did everything as they said, but nothing happens. Can you suggest what is the reason? https://forums.unrealengine.com/t/scene-actors-bounding-square-screen-space/459787 https://www.youtube.com/watch?v=zaPAlBaMZE4

cursive grove
#

how do I set the visibility of these with blueprints?

spiral gust
#

Hi, I know that this isn't the right channel to put this in, but I'm having an issue where my packaged build doesn't use my custom game instance blueprint

#

Is there any ideas on why that may be the case?

wide quiver
#

How do you set up a keybind options menu in game

deep geyser
#

Look into Lyra demo

#

Main menu widget or smth like that, the follow the path until you find the settings widget, then keybind widget

wide quiver
#

I've been trying to google the topic but it just comes up with resources on keybindings for the editor. Is there a better way to word this/are there better keywords?

deep geyser
#

See where the normal input bindings are stored. It should be an .ini file. See if you can access and edit any of those files in runtime.

tribal compass
#

hey so i've got a problem porting ue4 mannequin arms to my project, for some reason the textures become broken. any fixes?

deep geyser
#

try another channel, this one is not for asset importing

tribal compass
#

ah gotcha

deep geyser
maiden helm
#

Hello everyone, I am new to blueprint, teaching myself here, I found this issue that sometimes I write some function that work while testing but when deploy it doesn't works. I am talking about 'simple' stuff nothing that need write or write to the pc permissions, things like a UI to click a button to do something. Is there a different way to write some functions for developed games?

deep geyser
#

You didn't give any details for anyone to give you any help

maiden helm
#

the thing is happens randomly

#

for instance now I am doing this interactive presentation for architect, they click buttons things happens, like rotate the camera, change properties to the post processing volume

wide quiver
#

You're saying "write", are you working in C++?

#

There's a different channel for that

maiden helm
#

sorry no good English here

#

no, forget about C++

#

I am not a programmer or developer just an Viz guy trying to survive :p

#

I am working on a presentation for a building, they want to present a new building, the typical you see around

#

they click a button the walls change colors and stuff,

#

I have this button that will show up arrows and then you click again and the arrows disappear, when I test it it works fine, but when I deploy or test with stand alone game it doesn't works

#

I can share screen shots if you like but my question is why it work on regular testing and not when I do a stand alone test

spiral gust
#

So I have variables saved in my game instance blueprint, but when I try to load them into the thirdpersoncharacter upon entering a new level, those values are gone/reset. I have this loading variables back in the level blueprint. Any ideas on why this is the case?

trim matrix
#

can someone please explain this setup in words, kind of confusing as output result is always same when pressing Q at beginning

cursive grove
#

But you set it after you ask. So the initial value is always persistent

cedar sparrow
#

has anyone messed with the paragon minion death animations? they aren't full animations, they only fall halfway to the ground

#

am i supposedto ragdoll them halfway through?

cursive grove
#

On Q pressed set boolean1 to true, on Q release set boolean1 to false

#

If you want to change the value every time you press it, use the flip flop node

#

and remove the branch

trim matrix
#

I did use that, however I wanted to understand why this happens regardless of Boolean 1 being true or false?

#

the setup remains the same, always

cursive grove
#

Yes, your initial value of Boolean1 remains

dry condor
#

it has a default value, which i assume is "false"

#

so the first time it will allways go to the false part of the branch

cursive grove
#

Oh he sets it to true then

trim matrix
#

Boolean 1 Set to False on Tick and printing False

cursive grove
#

what is your initial value?

trim matrix
#

with Q pressed and Boolean 1 being False by default, what's the output result on side of True/False side of the branch?

cursive grove
trim matrix
#

be it Ticked or not, doesn't matter

#

Set to False in the output of True side of branch and True in False branch

cursive grove
#

and you don't have any "set" nodes anywhere?

#

on begin play for example?

trim matrix
#

nope

#

nowhere

dry condor
trim matrix
#

@dry condor so set True in True output, in case Tick output is false?

dry condor
#

you never set anything on event tick, at least not in the screenshots

trim matrix
#

here is full

cursive grove
#

You need to change your input mode if pressing Q is not working

trim matrix
dry condor
#

a branch is basically an "IF" and its asking "Boolean1" for its value (true/ticked or false/unticked)

#

so if you start and dont press q it should spam false

#

and when you press q it should switch to true

limber wing
#

Is it possible to create a calibration screen so people can use wheel/pedal controllers? I imagine it's definitely possible, but I'm curious how difficult an undertaking this would be and how much it would cost to hire someone to do it

It would be nice to account for different wheel ranges (degrees of rotation) and short calibrating the brake/gas pedals to ensure 100% throttle or 0% brake

faint pasture
mossy perch
faint pasture
#

Shouldn't make a logical difference but it'll be more clear

spiral gust
#

My game instance blueprint isn't saving the values stored between levels

#

I'm not sure why at this point

faint pasture
#

ThrottleMax = MAX(ThrottleValues), etc

limber wing
faint pasture
#

No you could do that all in off the shelf Unreal

limber wing
#

Really... wow

maiden wadi
faint pasture
#

I'm talking about remapping AxisValues to whatever range you want

spiral gust
maiden helm
#

here is my setup, I already created a variant set with the arrows set to visible or not then on the UI I load the variant set

#

then I switch the state with a button

#

this workflow works with other elements in the same scene, but when I test a standalone game it doesn't works

trim matrix
#

@faint pasture it works, thanks

faint pasture
#

WTF is a variant, did you make that or is it some engine functionality?

#

The names are a bit smelly to me

limber wing
faint pasture
#

You get an axis value in engine. You can do math to it.

granite coyote
#

I'm not sure where to ask this question, but whenever I go to import an asset from my files via drag and drop a no sign pops up and it will not allow me to drag them in. If I go to import them manually from the files the downloads do not show up. How would I fix this?

maiden helm
faint pasture
#

I have a hunch that the problem is from using names but I'm not sure without seeing the internals of that function

trim matrix
#

@faint pasture took me some time to understand, the output in last branch is asking if the boolean 1 Get is true/false, so the SET output is always the same

faint pasture
maiden helm
faint pasture
#

Tick -> Print Bool
Input -> Bool = NOT Bool

trim matrix
#

this is the test bench

maiden helm
trim matrix
#

also the Get value of boolean if global in the BP, it can't be set to true in on Get and False in another, I had wrong assumptions about it

#

thanks for the help guys, appreciate it

dry condor
#

yeah the variable always has only one state

faint pasture
spiral gust
#

I apologize for messaging often but I'm stumped on this issue:

I have a custom game instance that saves variables that I want to persist to other levels. I save them once the player has cleared the room of enemies and only then (there's an conditional branch that checks every tick) From there, I load into the next level and have the thirdpersoncharacter construction script set all the variables to what they were via the game instance blueprint.

#

This system works in editor, but upon packaging it, it doesn't work

dry condor
#

small tipp, get used to naming your variables in a way that makes sense, for example if Boolean1 in your example was to check if the character is jumping, then rename the boolean to something like "isJumping?" so it makes sense when you look into the code weeks later @trim matrix

faint pasture
#

The construction script is what smells to me

spiral gust
#

Hmmm how so? I'm relatively new to unreal so I don't know the ins and out of it quite yet

faint pasture
#

I'm not 100% sure but there may be forms of travel that don't reconstruct the pawn. IDK how you're traveling to the new map. Try just printing the gameinstance variables value in your pawn on tick or beginplay or a timer and see if it updates correctly

spiral gust
#

Should I do this on the event graph or in the construction script?

#

I'm traveling to the new map via level loading and unloading

faint pasture
#

Just check each part of the chain of things that could be the problem

spiral gust
#

okay! I'll give it a shot

#

@faint pasture It updates correctly with the construction script

#

The print outs are the same between maps as well

#

What I find odd is that the construction script seems to fail upon me packaging the project and running the executable

faint pasture
#

What type of variable is it?

spiral gust
#

Most of them are integers, I use one Name Array

#

Things such as Player health, score, currency, etc aren't being saved, and the name array is empty upon loading a new map

faint pasture
#

What happens if you use begin play instead of construction script?

spiral gust
#

would begin play be in the third person character or could it be in the level blueprint?

raven pilot
#

are split struct pin and break hit result basically the same?

faint pasture
spiral gust
#

o

#

k

faint pasture
raven pilot
#

if u dont break it, can u still use it similarily?

gentle urchin
#

break vs split is the same,

dry condor
#

nothing changes, you just "open" it to see whats inside if you dont need it as a whole

gentle urchin
#

but break is in a separate node

#

with the pro's and con's that brings with it

dry condor
#

or only want to manipulate specific values

raven pilot
#

kay thanks for info

cedar sparrow
#

whenever i simulate physics, the skeleton gets a force applied in the z axis and it just pops it up for no reason

#

anyone know how to prevent that?

cursive grove
#

I've been trying to get all the levels from a path and add them to an array for the past 2 days, only to find out that the items are not being picked in order.

#

At least it's not consistent. Anyone knows why?

empty needle
#

Hi, it's pretty easy to get a "Get Right Vector". How do I change that to a Left Vector?

spiral gust
#

@faint pasture That fixed the issue! Thank you, I'm still curious on why the construction script failed

empty needle
#

Thank you very much @jaunty summit .

#

Appreciate the assist.

cyan bone
#

How do i get an argument into my Create Event?
I googled and it seems this is not possible. So what should i do instead?
For context. Im in a function that calculates splines for soldiers to walk on.
Then i need to lerp them. And because functions dont allow timeline. I need to do it outside somehow.

surreal peak
#

Timers in BPs can't have inputs on their events

#

Why don't you just call the event directly and put a timeline there?

faint pasture
#

Or is it a discrete "move"?

cyan bone
faint pasture
#

I mean are they always doing that?

cyan bone
#

They need to do it until they reach the destination

faint pasture
#

ok so you want to be on tick or a timer

surreal peak
#

Sounds like Tick

faint pasture
#

Prolly tick unless you're ok with them stutterstepping

cyan bone
#

ticks ? but isnt it bad? i rather do event or timeline, right?

faint pasture
#

A timeline is like a temporary tick. You'd use a timeline to open or close a door. You would use tick to drive a chase cam or continuoutly lerp towards a target

#

no

#

ticks are not bad

#

they are bad if used for seomthing that doesn't need a tick. But you're having to have something update every frame, that's tick territory.

#

Just think.
"Do my dudes need to be in a slightly different location every frame?"
"Yes"
"Tick it is"

surreal peak
#

make sure to actually utilize DeltaSeconds if you use Tick

faint pasture
#

"Do I need to rebuild the landscape every frame?"
"No"
"Tick it isn't"

cyan bone
#

i never use tick, i always use timeline or event. i understand its basically the same thing. but my problem currently, is how do i tell from the function im in for them to move

#

since the function im in cant use timelines

faint pasture
cyan bone
faint pasture
#

Tick -> For each dude in Dudes -> Vinterp to constant

torpid hound
#

Everything that you try to use to avoid tick is just a tick with extra steps

cyan bone
#

okay but how do i do that from the function im in

faint pasture
#

I know they have splines and you'd have a different setup but yeah

#

What function are you in and why are you in it

#

What does this function do

cyan bone
#

Its function i call to calculate the destinations of my soldiers and how the splines are placed. Its all working good.

#

But i cant lerp them inside the function

faint pasture
#

Well yeah

#

that's seperate

#

OK what's your data model for your dudes

#

Do they have individual target points?

#

First off, do you have an array of SoldierStructures to represent the state of all your soldiers?

#

You're doing
Squad = Actor
Soldier = ISM inside the Actor
Right?

cyan bone
cyan bone
#

and the destination

#

and splines

faint pasture
#

1 spline per soldier might be pushing it but that's an optimization for later

#

ok so you have multiple parallel arrays of the same size then right?

cyan bone
#

its not for all the movement

#

just a specific attack

faint pasture
#

OK so inside the squad, you have it like
Vector Array SoldierPositions
VectorArray SoldierTargetPositions
Stuff like that?

cyan bone
#

exactly

#

and Spline Paths

#

and from that function that calculated everything, i need to lerp them

#

maybe this shouldnt have been a function, but an event, but then i would have a bunch of variables in the global

faint pasture
#

OK so
Tick -> Move soldiers along splines -> update ISM? (not sure how ISM works), etc

Event GaveAnOrder -> Recalculate Splines

#

What global variables would you have?

#

You have parallel arrays.
In the loop, pull the spline data from that soldier from your splines array etc

calm cargo
#

what, how am i supposed to change the map key if I can't create new map items? this keeps popping up whenever I try adding a key

surreal peak
#

It's because the default value for that key is already used by a different element

faint pasture
#

Forgetting splines, imagine you had TargetPoints and just lerped towards them.

For Each on SoldierPositionArray:
SoldierPositionArray(i) = VInterpToConstant(SoldierPositionArray(i), TargetPositionArray(i), Speed)

#

Instead of TargetPosition you'll have some spline function but it's the same idea

cyan bone
#

but they are moving on top of a spline, so its a curved move.

#

but thats not the issue

faint pasture
#

The issue is your structure

#

you're doing some goofy dispatcher timeline timer stuff when you can just parallel chug through the arrays and update everything

calm cargo
cyan bone
#

the issue is i cant get out of my function

#

i cant lerp them inside the function

faint pasture
#

Is this the function to calculate their paths or to move them along the path?

cyan bone
#

this one

faint pasture
#

Jesus fuck

cyan bone
#

calculates everything

#

lmao

faint pasture
#

ohboy.jpg

cyan bone
#

i have everything. now i only need to lerp them :p

faint pasture
#

ok in plain english, how do you envision your system working? The soldiers move.....how

cyan bone
#

they will move slowly into the target

faint pasture
#

following a spline right?

cyan bone
#

yup

faint pasture
#

so 1 spline per soldier

#

does the spline update every frame?

cyan bone
#

no the splines are fixed and calculated. now i only need each soldier to follow its spline

#

the issue is i cant do that in the function

#

i cant use timeline and time event there

faint pasture
#

well yeah, that has to happen on tick.
I laid it out earlier.

#

OK do this

#

First off, do you have 1 spline right now or many many of them?

cyan bone
#

many many

#

its an array

#

so i need to output them to the event graph i think

#

if thats the only way

#

then i create an event in the event graph

faint pasture
#

Does the array of splines exist in the actor as a variable?

cyan bone
#

but im thinking

faint pasture
#

OK so just return it and save it to a variable.

cyan bone
#

maybe the only way this works i really my old way. that felt really noob

faint pasture
#

You have now made a CalculateSplines function, that's fine.

#

OK so
Tick -> UpdateSoldierPositions

SomeEvent -> CalculateSplines

maiden helm
#

ok here I go again, I have this blueprint pawn, it is just an arrow geometry, I created this quick animation so the arrow bounces, when I test it shows fine, but when I test as stand alone game it doesn't show. I am guessing it has something to do with the location or world location but I am not sure, your help is appreciate,

faint pasture
#
UpdateSoldierPositions
{
For each index i in SoldierPositions
SoldierPositions[i] = GetPositionAtTimeOnSpline((GetTimeAtPositionOnSpline(Splines[i], SoldierPositions[i])+DeltaSeconds*Speed), Splines[i])
}
cyan bone
faint pasture
#

Something like that

faint pasture
#

That is, if splines are always what you move along

#

if they aren't

#

then you'll have to do some more stuff to convert splines to TargetPositions or whatever

#

The moral of the story is, on tick, loop through the bigass arrays and update all the positions. However you want to do that.

cyan bone
#

yeah i see the issue here is, any deviation from the actual functionality of the event, means another event

faint pasture
#

You need to decide if your dudes always follow splines or not.

#

They can follow just 1 spline btw

#

you can store their offset to it

#

and use scale to drive width of the column

#

However you end up doing it, it'll still look like this at the end of the day.

Tick -> Move dudes

cyan bone
#

right?

faint pasture
#

Keep the movement logic the same.

#

Just change how you feed it the data, whatever that is. Whether it's MoveDirection, TargetLocation, SplineToFollow, whatever

#

I'd use TargetLocation myself, and generate that from the spline. Singular spline, you can have one spline drive the whole thing, depending on how you want things to behave

cyan bone
#

this is a model i made

#

its not exactly the same anymore

#

but thats what its happening more or less

#

but that was all in the event graph

#

in a project i did just to test it

#

now i made it in a function, dummy me ๐Ÿ™ƒ

runic parrot
#

Any quick way to do "something every X time" on key press and stop on key released?

#

i can't find the "Is key down" node for some reason

faint pasture
#

Press -> Open Gate -> Enter Gate -> DoThing -> Delay -> Enter Gate
Release -> Close Gate

runic parrot
#

I tried using gate but couldn't figurate out how to, thanks!

faint pasture
#

Use a sequence to open THEN enter

#

quick and dirty automatic fire

faint pasture
cyan bone
#

column width? how is that one?

#

you mean frontal attack

#

it works in both

#

but was a mess to come up with

faint pasture
#

I would do it with 4 splines, and every soldier knows their desired left-right position in the column.

#

so a soldier has a left/right offset and front/back offset

cyan bone
#

now i call lerp spline paths

upbeat otter
#

is there a way to activate this in blueprints?

jaunty summit
arctic notch
#

In Lyra can you Add/Remove/Change teams in Blueprint?

upbeat otter
jaunty summit
#

Yes it's

#

It's ReadOnly in BP

upbeat otter
jaunty summit
#

No worries! It's called bNotifyRigidBodyCollision in case you ask

cyan bone
#

AttachTo: 'path' is not static (in blueprint "ArmyPlanesAdjustable"), cannot attach 'path...NODE_AddSplineMeshComponent-0' which is static to it. Aborting.

Im trying to attach a spline mesh component to a Character. But i get the above error.

tawdry surge
#

@jaunty summit Wait, is that why the hit events are so spotty.. they need activated in C++?

#

I swear they catch like 1 in 5 blocking hits at best

jaunty summit
#

Nope, that's some other property you are referring to. It's called bGenerateOverlapEvents

jaunty summit
upbeat otter
#

this works

jaunty summit
minor wolf
#

whats the difference between a function and an event (aside from events cant return values)?

#

and also whats the difference between message and non-message interface nodes

jaunty summit
#

Good find!

#

At least the cpp name helped ^^

minor wolf
upbeat otter
jaunty summit
#

Made me wanna read it

dim tapir
#

I'm trying to spawn an attack on my cursor location but it seems to be very off/random. Is there a better way than "Get Mouse Position"?

jaunty summit
#
#

See Shadowriver's answer

junior hedge
#

can anyone explain why this doesnt work? the linetrace works

#

I am able to do it with string === but it doesnt work with multiple actors

#

pls tag if you have any ideas

tawdry surge
#

@jaunty summitOverlap events are for collision set to overlap. Hit events should be firing off blocking collisions afaik, but they are touchy on a good day

#

@junior hedgeBecause the hit is returning an actor type reference. Not a reference to the turret class type

junior hedge
#

right, how can I get the reference?

tawdry surge
#

cast

junior hedge
#

right

#

oh okay

#

I think I see what you mean

jaunty summit
faint pasture
# junior hedge right

You only know you have a Thing.
You don't know the specifics.
You cast Thing to TheClassYouThinkItMightBe to see if it is.

junior hedge
#

I don't understand?

#

I did this but only works for one actor

#

would I make a for loop and get ALL actors?

minor wolf
faint pasture
junior hedge
#

when I shoot my "gun" my "turret" loses hp essentially

faint pasture
#

What actor is all that blueprint inside of?

junior hedge
#

isn't casting performance intensive? why wouldn't i run on beginplay?

faint pasture
#

Because then you'd have
"When play begins, it'll do XXXX" instead of "When I shoot my gun, it does XXXX"

junior hedge
#

none of that is linked to beginplay

#

it's a simple linetrace

#

only thing hooked up to beginplay is the cast

#

the linetrace isnt the problem though so I didn't include it

faint pasture
#

OK so why are you getting a turret at begin play?

#

Are you trying to do this?
Line trace -> did we hit a turret? -> damage it

junior hedge
#

because casting is performance intensive I've heard so it wouldnt make sense to run the node everytime my gun shoots (30 times every like 5 seconds)

faint pasture
#

Event Any Damage is on Actor

#

a 6 casts a second is literally nothing

junior hedge
#

I have a variable called "HP" That gets deducted depending on the weapon you are using

#

I don't think you realize my problem though

jaunty summit
cyan bone
#

I need to use add component by class, instead of add spline mesh component.
But its not working. Nothing shows up. It only works if its Add Spline Mesh Component.

jaunty summit
faint pasture
faint pasture
dim tapir
junior hedge
#

is there a way I can stop a for each loop early?

#

that would solve my problem completely

faint pasture
junior hedge
cyan bone
faint pasture
#

Are you trying to damage the turret you hit with the trace?

junior hedge
#

yes

faint pasture
#

ok so you have 3 options as said before:
Cast Hit Actor to Turret -> Do your custom event
Call Add Damage on Hit Actor, you'd implement Event Any Damage on the turret to respond to it.
Call YourDamageInterface on Hit Actor, you'd implement YourDamageInterface on the turret to respond to it.

#

The 2nd or 3rd approach would be best if you ever want other things to be damaged as well. You'd just implement Event Any Damage or YourDamageInterface on them and they'd work.

faint pasture
#

Is it just ActorComponent, or is it a SplineMeshComponent?

#

the output type

#

If it's ActorComponent, just cast it to SplineMeshComponent and carry on

#

BP should know the type though if it's static like that.

cyan bone
#

sorry i dont understand. Its a spline mesh component, i think, put in the Add Component by Class.

faint pasture
#

Mouse over the output pin, what does it say

cyan bone
#

but it was done from Add Component by Class

faint pasture
#

You're mousing over the output pin of Add Component by Class, right?

#

Anyway, just cast that output to SplineMeshComponent and carry on

#

Sometimes Add Component by Class might not catch that you're not gonna be changing the class at runtime so it doesn't know it can return the concrete type

faint pasture
#

Just cast it, does it work?

cyan bone
faint pasture
#

Show the error

cyan bone
#

it doesnt make error

#

it just not rendering anything

#

it says its not necessary to cast

#

the issue is because its Add Component By Class

#

the Add Spline Mesh Component works

#

But i need the Add component by class

faint pasture
#

You might need to re init something on it since you're changing the mesh from nothing to your pipe

faint pasture
cyan bone
#

Because im doing it in an Actor Component, where i have specific functions

#

And in an Actor Component, you cant use Add Spline Mesh Component

#

You must use Add Component By Class

#

Thats what we found out today

#

Unfortunately its not working ๐Ÿ˜ฆ

#

So i cant see my splines

faint pasture
#

That sounds really spaghet

#

What's the usage, what is all of this supposed to be doing?

junior hedge
#

this is what I was asking

cyan bone
#

For the Spline paths

faint pasture
cyan bone
#

but also collisions

#

sphere collision is being added by Add Component By Class

junior hedge
#

which

cyan bone
#

there should be a draw debug spline ๐Ÿ™‚

junior hedge
#

@faint pasture

faint pasture
junior hedge
#

not possible

#

its just a lone actor

faint pasture
#

What actor is doing this line trace, and what actor is it trying to hit?

faint pasture
junior hedge
faint pasture
junior hedge
#

not only that I also need to open the event in that actor

faint pasture
#

that's EXACTLY what casting is

junior hedge
#

oh

#

i think i see what you mean now]

faint pasture
#

"Is this random actor a turret, and if it is, let me do turret things on it" = "Cast RandomActor to Turret"

junior hedge
#

yeah that works

#

thx

#

i didnt know you could cast like that

versed timber
#

hey so im having this issue if i rename something in my file directory it seems to break everything

faint pasture
#

Did you rename it in the unreal editor or just rename the file in Windows?

versed timber
#

windows file editor seems to break

faint pasture
#

ya fucked up

#

rename it back, then if it works, try rename it in the actual unreal editor

#

so unreal doesn't lose track of it

versed timber
#

because it breaks you recon i could split the file into chunks it will work?

#

or move it in the editor

junior hedge
trim matrix
#

is there any way I can delete the mesh that's attached to the character BP?

junior hedge
#

Except like debug settings maybe but that's about it

versed timber
#

i got it to work

junior hedge
#

np

faint pasture
icy dragon
graceful sparrow
#

I can't seem to figure out why the speed doesn't get changed as soon as I start attacking, it always seems to do it only if I rapid double click, It works fine if I don't have the launch character so unsure if that cancels the max speed function out
(Current value is a test one)

graceful sparrow
junior hedge
#

is this a native ue5 node?

#

and why cant I see it's definition

icy dragon
faint pasture
#

er

#

Character

icy dragon
#

ACharacter to be precise

faint pasture
#

Character and CharacterMovementComponent are tightly linked

junior hedge
#

the defintion

#

i right click and click it but nothing happens

icy dragon
junior hedge
#

thanks for info

faint pasture
junior hedge
#

ok one more thing

graceful sparrow
junior hedge
#

how can I temporarily disable "gravity" for my character

#

I tried disabling it via the details panel but my character still drags to the ground even then

icy dragon
junior hedge
#

i have to make my mom verify after clicking that LOL

#

lmao so pretty sure my cousin changed my age on my account to 10 cus I was letting him use it for fortnite

#

rip

junior hedge
remote meteor
junior hedge
next oyster
#

Hey, i've found a value that i'd like to use in a blueprint.
but as far as i know, there's no function for it
can i make one myself? is it even possible?

remote meteor
next oyster
#

i just want to retrieve the value and use it

remote meteor
#

is the property public?

next oyster
#

it's protected

#

so i guess i can't?

remote meteor
#

then you have to create a childclass of the movement component

#

and have your character to use the child movement component than the original one

next oyster
#

ok, then put that value in a public space i guess

remote meteor
remote meteor
next oyster
#

tried to do it under other public ufunction

#

so now i have to compile it / make the character movement use this child class?

dusty schooner
#

Was hoping someone could help me out: Is there a way to add an interface to an animation blueprint (event graph)? I have an character controller taking axis input I want to send info to/from the animation BP to correctly fire animations

#

I see where to add it, under class settings, in my first BP but not the animation. If it helps, they're on the same player. Just need these two graphs talking to one another

next oyster
#

yeah BPI work too

dusty schooner
#

I'm not seeing a class settings button in the animation blueprint

#

Checking again but that's what I was looking for. I'm in UE5

remote meteor
#

๐Ÿ˜… should have, still in ue4 so cant check for you

next oyster
#

Thanks IAsaka

livid marlin
#

dont work on master pose

next oyster
#

i'm an ue4 prisoners' too, can't switch to ue5 since my project use plugin that haven't been updated yet

remote meteor
#

look inside here

dusty schooner
#

THERE IT IS

#

GLORIOUS

#

๐Ÿ˜„

remote meteor
#

smol screeen

#

๐Ÿ˜†

next oyster
#

in my case i have this set up

#

but both work

#

i think BPI is even better overall

dusty schooner
#

I'm on like a 48" monitor but my vision sucks so I have everything blown up

remote meteor
#

bpi and direct cast both are fine

#

since your character bp will definitely have reference to the abp

dusty schooner
#

Is there a way to pass values through bpi or is it just firing events/flags?

#

I know you can cast to for direct stuff I think

next oyster
#

you can pass value in BPI

remote meteor
#

bpi can have inputs and outputs

next oyster
#

just like any variable

remote meteor
#

but no delegates though

dusty schooner
#

I need to figure out how to add that

#

Since my "logic" is in my animation event graph and not my input collector

remote meteor
#

if your ABP and character BP are 1:1

#

you can direct cast instead

dusty schooner
#

I'm coming from Unity so I appreciate the hand holding. Things are scary here. XD

dusty schooner
#

Might've already answered (lemme look at that image @next oyster sent a second ago)

remote meteor
#

to get your abp from your chara bp

dusty schooner
remote meteor
#

ah

dusty schooner
#

Effectively I have an isMoving bool in ABP event graph. It's supposed to flag "true" if I'm inputing Axis movement

#

Character BP collects the axis movement.

remote meteor
#

you usually want the first one

remote meteor
dusty schooner
#

I can make a new bool for isMoving in my chara BP but I can't access it in ABP unless I cast it I think

#

I have two floats in my chara BP I can't access natively in ABP unless I BPI or cast I believe

remote meteor
#

you have 2 choices here

#

you can either let your character bp update the ABP whenever a flag is updated

#

or you can let ABP to retrieve the value by itself every tick

dusty schooner
#

I was planning on the latter

#

Since my logic is currently in the ABP event graph

#

I don't know what's good practice for Unreal though. I just had animation logic with the animator

#

And character holding all the basic stuff

remote meteor
#

there are pros and cons

#

but for most part if performance is not priority

#

you can always just do this

#

in your abp

dusty schooner
#

Okay. Lemme look here.

#

So "casting" is actually an attempt to retrieve and not a broadcast?

#

Like if you cast a youtube video to your smart TV you're broadcasting but here it's the inverse?

remote meteor
#

hm

#

casting in programming terms means an attempt to make a conversion

dusty schooner
#

Yeah I hear that. Like if you try to cast an int as a float

remote meteor
#

yeah

#

so the TryGetPawnOwner() functions returns a Pawn

#

your character BP most likely is a Pawn too since Character is a Pawn if you created from the subclass

#

you now have the reference, but it was read as Pawn

#

Pawn class doesnt have your boolean variable

#

your CharacterBP has it

dusty schooner
#

Ahhhh

remote meteor
#

so you attempt to cast to it

#

its like

hey treat this set of data as this type

dusty schooner
#

So cast is just talking about the attempted conversion after retrieval, not broadcasting and such

remote meteor
#

yeah

#

you can also think it as a form of validation

dusty schooner
#

Interesting. In unity that's like
float axis = GetComponent<Trasform>() as float;

#

Or something

#

Still trying to put it all together/rewire my brain XD

remote meteor
#
AMyCharacter* Character = Cast<AMyCharacter>(TryGetPawnOwner());
dusty schooner
#

<AMyCharacter> being the Target in the node?

remote meteor
#

the data type you are casting to

#

target is within the () which is TryGetPawnOwner()

dusty schooner
#

How does one delegate what value you're actually attempting to get if, say, there's multiple floats on the pawn? I might be looking too much into it

remote meteor
#

you are getting the reference to the pawn

dusty schooner
#

Ahhh

#

And then accessing the properties later?

remote meteor
#

not the variable inside the pawn

#

to do that you can just do

#
if(AMyCharacter) // Just a simple pointer valid check
{
    bool bIsMovingVar = AMyCharacter->bIsMoving;
}
dusty schooner
#

Gotcha. That makes way more sense to me.

#

I've been coding for like 9+ years and so jumping to visual stuff like BP is so foreign to me. Difficult to tell what's going on

#

lol

remote meteor
#

its pretty similar

#

for blueprint atleast

dusty schooner
#

In unity that'd be like:

bool isMoving;

if(playerZero){
 isMoving = playerZero.isMoving;
};```
#

Right on. I want to learn the C++ stuff also but I'm doing this first to get the feel for both.

#

C++ was my second language but I haven't used it in like a decade lol

remote meteor
#

unreal c++ has alot of unique things

#

so it can get confusing at first

dusty schooner
#

My guess is the cast to node is just mixing that functionality we programmed.

#

Yeah I hear that.

remote meteor
#

technically you can just like in primitive days

#

do a direct cast like
AMyCharacter* Character = (AMyCharacter)TryGetPawnOwner();

#

but that crashes if it doesnt match

#

so yeah Cast is to replace that for all UObject types

dusty schooner
#

Oooo

#

Gotcha

slow star
#

hi guys , i have an npc character class that im trying to enable input on but whatever i try its not working ive had it work properly in an actor class though

dusty schooner
#

There is some noticable syntax differentials but that's still reassuring to hear

faint pasture
#

isn't that the whole point of the NP part?

slow star
#

so its not really input, i just want to check if the player is overlapping it and if it is and E is pressed then bring up the dialog screen

remote meteor
#

you want to have your interact input from your character

#

character check for interactables

dusty schooner
remote meteor
#

if there is, call their interact interface

remote meteor
slow star
#

ahk i guess i can just do it that way

#

still weird that it wont even allow input

remote meteor
#

because you are not controlling it ๐Ÿ˜…

slow star
#

then how does it work on actors? i don`t control those either?

#

but it does allow to have keyinputs

remote meteor
#

NPC are not supposed to be controlled i think

#

key inputs always comes from the player character/controller

#

it goes wherever it needs later

slow star
#

ok thanks for the help! i`ll try to approach everything with that in mind

dusty schooner
remote meteor
dusty schooner
#

I can dig that.

remote meteor
#

but the relationship is quite one sided

#

you can access cpp stuff from bp if you exposed them

#

but you can never access bp created stuff from cpp

dusty schooner
#

Oh wow, hah

#

Good to know.

remote meteor
#

say you have a Character BP class created in BP

#

you have no way to reference it in CPP

#

but say you have a character CPP, if its marked blueprintable and blueprinttype, you can access it in BP

remote meteor
#

they are wrapped CPP classes, its a CPP base afterall

dusty schooner
#

Right right

#

So is there stuff you can only do in CPP?

#

Or can you do everything in BP and/or have custom nodes?

remote meteor
#

if you can make the custom nodes, then yeah you can do most stuff in bp

#

there are some limitation, not everything is doable

#

as you do along, you will find them out ๐Ÿ˜‚

dusty schooner
#

That's what I'm hoping XD

#

Probably better to just learn BP overall since you can't access BP from CPP

#

XD

remote meteor
#

you also can do everything in cpp

astral stratus
#

is there any reason why when i apply damage to my AI with the base damage at 1.0 and set the health of my enemy to 100 that it kills it in 2 shots....?

remote meteor
#

double check your receiving damage functions?

astral stratus
#

it seems right to me?

dusty schooner
#

So I have this. Whenever these aren't zero it's supposed to update if the players has movement boolean

#

I have an interface with a function attached to this + the ABP

#

the function has a boolean to use for this

#

What do

remote meteor
#

oh you dont really need to have the tick

dusty schooner
#

You don't? I assumed you needed that for it to update.

remote meteor
#

if all you need is to check whether the player is moving

#

you can check with GetVelocity()

dusty schooner
#

Oh I have that

#

The thing is

astral stratus
#

could someone help me if i post the code?

dusty schooner
#

I only want the walking animation to fire when get velocity is greater than zero AND there's input.

#

Because you can have upwards velocity with jumping for example and the animation will fire as if you're walking

remote meteor
#

velocity is FVector you can check for direction

#

also there are state machines to handle jumping animation