#blueprint

1 messages Β· Page 353 of 1

crimson briar
dark drum
#
lofty rapids
#

you can use get all actors of class and get the 1 index

#

but this unreliable

#

delete and remake in a different order and your fkd

crimson briar
#

Basically you have a controller manage both characters, changing only what input is applied to which one depending on the current pawn and a variable of OtherCharacter

sharp sparrow
dark drum
crimson briar
lofty rapids
dark drum
lofty rapids
#

right, testing only

lofty rapids
#

you can loop though all characters of your class, and if it's not self maybe set that

#

but it would be much easier if they were children of a parent and seperate classes

#

but tbh i think your trying a game jam a bit soon to want to win it

#

i feel its an injustice to show you tbh, i'll just leave it like that for now

#

πŸ€”

#

copy/paste doesn't help either tbh learning is essential

sharp sparrow
lofty rapids
sharp sparrow
#

Rather than simply copying and pasting by purchasing training courses, I try to learn. When a teacher finishes something, a few hours later, I try to do it on my own. When I make a mistake, I try again and again.

lofty rapids
#

learn the basics and things go 100x faster

lofty rapids
#

but try stuff

#

and get an idea of whats going on

#

if you main problem is getting the reference

#

"get actor" or "get actors of class" is essential

#

and what a class is like fundamental #1

#

everything is basically a class

#

when you click on an object, you should be able to see what class it is

#

or if your in a bp, the class is literally the name of the bp

lofty rapids
# sharp sparrow Rather than simply copying and pasting by purchasing training courses, I try to ...

https://unrealenginepro.com/ - What is Blueprint? Blueprint is a powerful visual scripting language in Unreal Engine that can be both artist friendly AND programmer powerful. But Blueprint is so much more than that. It's the backbone of a lot of systems inside of Unreal. Even beyond scripting, you can even use it for simple dynamic prefabs.

Blu...

β–Ά Play video
#

personally i can't be bothered with showing people this stuff

#

watch some tuts

sharp sparrow
#

I have courses like this too, and I continue to learn whenever I have time.

lofty rapids
#

and doing it over and over again

lofty rapids
lofty rapids
#

because in your setup there are two of the same class

#

this is challenging to get the right one

#

but essentially get all actors of class

#

then loop

#

personally in a situation like this i use a boolean

sharp sparrow
#

Yes, I understand. Now I'll look at how to create the parent. After that, I'll reference it and obtain the child. The child will have the opposite controls.

lofty rapids
#

so loop through

#

and the boolean is false

#

then thats the "other actor"

#

this way you can have multiple "other actors"

#

by just switching booleans around

sharp sparrow
#

Actually, I already have such a variable.

lofty rapids
#

nice

#

yes this is a good way

lofty rapids
#

then loop ... and check the boolean

sharp sparrow
#

So should I delete all the nodes within the level?

lofty rapids
#

idk

#

πŸ€”

#

you can use the level bp if you want

#

it's not recommended usually that i know of

#

i would just disconnect the stuff

#

this way it doesn't run and interfere

#

but you can reconnect it to get it to work again

#

like if you just want to revert it back for some reason

sharp sparrow
#

Right, I'm trying something, let's see if it works.

#

If I duplicate this mesh and link it as a child, will I achieve the desired result?

lofty rapids
#

then duplicate the child

lofty rapids
#

there two completely seperate ways of doing this

lofty rapids
#

it needs to be a pawn

#

it's a completely seperate way of doing it

#

there are many ways to program a thing usually

sharp sparrow
#

Yes, I did that.

lofty rapids
#

that you have two of the same thing

#

i feel like we are just goin in circles

#

put everything back to how it was and show me you got

#

you can read what i wrote and maybe learn about it

#

google it or something

sharp sparrow
#

I pulled everything back to the beginning. And I created a child.

lofty rapids
#

or when you change one should the other change as well ?

lofty rapids
#

just duplicate the new one

sharp sparrow
#

Yes, I created a child as you said.

lofty rapids
#

are you skipping messages ?

lofty rapids
#

you don't technically need two but thats what i would do

sharp sparrow
#

No, no. I am reading, of course. I was just replying to your last post.

lofty rapids
sharp sparrow
#

Each character will be used separately.

lofty rapids
#

seperately

#

using the other way you would only have one character duplicated

#

so creating custom one would be pain in the ass

#

this way you can customize each character seperately

#

but they still share from parent

#

so it's really nice to do it this way

#

imo

#

now take the two characters out of your seen

#

and place the two children in

#

so now they are two different classes

#

but i'm not going to guide you through how to use these nodes you'll need to look that up

#

it's just get actor of class

sharp sparrow
#

I don't think I should duplicate it this way, is that right?Yes, I removed both of them and created a β€œGet All Actors of Class Node”.

lofty rapids
#

geez i can't stand the repeats, i'm a bid of a nut job lol

lofty rapids
#

i don't think you understood what i'm saying

#

its different ways to do the same thing

#

you don't need actors of class

#

what is add child actor component all of a sudden about ?

#

what is this for ?

#

helping can be really frustrating lol but i'm ok i think

sharp sparrow
#

I've never done this before, so I don't know what the right move is.

lofty rapids
#

ya it's real difficult to help when you not know much about blueprints

#

i usually just leave it alone anyway

#

and say watch tuts

lofty rapids
dusky cobalt
#

and try to get the basic things and what tools you have before you even try to understand how

lofty rapids
#

but if you don't understand "get actor of class" then idk what to say because it's literally what the name says

lofty rapids
# sharp sparrow I've never done this before, so I don't know what the right move is.

This video is about a couple of fundamental concepts for Blueprints in the Unreal Engine - the difference between a "class" and an "instance" and the concept of blueprint inheritance. Understanding these concepts will really help you get to grips with the power of blueprints. Although these are concepts that are rooted in Object-Oriented Program...

β–Ά Play video
#

hopefully this helps ^.^

#

imagine having to show the basics to everyone who came in here

#

the target of the add movement input is the pawn to move

#

self is the current bp

#

you want to add another movement input, and set the target to the other bp

#

which you can get by it's class

#

it's very simple if you understand what a class is and how nodes work

#

^.^

supple charm
#

how could i make a static mesh in a blueprint stay upwards all the time? using set rotation in tick works but can i not use tick?

lofty rapids
supple charm
lofty rapids
#

to make something always face a direction

#

it makes sense

supple charm
#

alright

lofty rapids
#

will you be doing this on a lot of bp ?

#

don't be too worried about tick

#

i run a lot on tick personally and it's pretty smooth

supple charm
#

only on 1

lofty rapids
#

ya it should be fine

supple charm
#

okay thanks

supple charm
lofty rapids
#

if you can avoid it sure go for something that can replace the code

#

but it's not a huge deal untill you start seeing fps drops

#

it just depends on what your doing

#

if your setting a rotation on tick for one thing your fine

#

even 50 things your probably fine

#

100 maybe even idk the actual numbers

#

you start doing 1000 of them and maybe you'll notice something

#

even then idk the actual numbers

#

but you can do a lot on tick and see absolutely no drop in fps

#

avoid putting a bunch of logic on it for the sake of it runs every frame

#

the more you put the more it multiplies

#

so if you have a lot of logic then it would probably see drop at a lower amount

#

i wouldn't say "avoid tick", i would just say learn how to use it most efficiently

supple charm
#

alright thank you so much, so basic nodes like math and basically basic c++ functions wont really affect anything

#

and seeing if a bool is true wont also take any fps whatsoever im assuming

lofty rapids
#

not that i'm aware of

dusky cobalt
#

I believe Fortnite has like 500 running ticks at the start of the game and then they go down as game goes to the end.

#

not sure about exact number but it's 'a lot' and the game still runs smoothly

