#blueprint

1 messages ยท Page 149 of 1

tepid raft
#

question how would i make it so i can get a ai to patrol, chase, and go through doors would anyone have a yt tutorial by chacne

primal lichen
#

@dark drum At the start i do a Get All Actors of Class. On the first start all 3 are counted in my UI. After restart it just says 0

teal tendon
#

Hey can anybody help me with this, I am using global time dilation to slow down the world and custom time dilation to change a certain object time back to normal but the the thing is it is not affecting the material the object is using and it is moving with global time I tried switching material when I am slowing the world and setting the object time to normal but it is a bit jerky and is obvious in the scene that the material is being changed these are the screen shots https://discordapp.com/channels/187217643009212416/221798862938046464/1232959129342050334

primal lichen
#

@dark drum here is a gif so you see what i mean

young meteor
#

Hey

If I want some different logic when a player is holding shift how do I go about this?
I'm guessing this "Is Left Shift Down" node, but what should I input into it?

gentle urchin
#

you'd probably just create a new variable,

#

a bool

#

"bShiftDown"

primal lichen
#

@young meteor Variable or there is a event blueprint for pressing a certain button also for shift

young meteor
#

Without tick on bottom ofc.

tepid raft
#

im trying to make it so it can move thru doors im unsure how

dark drum
# young meteor So like this instead?

This would work but depending on the end goal, using enhanced inputs might be a better option as they support trigger keys. Keys that need to also be pressed to actually trigger the input action.

dark drum
# tepid raft im trying to make it so it can move thru doors im unsure how

Look at Nav Link Proxies. Getting AI to move off the nav mesh can be a little tricky at times. The Nav Link tells the nav mesh that if the AI gets to point A, it can walk in a straight line to get to point B. This allows it to leave the nav mesh.

Unless you're using a dynamic nav mesh that updates, chances are there wont be any nav mesh where the door would be when closed. This is where the nav link helps.

You might however need to spawn the nav link in when the door is open and destroy it when it's closed.

tepid raft
#

Thank you ima look in to it more so i can hopefully make a good ai for my game

dark drum
tepid raft
#

how my door works is when a object is in its box colider the door opens slowly

#

was the only door i could code that actualy worked lol

#

idk why every other time i try make another door instead of opeing correctly it just doesnt \

young meteor
#

Any reason why I don't see all my interfaces here?
I'm trying to add a specific interface (starts with BPI like I searched for)

dark drum
young meteor
dark drum
gentle urchin
#

Would be listed under inherited ifnso

#

Which has nothing ๐Ÿ˜…

young meteor
#

Well I guess I don't even need the interface since I just need to call a function in another BP which has the interface implemented.
Seem to work.

Still strange though.

#

I'm an idiot. Forget what I said. Big blunder on my part.

#

Already had the interface implemented. Only looked at inherited interfaces. Did not think to click the arrow and check actually implemented ones. My apologies.

#

That is of course why it does not show up when searching.

gentle urchin
#

Lol ๐Ÿ˜‚

#

Happens

obtuse mulch
#

How can i fill the entire screen with small images without them overlapping? like dismantled puzzle pieces?

gentle urchin
#

Spread evenly , with some leeway for randomization, and rotate/offset acvordingly ?

#

Start uniform then go from there

craggy lake
#

I have an event tick make rotator into a add local rotation. I want to be able to scrub through the sequencer and it show the rotation. Is that possible?

#

(sorry discord not on this pc)

#

Currently with PIE it just rotates irrelevant to the sequencer (which makes sense)

maiden wadi
#

If you need the sequencer to control the rotation, the sequencer needs to manage the rotation.

gentle urchin
#

Logical as only logic can do

craggy lake
#

I can change the variable of course in the sequencer, it is driving transforms but I can't see the results as I scrub (since I guess it's attached to ticks) so how can I attach it to the sequencer time

maiden wadi
#

The thing is. You're telling this thing to rotate by a rate each frame. The only thing the sequencer can do is tell it to slow down or speed up with that rate.

If you want the sequencer to scrub the rotation, it either has to manage this actor's rotation during this sequence by disabling the normal rotation and managing it in the sequencer as it's playing.

craggy lake
maiden wadi
#

Delta seconds is a measurement of the time between frames. So not really.

#

If you wanted to go that way, what you can do is use the actual world time at the moment and math that out.

craggy lake
#

Because actually when I press play, it stops rotating entirely

lofty rapids
#

hopefully you got the information you needed about the random not working correctly, i was confused it was because of pure node

cerulean mango
#

Hi everyone, I would like to be able to launch a projectile by pressing a key once and if I press it again while it is still active I will teleport to it but if I don't press it again the cooldown will still start, i actually force the player to tp at the end of the projectile but i would like to give the choice

lofty rapids
#

a boolean most likely, that you turn on when you fire it, and turn off at the end, so if the booleans on and you press a key it teleports to it ?

cerulean mango
#

i'm actually doing all the logic in the projectile, so i would need to get a reference of the projectile in the character to do it ? ( sorry i'm still a beginner with the engine)

lofty rapids
lofty rapids
#

but i mean multiples might be a problem

#

but in theory there isn't a multiple, because you teleport if you fired one right ?

cerulean mango
#

Oh yes then i get the reference of the player in the projectile to know the state of the boolean

#

Yup only one

#

I will try this ! Thanks for your help !

placid cove
#

guys ho can i connect them to make the boolean switch only from "none" to "for duration"?

placid cove
strange gyro
#

Hi everybody๐Ÿ‘‹
I just updated my project from 5.2 to 5.4. I have a Spline tool that simple samples meshes along a spline. However in 5.4 if i move a spline point the construction script is not triggered anymore. In 5.2 the construction script was triggered as soon as a component of the actor was moved. Does somebody know why this is not working anymore?

gentle urchin
#

Checked settings?

strange gyro
#

Yes. Comparing them right now. Found nothing yet.

gentle urchin
#

Actor has run constr on drag atleast

strange gyro
#

Where can I find that?

gentle urchin
#

In actor class defaults iirc

#

Or class settings perhaps

strange gyro
#

Yes it is on

#

Just mad an actor with only a spline in 5.2 and 5.4, in the former the CS triggers in the latter it don't

gentle urchin
#

I vaguely recall they changed it

strange gyro
gentle urchin
#

Right yes

daring merlin
strange gyro
#

Indeed it breaks my tools

daring merlin
last ingot
#

Greetings, just found this Discord. I would like to hear from anyone their idea of how would I implement a certain movement. Would love to hear their approach or algorithm and perhaps brainstorm the best option.

So I am trying to implement movement akin to Super Mario 64/Odyssey, and I'm trying to figure out how would I do the skidding/braking movement when releasing the move stick when reaching a certain velocity. I was able to make the skidding part, but I'm trying to figure out the turnaround if the player flicked the stick towards the opposite direction from where they're currently facing when isSkidding is 1.

Thank you and much appreciated.

#

For context, this is how I implemented the first part of it

#

Skidding Event. Ignore the Play Length determining the delay and ignore the disable and enable input.

gentle urchin
#

Its not nearly as intuitive

strange gyro
gentle urchin
#

Degrading is always an option, for a while

toxic copper
#

Hi folks, sorry if wrong channel but.. if i want a collision to block pawns but ignore my character, would i need to create a custom object type for my character?

#

or is there another way

gentle urchin
#

Override collision responses and type?

toxic copper
#

sorry, do you mean setting to custom and manually selecting these responses based on type?

maiden wadi
toxic copper
#

if so, if i want a behaviour/response unique to my character, wouldnt i need to have my character as its own object type? or are you saying there's a node or so that allows me to set a target (my character) and override collision responses?

gentle urchin
#

Only if you trace by object type i guess

visual crest
#

how would I go about getting this to actually work?

gentle urchin
#

Loop after timeline ๐Ÿ™‚

#

Not before

last ingot
#

I've already looked into the CMC's settings regarding braking

gentle urchin
#

The rest just sounds like logic you'd implement

visual crest
gentle urchin
#

All within one frame

visual crest
#

o I see I am calling the loop ever update?

gentle urchin
#

Yepp

visual crest
#

ok

dreamy yacht
#

Hey, I have water material from Water Planes UE4 assets. I am tweaking the material, but I cannot get rid of this sharp transition, that divides a part of world, that is above water plane with that, what is underwater

#

any idea ?

#

This is directly associated with camera

toxic copper
#

would y'all say set life span is the same as delay + destroy actor?

dreamy yacht
#

Some part of the material

silent drift
#

I feel like I am missing something, but there must be a way to do a switch for damage types right? And not what i have done in the screen shot or is that the only way?

faint pasture
maiden wadi
silent drift
#

Hmm, okay, maybe I am using this wrong. Because I'm checking which damage type the enemy was hit by and then doing a multiplier based on the weakness of the enemy.

#

But maybe I should just instead compare the actor rather than the damage type

faint pasture
silent drift
#

I want it to be enemy specific

#

So enemy A is weak against fire, Enemy two against ice

#

And then I do a multiplier based on that against the amount of damage they should get

maiden wadi
#

You need a data asset for your enemies that has a map of damage type to multipliers.

#

