#blueprint

1 messages ยท Page 378 of 1

shut blaze
#

fair

frosty heron
#

You can't escape casting, you will need to do it one way or another.

#

the suggestion is to use an interface when you (Can't / Won't)

shut blaze
#

I don't wanna escape casting

frosty heron
#

but that will only get you soo far.

#

Making native class isn't that hard you don't need to know C++ deep.

crimson briar
#

Yeah, and interfaces tend to be annoying to work with sometimes

frosty heron
#

interface are good for a few getters. Using that as a form of communication will create one hell of a debugging nightmare.

frosty heron
# shut blaze I don't wanna escape casting

learn a bit off C++, just enough to do what you can do already in blueprint.
Takes maybe a week. Then you can declare native class and say good bye to blueprint struct.

shut blaze
#

gotta create a small game in C++ to get used to it

frosty heron
#

you will also have the power to expose functions that are exposed to bp.

shut blaze
#

what other benefits are there?

#

to C++

high stag
#

uh how do you cast to a soft?

shut blaze
#

the soft

high stag
#

k

frosty heron
high stag
#

ohh aight

#

i just do stuff if it works it works

#

my optimaztion stat is at level 0

frosty heron
shut blaze
# frosty heron

I read somewhere that async load won't load it twice, so it's basically like an IsValid? node

maiden wadi
# frosty heron

FYI you don't need to IsValid that. It'll jsut return immediately if it's valid and run the loaded pin.

frosty heron
shut blaze
#

yeah lol

#

If not loaded it loads, if loaded then it's just loaded

frosty heron
#

@maiden wadi Almost finished with my inventory, got this issue where clicking the widget with OnMouseButtonDown isn't responsive.
I have to wait like 0.2 second before I can click the widget again. I am guessing it's because Dragging is present in that widget.

Do you have any pointer to address this?

maiden wadi
#

One thing I'll point out for this topic with C++ is async loading bundles. Keeping assets referenced in a primary data asset and bundle loading them so that they resolve immediately in gameplay.

maiden wadi
cedar remnant
#

Morning!
I've debugging some BPs and I'm getting this weird readout that I've never seen before. Anyone know what inf stands for? Infinity??

gentle urchin
maiden wadi
lethal pollen
#

Hi!

#

I want to use a button to open a door, but without dependencies. So, the button has an event dispatcher named "OnButtonPressed". My question is: do I have to set a reference of button in the door or elsewhere (game mode?)? I think if I set it into the door, I'm adding a dependency.

#

Thanks!

lunar sleet
#

If your button is always next to a door, you can always either use a sphere trace and cast to BP_Door, and on success you open that door.

pine carbon
#

And then if you want different doors later, you can subclass from BP_Door and it will still work.

lethal pollen
#

OK. Thanks.

lethal pollen
#

But, if I want to do it with event dispatcher, I only need to set a reference of the button in the door, isn't it?

lunar sleet
#

The cast should take care of the rest

lethal pollen
#

But this only works if the switch is close to the door.

solid needle
#

hello, gimbal lock is gimbaling, the actual values work and tested, but gimbal lock is gimbaling my lock

#

it gets stuck at the 180 -180 mark, and i dont know how to prevent it, i tried world rot, relative rot, add local, add world etc

lunar sleet
#

You can get it dynamically tho, with tags if need be

lethal pollen
#

OK. Thanks a lot.

solid needle
#

these do not exist on my machine

gentle urchin
#

I think using local also worked last i tried

#

AddRelative didnt..

solid needle
gentle urchin
#

