#blueprint

1 messages · Page 375 of 1

lofty rapids
#

is that supposed to stop it ?

trim matrix
#

meant to

lofty rapids
#

are you trying to move to a target ?

trim matrix
#

thats the wheels making up the suspension, thats all i could find w tutorials, if i dont need it then thats great, im mostly aiming for a ps1 style kart racer,

lofty rapids
#

ok i see the red is the traces

trim matrix
#

yea idk why its moving without input

lofty rapids
#

thats a massive force lol

#

try something smaller

#

because in unreal when you use physics it be like that

#

it fkn glides

#

you got to add friction n stuff like this

trim matrix
#

it moves w a lower number but its rly slow

lofty rapids
#

ya its just gliding add a force on tick

#

in the reverse

#

like friction

trim matrix
lofty rapids
#

lower the force untill it barely moves

#

then multiply that by a factor

#

but i would add friction

faint pasture
#

We doing vehicles?

trim matrix
#

attempting to

trim matrix
lofty rapids
#

but add a deceleration

#

like friction

faint pasture
#

What's the problem, it's a hovercraft RN and not a car?

trim matrix
#

the problem is it moves on its own, dosnt move forward w speed, once moved forward cant stop, cant turn, any colloisoin w another mesh flips it

faint pasture
trim matrix
#

im aware

faint pasture
#

You had high school physics?

trim matrix
lofty rapids
#

one thing is you can just add force of zero to stop it

faint pasture
#

An object in motion.... Remains in motion unless acted upon. You gotta act upon it.

#

Start with a unicycle. One trace

lofty rapids
#

you could however set that value on your character

#

or car or whatever

trim matrix
#

ideally, i dont care ab accurate physics, if i can just make it look ok visually n feel ok to move like thats enough, the game aesthetic is low poly

faint pasture
#

Force = (TargetVelocity - Velocity) x SomeNumber

trim matrix
faint pasture
#

Have your inputs set TargetVelocity

lofty rapids
#

when you press the button, add force in the forward direction

#

but add friction so it doesn't just glide

faint pasture
#

This is the sort of thinking you need for a vehicle

trim matrix
#

if its not moving to start w how do i get a velocity other than 0

faint pasture
trim matrix
#

its only moving w the variable i had set w it and even then very slowly

faint pasture
#

Tune the number to taste.

trim matrix
#

can i not just, have a kart mesh in a third person bp, have it rotate to align w the ground normal to look like it has suspension, and then w controls have the mesh rotate if the player is instead of coding a whole new pawn

knotty falcon
faint pasture
trim matrix
#

but its too much added shit for what i need

knotty falcon
#

We don’t know what you need that’s the problem

trim matrix
lofty rapids
#

will your ground always be flat ?

faint pasture
#

Then no I would not start with character movement

trim matrix
faint pasture
#

Just think. The tire has a velocity. It wants to go. It has a velocity. It is currently going. The difference, subtraction, between those, is how you cook up the force that it generates.

knotty falcon
faint pasture
#

I want to move forward but I am not moving, I should generate a force forward. Forward - 0 equals forward

trim matrix
faint pasture
#

I want to move forward, but I am moving to the right and forward. It will generate a force opposing the rightward movement, that's your side to side friction.

knotty falcon
lofty rapids
trim matrix
knotty falcon
#

Do the wheels turn?

frosty heron
lofty rapids
# trim matrix yea

so what i would do is get camera forward except the maybe y one of the axis

#

which would make it look in the camera direction except keep the cars axis that keeps it upright

#

i'm not sure if its two or one i would have to look at the code i can't do that

trim matrix
knotty falcon
trim matrix
lofty rapids
#

and just look basically the cmaera direction but then from where the camera is looking straight

#

but at that location

knotty falcon
lofty rapids
#

so the cameras rotation but the players direction

trim matrix
#

instead of actor forward vector?

lofty rapids
lofty rapids
trim matrix
lofty rapids
#

instead

trim matrix
lofty rapids
#

then break the vector

#

break the vector on the force

#

just plug x and z in

#

try that

#

i'm not sure what the combo is

#

but i think its if you leave out y

#

it should be camera rotation but looking basically at its zero

trim matrix
lofty rapids
#

but try this

#

and the force should be applied relative to the camera

#

can you rotate your camera yet ?

trim matrix
#

nothing happens w the camera or the input key rn

lofty rapids
#

well the force should be going straight

#

relative to camera

trim matrix
#

nothing happens

lofty rapids
#

you can either multiply the vector by a constant, or by anotehr vector with all three set to a variable

#

or even multiply the x and z by a value

#

but i would try to multiply the vector by a float, and output a vector

#

which should scale it

trim matrix
#

nope

lofty rapids
#

Try to plug y in is it moving?

trim matrix
#

multiplying the vector or the floats didnt change anything

lofty rapids
#

Print string

#

Is it running ?

trim matrix
#

yea

#

but its still barely moving and i multiplied by 25000

lofty rapids
#

Ok so it's moving tho ?

#

Try add impulse instead

trim matrix
trim matrix
lofty rapids
trim matrix
#

the y isnt hooked up

lofty rapids
#

Ok try without z

#

Or wait try just y also

trim matrix
#

y worked slightly but its slowly rotating

lofty rapids
trim matrix
lofty rapids
#

Try to shut it off for a second

#

Oh no your suspension fine

trim matrix
#

shutting it off dosnt let me move at all

trim matrix
lofty rapids
#

Did you try impulse

trim matrix
#

that is impulse

lofty rapids
#

Hmm

#

What does it weigh ?

trim matrix
trim matrix
lofty rapids
#

You know what let me look at my code for this instead of guessing...

#

I thought it was x and z

#

I get axis confused easily

#

I need to compile shaders...

#

This is always a pita

trim matrix
#

idk why its at an angle

lofty rapids
#

I'm probably missing something I'll check

#

How many camera you have ?

trim matrix
#

1

lofty rapids
#

Set the rotation as well

trim matrix
#

of the mesh or camera

lofty rapids
#

The mesh

#

To the same thing kind of thing but use the camera rotation

#

Try x and z or just y

trim matrix
#

in the input or suspension

lofty rapids
#

The rotation of the kart

trim matrix
#

or just in the pawn tick

lofty rapids
#

Ya tick is fine

trim matrix
#

so on tick set the rotation to the x n y of the camera

lofty rapids
#

There x and z of camera y of self

#

I'm pretty sure

#

So get your y and set it back

trim matrix
#

for the box root or the mesh itself

lofty rapids
#

Is your camera part of kart bp ?

trim matrix
#

yea

lofty rapids
#

I would rotate box

trim matrix
#

this?

lofty rapids
#

Close

#

Get your y and plug it in

#

So get rotation

#

Break

#

Y plug it in

#

So it doesn't change

trim matrix
lofty rapids
#

Ok now do x and z

#

Instead of y

trim matrix
lofty rapids
#

No the rotation was right

#

The force was wrong

#

It should of been y

#

It should be x and z I think

trim matrix
lofty rapids
#

Ok shutt off the suspension for test

faint pasture
lofty rapids
#

See if it's rotated correctly and force works

trim matrix
lofty rapids
#

Just to test

trim matrix
# faint pasture

interestingg. i wasnt that far off but was, but how would i do this w controller in place of mouse i was planning to support both? and ty, seeing it visually made more sense, (still slightly confused but the visuals help)

faint pasture
#

a car is more like "it resists left/right motion, it tries to accelerate or break in the forward/reverse directions only, steering ROTATES the car"

#

at the simplest level

#

later once you want to have drifting etc, you'd start modeling more of the friction limit and such, at the far extreme you do everything by tires with momentum and steer by orienting the tires, that's where you end up on the simulator end of the spectrum

#