This is why I love GAS. You just throw resists on as GEs. And you apply damage with tag types that check resists.

silent drift
#

Hmm, okay! Thanks for the answer, I will do some more reading about this!

faint pasture
#

yeah idk why damage type is a class and not just an enum or tag

maiden wadi
#

It's fine being a class. It's the old damage type system before DAs. They use it like an asset because you set defaults in the class. When you apply damage it'll pass back the CDO to pull data from.

#

Not the best, but ๐Ÿคทโ€โ™‚๏ธ

last ingot
# faint pasture That should be animation only probably

Correct me if I'm wrong, but what I'll need to do is have an animation that in full has the skid/brake followed by a turnaround, and have it that if the player did not flick towards the opposite direction, it plays like half the play length, but if the player did flick it plays it fully which will then include the turnaround part. Correct?

faint pasture
last ingot
faint pasture
#

you could have the stick flick drive a very strong acceleration which is noticed by the anim bp which does the correct animation stuff

last ingot
#

Or refer me to any doc

faint pasture
#

ShouldTransitionIntoSkidPose = DotProduct(Velocity, Acceleration) < SomeNumber

silent drift
#

Yeah. Since I'm not using anything from the damage type I actually don't know why I'm not just using a ENUM I can set inside of each projectile... I'll switch to thay.

dark drum
maiden wadi
#

Yep. It was an okay system. Works. But GAS is better. ๐Ÿ˜„

junior quest
#

i dont know where I went wrong

#

yesterday my actors were being destroyed on pickup

#

today they arent

#

I dont know why

#

oh , I was messing with the inventory and forgot to reconnect the execution and return after updating the inventory

white oxide
#

So I'm able to populate a chart object as desired however what node would I need to hide it from the viewport when the tab key is released?

carmine drum
#

do you guys have any idea why this would fail ?

lofty rapids
carmine drum
carmine drum
#

its such a simple code and yet doesnt fucking work

lofty rapids
#

then the hit actor is not that type of class i'm guessing

carmine drum
#

where do i check for that

lofty rapids
carmine drum
carmine drum
carmine drum
#

i even looked at a tutorial for this because i thought my method didnt work, did EXACTLY what the guy did, still doesnt work

faint pasture
#

that only returns ONE hit

#

if the first thing hit isn't a handle then you're SOL

junior quest
carmine drum
faint pasture
#

that trace only returns one hit

#

if you hit anything else first, you won't get the handle

carmine drum
#

any way to solve it ?

faint pasture
#

multi sphere trace

#

or have the floor not block whatever channel you're tracing on

carmine drum
#

gocha thanks

ionic quiver
#

I'm trying to setup something like large fans, where the closer you get to the slower you move towards them. As well as the ability to have multiple fans on at the same time to kind of shove the player around or pull the player in. I'm struggling to find the node or method to accomplish this. Anyone mind pointing me in the right direction?

ionic quiver
#

Yeah

faint pasture
#

Character can respond to AddForce

carmine drum
#

is there any way to break hit result?

faint pasture
#

Fan.Tick -> get overlapping actors -> cast them to Character, add force to them

ionic quiver
faint pasture
faint pasture
#

show your code

ionic quiver
#

One sec, I'll recreate it for testing

faint pasture
#

The fact that Character responds to force is just a convenience, it's not actually simulating physics so I'm not sure if it responds to the same size numbers but the units of force in Unreal are tiny

carmine drum
#

how would i tell the cast which character is hitting from the loop

ionic quiver
#

Yeah I tried 10k, doesn't do anything

faint pasture
faint pasture
#

break that

ionic quiver
#

.... it works at a million. What the hell.

#

What is the scale of these units? ๐Ÿ˜„

faint pasture
#

centinewton

carmine drum
faint pasture
#

and you're fighting the CMC trying not to move

gentle urchin
#

Squared ? ๐Ÿ˜†

#

Ah

#

Centinewton

ionic quiver
#

Ooooh. I see, it has the same issue as launch character. It's working against friction and whatnot.

#

So if I jump I fly super fast.

carmine drum
#

Thank you Adriel such a quick simple solution holy fuck i was so angry thanks

ionic quiver
#

Is there any way to make the force ignore friction and anything else out of curiosity?

#

I could do a check if the character is "falling" and have different values

faint pasture
#

It depends on if you want them to feel like they're on ice or what

#

welcome to kinematic movement

ionic quiver
#

Yeah, I want the friction, just the foce specifically I'd want to ignore it. But yeah, that is probably a custom thing.

faint pasture
#

basically the default settings on CMC are like you have the stickiest shoes ever on

inland walrus
#

Is this an engine glitch and I need to refresh?

I can't see whats wrong with it and my others using this code works

ionic quiver
#

Either way, this is awesome. I tried so many things and none worked. Turns out I just had to REALLY increase the value lol

#

Thanks for the help!

faint pasture
#

does it yeet you

ionic quiver
#

Yeah

faint pasture
#

the fan will want to pick a different force based on if the character is in air or not

#

since their shoes are so sticky

ionic quiver
#

Ground friction affects it, but that just means I can adjust it based if I'm in the air probably

faint pasture
#

I'd tune your friction settings in air and on ground to the way you want them, then tune the fan around that

inland walrus
ionic quiver
#

There we go. If in the air divide by 8 (Ground friction strength). Or it'll be visa versa (multiplied by 8 when on ground).

#

Works really well

faint pasture
ionic quiver
#

Yup ๐Ÿ™‚

faint pasture
#

you'll also want some falloff probably

ionic quiver
#

Yeah, that I can do based on distance from character to fan

#

And a lerp

faint pasture
#

There might be add acceleration too, that way it would ignore mass

#

depends on what you want to do. I'd use map range. Basically distance goes in, strength comes out, gets multiplied based on IsFalling

#

ForceVector = Fan.Forward * Select * MapRangeClamped(Distance)

cursive wigeon
#

anyone know how to do portals in unreal that are performant? I have a setup that is using scene capture and render target and each portal is taking 12ms to render.

dark drum
toxic copper
#

sorry for such a basic question but, is add movement input only for entities with a movement component? (ie characters)

#

the description on the node is mentioning that for pawns it needs to be tied to a tick event, which it is.. though im not sure where id set movement speed, for example. in either case, its not doing anything for now, and thinking i need to switch to "move component" and just use the root component

supple dome
white thicket
#

Hello, is streaming landscapes with on box overlap performance efficient? I am making for mobile and we cannot use world partition like stuff on the device

supple dome
white thicket
#

which would be more good?

toxic copper
#

guessing move component to might be easier to use in this situation

abstract pine
#

hi, I am trying to bind my health bar to my health variable and need it to be reflect in the progress bar, but the function of doing so being changed from "Get Percent" to "Get Fill Color and Opacity " and nothing working any more. It used to be "Get Percent ", how do I fix this ? I just trying to bind my "Progress Bar" to some variable

#

Here is how it used to look like:

#

here is the new one:

#

it's only 6 months and the api already changed. What do you guys usually do when following tutorial, just install the same version with the instructor or get the newest version ?

gentle urchin
#

they're two different ones

#

the api is the same in this regard ,

#

cant tell exactly what has happened in your case but

#

(also, general advice to avoid using the bindings)

maiden wadi
#

Bound the wrong property.

abstract pine
#

oh, the get percent thingy still there.

#

thank you.

gentle urchin
#

Kinda sounds like you're doing something you shouldnt ?

#

with Interfaces, and a list of referencens

#

It dependsโ„ข๏ธ

#

what exactly are you trying to do ? What's the interface function for ?

#

Kinda sounds like you'd want a Component, as you have some state related to that functionality

#

and not interface..

#

They're compositional bits of code and logic that can be attatched to any actor

ionic quiver
abstract pine
#

what is the purpose of "Promote to Variable " ? Why do we usually promote blueprint to a variable, is it some way of create class instance and to store infomation ?

#

can't we like call "Set Timer by Event" directly instead of calling it though the promoted variable

#

oh, so we can get the ref latter, i guess.

flat coral
#

Yeah it's to avoid having to cast again later

#

Casts can fail, and IIRC they're oddly expensive computationally, so if you're gonna need a reference to that thing again it's better to keep it

flat coral
# abstract pine

Actually scratch everything I said, I have a better explanation having looked at this specific code lol

#

The answer is, you're GOING to need that ref again so you know what character to heal.

pallid nest
#

hey guys I am trying to make a blueprint animation to trigger randomly two animation montages on begin play but my cast is failing, the class of the bp I am trying to cast is a "character" shouldn't I use Get Player Character?

flat coral
#

If this is a single-player game for example, you're getting the player character

pallid nest
#

mmmm but the class is actually character, even if this is not the actual player character (metahuman uses character as class by default) what else can I call ?

flat coral
#

Sure the class it returns is character, but I bet it's not "BP_CrowdCharacter_Dead"

#

Unless for some reason you play as a crowd of zombies in your game ๐Ÿ˜›

maiden wadi
#

Why doesn't the blueprint for the dead crowd thing do this on itself?

flat coral
#

^

pallid nest
#

hahaha kind of, just trying to make a mass ai with random animations so each npc has different animations instead of the crowd having a single one