supple charm
#

what are the ticks for?

lofty rapids
#

if it's c++ your in better shape

dusky cobalt
#

you can even make tick be less frequent or turn it off when not needed and turn on when needed etc.

supple charm
dusky cobalt
supple charm
#

oh thank you so much

dusky cobalt
#

or for actor is the same

#

if you set Enabled to false it will turn it off basically

supple charm
#

yeah yeah

#

where do you get the custom node textures and such?

dusky cobalt
lofty rapids
#

In this video, learn everything you need to know about controlling Event Ticks in UE5. We cover using the Event Tick node, setting up a Custom Event, and implementing the Set Timer by Event node for precise timing control. Additionally, I'll show how to use the Flip-Flop node to aid in creating and managing custom ticks. Perfect for both beginne...

β–Ά Play video
dusky cobalt
#

also here you can disable it at the start or make it tick less frequent like 0.5 instead of every frame

dusky cobalt
supple charm
supple charm
#

ive seen some but i would guess on fab?

sharp sparrow
#

@lofty rapids Could you please check your inbox?

dusky cobalt
#

It's just Flat Nodes plugin and there is other one Electric Nodes and I do not recommend it, it's shit

#

I think Flat Nodes might be free

#

let me check how it was called

supple charm
#

yeah found it

#

crystal nodes looks interesting

dusky cobalt
#

yeah it's really nice

#

oh this one i dont know πŸ˜„ it's personal opinion I guess πŸ˜„

#

I like it simple

spark steppe
#

that way it will keep it's world rotation and not rotate with the actor

spark steppe
#

yea but that's not the details panel...

supple charm
#

oh my bad

spark steppe
#

now click on scale rotation

supple charm
#

rotation type to world?

spark steppe
#

i guess

supple charm
#

oh it does work, thank you so much!

stone field
#

( more functional stuff than aesthetic )
auto formatting, sticky comment bubbles, lots of cool stuff

crimson briar
pine carbon
#

I want to add a traceable aspect to my players so they can be detected by, well, traces. What would be the benefits of doing an Object channel vs a Trace channel?

dusky cobalt
pine carbon
#

Alright. New question. I'm testing with the default CharacterMesh profile. Why does this register hits on the floor? Floor is set to BlockAllDynamic. Do I misunderstand how this works?

#

Oh and is there a way to get Unreal to render the actual sphere trace itself and not just the hit results?

dusky cobalt
#

You can use Debug Sphere Trace

#

for this function, let me read what it does I never used it

#

I'm using by Object or by Channel usually

#

So it will check what this Profile blocks and look for that.

#

Which isn't really intuitive.

pine carbon
dusky cobalt
#

The best if you:

  • Create new Collision Channel - PlayerChannel
  • On Player go to collision settings and tell it to PlayerChannel block
  • Sphere Trace by Channel (PlayerChannel)

now it will only look for players or objects that block that PlayerChannel

#

ofc change names etc. as you really want them

#

like for example in my game I have Resources and then I just look for Resources when I want to find them

pine carbon
#

How does the Object one work? I haven't been able to figure that out at all. Unreal sucks at explaining what Blueprint nodes do.

dusky cobalt
#

It's the same, like you create object collision Player and you set it to block

#

you don't have to set it AS object

#

just to it Blocks it

#

it might be not intuitive but it works literally the same

#

the difference is how you find objects with Sphere Trace

pine carbon
#

I don't know how to get something that the Object Types pin will accept.

dusky cobalt
#

you just have to Make Array

#

and specify objects you want to consider

pine carbon
#

Okay cool.

#

I'll see if I can get that to work.

dusky cobalt
#

and then these things have to block at least one of ''Object'' channel

#

what is important is the one in the rectangle

#

the arrows is what might be confusing in case of looking by channel/object

#

it's almost like for the game it's the same thing just name differently in case of sphere traces

#

it's different if you have Building and Unit and you want them to block each other (then you set ObjectType) and each of them block each other

#

but sphere trace is straightforward

Sphere Trace -> Block Channel/Object (rectangle) -> it will be detected

pine carbon
#

I added an Object channel named Player and set default behavior to Ignore. Then I changed my Player's collision to Block it. It should now be the ONLY thing that can register on that trace, right?

dusky cobalt
#

Show screenshots just to be sure

#

but yes

#

actually, yes, almost always set to ignore when you create new channels

#

unless there is something specific but you will know

dusky cobalt
#

I'm wondering if this is because of my pc or something, but if I click play first time after launching the editor I have to wait like 10s sometimes for the game to start. Is this normal or should I be doing something so it's not like that? The second time I click play it's quick.

dusky cobalt
maiden wadi
#

Depends. Do you run with the debugger attached?

#

Like launching from Rider/VS with F5?

dusky cobalt
#

No, currently just without debugger

maiden wadi
#

Try it with debugger. See if you get any ensures. They can also cause that kind of first time hitch. Cause if they're only Ensures and not like ensureAlways, they'll only hit once and they can cause a lag spike like that without the debugger.

#

If it's not an ensure. Profile time.

surreal peak
#

Although 10s ensure lag would be incredible

spark steppe
#

i feel like it's validating bunch of stuff, since i get all my "nanite mesh with unsupported translucency" warnings on first launch, too (while they don't happen on 2nd play)

dusky cobalt
#

Yea it must be something with assets.. I have to try with shipping build if its similiar

#

okay shipping build is literally insta launching

#

and some assets are not loaded but it's like 0.3/4s delay

maiden wadi
#

We get to half cheat that, cause pretty much 95% of our assets are used in every game. So we preload them in the main menu async while the user is even getting into a game with bundling. Doesn't help much if we start PIE from a content map though.

dusky cobalt
#

Ahh okay

surreal peak
#

99% sure it's asset loading. You probably have tons of hard references :D

maiden wadi
#

Time to trim some 4k textures. πŸ˜„

#

I'm so happy pixels can only get so small. I don't want to live to see games with 32k textures on normal assets.

dusky cobalt
#

hahaha

trim matrix
mental rampart
#

any advice for when only one of your projects doesn't open and crashes your GPU?

surreal peak
mental rampart
#

Deleted Saved and Intermediate and try again?

#

that might work

lofty rapids
lofty rapids
#

i mean it works, but it's just saying not in scope ?

spark steppe
#

welcome to the wonderful world of BP debugger

#

i think you could turn it into a non-pure node and then it would cache the value

dusky cobalt
trim matrix
dusky cobalt
#

yes

trim matrix
#

now its still not working, the length of the array always prints as 0

#

the pickup bps can be collected, then on reload, they are visible but collisoin disabled, then on second reload they reset and become collectable again

dusky cobalt
#

do you know how to debug blueprints? check if when you pick up thing does it get added to the array or not/

trim matrix
#

using breakpoints?

#

bc when adding one to the add node it hits

dusky cobalt
#

it hits what? !!SAVED!! ?

trim matrix
#

if i put a breakpoint on the add node, the breakpoint hits

spark steppe
#

please show more of the graph

trim matrix
#

when collecting a pickup bp, it prints saved, but the print that updates the array length never changes

dusky cobalt
#

but where are you getting from reference to the pick up object?

dusky cobalt
#

what is CLIPID ?

trim matrix
#

the id of the clip bp

dusky cobalt
#

from this context like it's null?

trim matrix
#

the clip bp itself

#

its set instance editable

dusky cobalt
#

when you breakpoint you can check values

trim matrix
#

for the id

dusky cobalt
#

show us what is clipId when it gets added

trim matrix
#

its at 0

#

*09

#

the id i set to the clip

dusky cobalt
#

in the level editor?

trim matrix
#

yes

dusky cobalt
#

ok and show where you set the struct array just to be sure?