you do any c++ `?

#

if so adding the methods isn't all that, if you got your IDE setup etc

solid needle
#

revision control project

gentle urchin
#

ah

solid needle
#

so for the sake of others i gotta stay blueprints only ๐Ÿ˜ญ

gentle urchin
#

they deserve some trouble, for the freedom you gain!

solid needle
#

for us the suffering never ends you should know

#

let go of the hopium

gentle urchin
#

did local work ?

solid needle
#

no

#

i tried relative, world

#

i tried setting it to absolute rotation

#

remove the parents

#

etc

#

the values work, but i just need it to rotate without gimbal

gentle urchin
#

it's weird, because the backend uses quats

solid needle
#

i cant do add because its a slot machine, so i need to control where it stops

gentle urchin
#

you can always work around it with a parent scene component

solid needle
#

i MIGHT be able to hack something together, like when it reaches -180, set to 0 or something

gentle urchin
#

ooor just use a parent scene component

solid needle
#

they unfortunately need to rotate independantly ๐Ÿ˜ญ

gentle urchin
#

for each of the slot rollers (whatever they are called)

#

one scene comp for each then ๐Ÿ˜„

solid needle
#

how would that fix it tho

gentle urchin
#

gives you another point of rotational entry , avoiding the gimball lock due to local rotations

#

I feel like i've had luck with CombineRotators aswell

#

got some dumpster project where i proposed a solution for this for someone

solid needle
#

oh maybe?! let me try

#

ok so i just literally store the float of the rotation value

#

rather than reading rotor

#

and then translate value into rot with modulos

#

thank you tim

gentle urchin
#

noice

solid needle
#

thank you my friend

gentle urchin
#

now onto the next problem!

lime crow
#

random float in range - it dosent apear to work with a set timer by even node?

crimson briar
lime crow
last peak
#

How does instance editable influence that in any way ?

crimson briar
storm solar
#

I got a ai movement issue im trying to work out.
Right now I have the ai go forward to its target.
It checks if there is another actor in its way but putting an overlap sphere 2 character units away in front of it.
If it detects there is another actor in its way it will turn left or right to go around it.
The issue is after it does this, the actor is not in the sphere anymore so it will try to go straight, than it will be in the sphere and try to turn making it move very jaggedy.
How do I smoothly turn it around.

Things I have tried.
-Increasing the overlap sphere every time it overlapped a target so the target should hopefully be in the sphere for a reasonable time
-Issue even though Increased the sphere overlap by 1.5 times, it still went straight after the second or third scan.

-Forcing the turn to be X frames
-Issue: Still will move jaggedy after x frames

Can I try to make a sphere to the side of the ai actor and when it does over lap see if it is in that "to left or right of" sphere?
https://youtu.be/nnXBnKpEjaI

midnight night
#

Guys...is this the Add (Vector + Vector) node?

lime crow
lime crow
last peak
lime crow
last peak
#

Either way "cant use a random float in range with a timer like that"
This is incorrect

#

Ofc you can

lime crow
last peak
#

You can use a random float with a timer

lime crow
pine carbon
#

Is there a way to do something similar to the loop structure to avoid having to call 4 separate Set Opacity nodes on the Switch statement?

sand shore
pine carbon
#

Awesome, thank you.

#

Like this? I had no idea you could wire arrays directly to single object references.

spark steppe
#

no, just connect all elements to setOpacity when you set the opacity to 1

#

no loop needed, no array needed

hoary junco
#

In a server authoritative game where the world is loaded in chunks via world partition, is there a way for an actor in the world to tell which players have it loaded and which ones don't?

ancient dagger
#

Hey, so i'm making a player movement system and so far i have made crouching and sprinting, the system is enum based, and i basically just set the speed according to the enum index, and connect it with the input actions respectively, and some extra checks to prevent bugs, and i just need some feedback if this was an efficient/best way to do this, and if could easily expand it later, or should i just use booleans? i'm still kinda new to UE and im planning to add proning, walking, and mantling later.

pine carbon
#

Trying to wire individual nodes into the slots just makes an array conversion automatically, and I don't understand when you would want to use a feature that forces you to make arrays that will only contain one item.

sand shore
dawn gazelle
# pine carbon Then how do select nodes work?

They work by choosing the input provided based on the index.
You can have a single node with everything connected to Set Opacity 1, and then the select can be hooked up to a Set Opacity 0.5.

#

and you feed in the appropriate widget bits to the select node.

pine carbon
#

Perfect.

sand shore
#

So I thought I was having you do two replacements.

1: Remove the For Loop. You can directly put the entire array pin all on the Target node.

2: For the second part, you donโ€™t need to switch off the enum value and use multiple Set Opacity calls. Instead, you need a Select node to choose one specific component.

2 total calls to Set Opacity.

#

Select, when you spawn it, has a wildcard

pine carbon
#

Now I just need to figure out how to get those button enums actually attached to the buttons.

frosty heron
#

If the button can contain states and data then make a new widget for the button and hold those data.

pine carbon
#

Alright this is an issue that continues to vex me, and I've had trouble explaining it in the past. Maybe this will help. I find myself wanting to do this, which is not possible, a LOT. Does what I'm trying to do make sense, and what is a way to ACTUALLY do it?

pine carbon
#

I'm aware this isn't possible inherently because EnhancedInputActions have completely different output pins, but this is more about the general idea.

frosty heron
#

Having the character speaking to widget is extremly bad practice.

pine carbon
#

I've got this widget setup to visualize that very nicely, but if there's a better way I'm not opposed to it.

frosty heron
pine carbon
frosty heron
#

E.g widget created, widget sets the owner. Listen to owner event.

Owner do X broadcast delegate.

Widget do Y.

pine carbon
#

So the solution is to just have all the input actions call delegates?

frosty heron
#

The button or w.e can bind to the input event yeah.

#

The Mediator Pattern:
Software Design Patterns are like a guide on how to write good code, whether you're using Blueprints or C++, knowing good software practices is a MUST!

This video goes over the mediator pattern to build a "Combat manager" to coordinate actions between multiple enemies and the player.
We will also be combining the mediator ...

โ–ถ Play video
#

Instead input pressed -> get the buttom bar do x, get the player widget do Y.

๐Ÿ™…โ€โ™‚๏ธ

pine carbon
#

I'm aware of dependencies being bad in general, but I'm terrible with the input actions and how they determine what goes where.

frosty heron
#

Depends what you want to do. This sound like interaction so setup interaction system.

#

Input will communicate with the interaction comp.

#

And responsibility will be handled there.

#

E.g what objects to interact with.

pine carbon
# frosty heron Depends what you want to do. This sound like interaction so setup interaction sy...

I have one of these! It works very well for most of our minigames. The left button is IA_Interact in 90% of our content, and it's set up to do contextual actions. For this specific one, though, we need all 4 buttons so the rhythm game can have input variation. I figured that using a new mapping context exclusive to this minigame was the best way to handle that, but I could not figure out how to get the interactions to attach to the widgets. If delegates is the best way to do it, I will use delegates.

slim hamlet
maiden wadi
lethal pollen
#

I have a question about dependencies. I'm developing a button that opens a door. I need to add a reference of the button in the door like this (this is an image of the door's code from Unreal's documentation). Here, the button reference is named Boss Died Reference. My question is: Is this a dependency between the door and the button? Because the variable type is the button class. Thanks!

spark steppe
#

whatever you said doesn't correlate with the images you posted

lethal pollen
#

Oh, really?

crimson briar
#

I'm not sure what you are asking about. But creating a variable of a certain class automatically makes this certain class be loaded with the class the variable is on. So if you make a ref to a BP_Button on your BP_Door, the button class will always be loaded with the door, even if there is no button anywhere

lethal pollen
#

I have explain again what I said: the first image is the door's code. The button is named Boss Died Reference. And the Boss Died Reference variable declaration is of type BP_Boss_Died. So, in the door I have a reference of another class.

#

Maybe I don't understand the meaning of the word Dependency. I think a dependency is when you have coupled code, like this.

frosty heron
#

A boss certainly doesn't need to know about the existence of a door.

#

but a door may need to open when a boss died.

#

So your door can subscribe to the boss actor to subscribe to the boss death event.

crimson briar
frosty heron
# lethal pollen Thank you!

As to what object should listen to what, it would depend on your game.

Like most of the thing may be handled by a quest manager or world manager.

#

Where Quest manager have references to what it needs, e.g the door, the boss, etc.

#

But the door and the boss need not know about the quest manager.

#

You never go like this.

B_Boss->Dead-> Get Quest manager -> Update โŒ

lethal pollen
#

Are quest manager or world manager other actors?

frosty heron
#

Instead Quest Manager -> Init enemy data -> Subscribe to boss death -> Execute Open Door on Boss death.

#

This way, even if the quest manager doesn't exist, your boss doesn't suddenly break or uncompilable.

#

one way dependency still respected.

#

most of the time it's done by the use of event dispatcher.

frosty heron
#

or it can be a UObject.

lethal pollen
#

OK.

frosty heron
#

I would probably make it an actor so it can grab references on the world it's in.

lethal pollen
#

Thanks!

gentle urchin
#

Mine is a UactorComponent ๐Ÿ˜

#

Aand I think its finally almost soon to be usable

#

Only took 2 years lol

astral summit
#

Is there a "For Loop" node that works in reverse, decreasing a number each time?

gentle urchin
#

If not, its easy to add yourself

harsh nebula
gentle urchin
#

something like this

#

sorry, not crossed input

gentle urchin
#

How does people normally handle stuff like dialogue and its interaction with a quest system ? Do you index every single dialogue line and use that as the identifier toward the quest system ? Or do you simply push the quest forward manually ?

maiden wadi
gentle urchin
#

right, but how'd your quest system pickup that the player picked the correct option during a dialogue, to progress the quest ?

maiden wadi
#

Oh, like that. We do that through flow too. Uh.. Give me a few and I can show you.

gentle urchin
#

sounds like manually pushing it forward kinda?

#

since you do it in the same flow

#

e.g. the dialogue system is responsible for conveying the info to the quest system

#

i could do that too, but i wanted to avoid other systems pushing things into the quest system directly

#

atleast, that was one of my thoughts

pine carbon
gentle urchin
#

rip

#

i was thinking about just implementing support for a gameplayevent

#

sounds like it'd be usefull anyways

#

generic and all

#

Perhaps the best thing would be to have some event object that can be added to the dialogue system

#

open ended, triggered when that option is selected by the player

maiden wadi
#

The TLDR on this is that the flow node pushes that prompt to a subsystem which will try to push the widget with the correct prompt. Then the widget broadcasts the index of the choice made back to the subsystem which finishes that prompt, and notifies the flownode. Then designer can do whatever they need to do off of that. Gift stuff, harm player, grant abilities, trigger cinematic, etc etc.

gentle urchin
#

Soo if a quest needs you to do the not so cool choise, how would the quest system be informed that you did or did not ?

#

Seems the event node with the option outputs would be the place to handle that

#

In the flow graph or whatever

maiden wadi
#

Oh, right yeah.

#

We have...

#

Quest management nodes.

#

That way designers can easily create, start, manage the flow of, and finish a quest easily all in flow.

astral summit
# gentle urchin

Thank you, but It's not working for me; it's giving a result 0

gentle urchin
maiden wadi
#

Technically separate. We just use the flownodes to affect it. We have a quest manager component that either sits on GameState or PlayerState, depending on whether it's a game wide or player related quest. But I don't think we use the game wide ones at the moment.

gentle urchin
#

I had this idea that the quest system would be responsible for listening in to the game / player state etc, as to not interfere with anything , and create very straight forward connections

#

But dialogue specifically is a tad hard without specific identifiers or atleast some form of trigger input

#

Sorry for not explaining that very well

lost hemlock
#

Hi, im workign with some AIs, but ive made my graph really simple... so I didn't use state trees or behavior trees cause its so simple

#

This is how it works rn....

#

But I have an issue, when I hit the chicken, I want it to run away , not stay in one place, at the moment it just stays in one place after I hit it, and it kind of freezes in shock

#

It's always (99.9% of the time) going to be in Roam-Around mode, that's the only mode it has, and this is why I didn't bother making a state-tree, behavior-tree

gentle urchin
#

Just cancel its moveto if it get hit, find the hit direction, run oposite, some semi fixed distance

gentle urchin
#

either you have to stopmovement or you just push a new one , and it cancels by itself ?

#

Perhaps store the aggressor in a variable aswell, so you can track if they're following you (the chicken) or not

crimson briar
#

The node is called like StopMovementImmediately I think

storm flare
#

Hello, I added sprint to my character in Unreal Engine 5, but I want my character to be able to sprint only forward, forward-left, and forward-right. However, the character can also sprint in backward directions. How can I prevent this? Can you help me? Thank you in advance.

frosty heron
#

btw you probably follow this crap from Youtube but I can assure you that your code is broken for multiplayer.

#

it may seems "work" in editor, but the moment lag is introduced, even 1 ms. All hell break loose.

#

either you have input delay, which no sane player will accept. Or you will get correction.

#

can't do networked server auth in multiplayer with bp only without sacrificing features.

storm flare
frosty heron
#

add if condition and just do nothing if condition is not met.

storm flare
#

my movement input

gentle urchin
#

You can do dot product between actor forward and input direction

#

Then do a some fancy math

frosty heron
storm flare
#

Thanks guys trying right noew

frosty heron
#

dot product between the input direction and actor forward vector

#

if you move exactly forward (W) , the dot product of the input direction and actor forward is 1

#

so 90 degrees would be -0.5 / 0.5 depending right or left.

#

if you want to use the camera as the reference point instead of the character, then replace the actor forward vector with the camera forward vector.

gentle urchin
#

Eexactly

gentle urchin
#

90 degrees / perpendicular would be 0

#

180 degrees would be -1

frosty heron
#

right

gentle urchin
#

Youd need to do the same check for the right vector if right/left matters

frosty heron
#

so its just dot product result >= 0 I suppose

gentle urchin
#

.62 if its 45degree strafe iirc

#

Erh... .5 maybe ๐Ÿ˜†

#

Nah

#

.70

#

There's gotta be a typo in there aswell ^ i give up

#

Theres some free webpage where you can test them live

mental trellis
#

The input vector may not be normalized...

mental rampart
#

in multi sphere trace by channel: how do I ignore ALL static mesh actors and plug that into the "actors to ignore" node?

gentle urchin
#

Cant you just give them their own channel?

#

Or rather, add things you want to find to its own channel?

#

Sounds reasonable to separate static mesh actors from other actors

steady night
#

Just a heads up for those who dont use "Edit Selection in Property Matrix", do it,,, saves countless of hours !

spark steppe
#

use get all actor of class or trace by object type to begin with? ๐Ÿค” (the later would likely perform/scale better)

steady night
mental trellis
#

The centre of the mesh is going off screen, so it's not drawing it, I assume.

#

Seems weird.

knotty falcon
#

hey everyone, im trying to build a system that fades in the audio of an audio component the closer one actor gets to the other (Player cube distance to the target cube) but I cant seem to get it to work. Ive tested and confirmed that both the player and target cube references are valid and it is correctly updating the distance between the 2. does anyone have any ideas? https://blueprintue.com/blueprint/6bga8z95/

knotty falcon
maiden wadi
knotty falcon
#

@olive dirge Sure, hereโ€™s the example. The closer the controlled cube gets to the target cube until it finally lands on it, the louder that instrument/track will be. I actually have little to no experience with audio so Iโ€™m literally just winging it. The one requirement is they are all stems/tracks that make up the same song so the have to all be cued up at the same time so the tempo remains in sync

https://youtu.be/ZSGXg-idWqo?si=j2Cfx-N_FQTw6bqV

#

I guess the one barrier is i will need to "swap" the attenuation sound for one that stays full once it gets stacked

idle crescent
#

Am I doing the call for drawDebugBox wrong? I am not seeing it draw anything when I click the function button in the editor.

#

Also how do I set a data layer in blueprint, if I even can?

crimson briar
idle crescent
#

Yeah my bad, I missed setting the color. Thanks.

twilit orchid
#

Looking to gauge whether or not this would be useful for devs, or if it would be redundant.
I'm quite "ocd" when it comes to graph cleanliness. Often times when setting up a system and execution needs to wrap back around (whether that's to reset a "DoOnce", close/open a "Gate", etc) and rerouting wires can get very messy. Alternatives would be to setup a Custom Event to execute a specific action instead of rerouting wires all over the place, but this then means we are setting up single-purpose events that won't get called outside of the system it resides in. That would also mean this logic needs to be executed outside of a Function, as Custom Events can not be added to functions.

I've spent the day setting up "Bridge" nodes. These act similarly to a Custom Event, but is not public to other blueprints and can be used within Functions. Think of them as a light-weight way of wirelessly rerouting execution.

Some more info about the nodes,
I've attached a little image of a (what in my head is) a practical use case inside of a Function that adds items to an inventory (highlighted these Bridge nodes). These nodes are essentially cosmetic, this could all be done by carefully rerouting execution wires and maybe some local vars. Like I mentioned, it would more-so for graph legibility. Right-clicking on either an "In" or "Out" node will prompt an option to "Jump-to" it's partner node for easier debugging. Value pin amounts and names are configurable, as well as a display name for these nodes to indicate what exactly they're executing.

crimson briar
#

Maybe you chose a very bad example to showcase this, but your nodes seem to complicate the function instead of improving legibility.
You could've scraped the whole gate, move the add to the top and return after adding the item. Since return in function always breaks out of the loop. And if it is not reached, after the loop ends the second sequence pin will go. Aaaand Completed will fire before opening the gate, to why open the gate...?

#

Also I remember having this problem sometimes when I was starting. But I barely notice it now, I think it comes down to experience in designing systems with blueprints

twilit orchid
crimson briar
#

Maybe for some designers that have less strict minds than programmers. For me it looks unnecessary, especially in a function. In event graphs maybe, but then again you have events there.

twilit orchid
frozen wren
#

is there a plugin that would make me be able to live a session on going regardless of the host living....either by promoting another client to be a host of there is any or prolonging the session on timer

frosty heron
#

but it would be a real pain anyway. It's not worth it and you probably should just accept to not do something about host migration.

frozen wren
#

can u share fab link i check it up

frosty heron
#

might as well make dedicated server.

#

I saw it long time ago.

#

it's gotta be somewhere on fab.

frozen wren
#

im looking for something similar cant find it on fab

frosty heron
#

found it in 5 seconds.

#

only up to 5.1

frozen wren
#

thanks

frosty heron
#

no way around it.

#

if you looking for seamless effect, there won't be one.

lost hemlock
#

FStructProperty::Serialize Loading: Unknown structure

Hi, does anyone know how to serialize or validate a structure?

#

UE5 packaging Unknown structure structproperty serialize

#

That was my error during packaging... It seems I have a lot of structs that are somehow invalid and incorrect

#

I might have to refresh them tho, could be some renamed struct

frosty heron
#

@lost hemlock Blueprint struct strikes again...

#

tldr, your struct is cooked. Blueprint struct is fragile and unknown structure is one of the most common error.

It normally happend when you change the order of a struct or add / remove from it.

Make a backup and use source control, I am not responsible for your lost.
You can rename the struct for a bandaid. This will cause you to lose all the default values.
So if you have this struct for items, you do have to remake all of those data. (e.g filling up the names and properties of the item again).

The error should be gone if you done that.

To avoid this error in the future, never use Blueprint struct. Struct declared in cpp doesn't share this unfortunate hiccup.

lost hemlock
frosty heron
#

the worse kind of bug is the silent one.

narrow kite
kind estuary
#

I dont know exactly where to post this.

can anyone tell me if this is worth it:
Im making a 2d isometric game, using tilesets. Though there's an issue.
I cant place a 3d character interacting with it... because its 3d.
So a friend of mine told me to use render targets for the objects / characters that need to be 3d.
And then place them in the world as sprites, so now it is compatible with the 2d sprites / tilesets.
Is this worth it? Wont this tank performance?

#

Thats to make a game like Diablo 2, or Hades

eager thicket
#

there is no right solution

gentle urchin
hearty rain
#

especially if you can't reliably reproduce the crash

frosty heron
gentle urchin
#

crash during engine startup, good memories

hearty rain
#

Oh yeah happened to me due to a corrupted anim blueprint ... Fortunately it was very early in dev.
I purchased a NAS and folder dump my project regularly on it

gentle urchin
#

The sane way tends to be sourcecontrol buut

#

if thats not an option then your method is better than nothing

hearty rain
#

Honestly I really wanted to setup a git on my NAS but couldn't get my head around it

#

I use Goodsync to work remotely with my codev and so far it works pretty fine.

gentle urchin
#

svn might be easier

hearty rain
#

We just have to be very clear on who works on what to avoid conflicts

gentle urchin
#

yeah thats the benefit of using something supported by the engine

hearty rain
#

possibly but my NAS is a WD and it seems to be quite the diva when you want to setup any VC system

#

then again, I'm shit when it comes to installing this kind of stuff

gentle urchin
#

a quick tutorial gets you 95% of the way ๐Ÿ˜„

#

worse part is prob the port forwarding stuff

#

I'm using TortoiseSVN, and it works pretty great so far

#

im a tad surprised by how slow unreal can be with this stuff tho

hearty rain
#

Well I'm also super stubborn and hate GIT with all the fiber of my body lol

gentle urchin
#

xD

#

You should try git with automation software

#

it's the worst of the worst

#

40% chance for random crash, can't compare online, can't rollback, can't easily cherry pick, PR requires custom software etc etc

#

locking of files whenever you edit something is handy, avoids those nasty conflicts

hearty rain
#

I will investigate Perforce

#

with a local install on my PC and daily mirroring to the NAS

frosty heron
#

worse thing about bp corruption is they break silently.

#

Some pointer just become null forever.

#

and source control can't save the day because you don;t know when the asset is borked.

#

heard perforce is the best tool to go with for Unreal.

#

I personally just use git and happy with it.

gentle urchin
#

I havnt had such corruption since the day and age where i used bp/editor created structs

chrome pumice
#

hello guys, i have a real big issue packaging my problem, apperantly there is a problem with the refrence in my level or smth, and i tried validating assets and redirect update but nothing helped, anyone knows whats going on? or what i can try? would really help. I have to release the game really soon, in fact it should have already been released.

thats the erroro
LogCook: Error: Content is missing from cook. Source package referenced an object in target package but the target package was marked NeverCook or is not cookable for the target platform.

it usally tries to get a refrence to a GEN variable which is appearently the root, but he says that it doesnt exist in thoose levels. he fires this off 272 times

is there a way to validate all safefiles but more intense so he gets me rid of that?

#

if anyone wants the logs i can send them too if disc allows me

gentle urchin
chrome pumice
#

ohh thx

narrow kite
#

Solving decade old issues billion dollar companies are still implementing today. (Including Diablo, POE, Last Epoch)

The rarity systems where always flawed. If it's not top tier it's JUNK.
Fix: All gear is white. Scrap equipment you don't want and upgrade those you do.
How it works: Upgrading the tier rerolls the base stats for a higher value chance. It's built upon the level of the equipment, so you can upgrade anything, but naturally higher equipment is better, but the cost is also higher. You keep the perks, empowered level etc.

#

The stats are to low on that equipment to matter and the cost was set to 0. Just a demonstration vid.

gentle urchin
#

now integrate 2048 logic with blacksmiths and you're good to go

#

e.g. Tier 1 Sword + Tier 1 Sword = Tier 2 Sword

#

collecting scrap also holds value ๐Ÿ˜„

#

only takes 128 tier 1 swords to get a tier 8 sword

crimson briar
#

The rarity system has it's value in game design. It doesn't exist solely for the power or the stats. It boosts player experience when going around looting things.
"Oh, it is another white sword with a 4 instead of 3 next to the name" feels way worse than "Oh, it is a Legendary sword, it has a different color, glows, and the drop makes a satisfying jingle!"

#

Ofc some AAA games took it to extremes, where there are dozens of legendary items dropping everywhere... but it is besides the point.

gentle urchin
#

Indeed, it gives you something to hunt for , and (can) make the player feel good for getting it

#

some reward for the trouble

astral summit
#

hello, Running the same event multiple times at the same time causes conflicts and overlaps between variables, resulting in incorrect results. Is there a solution to this?

mental trellis
#

"multiple times at the same time"?

astral summit
#

For example, running the event in Loop node

dark drum
mental trellis
#

Indeed.

#

So whatever problem you're having is because the end of the event is leaving it in a bad state for the start of the next one.

#

So fix that.

astral summit
#

Perhaps moving the UMG border takes some time. So when the second event starts, it's using an incorrect location?

mental trellis
#

How are you determining its position?

#

What are you even doing? Trying to animate something?

dark drum
# narrow kite Solving decade old issues billion dollar companies are still implementing today....

The best solution I've come across to this (from a game design perspective) was to have items be able to grow and change as they're used like experience.

Rarity becomes an indicator for current experience of the given weapon/tool but isn't fixed. As weapons/tools grow, they could gain new affects/abilities or increase the power of existing ones.

This can give incentives to use lower level ones as an attempt to grow them. Of course, this doesn't always fit into existing game design.

crimson briar
#

Show blueprints. Every execution chain happens in order, even if they access different elements. Unless there is a node with a time icon in the chain

dark drum
astral summit
#

Yes, I'm trying to move the UMG border location
using a loop
But strangely, it works fine if I add some delay inside the loop

frosty heron
#

sounds like race condition

#

delay inside loop doesn't do what you think it does.

#

the loop still run on a single frame.

dark drum
gentle urchin
#

you'd prob want to use a timeline / animation instead

#

UMG has its own animation panel

mental trellis
astral summit
#

Yes, maybe. Moving the UMG border needs some time to update.
I'll try moving it when the loop finishes. Does breaking the loop give me the index of the last number it reached before the break in the "Exec Completed" ?

mental trellis
#

Yeah, that's the key word there. Cached.

dark drum
mental trellis
#

If you call GetCachedGeometry repeatedly on the same tick, it isn't going to change.

astral summit
#

Are there any events that tell me when it's rebuilt each time in Blueprint?

dark drum
mental trellis
#

Each tick it will be updated. In the majority of cases.

#

He's animating a border.

kind estuary
#

its super tricky to do it

frosty heron
#

if the position is fixed, why not just use the widget timeline?

astral summit
#

So, in Delta time
That's the time of each tick

mental trellis
#

A timeline has that.

astral summit
gentle urchin
#

sounds a bit like recreating the wheel

#

unless you need it for a virtual mouse

narrow kite
# dark drum The best solution I've come across to this (from a game design perspective) was ...

There are multiple problems with systems that simply allow you to upgrade items in a single path. IT destroys the glory of the Diablo RNG loot. They generally dumb down mechanics.

This system incorporates what you stated already. The equipment levels up which plays into the tier. Since the Empower levels enhance the base stats (base stats increase by rarity). Additionally, leveling equipment still unlocks special perks.

This all happens while maintaining pushing for higher level equipment. Which is obtained by killing the highest level mobs you can handle. The only real drawback is investing to much into equipment. Which is a player choice and mitigated by higher exp rates due to many other boosts throughout the game.

gentle urchin
astral summit
#

Yes, sometimes the wheel needs to be rebuilt

mental trellis
#

But it's not good for actually finishing anything.

frosty heron
#

some people recreate GAS just to end up with inferior version.

mental trellis
#

But some people do it better. GAS is old and outdated.

astral summit
#

The idea that the Android keyboard cannot be fully controlled in the Unreal Engine presents a problem. Therefore, try building it in the same engine

mental trellis
#

What can't you do with it in UE?

astral summit
#

Many things you can't do:

A separate text box for writing
Changing the box and border color
Creating a drag-and-drop notepad
Adding buttons near the text box
Such as a microphone or other features
Controlling and changing the keyboard color and appearance

frosty heron
#

Lets start from the top

#

can't do a separate text box for writing? 0o

#

You want editable text box?

mental trellis
#

If somebody tried to change the colour of my phone's keyboard, I'm be annoyed.

astral summit
mental trellis
#

My android keyboard isn't adding another text box when I type on discord... I'm not sure why it would in UE? That's kinda weird.

astral summit
gentle urchin
#

More likely if it was made in c++ if so

#

i suspect there's access restrictions in bp as always ๐Ÿ™‚

mental trellis
#

Yeah, this is quite horrible.

#

This might be useful.

#

Seems somebody has already fixed this for you.

#

It even has BP integration.

gentle urchin
#

appears to be somewhat cheap aswell

mental trellis
#

And by cheap you mean free? ๐Ÿ™‚

gentle urchin
#

I knew i could count on you to clearify!

#

๐Ÿ˜„

#

ARgh, I'm fighting an unbound delegate that appears to bind as it should... -.-

mental trellis
#

How/when are you binding it?

#

Are you sure it's the same object you're calling the delegate on that you bound to?

#

Are you sure the objecting binding to it still exists?

gentle urchin
#

binding it in HUD's beginplay

mental trellis
#

(and it's the right object)

astral summit
mental trellis
#

Playing with people's keyboard isn't a good idea.

gentle urchin
#

binding comes from a component that lives on the owning playercontroller

frosty heron
gentle urchin
#

yes, it's the same project

#

doing some cleanup, refactoring to component etc

frosty heron
#

HUD begin play is probably too early to bind.

gentle urchin
#

yeah

frosty heron
#

All my binding comes after components are replicated.

mental trellis
#

The component may not be replicated.

frosty heron
#

Or PlayerState on repped.

gentle urchin
#

oh shit

frosty heron
#

For client.

OnRep_PlayerState-> Go to HUD. Init.

#

HUD begin play is wayyy to early.

gentle urchin
#

the component isnt even set to replicate

mental trellis
#

Lol

gentle urchin
#

fuckin hell

frosty heron
#

Like I keep wondering why my skeletal mesh doesn't replicate.

#

seems like for components, replicate is set to false by default.

gentle urchin
#

Hm, but how the hell did i end up on the client when the comp with the rpc doesnt replicate

gentle urchin
frosty heron
#

their properties may not replicate yet.

#

but the component is there.

gentle urchin
#

right, so then it should be fine as long as i ended on the client with the rpc

frosty heron
#

runtime added is different story though.

#

Yeah but I don't know if you have a valid player state at Hud Begin play.

#

Your ASC lives in the Player State right?

mental trellis
#

Don't rely on anything that is potentially unreplicated at the start.

#

If I want object interaction, I generally have a system where each object involved has a BeginPlay() event which triggers some kind of function. That function checks if everything is needed exists and, if it does, it calls the thing.

gentle urchin
#

that's pretty clever

mental trellis
#

Should work for any kind of initialisation in MP or SP.

#

I may also have a bool to say whether it's been done yet or not, in case an actor is recreated and BeginPlay triggers again.

#

(and you don't want the thing to happen again)

gentle urchin
#

bInited kinda check, yeah

mental trellis
#

Yeah.

#

An example of that might be a match start screen which requires you to have a pawn, so your pawn does BeginPlay shenanigans, but you don't want it to happen again if you respawn.

gentle urchin
#

welp, well that didnt change a thing

#

guess i gotta go deeper.. but it reallly looks to register correctly

#

Ah, problem is on the calling side, not the binding side. Calling from server on a client bound delegate

mental trellis
#

That'll do it.

gentle urchin
#

Dang, another thing i missed

#

Feels a bit backwards to repliciate this uobject tbh

mental trellis
#

Not everything has to be replicated. You could spawn it locally if you don't need any replicated properties.

gentle urchin
#

Exactly

#

I need some, but they're not specific to this uobject

#

Or.... perhaps they are

#

If i track the progress equally on the server and 'owning' client, then it should be fine

#

the plan was to try and make world interaction truly multiplayer, as in NPC's talk to other players if they've interacted with the npc

frosty heron
#

can be done locally or server auth, depending on the design I guess.

Some MMO games would have each player player their own cinematic and dialogue.

While some multiplayer game only allow the NPC to speak to a player one at a time.

gentle urchin
#

I've not seen the latter before, got any one i can look up ?

frosty heron
#

probably bad comparsion but I think only one player at a time can trade with a merchant in Killing floor.

#

make sense because you can't have multiple people buying items that are shared.

#

I mean technically you can X_X I guess.

gentle urchin
#

but even just talking to someone

#

If you run and talk to the NPC over there, and i approach, i should be able to listen in on your mid-conversation stuff

#

If i itry to converse with them, I'd normally be asked not to interupt and possibly something rude, or something along those lines

shut wave
somber minnow
#

I want to move data from one component to another actor, blueprint, and component. The problem is, I don't want to use casts. I've tried a few methods, but how is this done professionally?

frozen hedge
#

What is the best modular way to put conditions on puzzles which can be set via editor?

For example, player must be on platform to move. If unchecked, platforms moves by itself.

I have more puzzles

frosty heron
#

casting is just a type check, you can't avoid that if you want to build a project that is not soo mini.

mental trellis
#

You could use an interface if you really wanted to.

frosty heron
#

Interface -> Get level, Get Gold, Get Name, Get ....

Game hard to debug, or almost impossible for big project.

#

and most of the time, people need the type anyway.

#

Get Animal

#

Opps

#

hard refernce

frosty heron
frosty heron
#

Any data that you need. Rather than boolean, you probably want object reference to the moving platform.

maiden wadi
#

You need so much more context with that question.

#

What is a puzzle? What is a platform? What is player movement?

gentle urchin
#

It's almost always the answer these days

frozen hedge
maiden wadi
#

This sounds like a puzzle mechanic.

What is a puzzle? Is this a level? Do you have multiple puzzles in the same level, sublevels? etc etc.

What is a platform? Why does this matter in relation to player movement? Did you really mean player movement here or movement of the thing you're dragging with constraints? If you meant player movement how are they even supposed to get on the platform if they can't move when off of the platform?

dark drum
gentle urchin
#

For a puzzle it should be easy to combine multiple checks at the same time

#

Very reusable

deft yew
#

Quick question: If buy a game template am I kind of at the mercy of the template/plugin if a new version of Unreal comes out and the plugin/template doesn't work with it? Like this one https://www.fab.com/listings/9a175ace-6bdf-4b84-8b47-755876cbe3e8

Fab.com

(Free for the Month of August 2024) Welcome to Mooreโ€™s RPG Template version 2.14 released October 14th 2025 (also known as the MRPGT), a โ€œcomplete projectโ€, from Moore Game Dev. It is a First and Third Person, Single Player, High Fantasy, RPG Core Framework. It includes user interfaces, blueprints, props, animations, a sample character and...

gentle urchin
#

Yes

#

Well

#

Yes*

#

not quite, but kinda

#

if you get vs you can recompile them yourself

#

and fix whatever minor thing that broke

#

It's usually (atleast for me) just small stuff

#

things being deprpecated, replaced by almost identical function call etc

#

Like
ISM->SetWorldPostion(FVector NewLocation)

replaced by
ISM->SetPosition(FVector NewLocation, bool bWorldPosition)

tired blaze
#

Hey yall, good morning! If anybody can help me with this, it would be very much appreciated! I am making a multiplayer horror game. I am trying to make a Jumpscare mechanic where an AI takes a control of a players camera and AI plays the jumpscare animation if they caught in the AI's Trigger Box. I am having an issue where only the host of the session only gets jumpscared since by default, The Player Camera Manager is default set to 0 (which is the host duh), what's the most accurate way of getting any player index in a session using a Trigger Box so it can take control's of that players camera and jumpscare them?

eager thicket
#

Resident Evil fixed angle games, for instance

cloud token
#

๐Ÿฅฐ

glad silo
#

thanks

prime stump
#

Hi, I could do with some advice on how I should set up this system with optimisation in mind.. one of my characters has an ability that when active, will start showing footprint at the location of each foot of every other player (max 8 other players) for every step they take, the ability lasts around 30-45 seconds then all footprints will be removed, each footprint decal will also need a niagara particle system and ideally a sound effect, which is all only visible to this one player who has the ability.

Should I put the decal, particle system and sound effect into an BP actor and then use object pooling to spawn a load of them at the start of the game, deactivate and hide them then activate when needed and reuse them, or should I do it a different way?

My concern is that 8 players, over 30-45 seconds, all needing this actor to be shown for every step they take would mean needing a pool size of 500+ at least, although everything would be hidden and deactivated and only shown/activated when needed that would still be loading 500+ of this actor into memory for use which doesn't sound great, or am I hopefully misunderstanding something?

lunar sleet
prime stump
# lunar sleet Likely wouldnโ€™t use actors, but instead you could use spawn decal attached. As f...

Yeah I'm painfully aware of the annoying complexity of multiplayer lmao which is why I kinda just wanna do this system once and get it right first time instead of fucking around lol

I will say that the decal, particle system and sound effect are only seen/heard by the one player using the ability, no other players even know its happening from a visual/audio standpoint so as far as replication goes the other clients may only need to know when the ability is active or not in order to react.

So for Niagara and the sound effect, would I just spawn and destroy as needed? Could this potentially cause hitching when garbage collection is ran or should this be alright? Although the sound effect I kinda need playing whether its heard or not as soon as the footprint is spawned instead of playing it only when the player gets close enough to hear it so when they do get close enough they hear the sound playing from where it should be and not playing from the beginning if that makes sense

lunar sleet
#

You can prly use spawn sound at location for the footsteps

prime stump
# lunar sleet Not sure if garbage collection would cause hitching in this case. Some things yo...

Yeah true, was hoping someone already tried something similar before me and had the answers so I could avoid that part lmao

Spawn sound at location would keep the audio component there so I would have to destroy them all once the ability is deactivated right? Unless 'Play Sound at Location' does the destroying part already, but that would still mean potentially 500-1000+ (assuming max of 8 players all spawning footsteps) audio components being created and destroyed every time the ability is used, which I'm not sure if it would cause any hitching when spawning that many and then destroying that many until I test it out but isn't that what object pooling is for, to avoid the spawning/destroying part?

frosty heron
#

Play sound at location is fire and forget operation. Why do you want the component overhead for a single foot step.

prime stump
frosty heron
#

Not with PlaySound

#

You should check the source code.

prime stump
# frosty heron You should check the source code.

I was trying to do that but I can't get the fucking thing to open lol, so how does 'fire and forget' work, cause if there is no spawning/destroying happening then I assume it doesn't effect garbage collection?

frosty heron
#

Fire and forget means it doesnt pass reference around.

PlaySound2d doesnt return the sound being played or anything at all.

#

Once a reference is unreachable it will get garbage collected in time.

#

You r over thingking btw.

#

Just use playsoundAtLocation for your footstep.

midnight night
#

Guys, is there a way to increase a car's RPM or decrease Final Ratio for like 5 seconds, acting like a Turbo Boost?

prime stump
# frosty heron You r over thingking btw.

God I hope so.. so that will be fine for the sound effect that gets played, what about spawning/destroying the Niagara system and decals, should I be alright with spawning/destroying that much or is there a better way to handle that too, that you're aware of?

frosty heron
#

Depends on the niagara system and their lifetime.

Do what you need to do and just profile.

#

If you dont take much performance why stress over some non existence problem.

gentle urchin
#

I iwould probaaaably go ISM route and not decal but might not be anything to gain from it at all

#

If its a local only ability, there's no replication going on at all

#

might want server authority to activate it but that should mostly be it ?

#

"Am I the class i pretend to be, with the ability i try to activate?"

astral summit
#

Guys, if I have a blueprint with many branches, how can I organize it to be easier to read and have fewer branches?

gentle urchin
#

combine, Sequence, functions, collapse graph,

#

pick many, make spaghettio

#

I'm a fan of functions, personally

#

the main eventgraph showing the broad strokes for the most part

#
Beginplay->InitInventory() -> InitPS()->InitHUD()->SetupBindings()->SetActorLocation(GetVoidLocation())```
astral summit
gentle urchin
#