pallid nest
flat coral
#

I would perhaps dig into why that doesn't work

pallid nest
#

oki many thanks

gentle urchin
#

(another day, another trip to the void ๐Ÿ˜„ )

flat coral
spark steppe
#

only if it's not loaded anyways

#

but that's for everything involving another BP, not a cast specific issue

maiden wadi
flat coral
#

I feel like thats the sort of thing that would be hard to do on purpose, and weirdly easy to do by accident

maiden wadi
#

It's very easy to do. Even without casting. You can follow the youtube path of spamming interfaces everywhere and still easily load too much.

#

Got a datatable with 100 entries of monsters in your game you spawn on different levels? Forgot to softclass them? You still keep them all loaded as long as the spawner is referencing that table.

gentle urchin
#

fun times

#

"why does my loading screen map load every asset there is!?!? It's empty! !"

maiden wadi
#

This is also the reason why maps are largely handled by strings until softrefs came about. ๐Ÿ˜„ Can you imagine someone dumping an array of hard map refs into an array to randomize them? ๐Ÿ˜‚

gentle urchin
#

hahahaha oh lord

#

I'm sure i've seen something similar before

#

games loading full on levels in main menus

#

like... I'm in the main menu... why do i have 14 fps?

#

even if my gfx suck, i should have reasonable fps in the main menu

#

I thiiink this happened on Crysis

maiden wadi
#

Yeah. After learning how loading is handled, seeing the way people throw around linkers is just baffling. But I guess if you don't know, and you have a goal/deadline then fuck it.

gentle urchin
#

"if it works, dont touch it"

maiden wadi
#

Yeah, me and that saying don't get along. ๐Ÿ˜‚

#

Releasing on old gen consoles does things to a person.

gentle urchin
#

everything is old gen by the time we get a release window

#

ps7 here we come

wise ravine
#

Hey can anyone help me with a windows issue? Idk where else to ask bc my pc is unresponsive

maiden wadi
#

Did you turn it off and on again?

gentle urchin
#

^

wise ravine
gentle urchin
#

ExecuteConsoleCommend("Reboot t-5s")

wise ravine
#

Iโ€™m sitting at the lock screen because every time I unlock it, everything freezes

#

for whatever reason i could still use discord though

#

This happened in the first place after downloading an AMD driver btw

gentle urchin
#

rollback the driver

wise ravine
gentle urchin
#

gfx driver?

wise ravine
#

yeah

gentle urchin
#

download older version, insntall over existing

#

or uninstall existing before installing new (old)

wise ravine
#

iโ€™m not sure how I would do that without access to any apps though

flat coral
#

Restart in safe mode

wise ravine
#

Iโ€™m at the advanced options screen atm

flat coral
#

Then rollback the driver when you're in safe mode

dusky cobalt
#

Hey guys, I have question. Which blueprint would be the best to create something like Combat Component / Manager for my units so I can kind of put it both on Enemy / Monsters or Units and they will all have the same ''AI"' as well as it should be possible to add maybe box collision for detecting enemy in range etc. ?

north rain
#

Is there a way to get a 3D Widget to appear in a blueprints viewport and not just in the scene?

flat coral
wise ravine
flat coral
#

Yep

dusky cobalt
#

Ohh, so the whole combat should be actually programmed with builded AI behavioral tree and not scripts?

wise ravine
flat coral
#

That said, if you've got pawns moving around, detecting each other, and making decisions, yeah it's probably going to be a lot easier if you familiarize yourself with the AI toolkit

dusky cobalt
#

I wrote the system in the C# before and it wasn't really complicated. I think I could pull it off with blueprints and maybe that's good way to study behavioral tree a bit to check if they can help (i have 0 idea about that in Unreal yet so I'm not sure what I'm talking about).

I'm just wondering if should I put the mechanics in the ''BP_Unit_Parent" or should i go with BP_CombatHandler and make it component that will be attached to the Actors that I need them to have that mechanic. Could you tell me something about my approach?

#

My first problem when I tried to go with Actor Component is that there is no ''view port'' to add ColisionBoxes etc. so I could automatically have reference when working with ranges etc.

flat coral
#

Again the whole thing you're trying to do with collision boxes to detect enemies, I promise there's prior art. The whole AI perception system is for exactly this thing

dusky cobalt
#

On my way to study pined posts then... any good sources you would like to add from yourself where to start with?

last ingot
#

Is there any function where I can check if a value falls within a +- of a value? Like a percentage error?

last ingot
#

Yeah that's it, thanks!

maiden wadi
#

Wtf? Someone exposed PerlinNoise1D to BP, but not 2D and 3D. :/ It's literally a copy paste with 1 character change in three places.

dark drum
turbid bison
#

What could explain that a variable is not replicated, despite being set to repNotify ?

#

set is made by Authority, but in another actor blueprint, that is now the owner

turbid bison
#

mistake

#

sorry

lusty shard
#

Sorry also! wish I knew more about multiplayer!

turbid bison
#

no prob

empty anvil
#

can anyone help me integrate sliding and mantling into my character movement system? (I don't actually need help in-engine just help with the theory)

frank jackal
maiden wadi
#

Apparently your karma in here isn't so great either.

frank jackal
#

apparently not

gentle urchin
dawn gazelle
maiden wadi
turbid bison
#

I fixed the issue. I deleted the actor from the map and replaced it

#

weird

gentle urchin
#

I ended up using a plugin for this at the time..

#

SimpleNoise FastNoise or smth

turbid bison
#

Maybe I touched stuff from this specific instance

#

Replication only happens from server to clients.
Thanks, I have been wondering that too

#

I tend to do almost everything server side

flat coral
#

Someone refresh my memory, what's the right way to do what i'm failing to do here? I can't type the Shot Target as the interface implementation directly because I need some other actor attributes.

olive pasture
#

in my game mode i want to control when the first player is created as i wish to calculate some things beforehand. is this possible somehow with an overrideable function or something ?

maiden wadi
maiden wadi
#

It'll start players as spectator pawns until game is ready.

hexed cloak
#

Is there a way to trigger this with a controller?

toxic copper
#

is using Set Relative Location on Event Tick a terrible idea for a camera//spring arm?

dawn gazelle
#

Though i don't necessarily think this is a great idea.... UI having direct bindings kinda sucks.

dawn gazelle
toxic copper
#

im trying to keep the camera locked to a specific Z value for a 2d platformer (unless they move to specific platforms etc etc), and im not sure if this is the way its meant to be done

toxic copper
hexed cloak
#

Ah it has to have focus

#

Any way to do that without it being focused?

dawn gazelle
#

Like, it's slightly wasteful only if you're not changing the Z value very often, but the set relative location node itself isn't expensive. If you're running a bunch of calculations on tick to get the actual Z value you want on tick, then it may end up being a bit more of a concern, but if you're using a pre-calculated value (you're adjusting a variable to indicate Z needs to be 300 when the player jumps on a platform) and then utilizing that variable then it's next to free.

#

@toxic copper ^

dawn gazelle
hexed cloak
#

Causes so many hiccups if the inventory slot is focusable ugh haha

#

Trying to make my keyboard/mouse inventory setup work with a controller

toxic copper
#

also realized i think ill need set world loc in this case instead of relative

dawn gazelle
maiden wadi
versed sun
#

haha

hexed cloak
#

Hahaha dammit

#

I'm aware of it, just haven't made the jump. Should probably try it out and see. I have A LOT of UserWidgets for my inventory and was slightly worried about it breaking stuffs but I tested earlier today and it didn't seem to break anything too terribly.

maiden wadi
# hexed cloak I'm aware of it, just haven't made the jump. Should probably try it out and see....

The main things you'll have to do are replace buttons with CommonButtonBase class, do some data entry, and set some overrides.

Past that the next step is learning ActivatableWidgets, which are awesome and let you delete every call to SetInputMode in your game so that they can handle it.

CommonUI's hover/click works by faking a mouse. It moves an actual slate user cursor to the middle of the focused widget.

There are also input actions, which are what you're looking for. These require the above mentioned activatable widgets. As you put input actions on your widgets and the game viewport router catches them just before they're sent to the player controller. So you don't need focus for them.

Past that they have some nice widgets like the lazy image and the inputactionwidget.

hexed cloak
maiden wadi
#

No. You still largely use normal UserWidget. You'll need to reparent some major menu widgets to Activatable ones. You never really use the CommonUserWidget unless you have a special case where you want to put in an input action where you don't use the common button. Super rare use for that one.

hexed cloak
#

My inventory 'slots' are all UserWidgets that receive the mouse inputs and whatnot, but as you said it should be able to mimick thoses using CommonUI over the widgets. I will spend some more time playing around with CommonUI and getting stuff moved over.

maiden wadi
#

That will be an easy swap then. Neatly the CommonButtonBase is a userwidget itself. So your slot just becomes a button class probably. You can use the style assets with it. They're okay. But honestly I tend to just make a blank Style asset with all brushes set to no draw and put a single image widget in that I manipulate through shaders and dynamic parameters. Better visuals and much more performant due to slate prepass.

#