Honestly start by making a skiier with a rocket on his back

#

3 main forces:
Suspension (keeps you up off the ground)
Lateral grip (resists left/right movement)
Thrust (forward acceleration)

#

just rotate him based on control rotation, which mouse and gamepad can trivially just update

lofty rapids
#

Or is it x and z but y of the player

#

That's the combo like the rotation

#

That's what I was missing I think y of the mesh forward

frosty heron
#

@faint pasture can i have opinion on how would you tackle mountable in multiplayer?

#

Something like this

#

Should we just unpossess the human char and start posessing the mount?

faint pasture
#

Btw 10 years ago I was doing the same thing lol

faint pasture
#

I've never done it though

trim matrix
faint pasture
#

physics turned on, constrained in rotation for now

lofty rapids
#

It looks like starting int the ground

#

Raise it yp

faint pasture
#

and maybe spring math is backwards yeeting it earthward

#

without CMC turned on so you clip through then fall

trim matrix
#

ok i got it to stop clipping but now wont let me move

#

and now its clippign again

#

i dont think its positon bc raising it up makes it clip too

lofty rapids
#

Wdym clip

knotty falcon
#

this dude just told you hes been working on cars for 10 years lol

lofty rapids
#

And it looks awesome too

knotty falcon
#

It totally does!

#

I meant to say, theres no substitute for trial and error. Just mess around with stuff! talk to chat gpt, lookup on youtube etc

frosty heron
knotty falcon
#

even if you get that car to move forward using impulse, what are you gonna do when you get to the next step?

frosty heron
#

And cmc already got acceleration/ decelerare so we can just make it slide

trim matrix
knotty falcon
#

cant rush the learning process or else your stuck with a project where you dont even understand how or what you did and dont know how to navigate it because there was no trial and error involved

trim matrix
lofty rapids
#

Ground

knotty falcon
#

You will soon realize that what im telling you is trying to help you @trim matrix . Nothing negative about what im saying

knotty falcon
#

hm

trim matrix
lofty rapids
frosty heron
#

Open console and type show collision

trim matrix
lofty rapids
gentle urchin
#

Show dont tell

#

Is something we push people to practice here 😆

knotty falcon
trim matrix
trim matrix
lofty rapids
#

Hmm

trim matrix
trim matrix
#

like tf

knotty falcon
#

😂

frosty heron
#

Is that custom UCX collision? Its not done right imo. Not saying thats the problem but wont be suprised if theres any abnormality.

That aside. You should check the collision type and channel.

Also if you using physichs then you probably need physich assets for the collision.

trim matrix
#

it did it even on a normal unreal cube

lofty rapids
frosty heron
#

Check the collision settings on both the car and the ground.

trim matrix
trim matrix
knotty falcon
#

shows us your collision settings

frosty heron
# trim matrix ^

This is showing how the car fell not the collision settings that we need to see.

#

Click on the car. Go to the collision settings then screen shoot. Do the same with the floor

faint pasture
#

also idk how big your mesh is

trim matrix
faint pasture
trim matrix
#

kart collision

#

floor collison

faint pasture
#

you sure you have the line trace ignoring self?

frosty heron
faint pasture
#

show code and component layout of kart

frosty heron
#

Hopefully cmc suffice

#

@faint pasture when physich is turned on for static mesh, are the simple collision still used?

faint pasture
#

whatever collision the mesh is using is used

#

you want to use simple usually

frosty heron
#

Yup

faint pasture
#

you also plugged VElocityX into both x and y of Velocity

#

btw rename that DesiredVelocity

#

it it's the velocity, it's the velocity you want

faint pasture
#

you probably don't want to pull 1G per cm/sec you're moving

#

no wonder you're accelerating to light speed

#

that should be a 1

#

that bit is the suspension dampening

trim matrix
#

its not falling through the floor anympre but i still cant move it

faint pasture
#

Where do these come from?

#

those should just be your WS and AD axes

#

I didnt feel like hooking up anything beyond raw dog input for my quick and dirty demo

#

if you have inputaxis values for Forward and Right plug them there

trim matrix
#

well, like i said i just copied your thing lol 😭 ill add them

faint pasture
#

You gotta understand what the code is doing and not just cargo cult it

#

only way to learn

#

anyway gotta get up in 3 hours good luck

trim matrix
#

and i learn much more by doing and seeing than being talked at or down to like some in here would like to do lmao

maiden wadi
# frosty heron Should we just unpossess the human char and start posessing the mount?

100% this. Because the mount has it's own set of abilities. It can jump different, might dash, might breathe fire, have a handbrake, etc etc. At this point your "character" is just an attached accessory which may or may not add extra buffs or abilities. But you're still controlling the mount at that point even for something like horseback archery.

knotty falcon
# trim matrix and i learn much more by doing and seeing than being talked at or down to like s...

We are both telling you the same thing. You have to understand what its doing and not just copy and paste. Im not sure where you think im being negative or attacking you but its the truth. Its all love, we are all here learning and we have all failed 100000's of times. Im trying to set you up for success and jumping into trying to get this car to work is not going to end well if you are lacking the basic understanding around it

#

Ive put more hours into trying to learn this damn engine last week then i did at my fulltime job. If you want to learn the engine theres no substitue. If you just want to make a game or make something happen there are wayyyyyy better options out there than unreal engine.

frosty heron
#

Any engine would have simmiliar learning curve.

Unless you are making a game with game editor like warcraft, starcraft and arma. Expect the same challange.

knotty falcon
#

Well, it wouldnt be a game engine neccesarily but a "game creator"

frosty heron
#

Theres not much difference between doing inventory in engine X or engine Y. The logic would have been the same.

trim matrix
knotty falcon
#

correct, but some game makers have a prebuilt inventory built in

knotty falcon
#

but starting with somethign simple can be a great way to introduce you to programming concepts without throwing the entire book at you at once

trim matrix
#

i fully have another game about to ship

#

😭

#

but yea ill get right on that😭😭

knotty falcon
#

ok now im confused lol..

trim matrix
#

why

knotty falcon
#

your shipping a game?

trim matrix
#

yea

knotty falcon
#

in unreal?

frosty heron
#

Unproductive chat

trim matrix
#

yup

frosty heron
#

Just build guys

trim matrix
#

oh well

knotty falcon
#

sweet, hit us with the link when you drop it

frosty heron
#

Working on that mario cart mechanic isnt really a leap frog.

knotty falcon
#

Im still working on shipping my first.

frosty heron
#

I do say thats a good starting point.

knotty falcon
#

well, learning the input system first might be better

#

but what do i know

frosty heron
#

Meh publishing a game doesnt mean anything.

trim matrix
frosty heron
#

Ive published mine and lost tens thousands of dollars

knotty falcon
#

definetly a good challenge

#

dammmmn

maiden wadi
#

I really should try to vertical slice some games. Atre takes up too much of my time and it's only supposed to be a dayjob. 😂

trim matrix
frosty heron
knotty falcon
#

you have to be a masochist to be a game dev i swear

trim matrix
#

im past burnt out lmao. game development isnt even my main thing. i use unreal for vfx and animation, and then fell into this

knotty falcon
#

i couldnt do it without my game dev partner.....lots and lots of weed

trim matrix
#

being stoned and programming is great

#

until the shit stops working

knotty falcon
#

thats when i lke it best!

#

stops me from getting so frustrated

trim matrix
#

nah my dyslexic ass gives up at that point

frosty heron
#

I come to a point where i can start appriciate what i built.

Guess its like drawing. You start from sh*t then gradually you make something decent.

#

The process is hard, but giving up is harder.

knotty falcon
#

Oh for sure. As a kid i never dreamed of being able to ever do the things i do today. I must have installed unreal engine 10 times and bounced off of it every time but for some reason this last time it stuck