how so

#

show me an example

#

and ill show you a solution

astral summit
#

For example, if I were using a branch for exiting the door, a branch for entering, a branch for closing the door, and so on... some of them I'd put at the beginning of the code, some in the middle, some at the end, and some inside another node, that's what makes my code spaghetti cheese.

gentle urchin
#

this sounds like a design issue

astral summit
gentle urchin
#

show some code ๐Ÿ™‚

astral summit
#

I'm not on PC right now

gentle urchin
#

gotcha

#

hard to give specific suggestions without seeing what you're talking about

#

using a branch at the start, in the middle and at the end doesnt tell me all that much

astral summit
gentle urchin
#

I'm flattered, buut it wasn't mine ๐Ÿ˜„

astral summit
#

But the project was extremely complicated, haha

gentle urchin
#

haha sounds like something i'd do

#

bp implementation of a neural net xD

astral summit
gentle urchin
#

nah, i just hanged out on the discord forever ( still do )

#

You're thinking of UnrealGaimeDev, the german developer

astral summit
#

Perhaps this is it, I don't know, it was years ago

gentle urchin
#

Lars apparently went on to do a publication aswell

#

good for him

astral summit
#

So how could I have thought it was you? Was it a coincidence of names or what's the story?

gentle urchin
#

The most common reason for the misunderstanding is that I'm an admin on the server