Really though. I think mostly what you need to do is make your main inventory widget activatable. And for testing drop a couple buttons into it that have the triggering input actions set. If they're set up they should register when the widget is activated and pressing the associated action key literally presses the button like an OnClick. Good enough for a quick test I think.

hexed cloak
#

I'll give it a go tomorrow for sure, thank you for all the help! Wonderful advice.

faint pasture
#

What's the problem, the camera clipping?

maiden wadi
#

I'm having a derp moment. Do you scale the input of Perlin up or down to zoom in?

#

Intuition says down, but I'm second guessing myself.

faint pasture
#

down I'd guess

#

you're viewing a smaller input window

maiden wadi
#

Yeah. Down. ๐Ÿ˜„ I just wasn't using small enough numbers to see a difference.

radiant talon
#

When im swimming the problem is that when i swim up or down the rotation of the character resets and kinda get the world direction so it just rotates to that. The solution i want is that when he swims up or down it stays the rotation of what the character rotation is.

faint pasture
#

Shouldn't swim up and swim down just add input 0,0,AxisValue?

radiant talon
#

ok so i would probably have to turn on

faint pasture
#

yeah so the problem is that you have orient rotation to movement turned on, and your movement is purely up or down

#

there is no rotation to orient to

#

I'm guessing it works right if you swim up and down while also swimming forward right?

radiant talon
#

yes

faint pasture
#

Yeah that's a really tricky problem

radiant talon
#

but not while idleling

#

yea ik lol

faint pasture
#

yes because what yaw aligns with 0,0,1?

#

all of them

#

or none of them

#

it's undefined

radiant talon
#

yea

faint pasture
#

Try this real quick

radiant talon
#

okay

faint pasture
#

Tick -> project velocity vector to plane 0,0,1 -> if length of that result is < some small number like 10, turn off orient rotation to movement

#

turn it on if it's above that number

#

Tick -> MovementComponent.OrientRotationToMovement = ProjectVectorToPlane(Velocity, (0,0,1)).Length > 10

radiant talon
#

okay so i would need to get the velocity and if the 0,0,1 i turn it off

#

so basically i wouldnt need it on tick just if hes swimming

#

i got it thanks. I will code it right now ill let you know

maiden wadi
#

For a cheaper check you could just dot product velocity to UpVector and then do an InRange check and set the Orient directly from that.

faint pasture
maiden wadi
#

Not really. Not unless you're walking up a wall.

faint pasture
#

Velocity or normalized velocity?

#

normalized velocity would work

#

or check size of CrossProduct(Velocity, Up)

#

you don't care about vertical velocity, you care if horizontal velocity is low

maiden wadi
#

Right

radiant talon
#

the problem with the velocity too is when its value of x by example. if i check its less than 10 it could also be +10 or -10 because of the movement axix so that is an issue

radiant talon
#

yes

maiden wadi
#

So if velocity, dot product with upvector is greater than say 0.95 or lower than -0.95, you're not moving horizontally much.

faint pasture
#

Yes if it's normalized velocity that'll work too

faint pasture
#

or
Tick -> OrientToMovement = AbsoluteValue(DotProduct(Velocity.Normalize, Up)) < 0.9

maiden wadi
#

Oh, the abs is nice. ๐Ÿ˜„ Didn't consider that one, probably cheaper.

faint pasture
#

I'm surprised the CMC doesn't have this functionality built in though

radiant talon
#

Yes i know i was checking and it didnt have it :3

maiden wadi
#

Lol that needs to be an event now. ๐Ÿ˜‚

radiant talon
#

Yupp

#

but the problem is. how do i do it in blueprint? im trying to understand the code here

radiant talon
#

so basically if the velocity is up or down the orient is turned off?

faint pasture
#

Yes, or if horizontal velocity is under 10

#

the cross product one will turn it off if horizontal vel > 10

#

the abs dot product one will turn it off if movement direction is mostly up or down

graceful sage
#

how can I make my chaos wheeled vehicle wheels not usable after I blow it up?

faint pasture
#

You either can or can't, I'd guess can't but YMMV

graceful sage
#

i tried there nobody replies

faint pasture
#

If you have access to changing the wheel radius on the fly then that can do it for you

graceful sage
#

ah true.

faint pasture
#

Then nobody who knows is in there right now probably. What do you have access to at runtime with chaos vehicles?

graceful sage
#

I just figured there was a way to disable them but doesn't seem like it

faint pasture
#

Either shrink the radius to almost nothing or make that wheel have 0 friction or whatever

#

IDK what you have access to at runtime, you'll have to dig around.

#

Chaos Vehicles isn't great IMO

graceful sage
#

what's not great in your opinion?

#

i kinda agree.

faint pasture
#

I only messed with it a bit but it seems both too complicated and not powerful enough

#

It's modular enough to be confusing, but not modular enough to do anything fun with it as far as I can tell

radiant talon
faint pasture
#

or up vector, i think that's a named constant

#

It'll spit out a vector thats at right angles to Up and your velocity, and the vectors length will be based on how much your velocity and up are at right angles

#

when you're going straight up its length will be 0

radiant talon
#

okay so its set the velocity of x and y to 0?

frank jackal
#

started UE literally today and dont know how to fix

faint pasture
silent stag
#

Hey, i can't convert my map for world partition in 5.4 getting these errors. I dont understand what does it mean.

faint pasture
#

the camera might be literally just going through the wall

faint pasture
frank jackal
faint pasture
#

camera selected

quartz lotus
#

I am a little stuck. I have a variable in one blueprint (CardHand) named Card Being Dragged. I want to send it to another blueprint (CardPlayed), so I made a Blueprint Interface (DealCard). I am pretty sure I have everything setup correctly, but the testing print statement I have is never triggered. (I will worry about the object reference later) Can anyone help?

frank jackal
frank jackal
faint pasture
#

your problem is either the camera literally going through the wall or maybe your near clip plane distance

frank jackal
#

how long uhh you talkin bout scale or the probe size

#

i dont speak your language

faint pasture
#

Probe size and the disired length

frank jackal
#

12,0

faint pasture
#

just put it to 0

#

unless you have some super serious reason to have the camera 12cm behind the head

#

12cm is enough to poke out of the capsule I think

#

try making the capsule a bit bigger too, give it like 10 more radius

frank jackal
#

put the probe size to 0 and increased the scale of my capsule 1,0 to 1,2 still the same problem

faint pasture
#

Try the near clip plane then

#

in project settings

#

What is it by default?

frank jackal
#

chill homie, where tf i find near clip plane? i might be blind

frank jackal
quaint fable
#

I'm not sure if this should go in #blueprint or if it should go in #animation . I made a first person camera for a third person character, so that you can see your body when you look down. When Idle, the camera faces forward, but when moving and jumping, the body tilts. I have no idea what's going on here

maiden wadi
#

The animation doesn't run weird like that when played on it's own? And the character's stuff is using control rotation for rotation?

radiant talon
maiden wadi
#

@radiant talon

radiant talon
#

is that it?

maiden wadi
#

It's the other version.

radiant talon
#

okay thanks ill try that

harsh nebula
# quartz lotus I am a little stuck. I have a variable in one blueprint (CardHand) named Card Be...

From those two screenshots, you're not actually triggering anything.

Ideally the receiving BP has the BPI while the sending BP does not require the BPI unless you intend to pass data back. You actually need to call the BPI event in the receiving from the sending BPI. Hopefully this video will explain enough for you.
https://www.youtube.com/watch?v=P29oqoJKYrc

Using new way of transferring data between blueprints using the Blueprint Interface. This method relies on Get Actor of Class and seems to work more reliably.

โ–ถ Play video
quaint fable
#

@maiden wadi the animation runs like that regardless.

quartz lotus
dawn gazelle
harsh nebula
# quartz lotus I watched the video and something still isn't right. If I take the BPI out of th...

Is the "Event call cards in hand..." the receiving or sending? You cannot put a BPI event as the sending. You need to call the BPI function using another event in your blueprint such as a keypress. Go back to the video and look at around 4:30 in the video and try putting a key press in and see if you can at least trigger your event. Then you can look at a way of replacing the keypress with your own event.

quartz lotus
# harsh nebula Is the "Event call cards in hand..." the receiving or sending? You cannot put a ...

That Event is triggered from a different blueprint. I have a CardHUD blueprint that does successfully trigger the event. (I am not sure if it is because CardHands is in a Canavas in CardHUD) If I implement the GetData BPI (This is the new one I created to pass data from CardHands to CardPlay) into CardHands [Sender] and CardPlay [Receiver], then this works and I see both print statements. The image attached is of my CardHands BP.

quartz lotus
dawn gazelle
#

Oh sorry I read it wrong.

quartz lotus
#

All good lol, but if you know something I don't I am all ears. Just trying to learn so I can make a card game lol

dawn gazelle
#

Interfaces still require a reference to something in order to call that interface on that particular thing.
So in order for you to call "Call Cards in Hand to Get Played Card Data" you'd need a reference to the thing that implements the interface and contains "Card Being Dragged" so that you can call the interface on it. If you're wanting to pass that data to something else even through another interface, you still need a reference to the thing that you want handling that data.