knotty falcon
#

such an addicting feeling

frosty heron
#

@maiden wadi do you think most modern multiplayer net code is soo bad?

I played dead islamd 2 yesterday. The proxies are not even smoothed. Rotation and movement is sooo choppy.

Also the final fantasy dungeon raid game is full of choppy movement.

Dying light was ok but not on the same level like the old game.

Makes me think left for dead is a technological marvel.

maiden wadi
#

I want to go back to being dumb. I paid less for aspirin then.

frosty heron
#

Thats when im relaxed and can think freely.

#

Just think about it then woke up with a potential solution.

maiden wadi
#

But yeah. I dunno. I think most of that is hard. I think a lot of them go for safety over niceness. Reality feels nicer than fake unless you can make fake feel real. And making fake feel real is the hardest solve in most cases. So it's easier to just.. not try.

frosty heron
maiden wadi
#

Does the proxy look choppy on client or host?

frosty heron
#

Both lmao

maiden wadi
#

Like movement or animations?

knotty falcon
#

Could i get some quick advice on something? Im working on a simple rougelike game for practice. There will be items you can buy in a shop that will be really simple and will carry a passive skill boost or an ability that can be used in game. Just from a general overview - how would you approach storing these items? Ive used Structs before, but wasnt sure if that would be the best method. Its hard because I just have no frame of reference on what industry standards are for stuff like that

frosty heron
#

Movememt

maiden wadi
#

Do they have super fast movement?

frosty heron
#

When they rotate, its not smoothed

#

Hmm i havent unlock all abilities yet.

#

But it doesnt do crazy parkour or anything like that.

maiden wadi
#

That's odd. usually clients are fairly smooth because of interpolation. They could have disabled it. If they're using CMC.

knotty falcon
#

Even just throwing some terms out for me to go and research would be much apprecaited!

frosty heron
frosty heron
knotty falcon
maiden wadi
#

I've been working on redoing my inventory system into structs. Keeping all script facting public API as UObjects though.

knotty falcon
maiden wadi
#

One UObject per item or stack of items.

#

Do you read C++?

knotty falcon
#

I dont need to store inventory, once the player buys the item from the shop it will instantly get used if its passive or if its active theres only one slot

#

Its more about storing the items and all the data, effects, etc

knotty falcon
maiden wadi
#

Still sounds like an inventory to me unless I'm misunderstanding?

knotty falcon
#

Well i guess your right because the passive abilities have to stack somewhere

maiden wadi
#

Well

knotty falcon
#

theres just not slots that you cna move things around or a hotbar etc

maiden wadi
#

To be fair that's kind of inventory AND equipped territory.

knotty falcon
#

if you already have your one non passive item you cant buy anymore or store them anywhere

frosty heron
#

Inventory and equipment component

#

Just use instanced struct and you can have composition.

knotty falcon
#

Yeah thats how im doing it now. A component with all of the data in a enumerator map variable. then i have a base class for the item and a base class for the potential efects an item can do

frosty heron
#

Litetary add any fragment you want. A size, price, descriptiom, status effect. Your imagination is the limit.

#

Enum map variable?

#

Imo you should explore instanced struct, it will be an eye opener.

knotty falcon
#

ok! I will research tonight

frosty heron
#

Im not going back to normal struct again in my life for inventory

knotty falcon
#

The enum mapped to a float to reference data on the character

frosty heron
maiden wadi
#

In my specific case, my items never leave the inventory.

Equipped items and hotbar items are all just items in your inventory. They don't go into anything special. The hotbar and equipment just references the stuff in the inventory.

ItemID: 344134
ItemType: DA_LeatherBoots
Name: Leather Boots

If I had that item in my inventory. My quickbar would reference 344134. When I use that quickbar, it'd look up that item by ID in the inventory and use it.

#

Equipment is pretty much the same. My equipment is just a list of equipped ItemIDs.

frosty heron
#

Does instanced struct require cpp? I never try to make one in pure bp.

knotty falcon
frosty heron
maiden wadi
#

But yeah. Specific implementation aside, you're explaining an inventory with items that have unique pickup locks. But still just an inventory.

frosty heron
#

And anytime you want to add anothrt effect or attribute to the specific item, you just add and remove fragment as needed.

#

Its kinds why i dont like struct based inventory. Stuck with giant mammoth info when an item probably just have a multiple things that it needs to know or contribute.

knotty falcon
#

Hm, I guess i sort of understand.. Just in the sense that it can be dynamically changed at runtime vs a struct which is just read only (i think?) But i think id have to see it to fully understand some of the things your saying

frosty heron
#

Im at work atm but i can show what it looks like after work.

#

There should be some breakdown on the internet.

knotty falcon
#

yup ill poke around

#

are normal structs read only?

frosty heron
#

No they can be edited

#

Thats not the point of instanced struct though

maiden wadi
#

@knotty falcon If you have an array of structs.

Lets go simple with FVector.

Your array has a list of structs that all have three floats, right?

knotty falcon
#

my array is structless 🥺

maiden wadi
#

If you have an array of instanced structs. You can have anything there.

FVector array:
0. FVector

  1. FVector
  2. FVector

Instanced Struct array:
0. FVector

  1. FColor
  2. FSomeOtherStructThing
knotty falcon
#

Yup got it. Its been a long time since ive worked with them i will have to do a refresher

#

ah got it

obtuse mulch
#

is it possible to make a "vampire survival" type game in ue5?

#

fps drops drasticly when i spawn actors

#

even if they are just empty

hearty rain
#

have you considered doing actor pooling ?

crimson briar
#

With each enemy being a separat actor - very hard. Unreal doesn't like so many actors moving all the time. Some very serious optimization would be required.

#

Unreal has a Mass Entity system, I heard people use it for crowds. I never used it though, so dunno what features it has

hearty rain
#

is it 2D or with 3D actors ? If it is 3D you can check Thread-Safe animation blueprint implementation for massive improvment of performances

#

have you done profiling ? to identify where is your bottleneck

obtuse mulch
#

not yet but ty for answers

#

it is possible tho right?

hearty rain
#

Well, how many actors would you want to display at once ?

obtuse mulch
#

100-200

hearty rain
#

If you optimize agressively I think it should be possible

gentle urchin
#

I can have about 10k moving actors visualizations with ok perf

#

Its easiest if you get away from cmc and make simpler representations. Abusing ISM and possibly VAMP if you need detailed movement

obtuse mulch
#

not familar with all that

#

need to look it up

gentle urchin
#

At such numbers (which youmprob dont need) everything starts to count

#

Ism = instanced static mesh

#

Gpu does the heavy work

#

Vamp is vertex animation

#

which also happens on the gpu

#

CMC = Character movement component

#

which comes with the Character class

obtuse mulch
#

vertex animation work with 3d mesh?

gentle urchin
#

Yes

I'd suggest making a single 'hive mind master Actor' which does the bread and butter job for the game, controlling 99% of the enemies which tend to be brain dead moving towards the player

#

might be overkill if your target is 100 enemies, but who knows 😄

hearty rain
#

what's wrong with CMC ?

gentle urchin
#

Its relatively slow and bloated

#

especially for something like this

hearty rain
#

yeah most features are probably not going to be used at all

gentle urchin
#

right

hearty rain
#

makes sense

gentle urchin
#

and its usually flat maps, so any floor checks is rather useless

#

walk angle , swimming, flying, etc etc

obtuse mulch
#

im actually doing megabonk-like

gentle urchin
#

fair enough

#

Not enough to qualify use of CMC imo

#

but it can be a quick and easy start, and helps to set the scope of it all when you start churnin' away

#

enemies would prob just nav-walk anyways

#

so the nav system would define the walkable slopes and whatnot