#

like Set Members

trim matrix
dusky cobalt
#

yea screenshot it..

trim matrix
#

the value is 0 off the local variable get thats plugged into the set members

dusky cobalt
#

why did you make it local variable?

#

this local ids

trim matrix
#

bc you said to 😭

dusky cobalt
#

ye, to create new array but no 'local' local

#

when you access that struct it's not reference to the array but copy, so if you want add to it it won't get added 'there' just like that

#

so you need first to set it to array that is 'local' in bp

#

then add to that 'local' array

spark steppe
dusky cobalt
#

and set struct with that array

spark steppe
#

therefor BP debugger sees the array as empty

#

step a node further

trim matrix
dusky cobalt
#

yea and also as Ben said step further

spark steppe
#

that shouldn't be the issue, i would keep it local in function scope

trim matrix
#

i put one further and the local id array says 1 now

dusky cobalt
#

i one time had problem with local variables so have a bit of trauma with them

trim matrix
spark steppe
#

local stuff works fine and you should not avoid it for your own sanity πŸ˜„

dusky cobalt
# trim matrix

so now it prints length 1 and still the rest doesnt work?

dusky cobalt
trim matrix
#

if i try to print the length of the saved array its 0 on reloading, if i printt he length og the local id array its also 0 on reload

spark steppe
#

i feel like it has issues with modifying the output of the node, as this might be a const variable 🀷

lofty rapids
#

a custom function you made ? how you didn't have to cast ?

#

is it in a BFL, or in the current BP ?

spark steppe
#

it's a interface function call

lofty rapids
#

i see so the game instance is implementing this interface

lofty rapids
lofty rapids
#

the print string is showing 0 ?

lofty rapids
lofty rapids
spark steppe
#

they changed that already!?

lofty rapids
#

Oh i see

#

so whats the issue then it's not saving ?

#

or it's not loading ?

trim matrix
spark steppe
#

no wait

#

before that

#

where you get it from the other function which is half on the screenshot on the left

trim matrix
# lofty rapids or it's not loading ?

both, only some of the save struct is saving like player transform but the clip ids im trying to check to make them only collectable and visible if the player hasnt already collected it

trim matrix
#

shit prolly also need it connected to the set members?

spark steppe
#

yea, especially there

trim matrix
spark steppe
#

ok, test it?!

trim matrix
#

still the same issue

lofty rapids
spark steppe
#

wait

#

try to get the variable on it's own

trim matrix
#

no it still prints 0

spark steppe
#

instead of using the output of the set node

#

it needs a reference, idk what the set node returns

lofty rapids
#

perhaps a map would be more usefull

trim matrix
trim matrix
spark steppe
#

then i suspect your save function or your loading to have an issue

lofty rapids
trim matrix
#

im just trying to acomplish, each clip has an id, when player picks the clip up, the id is saved to an array, then when the game reloads it dosnt respawn/reset the clips already collected

trim matrix
#

now it is wtf

lofty rapids
#

if it is before you save then the save is overwriting it

trim matrix
#

the clips call save game when picked up, the array length is back at 0 when loading but counts up when playing a game still, each neqw clip collected saves again so i dont think its being overwritten

#

bc it still counts up

#

but is back at 0 whne loading

lofty rapids
#

ok so it's saving

lofty rapids
#

your save works

#

check the saved values just before you load them

#

then check the load function

trim matrix
#

the player transofrm is being set when saving and is laoding fine

lofty rapids
#

i mean i don't know how that relates

#

you need seperate values

#

can you show the save and load functions

#

are they big yet ?

trim matrix
trim matrix
lofty rapids
#

basically like what i do is just save before transfer, load in the player character begin play

#

but i can't tell what is going on without seeing it

#

i only know what i've seen

lofty rapids
trim matrix
lofty rapids
#

on is valid print the value from value your trying to get

lofty rapids
lofty rapids
#

what are you trying to get

lofty rapids
# trim matrix

i see so you where do you actually define the function though ?

#

there is somewhere where you this is defined in your bp

trim matrix
#

huh?

lofty rapids
#

have you used an interface before ?

trim matrix
#

idk if save and loading is rly working correctly as theres no save file in my savegames folder

trim matrix
lofty rapids
# trim matrix yes

well the way it works is you define the function on the bp, so in your game instance

#

there should be a function that is get game data

lofty rapids
lofty rapids
trim matrix
#

it should be 0 if no clips are collected, and whatever number of clips collected if not, idk which clips are collected tho bc they are all still showing as visible, so lemme try n raise the number printed n see if it stays

lofty rapids
#

which works, but you don't get a return value

lofty rapids
trim matrix
lofty rapids
trim matrix
#

wdym

lofty rapids
# trim matrix

i see your not calling the load event here, when do you call it ?

trim matrix
#

sry i thought i copied it into the thing its in the instance on event init

lofty rapids
#

your calling the function which gets the ref

#

i would just implement this all in the function

trim matrix
lofty rapids
#

when the game initially runs

#

so your using the same ref most likely

#

that was loaded on start

trim matrix
#

so where should i move it to

#

im slightly confused sry

lofty rapids
trim matrix
#

call load game, in which function inside the instance or the stuff in the player

lofty rapids
#

you want to load things, you have a load function

#

and a load event

#

the event actually does the loading

trim matrix
#

thats what load game data is

lofty rapids
#

you have an event and a function

#

the event needs to run

#

to do the actual saving

#

the function just returns the reference

trim matrix
lofty rapids
#

yes you need to run this

trim matrix
#

add load game at the end of this?

lofty rapids
#

no

#

you need to run that event

#

in the function

trim matrix
#

which function

lofty rapids
#

your loading things

#

the load the function

trim matrix
#

which one 😭

#

the player one w all the data

#

or the one i sent the screenshot of

lofty rapids
#

the one you circles that is literally "load"

trim matrix
#

they are the same

lofty rapids
#

oh its get

#

lol

#

not load

#

get game data

trim matrix
#

add load inside the get game data

#

im lost now

lofty rapids
#

hmm...

#

the one you circled is where you load data ?

#

when do you call the actual load event ?

trim matrix
#

the one i circled gets it

lofty rapids
#

yes but it doesn't actually get it

#

it just returns the ref

#

the event actually loads from the save game

#

so when do you call it ?

trim matrix
#

ig i dont idk im confused, im calling get game data

lofty rapids
#

ook so did you write this ?

#

you have an event

#

it loads from save

#

do you see that ? you sent it to me

trim matrix
lofty rapids
trim matrix
#

the get game data needs an output of the struct, to then pass to the load?

lofty rapids
#

no

trim matrix
lofty rapids
trim matrix
lofty rapids
trim matrix
lofty rapids
trim matrix
lofty rapids
trim matrix
#

you asked about the laod

#

load*

#

i replied to it and you said yes

#

you asked where i call it, i sent where i call load

lofty rapids
#

ok...

#

do you know that you have like 100 load events/functions

#

this is out of control lol

#

just load/save

trim matrix
#

i dont 😭

#

i have get game data and load game data

#

i have get player save and use player save

lofty rapids
#

and a load event

#

which your not calling

trim matrix
#

i dont have a load event

#

load game data is the loading i have

lofty rapids
#

yes this event

#

so you when you want to load

#

call this

#

then call get game data

#

or

#

inside get game data

#

call this event

trim matrix
#

i already said that i was calling it in the even init, i am using it

lofty rapids
#

which would be easier

#

ya thats not doing anything

#

it runs once on load

#

that is all

#

thats your save game right ?

trim matrix
#

so should i be loading off begin play of the character? bc thats where the get player save is

lofty rapids
#

it prints correctly ?

#

or doesn't ?

trim matrix
#

yea it prints the count collected, but only bc of the event init load, if i disconnect it the loading errors out