Interfaces are a means of having unrelated classes have a common way of communicating to them without requiring you to know specifically about any of their classes, so no casting would be required for example, but its also at the cost of not being able to easily follow along with the logic since different things can implement the interface in their own ways. You still require a reference of some kind to the object that implements the interface so you can call to it asking it to execute that interface.

harsh nebula
quartz lotus
harsh nebula
quartz lotus
dawn gazelle
# quartz lotus So I cannot get the actor class because I am trying to send this data from a Wid...

Here's an example.... I have a class called "BP_InterfaceImplementer" that implements my test interface and it is the only type of actor that is implementing this interface.
On my BP_SpaceCharacter it's calling to the the interface, however, it's only called when I attempt to overlap with something, and more importantly, it's target is the other actor that I am overlapping. If the "Other Actor" isn't a BP_InterfaceImplementer, then nothing will happen, but if it is, then it should print "Hello".

What is important here is that the "Target" of the interface call still needs to be a reference to the thing implementing the interface.

If you're using something like "Get widgets of class" or anything like that, it completely eliminates the purpose of using an interface as you're likely going to be getting a direct reference to the class anyway which mean you could've just used a function or event calls that are present on the widget.

maiden wadi
#

Not much use for an interface here. Card logic should be in an actor or component somewhere. Widgets should only be used for input and display.

quartz lotus
maiden wadi
#

Basic drag drop operations can manage that for you for the input.

quartz lotus
maiden wadi
#

This is a really complex topic because you never store critical handling logic in widgets. Widgets should always be considered temporary. Like a particle, or a sound. Cards should be stored in something relating to a player/ai like playerstate or a playerstate component. Few different ways to handle how to play cards. But the player's hand of cards should exist as data on the PlayerState/PlayerController, or a component on one of these. The widgets would get that data and display widgets for that hand. When you drag a card out and drop it on another widget or the world to play it it passes that card's data or a pointer to the object representing a card to be used.

#

I'm vaguely under the impression this is similar to hearthstone?

quartz lotus
#

similar in terms of UI. I want it to be basic 2D ish, but I am using a standard 52 Deck of Cards

frosty heron
#

If you are still in a stage of not being able to pass data around, avoid multiplayer

maiden wadi
#

Going from that I'd say the same mostly. Cards on the PlayerState.

Some sort of table actor that allows drops with an associated canvas put on screen under most other UI. The reason for this is because the canvas widget can be dropped on when not dropping on anything else. EG you pull a card out but then decide to put it back in your deck. Your canvas widget can override mouse move and drop. Mouse move can send data to the table to initiate highlights or whatever else while moving. Dropped can handle sending the data to the table relative to where the player dropped. The canvas CAN also be the visuals, but it might be worth making the table 3D and doing line traces on drag move and dropped if you want more complex visuals.

Then a second widget with the player's hand on top of that previous canvas that houses the player's card list each with the ability to be dragged. This widget pulls it's data from the playerstate to instantiate the cards to display and holds enough data to pass to the table for use.

After that you handle how cards are played via the table actor. Main reason for this is because this thing needs to hold critical gameplay state which again you never leave on widgets. So you drop a card, linetrace or whatever the table, pass the card dropped data and location to the table. Table rejects or plays the card as it needs.

Cards can be UObjects or Structs. But I'd recommend UObjects personally. They should only house data about the card type. Card type should be stored in static data in a datatable or a set of data assets. So a struct or object housing either a datatablerowhandle or a data asset pointer. You have an array of these structs or objects on the player state. This data is what you pass the table on drop.

Now you have a set of base classes that can make any type of card game imaginable. Can play Hearthstone, Canasta, Poker, Blackjack etc all in the same game with the right setup.

frosty heron
#

@maiden wadi I'm assuming they have to be constructed if using uobject?

#

Trying to figure out how people use uobject for inventories

maiden wadi
#

Yeah

frosty heron
#

I only use struct soo far so I'm still wrapping my head around when people use uobject for inventories

maiden wadi
#

With the inventory as the outer

frosty heron
#

Ahh

#

So like initialise them at start of the game for example

#

And pull the data from DA or Data table?

dawn gazelle
#

If I were to use Data Assets (Which I would!) I'd just leave a reference to the Data Asset being used for the item or card or whatever it is. If you made your DA nicely, then when necessary you can call functions on the Data Asset to retrieve whatever data you want from it.

maiden wadi
#

No data to pull really. EG my inventory items are a UObject with a DataAsset pointer, and a list of mutable data. MaxStackSize goes on the data asset, current stack size goes on the object in an array of Tag/Float. Max durability goes on the data asset, current goes on the object.

frosty heron
#

๐Ÿค” I gotta read that over and over again. Thanks guys, will take a look after work

#

You get a ref to the instance. That's what object reference is

quartz lotus
#

I am also going to have to read through this a little and maybe watch some videos. I am getting the idea I am implementing this incorrectly

frosty heron
#

Get the index of the instance you want from the array

#

If u give a case someone may help you

#

I gotta run

#

That's cuz u loop thru them all

#

Again give ur use case and someone may able to help you

#

You bought 3 apples, and you put them in the basket one by one

#

U will know which one u out first, the second and the last

willow cloud
#

Good evening, I am constantly having this problem with UE 5.4 Release (Source Build)

Assertion failed: UniformBufferStruct [File:D:\UNREAL\ENGINES\UnrealEngine-5.4.0\Engine\Source\Runtime\Engine\Classes\Materials\MaterialParameterCollection.h] [Line: 172]

It happens when opening the project at 95% In PostLoading Objects, I have only been able to solve it (Temporarily) Deleting the directories _ DIRNAME_ IN Content, that is, when I delete it I can open the project but the map is without anything, without landscape without objects, nothing you are welcome...

dawn gazelle
placid blaze
willow cloud
gentle urchin
#

Thats the only big thing for me with the DA vs DT that i can think of...

#

The editor sucks regardless for this type of data

languid swallow
#

It looks like they changed physics a lot from 5.1 to 5.3 .
Based of this tutorial: https://www.youtube.com/watch?v=reaPAejLty
Physics feels veeery different.
Its using Linear Damping and Add Impulse.
But now its hard to tweak it to make it feel responsive.

And with physics handle I found some issues.

Is there a best way to do this?
Grab and move object with telekinesis in top down. With some feel of weight. Almost like it falls behind mouse (its how it works now)

In 5.1 I got it working quite well.
https://gyazo.com/c9e1b19e88c1345633fc615e5a355d35

Please tag me in response.

gentle urchin
dawn gazelle
gentle urchin
#

Thats lame ๐Ÿ˜…

#

I cant imagine there being a better method for adding hundreds of entries

#

Could automate some of it in editor aswell through some editor util and templated new rows, but beyond that id still want it export/importable

dawn gazelle
#

A lil' C++ magic could make it happen

gentle urchin
#

Guess i could expand my imagination lol.

frosty heron
#

A Lil? ๐Ÿค”

gentle urchin
#

I can prob copy 90% of the dt exporter

#

Only diff for me would me gamepaytag for rowname instead

queen heron
#

ok this is annoying
why is the timer by function name not working?
the function name is exactly the same and the first print string is firing
but the second print string does not fire at all meaning something is not working

#

UE 5.3.2 btw

#

also this blueprint setup is inside a custom actor component which is already added into the player blueprint

olive pasture
gentle urchin
#

where's the second print

queen heron
#

this print string should print every .06 seconds, but nope, nothing happens

gentle urchin
#

also, Use SetTimerByEvent whenever you can ๐Ÿ™‚

queen heron
#

why just that?

#

I've been using it for a long time yes and has worked fine and still does

#

but I wanna use the timer by function name for a more cleaner setup

dawn gazelle
#

Even still, you're better off using Set Timer By Event - you can still feed it a function by using "Create Event" and plugging it in, and selecting the function you want to call.

queen heron
#

hmm

#

lemme try..

#

ah, there we go

lethal pollen
#

Hi! What's the different between owner and instigator? Or, why do I need an Instigator?

#

Thanks

#

I think Owner is the Actor responsible for spawning another Actor, while Instigator is a Controller class who started the series of events which will eventually result in a given actor going something (e.g. a bullet killing an enemy). So, why do I need an Instigator? How can I use an instigator?

frosty heron
queen heron
frosty heron
queen heron
#

the name of the function was copy pasted

mental trellis
#

You're right in what you say, but you wouldn't say a bullet is owned by a gun. They are separate entities.

#

Let's say you fire a shot and then your gun explodes. Your bullet is now gone.

#

Doesn't make sense.

lethal pollen
mental trellis
#

That does seem weird.

frosty heron
#

Why would a print string break any tick, I don't see the connection

queen heron
#

is there a proper way to reference any umg widget from the actor component?
this one seems to fail finding the set umg

#

even tho its set in the player blueprint, it fails to find it

#

the variable type is Widget Blueprint

#

yet funny enough, the variable is valid

obtuse mulch
#

is it possible to hide part of the mesh with some volume?

frosty heron
#

Ye but probably best to ask material channel

#

Sounds like a shader thing

dark drum
queen heron
#

ah I see

frosty heron
#

Speaking of inventory, does anyone know a sample project from epic to look at? If there is any

dark drum
frosty heron
#

Haha I seen the old tutorials, deff not gonna do those