crimson briar
#

Didn't dani make some videos how the movement of megabonk came to be? He was using unity, but the general ideas could give you some insight if you want to make it feel similar

hybrid iris
#

In Mobile:
while runing with virtual joystick, i using UMG button for jump.
which is not working when i'm using joystick, but when only press jump btn it works.

steady night
#

Hi i have this Button with an image

#

is there a way to "zoom" in the image without adding another texture thats already zoomed ?

#

(its so small)

frosty heron
#

you want to zoom at the icon?

steady night
#

yeah

frosty heron
#

it should be as simple as scaling the UV of the icon material.

#

so you will need the icon (image) to be a dynamic material instance.

#

and have some modifier for the UV Texture.

gentle urchin
#

or scale it directly in the ui

#

manipulating the transform

frosty heron
#

hmm maybe I misunderstood but that will go over the button or nah?

gentle urchin
#

it will yeah

steady night
#

excatly

gentle urchin
#

but its got alpha bg right ?

steady night
#

yeah

gentle urchin
#

but yeah, material is the alternative

frosty heron
#

oh yeah, you can get away with it then.

#

just make sure it's not hittable

gentle urchin
#

^

steady night
#

it is hittable

#

so material would be the way,

frosty heron
#

it shouldn't be

#

ur button can be hittable

#

the icon shouldn't be hittable.

steady night
#

or just create a new texture tbh

#

the icon is on the button but yeah sure i can remake that witha image ontop

frosty heron
#

The icon is on the button, yes.
So you make the button hittable not the icon (image).

steady night
#

yeye, hmm

#

ill play around with it abit and se whats best

#

ty

plush hornet
#

Hi all, how comes you can't add a timeline to a game instance but you can add a delay?

crimson briar
#

I don't know if you can't but there is a difference. Timeline is more like a component, while a delay is a simple latent node.

frosty heron
#

Pretty sure timeline is tied to a world.

#

Game instance exist outside any level so yeah.

buoyant bone
#

Does anyone have a good starting point for me to learn UE5 (for 3d survival) based on some resources / tutorial series or maybe text guides, that explain things fast paced, but with all the necessary. Preferably based on the blueprint system (some c++ functions arent a problem)

Epics Documentation seems to be missing some pages (e.g. quick-start for landscapes) so i don't think its a good resource to learn with.

I do have ue5 basic knowledge already and am somewhat experienced with unity engine. Also doing 3d with blender and can properly programm in multiple languages.

frosty heron
obtuse mulch
gentle urchin
#

That's what i'd do

obtuse mulch
#

damn i never learned about ism

frosty heron
buoyant bone
gentle urchin
frosty heron
gentle urchin
buoyant bone
frosty heron
# buoyant bone okay ill look into that. thanks.

Looking at some tutorial on the internet is okay starting point if you start from absolute nothing.

But be mindfup 95% of the content out there is probably not scaleable or tailored specifically for your project.

#

Its okay to follow them as a guide. Hell even follow along. But at some point you will find a better way to do it and the one that fits your project more.

buoyant bone
gentle urchin
#

the edge tracing is relatively expensive , so it's currently pretty throttled , 10 units per tick

frosty heron
#

@gentle urchin can they have collision?

#

I need to replace my bullet as something else.

gentle urchin
#

I'

#

I've heard niagara can be great for that

#

they do hame some collision but not full, and definetly dont care about each other

frosty heron
#

Yeah i dont need projectile on projectile collision

gentle urchin
#

for my stuff i just use proximity logic

#

how many bullets are you gonna have at a single point in time?

#

if its < 100 i'd prob just try actor pooling

frosty heron
#

Ideally bullet hell but i will acknowledge the limit if need be.

digital bloom
#

i want ask about game instance in blueprint is it able to create subsystem instance in blueprint ?
if not what the best way to create a sub manager and implement it in bp game instance , should the manager be class object
and init it in construct then cast from get my game instance to access manager reference or what should we do ,
let's say i have a map system that should work lifetime or save game system ...etc

frosty heron
#

You only get one game instance in blueprint.

#

If you want more then you have to make it from cpp.

#

I like to create seperate sub system for each system. Imo if you want to up your game, just learn cpp for a week.

You will unlock a lot of benefit from knowing some cpp.

#

Sub system and non blueprint defined struct for one.

digital bloom
#

So I need to learn C++. Thank you.

frosty heron
crimson briar
#

As someone who can programm but is really lazy and is sticking to BPs for most things - yes, C++ structures are a must if you want to not waste time with bugs. And subsystems are great for things that need to be accessed in many places (like a main manager of something)

frosty heron
#

Without intelisense your ide is just a glorified notepad. I rather work with unity than not having auto complete.

gentle urchin
#

Niagara might be worth a look 😛

#

hmm ... this was my experience aswell when i tried it, but it might be better today

#

object pooling is pretty neat tho. Can reach good numbers, and if you can further simplify the actor, you're pretty golden

#

25$ or so ,

odd kiln
#

Anyone know if I can use Evaluation time for Morph Targets instead of relative (blender Shape Keys) ?

frosty heron
#

Can you elaborate on "evaluation time"?

Also the blender key should be converted to just keys in the anim asset isnt it.

merry mirage
#

Hoi! I am trying to pause/unpause a Level Sequence from its director Blueprint, but I cannot find any good resources on how to access the LevelSequenceActor. Is this a good approach? Or am I looking in the wrong place?

Any help would be appreciated!
-# (please ping me I have notifications off)

odd kiln
frosty heron
#

I see, well no idea from me.

odd kiln
#

I made a cloth simulation, and then I exported a .mdd file and imported it again (the .mdd file) to convert my cloth simulation to shape keys / keyframes.

#

Ok np thank you anyway !

#

I wonder if Morph Target is the best way (performance) to have baked animation

gentle urchin
#

Doubt it beats vertex anim, but i could be wrong

obtuse mulch
gentle urchin
#

That is the idea yeah

#

or well

#

the plugin does it in engine

#

if we're talking about VAMP specifically

#

you can ofcourse do the work and save the money instead

#

its pretty heavy on the price imo

obtuse mulch
#

so in theory spawner has an instanced static mesh component which adds instances to itself and then commands all of them to move to player?

gentle urchin
#

Something like that yeah

obtuse mulch
#

on timer?

gentle urchin
#

it would create a new component for every unique enemy (unless you use some VAT logic) , and spawn instances accordingly

#

timer is reasonable

obtuse mulch
#

hmm how do i make them move tho

gentle urchin
#

SetTransform

obtuse mulch
#

must be the only way ?

gentle urchin
#

Yuss

#

So youd want to track their transform in the manager

#

And push it to the ism every frame or so

obtuse mulch
#

z vector is a problem

gentle urchin
#

How so

#

You can query the nav system for the z id you want

#

Cmc also allows this if im not mistaken

#

Without cmc you might need some c++ access to get it

#

Id suggest that either way if you aim big

obtuse mulch
#

well static meshes cant have cmc

gentle urchin
#

It requires the Character parent class yes

obtuse mulch
#

this should help

lofty rapids
#

couldn't you also try to trace up

#

start at zero

#

and trace up

#

or - some number

obtuse mulch
#

idk im trying to make instanced meshes to look like theyre walking

lofty rapids
#

hmm, so what are you trying to do with this trace ?

obtuse mulch
#

to pin them to the floor on Z basicaly

#

landscape

lofty rapids
#

ya trace down i would create a channel for it

#

start at the bottom or middle and trace down

#

i thought you were trying to get the landscape height

obtuse mulch
#

im just not sure about the performance tho, having 200 instanced meshes all tracing at the same time

lofty rapids
#

traces are very performant

#

i believe

obtuse mulch
#

nah

lofty rapids
#