lofty rapids
#

it works correct ?

#

leave it alone ig

#

whats not working ?

#

The count collected

trim matrix
#

when i load, the last clip i collected recollects, the clips that re collected already are supposed to stay inactive, but instead they dont, then if i exit and load again, the clips i collected all reset and are collectable again

lofty rapids
#

I wish you code wasn't so confusing maybe I'm slow lol

trim matrix
#

im trying

lofty rapids
#

It's really as simple as storing a variable in the instance

lofty rapids
lofty rapids
#

You've shown way too much code, narrow this down

trim matrix
#

the issue lies somewhere in the checking of initalizing the clip

#

thats where i have narrowed it down before

#

bc the false branch off the active bool should handle not making them collectable again if the player save struct contains said clips id already on load

lofty rapids
trim matrix
#

no

lofty rapids
trim matrix
#

i have that

lofty rapids
#

And see what happens

#

Show that code

trim matrix
lofty rapids
#

But your not checking the data

#

Check the data

#

When you save

#

Check the data

trim matrix
#

wdym

lofty rapids
#

When you load

#

Check the data

lofty rapids
#

Literally what I said check the data

trim matrix
#

pressing the input to save or load dosntseem to be working

#

nothing happens

lofty rapids
#

Check the data

#

Get game data

#

Check the fukn data lol

spark steppe
lofty rapids
lofty rapids
#

It's probably saving or loading or not you don't know until you check

#

I still get frustrated sometimes when I'm trying to help

#

Some people understand what I'm saying some people dont

#

πŸ˜†

#

After awhile I get burnt out lol

atomic solstice
#

Quick Q: what's a simple way to ignore modifiers for a keyboard event?
Tutorials I'm finding are old and key events just have a "key struct" rather than a "key event struct"

trim matrix
trim matrix
lofty rapids
trim matrix
#

the array length when loading

lofty rapids
lofty rapids
trim matrix
#

its the count after saving but then if i exit and try to load its at 0, of i stay in the game and load, it stays, the count that was previously updating properly now is also 0 when loading

trim matrix
#

but only if i use the save and load input keys

#

otherwise its still working

lofty rapids
#

Check to see there's a slot

#

Then see which way it goes after you save

#

Hit save

#

Hit load

#

Check it see what it prints

trim matrix
#

it finds the slot

#

even after exiting if i press load input again it prints slot found

lofty rapids
#

Show the save event

#

Other things Re loading fine though ?

#

Using just save and load events

trim matrix
#

not w input events but when using save from inside the clip and load off event init its working or seems to be

lofty rapids
#

I gtg, good luck

trim matrix
#

welp im lost for rn 😭

meager spade
pastel apex
#

unsure if this is a case of "make your own movement component" deal but, is there a way to prevent movement mode changes from on landing events? I have a weird case where my flying enemy when it bumps into another enemy while falling, classifies as landing on the ground (triggers landed event) which causes the movement mode to go from falling back to its default movement mode of flying

sharp sparrow
#

I'm making a mistake somewhere, but I can't figure out where. The character should start taking damage one second after the game begins, but it isn't.

crimson briar
sharp sparrow
lunar sleet
#

That event will fire when your char takes damage

#

Nothing to do with 1s elapsed

#

Also the very first branch seems entirely pointless πŸ™‚

sharp sparrow
#

I'll start over from the beginning

lunar sleet
#

Begin play is a decent place to start if you’re looking for game start. It’s got by no means a precise timing but prly good enough for your purposes

crimson briar
sharp sparrow
lunar sleet
#

Usually you want to use set timer by event for events but this prly does the job here

sharp sparrow
#

I think I got this part right too.

lunar sleet
sharp sparrow
lunar sleet
#

And bear in mind that the way progress bars work is floats between 0 and 1, tho that division you have should cover for that

sharp sparrow
#

It's working right now. But it's not working the way I want it to πŸ˜„ Using Set Timer, I take damage every 5 seconds. But what I want is for a character to stay for more than 10 seconds, and then take damage every second.

dusky cobalt
#

so you need 2 timers

#

first one starts count to 10 then triggers the one other that loops every 1s and deals dmg

sharp sparrow
dusky cobalt
#

like when? this question needs more content it's out of blue a bit?

#

character tells, hey I changed, timer reacts to it

#

event dispatcher, direct event

#

I think you need to get a paper and write what you want down like instructions in a normal language

#

and try to get this right

sharp sparrow
#

Okay, I'm trying to do something.

crimson briar
#

The second timer will have to have a second variable

#

Then you can cancel/pause the timer

dusky cobalt
# sharp sparrow Okay, I'm trying to do something.

like
One timer/event StartThis starts countdown for 10seconds - done
After 10seconds another timer starts call it DamageTick - done

it loops every 1s until player is dead or until I change character

Ok so you need a way to Stop The Damage and probably start 10s count again?

So you need Refresh ''State' -> Clear DamageTick and startStartThis

How are we gonna RefreshState?

in PlayerCharacter or where you change player you need ref to this blueprint OR have this blueprint have ref to character and then:
In character create event dispatcher: OnCharacterChanged
and bind to it in where you do 'damage' and call RefreshState

#

if you have it written like this it's much better to now create code out of it

sharp sparrow
#

I used a timer at the end and wrote 10 seconds. I also added a branch at the beginning of Checktime and set it to 0. However, it failed. I will do as you said.

keen tulip
#

Hello people ^^

Been trying to find a solution for this problem for some time now, and nothing I try work unfortunately.
most likely because my lack of vector math knowledge and conversion of screen space and all that black magic but yes. xD

Wondering if there is a way for me to calculate and set an offset for the mouse cursor to match my trace
in the world from a visual stand point. (did find a really old post that did this, but unfortunately it broke down completely when introducing height differences)

Been thinking of having a image in the player hud widget and just move it accordingly, but the problem with calculating the offset is still something I could use some help with. (Maybe I should post this in UMG under UI if this solution is the better option?)

What I have.

Pic 1

What I would like

Pic 2

Thanks for any help or input.

dusky moat
#

hey peeps, im using spectator pawn as playeble character and want to add widget to it.
And its abit wierd, since and dosent have arm or camera and widget being drawn in world even if its set to screen.
Dose it requres come additinal scripting? what should i do?

dusky cobalt
#

because you want to shoot bullet there and not to the ground?

keen tulip
ebon olive
#

how do i set it to false? like appear only once? not appear it per frame on debug sphere

ebon olive
# dusky cobalt duration 0.05s

oh it works. thanks.

wtf.. it didnt explain what duration means in this context 😭 unreal pls. but anyway ty tho!! πŸ™πŸ»

dusky cobalt
#

so it always follow your cursor

#

why would I want it to hit always 50 offset up? and how do you decide this offset if you actually aim north?

keen tulip
dusky cobalt
#

and if you want it to be like on Z axis of the player then you need to add offset Z

keen tulip
#

but the red arrow is the actual "look at rotation"

dusky cobalt
#

you need to add offset Z to where you clicked

#

but for the line to be straight, you also have to add the starting point Z location

#

so like +100 here and +100 there right

#

because if you won't then it willlook like yellow line

#

start at 0Z and ends at 200Z

sharp sparrow
dusky cobalt
#

if this is in the same blueprint you can just call RefreshState instead of even dispatcher.. I thought its in different blueprints

#

but yeah the only thing is that you have to bind on begin play

#

and OnCharacter_Event calls RefreshState

#

which currently isn't doing what I said

sharp sparrow
dusky cobalt
#

I think it's clear you first Call Event and then Bind. Do you think it's gonna work?

#

or should binding take place way before you Call so that thing that binded will fire?

sharp sparrow
dusky cobalt
#