#

I kinda get for youtube scope, they have to compact the content

#

Prefer to see a sample project, typically the one that use uobject or data assets

queen heron
dark drum
dark drum
frosty heron
#

You can probably have a dedicated object that register changes for the UI

#

That's how I see one of the guys do it

queen heron
dark drum
queen heron
#

meaning I can't send interface messages within a custom actor component?

dark drum
dark drum
frosty heron
#

They are?

queen heron
#

now its working

frosty heron
#

I don't know anything about multiplayer but it's weird if we have to replicate static data

dark drum
frosty heron
#

Hmm I'm not sure, programming is not my forte

#

Are u dipping your feet on multiplayer? @dark drum

dark drum
frosty heron
#

Very nice ๐Ÿ‘

hallow tundra
#

is there a way to change a lights variables (intensity) without the light being in a blueprint?

lunar sleet
#

Why are you trying to avoid putting it in a bp

hallow tundra
lunar sleet
#

Or just modify the componentsโ€™ world location within this bp

gentle urchin
#

Not the data itself

frosty heron
dark drum
gentle urchin
dark drum
#

When you just place a point light int the level, it places the point light actor which has a point light component inside.

frosty heron
#

Static mesh by default have a tag, you can use that to uniquely identify the lights you want to change at run time.
You can then iterate through all of the light and just get the one with the matching tag to edit it's intensity.
Not something I would do tho, can't think for your use case. I will most likely end up with a blueprint if I need to edit the lights (eg, reacting to switches etc)

lunar sleet
dark drum
lunar sleet
#

What bp? He said he doesnโ€™t want to use a bp

mental trellis
#

Cpp class then!

dark drum
frosty heron
#

I think he doesn't want to make the light it self as a bp

lunar sleet
#

Idk how youโ€™d get a ref to a placed actor without actually using either get actor(s) of class or straight up using the level bp, which is how you would get a ref with the drop-down you mentioned

mental trellis
#

Soft object ptr. Enter the string manually like a boss!

lunar sleet
#

Which would be a terrible thing to let a rookie get away with but idk why Iโ€™m so invested, itโ€™s 3:30 am so Iโ€™m going to sleep

lunar sleet
frosty heron
#

You can drop an actor that have the light component variable. Like an array. Then just make it instance editable and expose on spawn.
I would do it this way when I need to grab specific components from the level.

Designer can just make use of the eye dropper tool or the drop down to pick an instance they want

dark drum
lunar sleet
#

Ah right, hard reffing in the details panel of placed objects

#

I rmbr doing that back when I first started

frosty heron
#

I'm still doing that for area/ level specific stuff. When it doesn't need to be abstract, I would do it this way. Not sure if there is a better way.

dark drum
frosty heron
#

it kinda make sense to pick from the level right away in some cases. Like a switch and a light, the designer need not to know the code.
Just pick a switch from the level and pick the light that it want to toggle from the level.

dark drum
rose crest
#

hi, can someone help me? I have child actor setup in my character, when I pick item or select it from inv it changes, but actor fell off the hand (socket) to the world:

frosty heron
#

did you attach the component to the socket? I won't comment much about Child Actor Component because I never used them at all. There are bugs associated with them and the wise people says to avoid using it.

rose crest
#

yes, its in the socket. I was hoping that help, but... I think I just do fast spawn, attach, remove magic

frosty heron
#

I don't think you need to use Child Actor Component for such cases?

#

just spawn the actor and attach the spawned class to the socket.

dark drum
rose crest
#

I even turned off physic, but it stayer in space after moving ๐Ÿ˜„
Last night I decided to change it to spawn+attach, but found that theres this DC and decided to ask wisemans

#

lol, its funny but it act the same way ๐Ÿ˜„

abstract mango
#

Hey, I got a few questions.

Some background Story:
I've been working on a full on 3D remaster of a game called "Hexen - Beyond Heretic" in shape of a mod in GZDoom (a doom game engine).
This is it: https://www.youtube.com/watch?v=IXosmbbl6v0&ab_channel=EmmanuelEXE

Hexen - Rebirth of Cronos v1.0 Trailer

Mod released!
https://www.moddb.com/mods/hexen-rebirth-of-cronos-version-09/downloads/hexen-rebirth-of-cronos-v10

Some parts are from fan expansions too, to show it works with it.

Expansions in the video:
Shadows of Cronos, Scourge of Viscerus, Cyrgorth's Revenge but some other can work with the mod!
The...

โ–ถ Play video
#

So here the questions ... I want to make a game similar to Hexen - Beyond Heretic in Unreal Engine (not a remaster, basically a completly new game not related to that game in the video).

Will that be an intensly complicated thing blueprint wise?
Would someone be able and willing to help mea learning how I'd setup the Hud Weapon system for Melee and Ranged for one Character Class?

mental trellis
#

Pretty simple. Just copy shooter game and add weapons and monsters?

craggy lake
#

Is there a way to attach a 3d vector widget to an object but have it remain at 0, ie only transform locally. I want a widget to not get left behind by a part of a BP

#

Or I guess just offset a 3d vector widget by something else's transforms

dark drum
craggy lake
#

Exactly not, I want it in X position but to have all it's transforms be 0 - or at the very least since it's a vector variable, offset by location x. My goal is to make an aim controller effectively (for cinematics) where a joint moves with the 3d widget, but I want it in front and to move with the characters head. Control rig could work but there's a lot going on already in the BP.

abstract mango
rose crest
#

there isn't starter for melee, just need to make logic in BP

#

there's plenty of ways on YT

abstract mango
#

Ok I might check that then

placid cove
#

guys is there any way i could clamp the rotation lag of the spring bone? i still want a slow sway but if i move the camera too fast i can see behind me

dusky cobalt
#

So I was wondering, since I'm doing RTS game I will have a lot of units / characters. Let's say 30/40 per player at max an in the biggest case 8 players. And now I heard that if I will use characters it will not be optimized. What I'm thinking about is that, the problem with characters is with the character blueprint itself, or it's just because it uses skeletal meshes? So the problem is with the skeletal mesh and I still should use character blueprint, but I will just need less heavy ''unit mesh" so it's all good? Or it's both combined?

frosty heron
#

Character Movement Component is pretty heavy for RTS

#

it is designed for Competetive FPS

rose crest
#

Use pawn

frosty heron
#

#mass probably and a lots of optimisation

dusky cobalt
rose crest
#

also if you were hording assets from epic there's npc optimalization plugin for large numbers of npc. helps a lot. I had over 500 npc with eqs and AB on and it was around 50 fps, and map was also smaller than for rts

dusky cobalt
#

So I guess the biggest difference would be that character movement is already built to be replicated and with the clear pawn I would have to somehow replicate movement myself?

dusky cobalt
frosty heron
#

I don't imagine replicating that many data every frame is a good idea

rose crest
frosty heron
#

best to ask in #multiplayer but my guess would be to have some sort of simulation that can be played on client machine. Eg, Having the Units as a one cohesive group which moves toward X point in a certain manner (formation, etc). Server can just replicate one point and then the client will handle the movement locally ๐Ÿคทโ€โ™‚๏ธ

#

Fortnite works allright with 100 players, I wouldn't set my target higher than that

dusky cobalt
#

I mean I already have selecting and moving the characters etc, but I guess without character movement it's a different thing? I cannot just kind of copy what I already have in my BP_Unit_Parent class and expect it o work? Also it's a RTS game so it means there is 2-8players and each of them controlls 20-40 units (characters or pawns as you recommend).

frosty heron
#

you can try, but I don't imagine it will work.

#

Test in package ofc, not editor

#

from what I heard CMC is too heavy for massive units. True it have multiplayer functionality but again, it is designed for Competetive FPS, not RTS with hundreds of units.

rose crest
#

maybe try this, i don't know how well it works in multi ;/

#

but yes, grouping would be way to go, reducing replication intervals and other optimization, you can also change scale from 8 to 4 players or anything between

lavish delta
#

Hey, still a beginner over here and just looking for some advice. I've been trying to make a movement engine and fit a 180 turn in it (First Person) and since (I'm assuming) the character BP uses controller rotation yaw, I can't seem to get the camera to turn 180 degrees with the mesh, thanks for any help!

dusky cobalt
dusky cobalt
rose crest
#

its amout of data to replicate over network

lavish delta
rose crest
#

skeletal mesh sits on local CPU

rose crest
lavish delta
#

ok I'm gonna try that for the rotate, I'll let ya know how it goes

rose crest
#

or another thing I have in mind, maybe better for long term. controls that you dont control camera but character itself, camera is just sticked to it

lavish delta
#

oh damn that's actually a decent shout, I'll give a try on both options see what works better

#

used the control head method, the camera is 90 degress angled rn but it works better than before! thanks

sick shore
#

I have a bug with Streaming Levels related to Landscape.

Video showing how this problem manifests itself:
https://www.youtube.com/watch?v=fLNFAUM_lBw

Detailed description of the problem:
After loading, unloading and re-loading a game level using Steaming Level, the Landscape of used stream levels disappears. In this case, fragments of the Landscape (chunks with textures) often remain, but a landscape collision still does not appear.
The problem manifests itself in any project.