#

so that'd be my best guess

astral summit
#

Your prediction is correct, he is your friend, since you are the server admin with him?

gentle urchin
#

It's mostly because i helped out so much on the server , don't really know him all that well (beyond his tutorials and thesis)

astral summit
#

Great, please send him my regards, if that's possible

gentle urchin
#

It's been quite a while since I talked to him, would be pretty random ๐Ÿ˜„

astral summit
#

It will be a chance to talk to him, he has a wealth of information, haha.

prime stump
# gentle urchin might want server authority to activate it but that should mostly be it ?

Yeah it need server auth to activate and I have a 'IsAbilityActive' bool set to RepNotify for other actors that need to know about its status but all visual/audio stuff is local only. In this case where its a footprint being shown, how would I do that using a ISM set up instead of a decal? It might not gain anything but still good to know the different ways of doing it

frosty heron
#

No difference with what ever system you going for. Networking wise you just need to inform the clients where the foot steps are.

woven pond
#

Just wondering if box, sphere and capsule collisions have a parent class I can add to a data asset so I can add the collision check for overlaps per data asset (Hoping this isnt too expensive and saves me having multiple classes?)

#

As I believe some one once said it was cheaper to check overlap than it was to do a trace on tick.... idea iis a spell indicator

narrow kite
#