hmm, well i would just try it

#

traces are not that hevy

gentle urchin
#

But loops and bp is not a great pair

obtuse mulch
#

yea that'll be a huge loop

#

tracing ,transform, animation

gentle urchin
#

Youd benefit greatly from doing this in c++ i think

#

But 200 might be ok in bp

obtuse mulch
#

gonna try

lofty rapids
lofty rapids
obtuse mulch
#

instanced meshes seems to kill fps the same as when i spawn regular static meshes 🤔

#

less than characters but the same

#

from 120 to 90 fps at 200instances

lofty rapids
#

90 fps is still good

obtuse mulch
#

im developing for shipping tho

#

i cant lose that much

faint pasture
#

If you're talking about hundreds of anything doing work on tick then it's C++ time

obtuse mulch
#

😢

faint pasture
#

The slow part isn't whether or not you are using meshes or ISMs or what, it's the fact that you're trying to do tons of work per frame in Blueprint

#

I know of one way to get tons of stuff working without firing up C++, you'd have to become a Niagara wizard

obtuse mulch
#

its strange cus i just spawn (add) them to static mesh instance array with no subsequent logic to them

#

arent you should be able to have like million of instanced static meshes

gentle urchin
#

Not millions but

#

Without movement 10-100k is in the realm of possibility

obtuse mulch
#

i mean i think ive done it right and 400 halvens my fps

gentle urchin
#

Souuunds pretty wrong

#

Even with high vertex count meshes

obtuse mulch
#

i mean its this node what else there is to it 😄

gentle urchin
#

Hehe truuue

obtuse mulch
#

hmm how?

gentle urchin
#

You dont spawn an ism per actor? 😆

obtuse mulch
#

just realized that mobs wont be able collide with eachother if i move them with actor transform

#

i give up

faint pasture
#

move with sweep

frail flint
#

Unreal Landscape MID not updating in viewport (material changes in Details but visuals stay the same)

I’m trying to apply a Dynamic Material Instance (MID) to Landscapes in an editor script / blueprint (not runtime). I’m looping over multiple Landscape actors and trying to set material parameters (vector/scalar), then assign the MID.

What I see:

The MID appears assigned in the Landscape’s Details panel (Landscape Material shows the MID).

The MID parameters look correctly set when I inspect the MID asset.

But the landscape visuals do not change at all in the viewport.

Example: if the Landscape currently uses a “rocks” material, and I apply my MID, the landscape still looks like rocks as if nothing happened.

What I’ve tried:

Creating a MID using Create Dynamic Material Instance.

Setting parameters using Set Scalar Parameter Value and Set Vector Parameter Value.

Assigning the MID to the Landscape (Landscape Material).

Looking for a “reregister” / refresh node, but it doesn’t exist in my blueprint context.

My suspicion:
Landscapes seem to render using cached LandscapeComponent material instances, so changing the Landscape actor’s material property (or creating a MID without forcing it onto each component) doesn’t refresh the render in editor.

Question:
What is the correct way (in Blueprint/editor scripting) to:

Create/assign a MID to a Landscape so the viewport updates immediately, and

Ensure the MID is applied to all LandscapeComponents properly (not just the Landscape actor property), and

Force a refresh/rebuild if needed in-editor?

last peak
#

He has a lot of videos where he explains nodes

frail flint
#

Here's my function thats applying the MID

knotty falcon
#

Im using “add force” for movement controls in my game and I noticed the force seems way stronger when I play it on my Mac vs pc. I have my vector multiplied by delta world seconds but it still feels way different than on pc. Any tips?

mental trellis
#

Iirc you don't multiply by delta time with force, only for impulse.

knotty falcon
#

Ohhh sheit maybe that’s the issue. Sounds like I’m probably causing the issue but multiplying it by delta time

#

The force is being applied on tick if that makes a difference

mental trellis
#

That's something you should use impulse for.

#

I think?

#

Or maybe I have that the wrong way around.

#

One of them you don't multiply by delta time...

frosty heron
knotty falcon
#

I think impulse is what you fire just once

frosty heron
#

Yeah

#

Force is something you do every tick imo.

knotty falcon
#

Im still a little confused. so you are supposed to multiply by delta world time then?

frosty heron
#

No, i think you just assert the ammount of force on tick.

#

It should behave the same way regardless of fps.

trim matrix
#

https://blueprintue.com/blueprint/ve1_0h6k/ so ive gotten my kart pawn to this point, and have a trace on tick to adjust location bc it was way to high in the air and wouldnt let me adjust it in the bp details, along w aligning to the ground normal, but now im having issues w sloped surfaces, it dosnt like to play nice w them, i tried having a check to see if the slope was > 0 the adjust the pawns location to move it up to stop the collisiosn issue but that didnt work

trim matrix
#

i swapped to a box collison n still have the same issue but it slightly seems to understand the slope more idk im porlly jus seeing shit

frosty heron
#

If you use complex collision will the issue remain?

trim matrix
#

ill try that, i was just using a box collision inside the pawn

trim matrix
knotty falcon
#

Is the ramp complex too?

#

Were the ramps made in another software? Maybe the normals are flipped?

trim matrix
#

the ramps are just unreal default planes

#

but it acts like this w any mesh

knotty falcon
#

what does the collision look like

trim matrix
#

i imported a mario kart course just to see scale w camera n shit n it just completely clips through the mesh when the pawn moves over it, like im using debug camera instead of a pawn

trim matrix
knotty falcon
#

what about just the basic thirdperson character

trim matrix
#

i was gonna use it but couldnt figure out how to make it work w like kart controls idk how to word that

knotty falcon
#

just drop in a character and see if he falls through the ramp

#

i feel like you might need a line trace to detect slopes and angles. The default character component has a prebuilt method for calculating things like stairs and walkable angles. To make a controllable vehicle from scratch I feel like you will have to do a lot of this calculating from scratch

trim matrix
#

the third person works fine w the meshes

knotty falcon
#

I think the solution is beyond my skill level unfortunately

#

I think you are better off reverse engineering a prebuilt vehicle system

trim matrix
#

yea i been thinking that in thr back of my mind

#

my other option jus use the third person character or character component and make the racing like sonic r instead of mario kart

knotty falcon
#

lol so basically just a dude running

trim matrix
#

ikr

#

thats why i wanted to do karts😭

knotty falcon
#

i mean it just depends on the game you want to make. like the guys were saying last night, making a cube that moves around kinda like a car is a good beginner level thing to try to accomplish. But to make an entire game around a vehicle that actually behaves like a vehicle from scratch is gonna be hard. At least too hard for me

trim matrix
#

yea

#

my other thought is just use the third person template/character movement and make the karts just cosmetic n try n make the controls not feel as much like a character, the games style is meant to be psx/sega saturn era so im not going for like “accuracy” ig w the system

#

i cant think of the word im tired😭

trim matrix
# trim matrix my other thought is just use the third person template/character movement and ma...

bc like, even in sonic r amy uses a kart, and her movement is kinda similar to those on foot https://youtu.be/xjavlKTLt2w?si=QkBSGVnkyFyVTNEk

When you can't afford Team Sonic Racing.


It all started as a joke in a Discord vc and then it turned into this...
I don't even care about the fact that i had to two cycle every stage separately for emeralds and medals, this is fcking Amy.

▶ Play video
knotty falcon
#

watch youtube videos on it everyday and talk chatGPT's ear off with questions and ideas

trim matrix
#

this is me researching

knotty falcon
#

Then why take a shortcut

#

?

trim matrix
#

i dont rly see it as a shortcut

knotty falcon
#

using a prebuilt 3rd person character and trying to fake that its a car is a bit of a shortcut

#

the non shortcut would be...take as long as it takes and build a car! I can tell it seems like a project your passionate about so you should give it the time it deserves