Conditions:

  • Unreal Engine 5.4
  • Load Stream Level and Unload Stream Level functions in BP are used.
  • World Partition is disabled.
  • Tested with both Actors and Pawn.
  • The code for calling the Unload Stream Level and Load Stream Level functions was split into separate independent fragments and files - this does not help.

Is there a solution for this problem? Does it show up for you?

Thanks for help!

Problem:
After loading, unloading and re-loading a game level using Steaming Level, the Landscape of used stream levels disappears. In this case, fragments of the Landscape (chunks with textures) often remain, but a landscape collision still does not appear.
The problem manifests itself in any project.

Conditions:

  • Unreal Engine 5.4
  • Load Str...
โ–ถ Play video
wicked cairn
#

Hi everyone!!

I'm trying to get this Sims 3 Camera Movement and I'm close to getting everything working but the problem I have is that the adding of controller Yaw and Pitch Input is triggering whenever I hold Left Click and Right Click, but I only want it to continue working for when I hold the Middle Mouse Button. Is there any way to disable this feature for the left/right clicking?

My only thought is that I'd have the boolean Use Pawn Control Rotation be disabled by default but be enabled only what I'm using Middle Mouse Button to rotate the camera. Any help appreciated! :>

rose crest
rose crest
#

not flip flop, set on press and release

rose crest
sick shore
maiden wadi
# gentle urchin Can you import/export from csv to DA?

I don't think you can do that by default. Give it time though and it'll probably be a thing. But IMO there are better ways. You can make your own Editor Utility Widget that takes in a block of text or a file and parses it. There's a SetEditorProperty function you can use. So you can easily grab a bunch of DAs, and export properties by name and value, edit and reimport them.

rose crest
tepid raft
#

bassicly i want the ai to be able to walk into the room this door opens by the ai going into the box collision but i cant get green nav mesh thru the door

rose crest
#

brush size in nav mesh?

tepid raft
#

ok im very new to unreal how would i get to it

waxen mason
rose crest
tepid raft
#

i used navmeshboundsvolume would it be in brush settings

rose crest
#

when you place volume new actor spawn in outliner

tepid raft
#

sorry abt this but which one im uhh not the brightest

rose crest
#

place navmeshboundsvolume as always, after that find RecastNavMesh in outliner

tepid raft
#

found it

gentle urchin
#

I also wanna try out instanced struct to avoid carrying more crap than i have to but feels strange to use

flat jetty
#

Can i create a parent for them to have common "transform". Root has only scale property. I need pos, rotation and transform. While moving train, what should i give reference to the Set Relative transform for example then?

I dont seem to understand which transform they share. For example the scene instance of a train has location rotation and scale but in here, only static meshes have them. Not the root or train

wicked cairn
maiden wadi
# gentle urchin Yeah ill look i to that when I refactor it current setup with DTs work fine but ...

DTs still work for some things. I use them for stuff like crafting recipes. Which to me are just a struct of Input array, Output array and time required. List of data that is all the same and would always need to be the same.

But like thing definitions, I'll always go DA. Things can vary wildly with the kind of data you need to associate to them. Like a weapon needs very different things than a crafting table. But I can still inherit from a core set of DAs get get all of the things they have in common like name/icons, gameplay actor, associated tags, etc.

Plus yeah, the row handles are annoying. :/ Specially in UI. With DTs I just throw all the data assets themselves in a listview. With structs I have to actually create a whole new UObject to pass it, or construct each widget manually. Bleh.

tepid raft
toxic copper
#

Hey folks, Im trying to learn how to manipulate cameras but not finding a lot of resources online. so a couple of questions here:

  1. for the camera to update and lock to specific platforms (2d platformer), im guessing a collision box or on-hit event with the floor is the way to go?
  2. is there a way to set boundaries for the camera? Like it cant go further left/right or up/down. would these be level bounds? collision boxes that can block cameras? or maybe the end of a spline?
#

Right now, i built something that kinda works but isnt great, and im worried its a bit too much to be bound to an event tick node

#

i suppose in other words.. to set up constraints for a camera, is that something i have to do in blueprints, or are there collisions that can block cameras, or would i use a spline/rig-rail?

undone galleon
#

Do I need to dip into c++ to create a bp function with a wildcard input? I don't like having separate inputs for the supported data, an integer or a float; It feels messy.

tepid raft
#

would anyone know how to make the navmeshboundsvolume go through the door

placid cove
#

guys is there any way i can "teleport" one node?

#

i have 2 separate macros

gentle urchin
prisma cedar
#

Why can't I use a double precision float on a switch Efloat Types?
and follow up question why can't I convert a double precision float into a regular float

vast lion
#

Is there a curve asset that lets me have more than one curve defined?

placid cove
#

i need something like portal i can make the links go trough

gentle urchin
lofty rapids
#

i don't think there is a portal, but custom event is probably closest you'll get to a "portal"

placid cove
#

oh right thanks

#

but in macros i can't actually use events

lofty rapids
prisma cedar
lofty rapids
#

idk, i just saw at some point that they are considered doubles

prisma cedar
#

sad

#

Appreciate it tho

lofty rapids
undone galleon
#

Okie-dok: visual studio and I will throw hands, then!

lofty rapids
#

Putting together a blueprint function library in c takes a little bit, but once you get it going and see how things work it works great

undone galleon
#

Thanks! I might as well just expose the hexadecimal conversion as well. It's weird that's not included outside of RGB color related nodes.

eager thicket
#

How do I get a seperate blueprint to read the input of the player?

#

by seperate I mean seperate from the actual possessed player mesh

lofty rapids
frosty heron
#

You don't tho. If you want to have to control the pawn not within it, then do the binding in your player controller

#

Also don't use the legacy input, use enhanced input

eager thicket
#

Okay, thanks.

eager thicket
#

no worries if not

frosty heron
eager thicket
#

ahhh im trying to learn how to make it from a blank project rn

#

just so i understand what goes on under the hood a bit

#

I've got a pawn and controller made rn

frosty heron
#

The aim to create the template is to see how its done

#

You can replicate that to your blank proj

eager thicket
#

Fair.

#

Thanks

raw orbit
#

is there a better way of tracking the cursor 'type'? im replacing the cursor with my own and i was wondering if i could get away with using just one widget instead of having a separate one for each type of cursor or whether i should just make a separate widget for each after all

#

this doesnt even seem to work anyway

sonic oracle
#

Can someone explain to me why this isn't working?
I want to trigger an event in one blueprint that gets used in another.

sonic oracle
#

yes

dark drum
dark drum
sacred minnow
#

guys i have a question why when i duplicate my BP, the copy is just broken and unusable? any ideas why?

lofty rapids
sonic oracle
sacred minnow
#

they are the same

dark drum
# sonic oracle So I need to reference the Actor itself? I was under the impression the cast Obj...

The cast just like checking the label. You could have a box labelled Vehicle of which you could but any vehicle inside. A cast checks if it's also another type such as car, plane or motorbike and then returns an updates ref type so you can call specific class functions.

Actor is a generic class type that you can store most things in it (that you spawn in the world). Casting just allows you to check what type of actor it is.

You still need to store something in the ref or it'll be empty. (null)

dark drum
# sacred minnow

Because you use self as an input for some function. Because you duplicated the BP, the duplicate isn't the same type that self is being connect to.

sacred minnow
#

i try to create a new reference to self but i cant, do i have to reference the original?

dark drum
sonic oracle
dark drum
sacred minnow
dark drum
sacred minnow
#

ummm i tought of creating a child, but my objective is the following: i have a cube when you click it, makes a quick animation; changes the user pawn and other stuff related to the other pawn, my objective here its to create another cube where you click it, it can do the animation, but not change the pawn

#

i believe i can set a bollean for this right?

#

issint it easier this way?

proud notch
#

is there any way I can change the text on a widget each time a build a package? I am trying to have version numbers on each build.

dark drum
sacred minnow
#

sorry allow to correct my self the cube dosent create another cube

dark drum
#

Does anyone have much experience with GUIDs? I have this to generate a new GUID if it's not valid but when I reload the editor, it's not valid and sets itself a new GUID on load.

sonic oracle
#

it's set as an object reference

dark drum
dark drum
# sonic oracle Like this?

Sort of, you would probably benefit from watching this. It seems like you don't yet understand the basics of BP communication.

https://www.youtube.com/watch?v=EM_HYqQdToE

Announce Post: https://forums.unrealengine.com/showthread.php?101051

This Training Stream takes a look at Blueprint Communication. We find that Unreal Developers of all levels can sometimes struggle through the concepts behind moving data between objects. So in this video we'll take a look at the different ways to make Blueprints talk to one an...

โ–ถ Play video
gentle urchin
#

Now you definetly sett it to mothing

lofty rapids
#

The note probably says it's already that type?

dusky cobalt
#

he didn't connect Other Actor to the node with SET reference

sacred minnow
#

i did it i manged to fixed it; ty for the help @dark drum: i did the following i added this:

#

and thats it

dark drum
#

Is there a way to get all components of a specific class? It's an editor only function type of thing.

maiden wadi
maiden wadi
dark drum
# maiden wadi Are you looking for classes or components on actors in a world?