and does the binding needs to happen every time you click? or does it need to happen once?

sharp sparrow
#

The time should be reset with each change

dusky cobalt
#

im asking you questions so it triggers your brain in right way, try to anserw them

sharp sparrow
#

Good move, but right now, when I change characters, the timer doesn't reset, so I keep taking damage. This is a bit annoying.

dusky cobalt
#

ok so do you think the program knows itself when to call function you called RefreshState?

#

or do you need to tell it WHEN to trigger it?

#

which would be after each character change yes?

#

just forget dispatchers/bindings for now, it's not relevant in this case

sharp sparrow
#

That's exactly what's confusing me then.

keen tulip
sharp sparrow
dusky cobalt
#

yellow boxes are literally RefreshState

#

but if you don't understand why then you really have to go and watch some tutorials how blueprints works

sharp sparrow
high scarab
#

Hey, what does this part of the doc mean? Which Blueprint nodes (besides latent nodes) work in macros but not in member functions?

Macros can use any node for the class they're scoped to (the class you pick when you create a new Macro Blueprint, or if it's a local macro, the class the macro is defined in). This means that you have a little more versatility in the nodes you can put in a macro.
Epic Games Developer

Tips and tricks to help you make decisions about when to use Blueprints and how best to set them up.

lofty garden
#

Hello everyone!

I am lookin for a help with a specific problem, I want that when I do Crouch using the Crouch Function, to immediately go back to the same previous position before Crouch function was called, I am using the Event On Start Crouch to do that. That works if say I use the Camera Root World Location, but it doesn't work with the Camera Root Relative location. The print returns as if I didn't move on Z, but it actually did move in game

#

Blue print is before Crouch input, Pink is after Crouch is triggered, Green is after Event OnStartCrouch Set Relative location

dark drum
hidden fossil
#

So before I post the blueprint graph which controls the charge shot in my game (as I ended up needing to recompile the engine first) I was wondering if it would help with troubleshooting the sound continuation issue by removing the event definition which is called by the attack trigger to do the processing and attach it directly to the input event.

#

Would that possibly have any effect on the matter?

hidden fossil
# lofty rapids wdym "sound continuation" ?