There are many ways, but there is already a built in tag method and many hit detect output options.

woven pond
#

? (Im not asking how to do the trace) I have a spell target actor and was going to use on overlap events instead of doing the trace on tick

#

was just hoping to add components by a class so i couold do the shapes i want but thank you i think

narrow kite
woven pond
#

on overlap should be cheaper than the ttrace so to me it does matter

#

i think you're a little off topic with the question or i havnt worded it correctly

narrow kite
#

It doesn't matter because they both have the ability to clarify if the object qualifies. Which sounds like the entire point.

woven pond
#

it would for a spell/target indicator

#

as the trace would run on tick where as the overlap just add and remove the targets on overlap when they exit/enter the volume so in principle for returning the actor yes similar but not quite the quesiton

#

but again the question wasn't how do i trace it was is there a parent class for the collision shapes. Turns out there is and its the UShapeComponent and can be used in data assets as a class reference

frosty heron
#

Im running hundreds of trace per tick, no issue.

#

Well line trace

#

If what you are doing is already working, keep it until it become performance burden.

#

To find out just profile.

#

Otherwise trying to fix non existemt problem.

narrow kite
#

I have nothing further to say "so I can add the collision check for overlaps per data asset ". I provided a valid way to "check for overlaps with criteria". You are arguing non related points.