Well I've got this so far but it might be the only way. But its for components on actors placed in the world. It's only intended for calling in the editor so I'll probably just leave it haha.

I was settings the GUID's on construction script but when i restart the editor it is (probably for a single tick) invalid so gets regenerated which causes some problems so just want to be able to do it all in one go.

flat coral
#

This math is NOT doing what I was wanting it to do. Here's a representative piece of logs.

RelativeTestTarget=X=-2013.085 Y=-7574.986 Z=2801.068 
TestTarget=X=-4294.002 Y=10683.955 Z=-474.450 
ActorTransform=Translation: X=3280.984 Y=7834.252 Z=-2418.077 Rotation: P=20.000000 Y=-90.000000 R=0.000000 Scale: X=1.000 Y=1.000 Z=1.000```

Looking at the Y values in particular, I'm expecting this to return a point that's FAIRLY near the center line of Y=0. The Y of the ShipRoot component is 7834, the pre-transform Y is 7574, the ship is pointed ABOUT 90 degrees left, so it should be like `7800 - 7600 ~= 0` Instead, the resulting Y value post-transform is 10,000
maiden wadi
dark drum
agile moss
#

Can I use Min and Max floats things in this situation? If yes, how do I use them?

lofty rapids
#

Probably clamp ?

agile moss
#

ahhh clamp was it, thanks

thin panther
#

you'll also want to switch that to a timer

placid cove
#

hi guys, is there any way i can make a simple camera lag with this configuration? i already have tried the spring arm location and rotation lag but i am searching for something more controllable

agile moss
thin panther
#

Set Timer By Event

agile moss
#

how to use

maiden wadi
thin panther
agile moss
#

where can I find him?

daring merlin
agile moss
#

Thanks G

ancient mesa
#

Hello people, im a newbie trying to get an inverted mouse hotkey ingame. Im not sure if im even going in the right direction

lofty rapids
#

Your setting inverted to itself

#

I imagine you want to not it ?

ancient mesa
#

yeah you start normal mouse settings untill you hit the hotkey

maiden wadi
#

He means the hotkey.

ancient mesa
#

ah yeah

maiden wadi
#

You're setting true to true.

#

Or false to false.

ancient mesa
#

just deleted the Get Inverted and it works

#

thanks haha

lofty rapids
#

You most likely want to not the bool so it flips off and on

dark drum
ancient mesa
#

it works like this. Not sure if its clean or not. but its fine for now. Thank you

lofty rapids
#

Good if you don't want to shut it off ig

#

Or you shut it off elsewhere

livid flare
#

Hi! I have an actor with a Impulse at Location node who is working on BeginPlay but doesn't work if I call it from a custom event, the cast is printing properly but won't run. It's a cable with a static mesh under a scene component, I tried also using the cable as root but without luck. The SM start with physics disabled, and back to enabled before the add Impulse at Location node, any guesses?

faint pasture
#

I don't see a less than anywhere

faint pasture
flat coral
#

I'm getting closer to isolating my weird transform issues. Why the heck aren't these arrows pointing in the same direction? Red one is attached to the root component of this actor, no scale or rotation changes. Blue arrow is drawn with an end location based on the actor's forward vector.

lofty rapids
#

For one thing you normally add end to start and plug that into end

flat coral
#

But the point is the duplicate the code elsewhere. I've got that code that SHOULD be getting a point 2000 in front of the actor, so why's it off to the side?

lofty rapids
#

Well if you do it correctly I can only guess you forward is not what you think it is

flat coral
#

I can even duplicate the issue using the transform OF THE ARROW

#

How can the forward of an arrow not be what I think it is? It's an arrow, the ONLY thing it does is point forwards

livid flare
flat coral
#

You ever have one of those "What the fuck am I even DOING" moments

lofty rapids
#

Print string will show if it runs

livid flare
#

yes it run, at least is what the print says

livid flare
queen valley
idle crescent
#

Why doesn't it show options to let me set the character mesh?

lofty rapids
#

Because it's it's bug in ue

queen valley
#

so try adding a delay node

#

"delay until next tick"

ornate linden
#

is there a way to get a "free camera" in PIE while its running?

queen valley
#

its called eject

marble tusk
ornate linden
idle crescent
#

Anyway I can fix it?

#

Or else, it will be rather hard to set a character mesh and that's rather problematic.

lofty rapids
#

Try to create a new one or switch to backup

idle crescent
#

A new class? Or project?

lofty rapids
#

If your details panel is gone not much you can do

#

Just the character

idle crescent
#

Ok. Phew. That's easier.

lofty rapids
#

Good time to start backups or source control

idle crescent
#

Do they know it's a bug?

urban tinsel
#

I'm having an issue with projectile component, getting errors when my arrow sticks into objects.

lofty rapids
idle crescent
#

I hope so.

waxen mason
#

You are either not setting a value, or itยดs related to some casting youยดre doing

urban tinsel
#

ah okay, so should i set the projectile gravity scale right after adding in on the arrow

waxen mason
#

I donยดt really know where you set it

#

The image does not show that Node

urban tinsel
#

well i'm adding the projectile movement comopnent as soon as i spawn the arrow

#

well actually as soon as i "release the arrow"

#

Is it not good enought o set those valuse in the add projectile component node?

waxen mason
#

But Iยดm pretty sure the problem is with a empty value of Projectile Mov, maybe someone smarter can chime in

urban tinsel
#

is this not where i'm setting that ?

waxen mason
#

Is the projectile a spawned actor?

urban tinsel
#

yes

#

huh

#

weird if i plug it in like this

waxen mason
#

Hmm so you spawn the actor, and then you add the component

urban tinsel
#

the errors go away

urban tinsel
queen valley
waxen mason
#

You made the component a variable right?

urban tinsel
#

yeah

#

i'm setting it right after adding it

#

oh setting to validate worked too

waxen mason
#

Maybe when setting the gravity, you were using the variable with the empty value and not yet the value after it had been set

urban tinsel
urban tinsel
#

i might have just had to refresh my nodes?

#

but seems to be working now i think

#

yeah seems to be working now, no errors, thank you

#

really appreciate your help

plucky ice
#

Hi everyone, I'm a neuroscience graduate student working on an Unreal project and I'm quite new to the system.
I am trying to make a set of "star" actors using my StarObject_BP. When the game begins I want to randomly select one of the available instances of this object and execute the logic after "cast to StarObjectBP"- basically make it light up for a second and then turn off, then wait for 3 seconds and repeat the process. I am getting quite confused as to where I need to put that logic; whether it's in the level blueprint or in the actor blueprint itself as I have here. I would really appreciate any help. I'm able to get it to work when I just run it on one specific instance of my blueprint, it's making this change to randomly select from all of the actors in the scene that I am having trouble. Thank you!

queen valley
#

because you are getting all actors of class and casting

lofty rapids
queen valley
queen valley
#

but first way is cleaner

#

oh wait

#

you have a timer

#

nevermind

plucky ice
#

I am definitely missing a lot of stuff. Would you recommend moving this entire schematic into the level blueprint? and @lofty rapids the missing execution line would need to run from the Set Timer by Event node to the Get All Actors of Class node? Apologies for the stupid questions, as I said, I am very new to this.

lofty rapids
queen valley
queen valley
lofty rapids
#

i would probably go with a manager actor or something

queen valley
#

im not sure

lofty rapids
#

i think so because the output is just an array of actors

queen valley
#

yea but output of random

lofty rapids
#

i don't know if it's the specific class

#

if it's not the specific class type and just an array of actors then you'll need to cast

plucky ice
#

literally the problem was that I didn't have an execution line from Get All Actors of Class to the Cast node... catconfus

queen valley
plucky ice
#

I know, thank you!! It works now within the actor blueprint. I really appreciate it.

lofty rapids
queen valley
#

but if its cut it doesnt note

plucky ice
#

Yes there is a note. So how do I deal with the random selection / get all actors without casting?

queen valley
lofty rapids
#

it's already that class

queen valley
#

also isnt this changing all the lights?

queen valley
plucky ice
#

Shamefully I am doing that because I can't figure out another node that can take the object reference here

queen valley
lofty rapids
queen valley
plucky ice
#

I want a random instance of the StarObject_BP, which has an illuminator built into its blueprint. I want to randomly pick one of those and turn on only its illuminator.

queen valley
#

try if it works

#

and then plug that illuminator into your target pins

plucky ice
#

Cool! You all are awesome, thank you so much ๐Ÿ™‚

lofty rapids
#

looks weird what is the second illuminator ?

#

the first one is off the random, but the second one is just a random variable ?

queen valley
#

dont leave the second one to be just illuminator

plucky ice
#

was just about to ask one final question on this - corrected that reference thank you. it seems like the random is sometimes picking more than one out of that array i.e. more than one star lights up sometimes. is there a way to enforce a selection of only one?

maiden wadi
#

Shouldn't be doing this code in this BP. This code should be nothing but the timer, Random, and a function call to start the intensity stuff.

#

As in a function call inside of StarObjectBP

#

Shouldn't make a second class maintain the state of another class.

lofty rapids
#

hmm

#

is any other code doing something similar ?

plucky ice