trim matrix
#

im not like. making a final product this second. im testing shit n figuring it out💀

knotty falcon
#

no i know. but using the thirdperson template wouldnt be figuring it out. It would give you something goofy to mess around with if thats your goal. but if your goal is to learn the engine and learn how to build vehicles I would say keep at it

#

thats just my opinion though. Anyways, im back to work. Good luck!

summer swan
#

Hey need little helper. How i can attach Level Script BP to make functions instead switching the levels and making function in level blueprint?

crimson briar
summer swan
crimson briar
#

Never used this class, but it sounds like you can just place it inside the level - like literally, in the world.
But the general advice to your problem is to not use level blueprint for anything that you can handle elsewhere. Like making an invisible actor to manage some stuff instead of putting it in the level blueprint. Or using the game instance or game mode for larger scope features not tied to a specific level

summer swan
#

as example i use dedicated server and would like keep save game on that specific machine that other actors have no access to that.

#

so calling a functiom from that level if makes sense

crimson briar
#

Any actor can be tied to only exist on the server. Or like the game instance, not be replicated and everyone has their own copy

summer swan
#

level is an server so its doing server operation so everything there its replicated a like

crimson briar
#

I think you are confused how replication and server authority works

#

If you wanted something to exist only on the server, not on the clients - you just uncheck the Replicats checkbox on it. And if it is something placed in the level, you also uncheck the Net Load on Clients.

#

I'm honestly not sure how level blueprint relates to that since I never tried to use it in MP for anything more than visuals, I'll have to check.

summer swan
#

did not touch even RPC

#

so i could use as advantage this to not doing twice the code

#

i know i can make my own c++ and reparent maybe i can just use that bp made on that reparented to actually get access to this specific level

frosty heron
#

Game instance gets instantiated at the start of the application and destroyed at the end of application.

Everyone gets one, regardless whos gonnna host.

#

There can be a case of custom cpp game instance where it doesnt get instantiated if some flag get override.

But at the bare minimum, everyone get the default game instance.

dark drum
# summer swan Thanks, so i would like to increase some itterations but access to the level blu...

A level script actor is the class that is used to create the level BP. You can define the default script actor that is used in the project settings. This effectively makes the new script actor the new parent for all newly created level blueprints. Generally, this would be for logic that would be required for all levels.

Whilst these can technically be accessed at runtime, they are extremely difficult to work with. Also note that you wouldn't be able to cast to you're specific script actor from BP.

crimson briar
frosty heron
summer swan
frosty heron
#

All communication between server and client is via socket and actor channel.

summer swan
dark drum
dark drum
summer swan
#

or have no idea how to override this

summer swan
maiden wadi
#

Separate game mode for the server?

#

Server is the only one that has a game mode to begin with. O.o

summer swan
#

i have a dedicated server setup running, Which not owning anything that a separate game mode clients joing with their own gamemode and get theirs game mode transfered to that server it works

surreal peak
#

They have a GameMode while they still sit as standalone games in the Main Menu. But once connected they only have what the server replicates. GameMode not being one of that

maiden wadi
#

Yeah I'm a little confused by this. The moment you connect to a server and travel to it, no more game mode for you as a client.

summer swan
#

well it runs separate code

surreal peak
#

Separate to what? Clients not having a GameMode means there is nothing to run code.

summer swan
#

here its gm from the server and i was connected from the menu map with the client that have another game mode

#

travel from this map in editor

#

that have another game mode and server runs own code itself that have nothing but only gamemode attached with default pawns controllers etc

surreal peak
#

Either way once they connect they have no GameMode anymore

#

Also you shouldn't connect with the Editor to an outside Server.

#

Either you start both as standalone, package both, or play in editor with both

#

But no mixing of that

summer swan
#

okay so maybe that info is just pushed to the server game mode and switch default pawn to just posseed idk

#

but i can finally can simulate dedicated and being sure that code run from other sources

#

will try to override now pawn and see how things going

surreal peak
#

Sure

summer swan
# surreal peak Sure

there is need to select pawn and player controller its autohorative by the server and i run without packaging stuff

#

finally

surreal peak
#

And if you need to test the connection flow then you can start both in standalone.

#

You just shouldn't mix it

#

UE has lots of code and asset data that is utilized differently between PIE, standalone and the different package targets. It can literally crash if you mix them

summer swan
#

but you must use as standalone while dedicated

surreal peak
#

I don't understand what you want to say with that

summer swan
#

iam running server as other service and now not need to run as standalone

#

for a dedicated server rule

#

i just run icon with the background and can use as alisten one little QOL

#

for menu transfer to the level as example

surreal peak
#

I can only tell you that there are 3 ways of running a game/server.

  • PIE (Play In Editor), while selecting Play as Server or Play as Client. Play as Client will launch a Dedicated Server in the background, optionally in a separate process.
  • Standalone, usually via .bat files that open the project with -game and -server. That runs outside the Editor but still with editor data (not packaged). Iirc this can use cooked data with Zen Streaming.
  • Packaged, and then either Development, Test, or Shipping.

And you shouldn't mix those. If one is packaged the other should be too.

summer swan
void jewel
#

so physicsConstraint seems very bugged when placed inside a blueprint actor? I had a ball hanging from a mesh (constraint+cable+mesh) which was working within editor, but whenever it's placed in a blueprint it will break - even when converted directly from the setup in viewport.

surreal peak
#

So the second option

#

And you should only connect with standalone clients to that if possible

#

Not with packaged ones and not with PIE ones

surreal peak
#

Doesn't that mean it's 3 actors in that case?

void jewel
#

yeah

#

it was 4 actors: Cable, StaticMesh Cube (where its hanging from), StaticMesh Sphere, PhysicalConstraint (connected to end of cable and hanging sphere). Works fine in the viewport when just placed as independent actors

summer swan
surreal peak
surreal peak
void jewel
#

yeah it's a mess. multiple threads of people struggling to make this work. ended up just rigging it in blender instead

chilly root
#

Hello,

I have an issue that i could use some more experienced perspective on.

I have an RTT style camera actor that pans when the mouse is on the edge of the screen. Faster pan is applied when zoomed out than when zoomed in. I want to make bounds for my levels that gently push (or pull) the camera actor back to allowed ground when the camera goes out of bounds.

I have thought of two options:

1. Have BP_CameraBounds as actors with box or capsule collisions on the edges and when the camera overlaps any (or multiple) of them, then calculate the closest point on their collision edge, that is on the side of the allowed area, and apply push to the camera in that direction.
I would probably have to make them quite large, so there is no chance for the player to push the camera beyond the middle point of those bounds and then they will push them the opposite direction of the playable area. Also might be a bit finicky if i decide to place capsule bounds instead of boxes.

2. Have BP_CameraBounds the same, but also have BP_CameraAnchor inside the playable area a few units away from the bounds and not overlapping. When the camera overlaps with the bounds, a "get closest point on collision" gets activated for the nearest anchor and applies pull for the camera towards its edge, which stops as soon as the camera is out of the bounds. This seems much more safe but might require caution when overlapping with multiple bounds(?).

I would like some informed opinion on which method is best and if i am missing another method maybe or anything else. Thank you!

surreal peak
# chilly root Hello, I have an issue that i could use some more experienced perspective on. ...

We did this a bit more complex for our game. Our map "infinitely" expands so we dynamically do this, but we basically define an outer convex hull via points. So basically an outline around the map with at least 3 points. Inside the movement code we check if the input would move the camera outside of this hull and if so we deny the move. We do allow moving into the hull from outside however.

chilly root
surreal peak
#