shut blaze
#

I wanna ask about my setup. Anything to keep track of, improve, remove, tips etc.

  1. Pawn creates widget(s);
  2. HUD is informed and you can tell it to: Hide/Show widgets from an array (also allow smooth fade in/out animations)
  3. Additional, widgets have a data base for information such as Z order

And since widgets are stored in the pawns, if you were to switch pawns, just call a function to remove old and add new (and/or play fade animation)

Images taken in the HUD BP
thanks

narrow kite
shut blaze
#

I wanna add the effect of fade in and out for stuff like cutscenes, or small easter eggs like if the player is idle for too long the UI dissapears

#

not really sure how I'm gonna tell each widget to have a certain opacity multiplier though, unless I copy paste a bunch of code for each widget

frosty heron
#

Pawn make a method to detect idle.

#

When idle to long broadcast delegate

#

Widget listen and apply the fade in

#

Player move broadcast delegate

#

Widget listen and apply fade out

vocal garden
#

hey i have a problem.

narrow kite
#

Someone plays to much BDO. That's the only game I recall doing that. They are screaming LOOK at our awesome game world while you afk ride to your location ๐Ÿ˜‰

shut blaze
vocal garden
frosty heron
#

Oh damn, you really need them. Keeping depedency one way is very very important.

#

And you can achieve that with event dispatchers.

shut blaze
#

if you want to face the enemy constatnly while in combat, use tick (with an if statement or even better an enum)

narrow kite
# vocal garden How do I make my character face my target when attacking and revert back to movi...

You may be on the right track. I'm revising some of my code regarding that so I'm not posting it at this time. I was setting the rotation of the enemy to face the placer (via similar vector/rotation nodes). To help ensure when the attack montage plays it's facing the player despite their movement. However, also note most AI to move/follow already tracks the location of the opponent.

Regarding the "disengage" you need to have control logic to determine that. As simple as a Boolean IsInCombat?

#

As simple as a single split. Top bottom. Does it roam a spline or follow player. (Depends on the combat state)

narrow kite
#

Sounds like a target based system

shut blaze
last peak
narrow kite
shut blaze
#

ยฏ_(ใƒ„)_/ยฏ

last peak
#

Ue 4 gamedev?
But why? Performance?

shut blaze
# last peak Ue 4 gamedev? But why? Performance?

More
Because I am alone I don't have time to tweak stuff in UE5 to make it more performant
Ue4 is still a good engine for making games, I value my own personal design skill rather than letting UE5 do my whole work

narrow kite
#

UR4 was built on a commadore. Instantly ready to go. UR5 was built on an expired Windows versions and comes with built in elevator music while shaders load.

last peak
shut blaze
#

Even better

last peak
#

Why even use a engine in the first place? ๐Ÿ˜›

#

Go rawdog it with c

narrow kite
mental trellis
shut blaze
#

Nah but rly, once I tried UE5 and the heat was noticeable
So I said, nah UE4 good enough

mental trellis
#

The state-based scripting was nice.

last peak
#

DIdnt you have to manually create bone chains in ue4 ?

#

I still have ptsd from that

shut blaze
#

Bone chains?

#

Like on skeletal meshes

last peak
#

You had to create bone chains in the skeletons linking every goddamn bone
Cant 100% remember the whole process anymore it has been a few years

shut blaze
#

Funilly enough, I never had a Character for my games laughcry

narrow kite
#

I wouldn't go back. However, I played a UR4 game recently and it was an amazing experience. The load time was nearly instant and made short game play experiences much easier.

last peak
shut blaze
#

Some devs are lazy to optimize and read docs

narrow kite
#

UR games have 2 main complaints. #1 performance #2 similar appearance

shut blaze
#

Developer skill issue

last peak
#

Because Unreal Engine 5 gives you stuff that looks amazing out of the box

shut blaze
#

U need time and dedication to tweak stuff

last peak
#

Many just take it as it is without doing any sort of optimization

vocal garden
#

let me catch up

vocal garden
#

here's my game on how targeting works

shut blaze
#

Thicc Toriel

vocal garden
#

wrong vid

#

but yeah

last peak
#

Bros out here trolling again eh ? ๐Ÿ˜›

vocal garden
#

but yeah this is the video that's updated

vocal garden
narrow kite
# vocal garden

What's happening in that video. I only see one object. Everything else is out of focus.

vocal garden
shut blaze
#

Coz unless u plug in your pc. It doesn't work

vocal garden
shut blaze
#

Gg

vocal garden
last peak
vocal garden
#

ah this one?

narrow kite
#

They are saying the set actor rotation isn't attached (execute)