What I mean is that if the charge is released while actively moving, the sound effect is properly terminated and the attack launched, but if you're in a position where you don't have control over movement (let's say that you are going through a door, or the boss warning has been triggered) then the sound effect keeps playing even after releasing the attack under certain conditions

lofty rapids
#

so is there a boolean or something ?

#

that checks for movement ?

#

idk what your saying

lofty rapids
hidden fossil
# lofty rapids so is there a boolean or something ?

I may require a few minutes to get the blueprint graph image (as I am on a remote connection to the dev station right now) but what I will say to start with is that the first of two primary bool values is called "Focus Charging," and if this is true then the attack has a charge function. The other primary bool is simply called "charging" and is essentially self-explanatory in what it indicates regarding the charge state

lofty rapids
hidden fossil
#

I can work on that in a minute or so, but I would like to make note of the secondary bool values first. The first is called "charge active" and is set as it is described by name, and then compared to the value of "charging" to see if they are both true relative to the state checks for releasing the attack. The other is "cancel charge" and is intended to discard the charge state in situations that don't make sense regarding the game loop.

#

Beyond this are a couple of tertiary bool values that control whether or not the attack has been triggered, as well as whether or not it can be used at all.

#

In any case, the remote connection seems to have malfunctioned and I need to wait for it to reset before posting the relevant portions of the blueprint graph, if not when I physically get back to my desk

hidden fossil
#

So here's the check to see if charging is active - if the result value is false, the charge shot is released so long as the player has control

#

At that point, the first thing that is supposed to happen is for the sound effect to stop playing, after which the "continue charging" bool is set to false

#

Problem is that for some reason, the stop node might not be processed correctly under the circumstances that I mentioned

#

As a side note, there are actually two different sound effect definitions - the first one is the rising pitch as power is built up, and the other is the main loop for a full charge

#

I can add the graphs for the door and boss conditions to the list if you need them, but for now, these are the main concerns

lofty rapids
#

these images don't show me much all i see is a branch

hidden fossil
dark drum
hidden fossil
#

I'm almost to my desk, though

#

So I can give you a better view in a few minutes

#

and here's the logic in question up to the point where the sound is supposed to stop playing

lofty rapids
#

so both have to be false for it to stop

hidden fossil
lofty rapids
#

see if it's one or both when it glitches

hidden fossil
#

charging is turned off after the sfx is stopped

#

what I mean is that once active charging is set to false, the sound stops and charging is set to false in turn

lofty rapids
#

well the problem is it's not stopping

#

so one of those booleans is true

#

if you watch them

lofty rapids
#

in debug you might be able to see which one

#

and is saying if they are both true, so you want false

hidden fossil
#

and I think I know where to check this, probably not for every situation though (just where I have the problem)

lofty rapids
#

if both are not true could be true,false, false,false, false,true

#

but they are both true still

#

and not going to false

#

or it would stop

hidden fossil
lofty rapids
#

well the fact thats where you stop the audio and the audio isn't stopping

#

i mean it makes sense to me

hidden fossil
#

I'm gonna test under the conditions that I need to check and will update with the results

lofty rapids
#

you could also be playing it again as well, does the audio start over and skip or just keep playing ?

hidden fossil
#

so a small update, I have values to check if doors or boss activations are triggered and which are not showing their status as needed to check the issue

#

however, I did notice in the door blueprint that I'm controlling advancement automation with a "disable input" node

#

and that could possibly be related if it's interfering with how the charge shot logic is being called (meaning that I may require an alternate means of doing so) so for now, I changed the behavior to where a focus charge doesn't carry over to the other side

worthy echo
#

Hi , I added spring arm in my character after that it's zooming in floor side .
Does anyone faced the same problem

worthy echo
lofty rapids
lofty rapids
worthy echo
rich sorrel
#

How do I get the Steam authorization token for my Playfab Steam ticket?

narrow sentinel
#

anyone know in UE 4.26 how I can load a level from unloading ??

#

bassically I need to alter and actor details but whilst doing this I need to be able to move to another tile to link to another actor but when I go outside stream distance tile unloads and I need to force tile to remain loaded

mental rampart
#

Is it possible for a in-game screen to "copy" a widget in the viewport... 1:1?

Right now I'm achieving it by drawing two completely seperate widgets, which is unideal for more complex widgets

mental rampart
#

I have a common UI main menu, and I want to copy it onto a 3d screen in the background *alongside * the one on the viewport

dry flower
#

How can I solve this error? thank you

lunar sleet
#

Save the skeleton. You’re welcome πŸ˜€

dry flower
#

When I save it it gives this error

spark steppe
#

that's the skeletal mesh

dusky cobalt
vernal edge
#

can anyone help me . i made a pickup and drop system using attach actor to component and enabling/disabling physics but system only work ones after droping item cant pickup again but blueprint works just actor dent attach

lofty rapids
lofty rapids
lofty rapids
vernal edge
lofty rapids
vernal edge
crimson briar
storm solar
#

trying to add multiplayer to my game. The auto posses tag isnt working for the second controller. Do I have to spawn another player controller? Should I do that in the actor BP or level or... ?

faint pasture
#

go through the normal GameMode flow where it makes a pawn and gives it to the player

#

It's probably possible to get auto possession working but it's really there just for quick and dirty testing.

storm solar
red heath
trim matrix
astral summit
#

Is there a way to search for a single variable in a struct array, such as searching by name?
I don’t want to use a loop node since it’s tedious and makes it easier to make mistakes when implementing it

pallid locust
#

I recently setup this softlock camera rotation feature where when I right click my cursor gets replaced with an image that is locked to its position as long as im holding rmb, but the problem is if you look in the top left corner of the video link, everytime I press or hold rmb that same image pops up and i mean thats where it is in the widget blueprint (0,0) but i dont want it to show I only want the one that replaces my cursor to show

Can someone tell me of a solution I can do to get rid of the image that pop ups for a frame in the top left corner?

the video doesnt capture it because it only pop ups for a frame so look closely at the beginning but it does popup everytime i press rmb
https://drive.google.com/file/d/1qU0k8srLRyO3ltDgzxLMhEn7vI7OaGnv/view?usp=sharing

zealous moth
astral summit
zealous moth
#

still gotta do a loop

lusty oak
#

Hoping someone can help me out here. I'm trying to render a character doing it's idle animation in my menu. I have a blueprint which I've placed in the scene and I can confirm the character is there and idling, and I have a still image on the Render Texture itself, but it's not animating. Whether it should be when viewed there or not, I'm not sure. But when I go to my ui, it seems like anything that has been placed in the blueprint is being culled or something? Like all that blue is because i have those planes in there. If I remove the planes, you can see the silhouette of the character, but not the actual rendered character. Any ideas what I'm doing wrong here?

#

I was able to fix the view by setting the Capture Source to Final Color (HDR) instead of Scene Color. But it's only rendering a still image and not the animated idling for some reason...

frosty heron
#

do you have capture every frame ticked?

lusty oak
#

yes

frosty heron
#

make sure that's the state of all time. You can print that on tick and check if it's true.

#

there's no reason why it wouldn't render the scene otherwise afaik.

lusty oak
#

Ah it's because i'm pausing the game when the menu opens, and it's pausing the animation. duh.

lusty oak
#

So one more issue... it looks like there is a Show Only list on the SceneCaptureComponent2D. It should only render what is on that list. I've set the PrimitiveRenderMode to Use ShowOnly List, and then in the blueprint, I'm adding the skeletal mesh to the list, and it does seem to no longer render the planes I had placed behind the character, but it still renders the sky box and everything else. Is there any way to get it to ONLY render the skeletal mesh?

#

Ah, found the settings for that stuff. All good now.

surreal peak
#

You shouldn't spawn your own PlayerControllers for that.

jaunty star
#

Guys, I found that when I run the UE5.6 arena shooting template, I get a lot of errors. It seems like the enemy blueprint has an issue. Can anyone solve this?

lofty rapids
frosty heron
#

if you try to help someone for more than 10 minutes, usually the problem else where. Mainly with not knowing the basic.

#

hand holding them for another hour would tire you out and not neccessarily help them in the long run.

#

sounds cruel but just saying.

lofty rapids
#

πŸ‘

frosty heron
#

spoke from experience where I get to help someone with their save system.
The person insisted they know the basic, but they really don't. What he says would just be a 10 minute help end up with 2 hours of private session.

#

and in the end he still doesn't know how it work.

lofty rapids
#

Been there I know what your saying

#

I've helped for hours before

#

Lol

frosty heron
#

yeah, I wouldn't do it again.

#

waste of my time and it's also not really help the person to understand.

#

they will jsut be dropping nodes.

lofty rapids
#

Yes I try to help understand but mostly basics I can't be bothered with

#

I usually point to tuts

frosty heron
#

Yeah, once the actual issue is not understanding OOP, references and everything requires to do a blueprint coms, It would be better to tell them to chill out on their core system and just try to understand those first.

lusty oak
#

Anybody know what kind of crazy voodoo I have to do to get the SceneCaptureComponent2D to render Alpha as transparent instead of black? I've got it setup to use the Show Only list and have my character added to it, but it was displaying the skybox. After trying a few things, I got it to black. Depending on the capture source, it either renders nothing, or it renders black and inverts the alpha on my player making it not render as transparent. Looking online it seems like this is a pretty common issue, but none of the solutions I found worked.

#

Here's what I'm talking about, if it wasn't clear.

trim matrix
# lusty oak Anybody know what kind of crazy voodoo I have to do to get the SceneCaptureCompo...

πŸ‘‰Get The RPG Inventory Course : https://bit.ly/4cSYsBh
πŸ‘‰Get My Free Unreal Engine Beginner Course : https://unreal-university.io/freecourse?video=XWXXoAgugD8

Timestamps
0:37 - Introduction to creating user interface
2:00 - Adding and displaying a 3D overlay widget
3:23 - Implementing functionality to show/hide the 3D overlay
5:08 - Creati...

β–Ά Play video
#

this looks like what your trying to do?

frosty heron
#

you may have to invert the alpha, if you haven't already.

#

works fine on my end.

slow pumice
#

Hello, what is the clear difference between savegame and gameinstance ? I didn't find any clear answer ... like the gameinstance is used to global setting (input, graphic setting etc) and savegame for the global information in the game like health etc ?

frosty heron
#

You don't need Game instance to store input, graphic settings, etc. They can be stored in save game settings.

#

use Save game object to load / save game states.

#

GI, just persist when your application is run and destroyed when the application closed.

#

some usage of GI would be to store temporary data, e.g when you want to travel from Map1 to Map2. Since traveling destroy most of the data from the previous world, you can store data in the G.I where the data will pressist.

slow pumice
#

ok, thank you very much for the clear explanation πŸ‘Œ

crimson briar
slow pumice
crimson briar
# vernal edge

In places where you set variables, you use HeldItem, but in the fourth BP you use GrabItem to get the variable instead. I'm not sure I fully understand your goal here, but it looks weird at first glance

void jewel
#

is it possible to construct gameplay tags in blueprint? i know i can Add Gameplay Tag, but I have an array of enums and I want to create gameplay tags correspondingly. Basically in the same way one would append strings, (category).<enum goes here>.active

#

otherwise i think this is the first time i will use the variable map

#

which still sucks because i'd like to not have any mandatory secondary tasks as this enum list is expanded

lofty rapids
lofty rapids
# vernal edge

looks like your interacting with the hit regardless if your holding an item or not

lofty rapids
# vernal edge

basically i think what would help is if you check if your holding before you check for implement interface

#

idk if it will fix it but that just looks like it's off a bit logically

#

i mean i would check before even the trace, because if your holding then you don't need to trace you want to drop

lofty rapids
lost hemlock
#

question.... I need to make a short tutorial at the beginning of my game... I need to prompt the player to pick up wood. All wood items will have a widget on top of them saying "press e to interact" etc. these widgets are all invisible by default.... but there's a lot of these actors in the world, it's a big world. The question that I have is... how do i make it so that this widget only shows up two times? Player begins overlap a sphere that indicates close distance to that wood, and then he sees " ohhh i need to pick up two of those things "... and then the player will kind of get what he's supposed to do early on when he starts the game

#

should I use game instance for that?

#

or should i do a "sequence" -> "do once" in my item data, item data destroys the item and adds it to the inventory

#

item data is a component 🧩 shared among all my inventory items... and all inventory items share a parent... but that's not very useful info, Im just adding it just in case someone thinks it is important

surreal peak
surreal peak
#

In theory, you need something that handles your Tutorials. Some manager component on the GameState for example.

Then you could make another Component that you can add to Blueprints or Instances in your Level that can be used to register specific Actors with your Tutorial System. BeginPlay of that Component could register the Component or Owner to the main Manager Component, maybe via a (unique) GameplayTag. Other Systems can then query Tutorial-relevant Actors via that.

The Manager Component could have a system that goes through Tutorial Steps, where each Step could have "Actions" that get executed, or stay active for the duration of the Step. Those "Actions" could simply be UObjects, to keep them lightweight but still allow inheritance and what not.

You could then make an Action that gets all Actors that are registered with a specific GameplayTag and do something with them. E.g. "Tutorial.Entity.Item.Wood", and since you know those have to be BP_Item_Wood, you can cast the Actor to that and enable the Tooltip.

Something like that. It's good to ensure you create something powerful that can support all you need instead of making a bespoke solution for each thing when you encounter it.

lusty oak
surreal peak
#

So after the tutorial you never want to show these again?

surreal peak
#

Then your Items should NOT have those Components by default. The Tutorial System I outlined should grab all Wood Items and add it runtime to them.

lost hemlock
lost hemlock
#

I kinda wanna learn how to design those things in an efficient professional clean way, I can make a ghetto programmed tutorial but in the end I don't want a duck-taped result, i wanna do things efficiently and learn the best methods

#

I had a tutorial system before but it was too bad and I removed it to start again

surreal peak
# lost hemlock okay I see. I really don't understand Uobjects tho, never used them, I used libr...

UObjects are just the very base class of what you usually deal with in Blueprints. They are the base of (almost) everything you deal with, even Asset like Textures. They are very lightweight, you can create instances of them, use inheritance like you do with Actors, etc. Due to being so lightweight they don't support Components, can't be placed into the Level (they have no concept of 3D) and some other small things, like no Destroy function or creating them via CreateObject instead of SpawnActor.
The biggest difference is that they have no concept of the "World", as there is no guarantee that you create them within a World. Actors are spawned into the World, so they can use World related functions etc., UObjects are a lot "dumber".

#

Something that is very close to a UObject in that regard is the GameInstance, as that is something that lives for the time your game process is running, and isn't tied to any World/Level.

surreal peak
#

It's probably a good idea to take pen and paper and to think about all the things you might want to do with the Tutorial System.

  • Different Tutorials
  • Different Tutorial Steps within a Tutorial
  • Those Steps might need a progress, and that progress might be very different between the steps (e.g., something counting up, something tracking multiple single "goals", etc.)
  • Those Steps might need to do something when they get Active, when they are Done or while they are Active
  • Some Actors might need to be relevant to Tutorials, so something to mark them and keep track of them without tying the logic too much to them directly
  • Tutorial Progress might need to be saved
  • Maybe multiple Tutorials need to run at the same time
  • Tutorials and their Steps might need to populate some UI with instructions

Stuff like that. And if you think you have a good list of what you will need, check what you need to get these transfered into the game. Ask around what could be best used for XYZ. Take multiple opinions and favor the ones with proper explanations. And when you finally start, don't be afraid to rip stuff out again if it doesn't work or you forgot something in your list.

dark drum
lofty rapids
lofty rapids
lost hemlock
# surreal peak It's probably a good idea to take pen and paper and to think about all the thing...

Some Actors might need to be relevant to Tutorials, so something to mark them and keep track of them without tying the logic too much to them directly,
I could make an actor component to tie all those items that are relevant to the tutorial
Different Tutorials
Different Tutorial Steps within a Tutorial
Those Steps might need a progress, and that progress might be very different between the steps (e.g., something counting up, something tracking multiple single "goals", etc.)
Those Steps might need to do something when they get Active, when they are Done or while they are Active
this I think might also tie into a little bit to my level system. Your xp increases and so does your levels overtime but nothing happens you don't win anything at the moment for increasing your level etc. So I will probably need to fix that.

dark drum
lost hemlock
dark drum
# lost hemlock Nice, I like quests. Not familiar with any specific quest systems tho, is there ...

I've not done a quest system tutorial myself unfortunately. The quest systems I've created myself however, use custom uobjects.

As a short overview I'd have a custom uobject class that contains things like title, description, quest to add when completed (if any). I'd then have another custom uobject that's used solely for tracking changes in the world. This would also be specified in the main quest object. When it's complete, it'll tell the main quest object, 'Hey, all actions have been done, do your thing.' At this point it can check if a new quest needs to be added and do so automatically.

Having an actor component to then manage these can be nice and gives an access point for the UI to gain access to the data such as active quests and completed quests to display in the UI.

lofty rapids
#

my questlines are an array of structs

#

i have not used raw uobjects much

#

probably should look into it

dark drum
dark drum
#

I was working on an upgrade system the other day, which uses a data asset where you specify some properties, one of which is a custom uobject which handles applying the actual upgrade based on the level that's passed in.

The uobject goes and modifies the various properties in other places. This makes creating a new upgrade easy without having to have a ton of branches.

I can also just loop through all upgrades at the start of the game to reapply them all from a save. (not actually done this bit yet)

lofty rapids
#

i see so you have your original stats, but then you stack upgrades onto that ?

#

i have buffs, but i have not worked out many stats other then hp,xp,stamina,power,level

last peak
dark drum
dark drum
# last peak Cant use them too much, they are so much better than structs or annoying data ta...

There is overhead for creating uobjects so you do need to be careful if you plan to scale up massively. Structures can be more efficient from a resource perspective but they're limited in BP only. :/

Looking through some of the source code, there's a lot of places where structures are used like objects. From my understanding in C++ you can reference a struct so it's not just a copy, unlike in BP. :/

trim matrix
last peak
#

Unless your using millions of them

maiden wadi
#

It's a bit more strictly simple than that in reality though. UObjects are 100% superior to structs in BP only.

#

Structs are just kind of bad in BP due to their breaking habits. And they don't actually offer anything. Actually they're slower to handle usually because you end up needing special handling classes like libraries for them because you can't put functions on them directly. I can't ask my struct in BP to return a sorted array of something it holds for example. You can do that with an object.

The second is passing them around. Most functions in BP are copy. The more complex your structs get, the more you spend on allocations. UObject also avoid this because you're passing a pointer.

You get NO cache friendly bonus from structs in BP. This is the one major place that they actually shine in C++ outside of creation costs because iterating an array of UObjects has you jumping around to access random memory. Accessing an array of structs is cache friendly, it's all there.

The creation costs are usually negligible in BP. You won't be scaling up to a point that it'll matter. Because BP only code won't support a heavy count anyhow just due to the way it runs unless you avoid any sort of iterations and strictly stay event driven which isn't always possible.

dark drum
lofty rapids
#

as far as data goes i really like structs

#

because with a type system you usally are restricted to what you can hold

#

and array of structs for me is just naturally awesome

#

i see the point of uobjects can run code thats nice feature

dark drum
marble tusk
#

It would be nice if blueprint structs could get to the point where it's not a buggy mess which breaks all the time

lofty rapids
#

i don't have a problem with structs

#

if you change a name when it's connected it will break

#

and you have to refresh

#

but if you leave it alone it's fine

#

in c++ if you change the name it will fix it automagically ?

#

i have not had it break other then the times i changed it

#

you can add to it np

#

it just if your using a value you shouldn't change its name or remove it the wire will still be connected

dark drum
lofty rapids
#

i've heard they can "break" but i have not had an issue really πŸ€”

#

it's definately a pain when you have to change something

maiden wadi
#

The issue with BP structs is that they're... stuck.

supple charm
#

how can i make the fruits falling from the sky be vibrant and not show black shadows when looking from the bottom? just disabling cast shadows wont work

maiden wadi
#

Like, you "could" make a BP struct that only references C++ types. Or maybe allow only using other POD types. In fact uh... U# and Angelscript both allow creating structs. There's no reason you couldn't do the same thing in the editor with some form of scripting layer.

Buuuut then you have to force them not to reference other classes somehow. That's one of the big gotchas with BP structs is their super ease to cause circular dependencies and get weird breaks where shit just.. doesn't work. And I think the scripting structs reload similar to C++ ones so they don't break as much.

crimson briar
#

UObjects have one drawback though - not being able to use BP FUnction Libraries, even if the functions are not world-sensitive. There are some ways to get aorund it but the point of Function Libraries is to have a general purpose function available easly. And it doesn't work with objects

dark drum
#

It would be nice if they added world context free func libs that could be used in uobjects without world context.

maiden wadi
#

Or even just a checkbox on the function to not require it individually.

dark drum
dark drum
dusky cobalt
#

You can always just copy paste the function to UObject and not worry about library but yeah

crimson briar
#

Depends how much pain you can handle. Copy-pasting a function does severe damage to your programmer brain.

supple charm
vernal edge
#

@lofty rapids @crimson briar thanks for helping ❀️ , i fixed it i plugged wrong pin in target of detach component

odd kiln
#

Can I point an IK bone to a target ? Like my arm for example ?

faint pasture
#

structs are life

#

if I can do it with a struct I do it with a struct

last peak
#

Only negatives besides the minimal performance boost

faint pasture
#

nope

#

the ergonomics are awesome

#

I'm talking C++ of course, not BP structs

#

And depending on what you're doing, the performance boost isn't minimal. I got well over a 10x perf boost moving to a tight array of structs instead of UObjects all over the place in my 1D simulator plugin. If you're gonna have hundreds of instances of a thing, just DOD it and zoom.

last peak
#

But in c++ i would probably use structs too, they are simply horrible to work with in bps

#

atleast for me they break all the time .... maybe im doing something wrong

#

Guess execution time is way slower for u objects hmnn

red briar
#

would this be how i can disable landscape collision in runtime?

spark field
#

why in ue5 the click template you have to hold the left mouse button isntead of just clicking once

faint pasture
#

It's not the memory per se, it's the fact that they're shotgunned all over the place

knotty current
#

i have a widget component on all bp_firstpersoncharacter that replicates and is designed to appear for all players. for some reason, the host cannot see these widget components, only clients are able to see it. the clients can see the hosts widget, the clients can see other clients, but the host cannot see any. any idea?

dusky moth
#

can someone make an example for a piston that moves up and return down in correspondance to an analog value from 0 to 1, like a trigger, so a smaller value wont result in a smaller speed but will result in less distance from the center height. it needs to have an adjustable speed, acceleration, return speed, distance that itll move from the center height, and be able to stop on a dime, and it needs to use the z direction relative to the piston so that it wont matter if the piston is rotating in world space.

i cant find any good tutorials for stuff like this, the best ive been able to do is using add force nodes and physics constraints, the problems im having is its hard to make it use the smaller values to move the piston smaller distances, rather than move it at a slower speed. and its hard to make it so the piston stops quickly upon letting go or it reaching the max distance, without effecting the speed that the piston moves

knotty current
#

sometimes i ask chat gpt for aid, but in this case its not giving me good respose

dusky moth
knotty current
hearty musk
#

Hello, looking for some help with collisions in Unreal Engine 5.

So I'm working on a physics based landing gear system. When I press G, it toggles its states between physics driven and animation driven (deployed & retracted / blending physics weights 0 - 1 and 1 - 0). The issue I'm having is that the collision from the physics asset still remains in place.

Is there a way to toggle collision off and on for a skeletal mesh physics capsule at run time or is the only solution to use physics control (which I have tried but it introduces excessive torque values that affect my flight model)? Here are some images:

Edit: nvm, i just created a custom function in c++ (callable in blueprints) that allows me to toggle collision at runtime per bone. Seems its not built into Unreal Engine 5 for some reason...

surreal wagon
#

Can someone illuminate me on why getting the static mesh component like this does not work

real epoch
#

Hello, so for whatever reason I have this tank I made using the chaos vehicle plugin and for whatever reason, everything in it works... except the set throttle input node. It fires but doesn't trigger a breakpoint, it doesn't show any error, and the vehicle simply doesn't move at all. I have no idea what to do, been looking for help for days now, and I'm wondering if I shouldn't just restart from zero and hope it works this time, which honestly doesn't sound like an ideal solution

lofty rapids
hearty musk
lofty rapids
#

then double click it and show that code if you can

real epoch
#

Double-clicking it just shows a pop-up "reading c++ symbols"

real epoch
hearty musk
real epoch
#

Yes

#

And to be clear, it used to. And at some point, for a reason I cannot figure out for the life of me, it stopped

hearty musk
#

Do other movement controls work?

real epoch
#

Also everything else works, brake works, steering works, suspensions work...

#

And the basic vehicles also work

#

Though they're made in C++ since I created the project in C++

hearty musk
#

Is this a physics based tank? (Physics Asset blueprint, etc.)

real epoch
#

Yes

#

Physics look like this rn

#

If you want to see for yourself I put the project on github and can give the link

stone field
# real epoch Double-clicking it just shows a pop-up "reading c++ symbols"

Aside : nodes that are c++ can be viewed if you have a c++ game project : all that needs is one dummy class. Then you can open the solution and the link from editor to c++ code will work in an IDE like vstudio or rider etc.

Even if you are not a coder, it may be beneficial to see the code of some nodes to gain insight into issues

real epoch
#

Oh that's interesting, I had no idea

#

So if I open Rider I could find the node's code?

stone field
hearty musk
#

How does your tank actually "move"? Do the tracks propel it forward or is it something else. For example Left track moving forward and right track moving backwards/at a slower rate rotates the tank. Also could you elaborate on "when" throttle stopped having an effect.

real epoch
#

It's just a bunch of wheels

#

It stopped after I opened another larger map to test the suspensions on harsher terrain

#

And now it doesn't work on any map

real epoch
stone field
#

If you use version control, you can diff changes

real epoch
#

I don't :/

#

Didn't think I'd find a game breaking bug after just a day of work on a brand new project

stone field
#

the pain of mystery changes...
assuming you have tried restarting unreal to make sure it's not an editor glitch, without version control you may waste untold amounts of time pondering what got broken : (

#

"a story as old as code itself"

real epoch
#

I feel figuring out what went wrong would be better since it could happen again at any moment if I were to make a new project from scratch

hearty musk
real epoch
#

Yeah I tried it on the offroad vehicle map so it was a different gamemode, I overrode it and I think that's when it stopped working

#

What's weird is that the first map I tested it on, well it doesn't work there either now

dusky moth
#

there should be a leetcode but for unreal blueprints

hearty musk
#

Get the vehicle to automatically apply a throttle value of 1.0 without providing any player input.

real epoch
#

Any other way of changing the throttle value doesn't do anything either

hearty musk
#

Are you using the same input for reversing the tank? like multiplying the throttle value by -1 or is that a completely different value?

What im getting so far:

  • Every other tank control works except moving forward

How about your input settings?

real epoch
#

Reversing is just setting the throttle to -1 afaik

#

Doesn't work either

#

Input settings are default, haven't touched them

hearty musk
#

Can I see more of your blueprint? Triggered > Set Throttle Input > Node I cant fully see.

real epoch
#

It's get throttle input to print it

#

Like tbh the blueprint is as basic as can be, I add mapping contexts and then I use the vehicle movement component's functions to use the vehicle

lofty rapids
real epoch
#

Yes

hearty musk
#

Im convinced that is the issue has nothing to do with input values but i mean...

real epoch
#

I have zero c++, I made the project with c++ base files since it's meant to have multiplayer so I figured it'd be easier this way than to start with a blueprint project and later import the necessary c++ source files, which has caused me issues in the past

hearty musk
#

Try recreating your blueprint (you'll have to change your assigned game mode pawn). Redo the control system. Dont do a full project restart. Just create a new blueprint and change your references to that new blueprint

crimson briar
lofty rapids
real epoch
#

Yes

real epoch
lofty rapids
real epoch
#

What do you mean?

#

It's in the vehicle movement component

lofty rapids
#

Hmm ya automatic but do you need to put it in drive ?

real epoch
#

What do you mean?

#

Like, engage the transmission?