Checking if a move leaves the hull is probably relatively simple. I didn't write the code back then but since you have a list of points, preferably ordered clockwise or counter clockwise, you can find the points the player is closest to. And if you check the direction between the points and between the location and the predicted new location of the camera then you can compare them to know where the camera is and where it is going.

#

Sorry got interrupted while typing

surreal peak
#

And then only take the part of the move vector that faces alongside the edge (or opposite direction)

#

Needs a bit of vector math and some edge case handling but it's basically just manual collision detection which is usually a lot cheaper than actual collision

#

And you have way more control over it

#

Iirc C++ has some types that already are a Hull (so array of ordered points) but I don't see this being a problem with just blueprints

chilly root
#

I will try it out for sure and come back if i have more questions, thanks a lot for the idea 🙂 !

lusty hedge
#

does this have to be 1,2,3,4

#

i want to set the switch numbers. very strange its not in details

#

can only change starting index

random vine
random vine
#

it worked when I test it

frosty heron
# lusty hedge

Theres probably a better way to do what ever it is you want to do.

#

Comparing string and switch on int is not an ideal gameplay code.

lusty hedge
#

struggling with the rotation of an image

#

making a tetris inventory system. all the items are fine when not rotated

#

but soon as i rotate they are offset

#

you could say, account for the offset. but each item is offset differently depending on the shape of it

random vine
lusty hedge
#

this is the root of my problem

#

each blue slot is the "root" slot.

#

the item seems to be offset when rotated

#

the offset is inconsistent among different items

frosty heron
#

Whats the anchor looked like?

lusty hedge
#

they should be anchored all the same but one moment

#

every image has this code

frosty heron
#

Can you show the item widget

lusty hedge
#

im confident they are anchored correctly

#

the problem is in my code where the item is being placed

#

and the inconsistency comes from the shape of the item

#

the axe is too low, but the x is correct. but the book is low and to the right

#

other square items are consistent errors witht the book

#

its something in the math of how i place it

#

90d rotation . inconsistent

#

but 180d rotation the error is consistent so fixable. but only for the 180

#

but 90d or 270d rotations the errors are different across items

surreal peak
#

@lusty hedge that switch you wanted to do was for the 4 angles?

#

Cause that's probably best to just make an enum for

#

Then you also get a switch for those properly

#

If the item slots (not icons) in the inventory look correct in all rotations then it can only be a matter of wrong anchor or you are thinking about the coordinate system wrong

#

Maybe your inventory has 0,0 in the bottom left while the UI space has it in the top left.

#

That could cause all sorts or strange rotations

storm solar
#

I'm trying to make a "battle ring" for the combat section of my game.
The blue ring in this screenshot shows an invisible wall that the player or enemy cannot pass. Is there a way I can make a translucent ring that shows up when you approach it and fades out when you are away?

lusty hedge
#

i think it has someting to do with the fact that it uses the items length and width to move the image

#

its treating it as if the axe is still 2x4 and not 4x2

#

seems like a simple fix but im stumped

surreal peak
#

Maybe something with a sphere mask in the material based on the locations of the characters or so. And then inverted so that everything is masked that is not in range

kind estuary
#

Im trying to set the texture in my unit cards at runtime

#

but it always returns none

#

sometimes it works though

#

i assume its because its not loaded...

#

so i should load it async ?

#

then why does it work sometimes, or other times it doesnt?

crimson briar
#

This simple resolve works only when the asset was loaded previously somewhere. Either on an object that is already in the scene, or by calling the async/sync load node

kind estuary
#

so i should use the load async ?

#

there are 2 options one is load async and the other is load asset blocking

#

load asset blocking is working too

#

load async, it seemed to give me the impression that it was a little bit fuzzy at first, and then loaded in half a second

#

load asset blocking seemed to be instant

crimson briar
#

Blocking means it will pause the execution of the script until it is done. You shouldn't really use it unless it is something extremaly necessary to the whole game.

#

Otherwise it will cause hitching/stuttering

kind estuary
#

yeah will use the load sync. but i tested the load asset blocking and it didnt cause any itching 🫨

crimson briar
#

Probably either because it is small enough or because it was already loaded by the editor

kind estuary
#

is there a way to check if it is already loaded?

#

or it does it automatically ?

#

yeah it seems to be doing it automatically

#

no more itching

crimson briar
#

You can test with the Standalone version I believe, it partially loads it's own app so it shouldn't be using editor loaded assets, I think

#

But again - blocking load might not be noticeable with small assets or small projects. Still not a good idea

olive yarrow
#

Hey folks, i'm lookin' to work on my save system today - but all tutorials i can find are generally just a "save player position".

I'm working on a hidden object game so that's not exactly what i need saved as i've widgets that hold bools and THAT'S the data i need saved.

Am i just misunderstanding the tutorials, will all that save without me needing to pass it on and yadda yadda?

kind estuary
olive yarrow
olive yarrow
crimson briar
# olive yarrow Hey folks, i'm lookin' to work on my save system today - but all tutorials i can...

I don't really want to explain the whole system, the tutorials should be enough. But which part do you have a problem with?
Basic save system works around the SaveGameObject. It is like a file but in a blueprint version. You can create variables inside of it, assign some data to them, and when you call save, it gets converted to a real file on the disc.
In case of a hidden object game you would probably want to save an array of bools corelared to an ID of the object that was already found.
You need to make some sort of function that will retrieve this data and put it inside the savegame object before saving. Or put it there at the moment of interaction and save after/when quitting.

olive yarrow
crimson briar
olive yarrow
crimson briar
#

I mean, you probably may want this data on other actors, depending what they do, since they may need it to work. But you should copy it to the savegameobject to save it.

lusty hedge
#

ill probably need to fork out some money to pay somone for 1 on 1 help

lost hemlock
#

how could I async load this player menu if it returns me an object ? should I cast ?>

gentle urchin
#

Yes

#

To the top most type you can

#

UserWidget in this case

potent orbit
#

Is there a way to lock the normal water area and the ocean extended water to be seamless? Or do I need to increase the size of the normal water area?

lost hemlock
gentle urchin
#

This seems a bit odd

olive yarrow
lost hemlock
gentle urchin
#

Nono

#

Just seems odd to load the uobject itself and then get its class, implying its already created

#

Youd better async load the class

olive yarrow
#

i've even tried forcing it in my player BP and it doesn't seem to save

#

I've narrowed it down to creating the save file in my player, i just.. ugh

crimson briar
# lost hemlock maybe like this?

Not sure if it is finished code, but you should continue from the Completed pin of the Async node when you want to use the loaded asset, not from the top pin.
Also it seem pointless to use a soft reference to cast to the same class right away. What using soft class there is supposed to achieve?

crimson briar
lost hemlock
#

and through async loading im trying to make it more seamless

#

so instead of waiting for the menu to generate

#

if the inventory has too many things its gonna take time

#

so i wanna continue playing the game, instead of waiting paused

#

while the inventory menu generates

maiden wadi
#

In all fairness. Five minutes is plenty of time to cover the savegame system from a BP and POD perspective.

A SaveGame object is just a helper that holds data that you'll write to a file on disk at the Saved folder in your game under the same filename as the Slot you use when saving.

It writes all data in it to that file.

You can check if a slot exists using DoesSaveGameExist

You can write it to disk using SaveGameToSlot

You can load it from disk using LoadGameFromSlot.

crimson briar
#

I don't disagree but depending on their skill level some people may need more, since the save system requires some specific setup and interactions between different objects

kind estuary
#

there is enum to string ^

#

but no string to enum

#

what can i do to convert the string to enum?

#

or am i cooked?

frosty heron
#

Use gameplay tag instead

dense kettle
#