vocal garden
#

ah!

narrow kite
#

In the start of the vid

vocal garden
#

where do I put the execution?

narrow kite
#

It's the white line. It's not being called at any point.

vocal garden
#

I know what a execute is. It's the white line from the arrows

shut blaze
vocal garden
#

here?

narrow kite
#

It would go before the animation montage.

shut blaze
vocal garden
#

in case anyone ask this is the attack tree node

narrow kite
#

Rotate player -> then attack

shut blaze
#

False > Set rotation > ....

vocal garden
#

like this?

shut blaze
#

Perfect

shut blaze
vocal garden
#

test it out now?

#

I checked it

narrow kite
vocal garden
shut blaze
#

U got some errors
U might wanna check that out

narrow kite
#

Accessed none means could not find data.

vocal garden
#

hmm

narrow kite
#

According to that video do you even need any of this?

vocal garden
#

maybe this would work?

narrow kite
#

Why is the player controller not dicating everything? That's not a turn based. It looks like real time combat? No?

vocal garden
shut blaze
vocal garden
#

sure

shut blaze
#

Most likely the hit actor is not valid

narrow kite
#

Then why are you essentially trying to force a target lock?

#

The sphere/line trace already detects animation/motion.

#

The game ideally should detect the hit upon the players position. Not a forced lock.

vocal garden
vocal garden
shut blaze
#

Ouch, here is the thing
Ur getting the actor location of no one

vocal garden
#

but when she attacks she faces the enemy to make the attacks easir to reach at the enemies

vocal garden
#

where? At Set Target Location?

narrow kite
#

One more time this is a working example

vocal garden
#

well let me listen to c37 first

shut blaze
#

Do you want to look in the direction you attack
Or the enemy you attack?

vocal garden
#

Look in the direction I attack

shut blaze
#

Perfect

#

Then just get the trace end
Put it in the find look end

vocal garden
#

where? which node do I need to pull?

shut blaze
#

You can:
Win+Shift+S to send me a picture of your code

vocal garden
#

ok...

#

where do I find the picture?

shut blaze
#

Ctrl+V

#

In our chat

vocal garden
#

it shows this

shut blaze
#

Well
U first clip the image then its saved

#

Alr im getting on my pc hold on

vocal garden
#

ok?

narrow kite
#

If you want better control try something like that. Ideally you would use the top/bottom of the axe as your trace point. Refer to trace images to how it actually works and what you're tracing.

violet spoke
# vocal garden

Null means some blue line has invalid Actor, (null means there is nothing)

#

I meant None*, its null in coding side ;d

vocal garden
#

Which node tree?

#

This one?

#

I can't send hq screenshots with the whole tree node you know?

shut blaze
vocal garden
#

oh so attack input tree node?

#

Well here's the whole code

shut blaze
#

you can just copy my code and put it here:

#

in between these 2

vocal garden
#

this is a first person camera blueprint, c37

shut blaze
#

yes?

#

you said point player where it's looking at the point of attack

#

oh I'm sorry, here is better

vocal garden
#

ugh...

shut blaze
#

sorry

vocal garden
shut blaze
#

one last change

shut blaze
vocal garden
#

exactly where to put set actor rotation?

shut blaze
vocal garden
#

ok

shut blaze
#

and what exactly is that doing?

vocal garden
#

doing this before

shut blaze
# shut blaze

so why don't you copy my code and put it in between there?

vocal garden
#

because this was made from a tutorial on youtube.

#

I needed it because it was helpful

shut blaze
#

fair enough

vocal garden
#

I just need to figure how to face the enemy when attacking

shut blaze
#

ok, simple

vocal garden
#

how do I do that without changing the code drasticly?

shut blaze
#

ok, 1 moment

vocal garden
#

this isn't helping

shut blaze
#

Why?

vocal garden
#

Im way lost than before

shut blaze
#

alright

#

let's start from begining

vocal garden
#

because all these new nodes are different from mine

shut blaze
# vocal garden

you're setting your player's rotation to an actor that is not yet determined

vocal garden
#

and yet, I don't know what I'm doing at this point. I'm more lost than before

shut blaze
vocal garden
#

Hello guys, in this quick and simple tutorial we are going to learn how to make a simple enemy target lock system in Unreal Engine 5
โ†ช๏ธCheck out awesome Unreal Engine courses: https://bit.ly/GorkaGamesWingfoxZombie

Enemy AI tutorial: https://www.youtube.com/watch?v=xm-7m5Fw1HU
Check out my Steam Game! https://bit.ly/3rVlXU1
Follow me on Twi...

โ–ถ Play video
#

or just try to follow this guy and we'll be in the same page

#

I'll come back later

shut blaze
vocal garden
#

Trace what? How do I trace?

shut blaze
#

trace is just a line, checking something you hit

#

can you give you information about what it hit

vocal garden
#

I donโ€™t have a trace line in the node. Do I just โ€œadd itโ€?

shut blaze
# vocal garden

here, middle mouse button gives you a trace from what I've seen in your code, but you never did the trace (on an actor) so the refference is not valid, so you get error and the END location is set to 0 that is why your player in looking in one direction

vocal garden
#

C37. I wanna say is thank you for helping me, but this isnโ€™t working out.

shut blaze
# shut blaze

if you copy this code, and put it in between the if statement and the set boolean node, YOU'RE DONE

vocal garden
#

The nodes are too different and too vague of an answer to fix my nodes

#

Like I have 2 different tree nodes that works together and you just showed me to do it with ONE tree node.

#

Like do I disconnect one of my nodes and put it on the other tree node?

#

You gave me answers but all it did was make me ask questions.

shut blaze
#

ask them

vocal garden
#

Thank you C37, but I think this isnโ€™t working out.

shut blaze
#

alright

#

I understand

vocal garden
#

Back to square one, shit.

#

no hard feelings k, c37?

versed oasis
#

Im trying to use the timeline as a scale between 0 to 1. Depending on how fast the player is, i want said timeline to decide how much of a percentage of the head bob its gonna be using. What am i doing wrong here? Its working to a degree but it clearly doesnt 100% the headbob at max speed

shut blaze
#

now when you attack, and hit someone (that has collisions set to pawn) you focus on them

#

sorry again for causing havoc in your brain, if you feel overwhelmed, you can restart and take a break anytime

kind swift
#

Hi, I have this guy who starts on the roof. In my last test level, he would move to a window based on where the player was looking, and would step up over the roof to do it. He still seems to do that with the two story version, but my addition of an extra nav proxy isn't being used. He never gets up to the second floor windows. Does this come down to something I am missing with the navmesh, or it is gonna be in his BP logic?

lunar sleet
maiden wadi
kind swift
#

Can you control the angle of that arc? I thought they were purely an indicator of which ones are connected.

#

like as long as they light up green when you place em on the navmesh they seemed to work before

vocal garden
vocal garden
#

hmm

#

nope, she doesn't face the enemy when she attacks

shut blaze
shut blaze
#

Bare minimun of debugging:
Is asking why it doesn't work
For example:
When Key '1' pressed, print Hit Target, to see if you actually have a reference to someone.

#

It's a fairly simple and short tutorial, you should rewatch it to see what you probably missed

gentle urchin
#

Just adding prints along the way, and debug objects at locations etc, helps 95% of the time

#

If not more

ember vale
#

heyy guys, someone know what is wrong and why i can't load my player data when enter again in my saved game?

#

i have a system with checkpoint save

#

and this is inside game mode connected to Event OnPostLogin

#

i tried with player id, i tried with player name but nothing changed
it runs on Find node False
my checkpoint successfully saves player location and work fine to respawn it on last checkpoint, but with cannot save player data and load it from ST_PlayerData

steady night
#

what are thje red tiles under my npcs ? ive set dynamic nav meshing but they dont move along with the bรฅpcs

crimson briar
# ember vale i tried with player id, i tried with player name but nothing changed it runs on ...

You need to determine where the point of failure is first.

  1. It is a good idea to clear the saved states when testing the savegame system. Saves are inside YourProject/Saved/SaveGames or smth like that.
  2. Add prints to see exactly where the code is failing - is it when placing data into the save game? Is it failing to save? Is it failing to load? Is the data in the loaded file? Is the data properly passed to the player? Is the data properly applied? Is the player name different between sessions?
ember vale
#

but the file inide Saved Games folder is not readable, so i cannot see what is inside

#

i can't understand why with a simple variable inside BP_Savegame all works fine, for example for last checkpoint location and my car HP works fine, but variables inside Structure cannot be loaded

#

or maybe saved too

#

can you check please my foreach loop node, is that correct what i made? do i need to use get player id or player name?

crimson briar
#

I don't know exactly, this is why I'm telling you to debug with prints. Print what names you are saving. Print what names you are loading. Print what names you get from the player