Hello, does anyone know if I there is a way for me that I can drag only a part of a skeleton rig like live as in a interaction? I wanna make an airflow/wind effect that I am able to drag with my mouse to make the user adjust the position in which direction the wind goes and wanted to create a plane with material settings to make it kinda seem like wind. And then the user kinda "controls" drags the front of the wind/airflow so the user can see in which direction it goes. Like can I access it somehow through blueprints so the player can interact with it?

kind estuary
frosty heron
kind estuary
frosty heron
#

Tldr, they are FName on steroid.

You have the power of hierachy, so you can filter.

But most importantly, no more typing manually to check a name. You define once in the editor setting and you can use it anywhere.

chilly root
#

I was trying to define bounds for my blocking vollume and i wanted to calculate distance of actor from the edge of the vollume. Well when i had the vollume unscaled in the editor it all worked but when i scaled it inside the editor, everything was wrong and eventually i changed the "get scaled box extent" with "Get unscaled..." and i don't understand what happened and everything works.

can anyone explain it please?

crimson briar
#

Box extent is mostly on some basic shapes though, like the box collision

#

The huge advantage for using a box extent instead of scale is that it doesn't affect elements attached to it. Similar to the capsule - changing the radius and height of the capsule doesn't change the attached meshes scale, but you can scale it separately to scale the attached components too

chilly root
#

I still don't get whats the difference between the nodes "get unscaled box extent" and "get scaled box extent" 🫤 . I just know that when i use the unscaled version, the formula (distance from box center to edge)-(location of actor inside box) works normally whether the box is scaled or not (albeit not absolute like i would like, but relative to the extent)

crimson briar
#

Well first, did you read their tooltips?

crimson briar
#

It do be like that sometimes old_man_yells_at_unreal

chilly root
#

i'll tinker with it a few more hours and if i don't have anything fixed, i'll post again with details and pictures of the code

pine carbon
#

I'm not super clear on how event delegates work. Is there a way to wire the play function into that delegate without creating a custom event that just calls play? That feels like needless encapsulation.

crimson briar
#

As far as I know, there is no way to do it without another Event/Function. At least in blueprints.
But personally I never really thought about it as a problem, to me it seems natural enough.

#

The nodes themselves (like a Play) are not tied to this specific blueprint so for me it makes sense that you can't use them without a custom block inbetween tying it to this class.

frosty heron
#

There is AddLambda in cpp, basically a nameless function which can be added to the delegate.

No such thing in blueprint.

pine carbon
#

I need highly precise timing for a metronome I'm trying to make, and this has enough variance to be noticeable. Is there some kind of more precise timing feature I should use?

pine carbon
#

Also tried this. Still not perfect.

faint pasture
#

15ms give or take?

pine carbon
#

Hard to say. I have it going against a real metronome, and it's ALMOST perfect, but it will gradually sync and desync.

#

Not in that each beat is a few ms off. More like occasionally one note will be a few ms off and that fricks it all up.

faint pasture
#

the timer should average out to be dead on, that is, a 120 bpm timer will fire 120 times in a minute

#

but, it only can fire on the frame interval

#

so you have a 1 frame wiggle room that it can be early or late

pine carbon
#

I think it does, but what it does not do is have each beat perfectly on. Which I need it to be.

faint pasture
#

define perfectly on

#

15 ms is the sound delay you'd get from a speaker 15' away

pine carbon
#

It's a metronome. It shouldn't mess up, ever. Or at least, not for a realistic program duration. Is there a time function that isn't attached to the framerate?

faint pasture
#

is it flamming or very much out of sync?

faint pasture
crude pike
#

Heyya 🙂 this might be a dummy question but how can I hack my way around nested Structs in Unreal?

I've created a hand-written JSON file that gives an idea of what I want to make in Unreal.

Basically I want to define a Loadout Struct that points to an array of Item Classes. Each Item in the array can contain their own array of Items. I'd then have a function that takes the Struct and and recurses through it to populate the Inventory of its parent Item. E.g Player spawns with a body. Body inventory owns the Armour. Armour owns the backpack, backpack inventory owns the weapon, and the weapon inventory owns the Sniper and Canted Scopes.

It makes sense to me that I can nest the same Struct inside itself as XML or JSON because it's super easy to recurse through it with a function, but Structs internally in Unreal don't seem to let you do this? What is the workaround, other than having to store my game db as JSON / XML? 😅

FWIW I'm trying to recreate the loadout system of an existing game which stores this exact struct as XML, but it's a none-UE game so I guess they don't have the same limitation that I am facing.

faint pasture
#

this is probably Metasounds territory

pine carbon
pine carbon
pine carbon
#

A very small amount, but it happens often enough that it will fully desync and resync with a proper metronome roughly every 10 seconds.

faint pasture
#

Does it appear to be around +- 15 ms, give or take? That's the difference between 100 bpm and 101

#

if so, it's the fact that timers only can fire on frames

pine carbon
#

That sounds about right, yeah.

faint pasture
#

you need to do this with Metasounds, it can probably do it sample accurate

pine carbon
faint pasture
#

yes that's all from the same root source, things only happen every frame, pretty much

#

so if you get 59 fps for a bit then back to 60 you'r drifting. It'll average out to be exact but the inter-beat timing can vary by +- your delta time

#

Can you notice it without a reference metronome? I used to play drums professionally and I'll tell you I can't tell a 1 bpm difference

pine carbon
#

You can definitely notice when it happens. If it was consistently off by 1bpm I doubt I could tell either, but when you hear it, it's sort of like a random eighth rest in a sequence of quarter rests.

#

I'll look into metasounds.

faint pasture
#

thats way more than 15ms then, unless you're at like 1000 bpm.

#

there's 2 things it can be, frame aliasing, or random loads/microstutters starting up the sound

#

either way, Metasounds is the ticket here

pine carbon
#

Maybe? It's really hard to track exactly how much the error is. The fact that it seems to be the same whether I use timers or delta time suggests you're correct about the frames being the issue.

faint pasture
#

do a sanity check

#

run it counting beats and printing beats / time / 60

#

see if you're getting the bpm out you expect

#

hell average them for the last 4 beats or whatever to see what the variance is

pine carbon
#

That name is mentioned in a lot of metasounds articles.

faint pasture
#

ya i think quartz is the bridge between metasounds and gameplay

#

say you wanted a mario style "whole world dances to the beat" you'd use that, or guitar hero

#

our ears are way more sensitive to timing than eyes so you'll still want the actual audio to never rely on an event on the game thread, it should live in the 0.02ms realm of audio instead of the 15ms realm of game logic

pine carbon
#

Average variance is about 5ms but occasionally goes as high as 15.

pliant peak
#

Hey, could someone help me? I'm trying to make it so that if the player touches a mob, it kills it and adds points to their score...

lean flax
lean flax
pliant peak
#

But when I do it, it doesn't remove the mob, it removes the walls of my map.

lean flax
pliant peak
#

Maybe I should make a branch, right?

lean flax
#

and get the HitActor and Cast it to your mob so you make sure you are not deleting any other Actor

#

if that's all you want, then it should suffice - if you later want to expand on this and be able to destroy more things than just a mob, I would suggest you look into Interfaces

pliant peak
lean flax
frosty heron
#

Think about the logic.

#

The solution is simple, do a type check of the actor that you hit

#

From your hit actor, cast to your Mob actor. Then destroy the actor.

trim matrix
#

ive made this controller to move a pointer mesh in world along where the mouse is, im trying to make a system where u can click on items in the level and move them w the mouse but im not thre yet rn im having the issue of the pointer not being able to follow the mouse cursor when i move the mouse up, which yea im setting the location of the trace thats firing downward. but im trying to recreate essentially this

lofty rapids
#

isn't there a node for that ?

lofty rapids
trim matrix
#

theres a node that gets a trace under mouse but it dosnt run every frame it runs once

lofty rapids
#

ya you run it on tick