#

Btw in the top screenshot you are saving the same save twice. It shouldn't influence the data inside, but it is unnecessary to save twice in the same execution chain

#

Since the second sequence pin has a condition, move the save node to a new, third sequence pin

ember vale
#

I added a print string right now before Add node, and it gives me all player data, so all is ok with cast to third person character๐Ÿค”

ember vale
crimson briar
#

Since you want to possibly modify the save after the loop too (in the second pin of the sequence), saving already on completed is not needed. Save only after everything was modified

ember vale
#

something like this?

crimson briar
#

Yup

#

But as I said, it was probably unrelated to the problem. Just an unnecessary double save

ember vale
#

okay

#

what about player id?

#

because he cannot find any player data

#

from second screenshot after Find node, it goes to False

kind estuary
ember vale
#

@crimson briar if i add a print string with that get player id, every time i run the game the id is different, i can't understand why

#

i tried to run game as standalone, but nothing changed

crimson briar
#

Then you know what to look into. I'm not sure how to handle players reconnecting and getting their individual data, I didn't do saving in MP yet. Maybe ask on #multiplayer how it is usually handled

timber onyx
#

(forwarding to the associated topic)

ember vale
versed oasis
#

im using a Camera shake with wave oscillator. When im trying to control the entire camera shake effect through the maths based on the character's speed, it only seems to be affecting how big the camera bob strength effect is (0-600 speed translates to 0% to 100% effectiveness of said camera shake).

However the frequency is completely unnafected. Any way for me to fix that?

dusky cobalt
astral summit
#

Guys, if I have a blueprint with many branches, how can I organize it to be easier to read and have fewer branches?

dusky cobalt
# kind estuary I dont know exactly where to post this. can anyone tell me if this is worth it:...

i think you are overthinking things and trying to blend 2 systems that are hard to do without some custom tools, it is for sure possible in Unreal because you can do anything in Unreal, but it requires to think out of the box and create some crazy custom tools (basically engine in engine)
also diablo 2 is full of 2d sprites, even the characters looks 3d they are actually sprites, there is no 3D models

also the tilesets you are using, if you want them isometric, then they are already isometric by looking at them from topdown, you do not set extra Ortographic Camera on top of already isometric tiles, so placing 3d actor is gonna be impossible

you could make use normal tile sets then (not isometric), then change camera, and treat your Tilemap almost like Landscape, but drawing tiles so they look good under angle probably requires some gymnastics in how you draw them

if you want 3D character, then you need everything else to be 3D and just set Ortographic Camera to look at it
again also what do you mean will this tank performance, do you mean 500 characters, do you mean 1? it depends.. 1 character and 2d sprite won't tank performance but Sprites itself and the whole 2D space is not the best performance pipeline anyway, you can just use planes (so you can make Instanced Meshes) with materials and grid of UVs that you set based on what you want to show, so you have 1 material with 5 characters and you just set for each character to use different UV from that one material, it reduces draw calls and improves performance (both because of material and instanced static meshes)

and also because you cannot find a isometric game that has 3d characters with 2d tiles should already tell you something

dusky cobalt
astral summit
dusky cobalt
#

show the actual problem

gentle urchin
#

PaperZD is a neat plugin for sprite chars

#

2.5D is also somewhat popular as an alternative ๐Ÿ˜„ Octopath ftw

dusky cobalt
#

but to simply the anserw, I don't think you can fit 3d character on isometric tiles, it needs to be sprite, baked/rendered as you were looking at it with isometric view and then imported to the game

#

and then use PaperZD to setup animations and so on

dusky cobalt
gentle urchin
#

True that!

jaunty solstice
#

What nodes would I need to map between 2 different float ranges?

I am getting the position value on a spline to move a vehicle blueprint.
I need some type of math nodes to map this position to rotation values so the wheels steer the vehicle as it rounds a curve.
Something like .4 to .5 maps to 0 to 45 degrees.

gentle urchin
#

MapRange

#

You can use the clamped one if you want

jaunty solstice
#

Thanks

gentle urchin
#

you might need two points on the spline to make it look good ๐Ÿ™‚

#

(CenterVector - FrontVector).Normalize DOT Car.Rotation.FromXVector()

kind estuary
#

thats what i thought

#

its quite impossible

#

one thing that can be done, but it is quite painful to do

#

is to tilT the camera 45ยบ, split the isometric buildings into cells, orient the building cells to the camera, so now you have an isometric building in an isometric 3d world

#

then you had to do some gymnastics to set the building cells at different offsets from the camera

#

so it doesnt clip the floor and doesnt clip the character

#

although this would work, its a ton of work

#

do you see what im trying to say here? @dusky cobalt

gentle urchin
#

Keep in minds its all about what it appears to be

#

nobody cares what it actually is

#

"oh you cheater, that's a 3d object with a flat texture, how dare you! "

dusky cobalt
#

yes, I can imagine exactly, this is the 2nd nightmare approach, because it's like the building sprites take 5x5, but the foundation of it is 2x2 let's say and it just fks up with your brain and I think making levels with that and fighting your brain and so on it's gonna be distaster, because you would see that you place character on the ROOF of building, but it's not really roof and so on..

#

and placing collision boxes so player cannot enter the tiles that are now sprites of roof, no just no xD

gentle urchin
#

xD

kind estuary
#

because if you think about it, the cool thing about unreal, is the the how easy it does the 3d. so when you make an 2d game, then you are better off going for gadaeux engine ๐Ÿฅ–๐Ÿท, and the worst part about 2d isometric games, is the animations in gazillian directions, and still janky

#

so maybe the best of both worlds, would be this

kind estuary
#

though i really like these challenges, i live for these challenges

dusky cobalt
#

Hmm, this is the compromise you need to be willing to take. These are easier when you have teams and people that can focus just on these details.

Did you hear about something like design by constraints? if you are solo dev and you are trying to make a game, you should really know what are things you can do and what you can't and then adjust game you are making to that, otherwise you might have hard time ๐Ÿ˜„

eager thicket
kind estuary
# eager thicket Resident Evil 1 remake uses pre-rendered 2d backgrounds

People have asked in my past video how this stuff works. Here's how you do it in Unreal. The goal of this video was to explain the main material and the core of the system works.

I will make a separate video how to export the meshes and cameras and sync them up and explain a bit on the blueprints I created.

Project repository (sorry for the de...

โ–ถ Play video
#

a technique like this

#

this is so cool

#

though its a ton of work

eager thicket
#

there's also Final Fantasy 7 (original) that has isometric sections with 2d backgrounds and 3d models

kind estuary
#

though you cant really interact with those chairs

#

you cant do anything

#

unless you make the interactables actual 3d

eager thicket
kind estuary
eager thicket
#

if you still want the chairs to be 2d, then you'll need some kind of pre-rendered animation which seems pretty hard

eager thicket
#

if you want 3d interactable models with 2d backgrounds, i suspect you will have to accept some amount of disconnect unless you are just amazing at art

kind estuary
#

idk

gentle urchin
#

interactable objects clearly wasnt part of the pre render (in most cases atleast)

frosty heron
#

The memories ๐Ÿฅน

last peak
lofty rapids
shut blaze
#

Don't ask me

lofty rapids
#

lol

shut blaze
#

Kek

lofty rapids
#

i chose to target the center between the player and the enemy

#

personally i go with a seperate camera actor that has any object as its target

#

and interpolates between locations

#

so you literally just set the target object and it looks at it

shut blaze
#

Like

#

A real real beginner

#

Just wants something simple

lofty rapids
#

oh i'm not saying its simple, i'm saying how i built it to be simple

#

well thats really the ideal situation and its not that bad to create, but ya i see they probably just want the tutorial to work

#

i'm not sure why you need a line trace

#

for just rotating the camera

shut blaze
lofty rapids
#

you need the target somehow

shut blaze
#

Tru

lofty rapids
#

but the turning of the camera is a lookat once you pull it from the character

shut blaze
#

Alr enough talk about somebody's else's problem ๐Ÿฅฒ

mental trellis
#

Seems legit.

shut blaze
#

||Slate is not evil ๐Ÿ‘ป ๐Ÿ™‚โ€โ†”๏ธ||

mental trellis
#

... Sometimes.

prime stump
vocal garden
#

and then went back to moving freely

lofty rapids
vocal garden
lofty rapids
vocal garden
#

yes

lofty rapids
#

i think what your probably fighting with is control rotation

#

its easier to make a seperate camera if you want this kind of stuff

#

what you can do is make a seperate actor with a camera

vocal garden
#

sounds like I have to go back to ground zero

lofty rapids
#

well you don't have to

#

ig you can work with what you have, but what exaclty isn't working ?

lofty rapids
vocal garden
#

yes

#

I'm using it