#blueprint

1 messages ¡ Page 196 of 1

faint pasture
#

why is only 1 other barrel getting hit?

queen ore
#

if the radius of damage is reaching the guy and the fatherest barrel shudnt it affect the others ? like atleast the ones close to the guy

lunar sleet
#

you're drawing an empty circle not a full circle

#

least that's how I compute that

faint pasture
#

oh maybe

#

I thought inner and outer were for falloff

#

i don't use the radial damage, I just do a sphere trace and damage the things

shut quarry
#

why is this failing? The socketname is correct, the target is the actor who has a skeleton with the socketname, and everything else should work on its own

#

(prints false)

#

okay ive made some progress it prints true, that I've grabbed it, but uh my characters tps to a position on the map

#

and my event graph

#

please let me know if you need any other information im lost rn. Essentially this is a function to pickup an item. And essentially i want that item to attach itself to the player's hand whent eh function is called

graceful sage
#

Try changing location and rotation to snap to target

charred cobalt
#

hey everybody when i change levels my int variable resets to its default value is there a way to save it as its current value while changing levels? thanks

graceful sage
#

Is the pickup set to simulate physics?

dawn gazelle
charred cobalt
shut quarry
shut quarry
#

but yeah ur method did work, sorta, now im not tping everywhere, but I am tping like one foot above the bal

#

yeah I think i switched it around

#

the parent should be the actor mesh

graceful sage
#

Prob be better to attach to mesh and create a socket on skeleton and type that into socket name on attach actor to component

light iron
#

Anyone know how I can get the "unreal editor subsystem"?
https://dev.epicgames.com/community/learning/tutorials/M6LY/unreal-engine-get-editor-world-deprecated-resolved

This post tells me I need to include the "Editor Scripting Plugin" but I don't have a plugin with that exact name. I've tried "EditorScriptingUtilities", "EditorScritableToolsFramework" and "UnrealEd" which is the actual plugin the unreal editor subsystem code is part of but none of them allow me to get an instance of the editor subsystem node in blueprint

Epic Games Developer

After upgrading a project from 5.1, I was getting an, "There were some problems with some AssetActionUtilityBlueprints," error whenever I right-clicked ...

copper chasm
#

I have a widget controller listening for gameplay tags to create a widget from a data table, right now I am trying to make widgets populate when the character is standing in fire - I can get the widget to create/add to a panel on overlap, but I'm not sure how to go about destroying the widget when the tag is removed (which happens onendoverlap).

I know I can just cast and destroy it per onendoverlap, but I'm trying to keep dependencies limited - is there a way (I'm assuming cpp) to fire an event when a tag is removed?

shut quarry
shut quarry
#

essentially when the func runs, the item freezes in place, so physics off, but for some reason it aint locking into the player.

#

Like the player moves around, the item dont follow

copper chasm
#

I'd rather not just slap it on the BP after the endoverlap

light iron
#

Oh sorry haha I misunderstood what you were asking

graceful sage
#

And location and rotation snap to target

copper chasm
#

I reckon I ought to be able to code around that function to listen for when things leave, maybe

shut quarry
#

everything ive mentionsed so far in that class

shut quarry
light iron
#

You might check out OnAbilityEnded I've never used GAS, but I just searched for DECLARE_<various-delegate-type> on the ability system component header and found it

#

in particular this one is just a multicast delegate (not dynamic so no blueprint)

copper chasm
#

I really need to read the documentation, I'm kind of playing UE5 coding as if it were a survival sim rn 😐

graceful sage
light iron
#

It might not be what your looking for, but that's the best I can help haha

shut quarry
#

it is i copied it excatly

graceful sage
#

Is the function being called?

shut quarry
#

yuh

graceful sage
#

You want it snap to target so I'd leave it at that

shut quarry
#

got it

#

but its not locking into my player

graceful sage
#

Show your trace

shut quarry
#

at all

#

its 100% called bcuz after this i place it in my inventory

#

and i have other checks, im definitely grabbing that ball

graceful sage
#

Why you changing mesh scale?

#

I don't see anything with adding to inventory

shut quarry
#

essentially

#

I add it to my inventory

#

so an array

#

and then i call the function displayed in the ^ image

#

and its supposed to attach itself to the actor which is being passed in

#

and yeah the cast works fine

#

and the attach actor to component is returning true

#

so how is this happening

graceful sage
#

What's the component hierarchy for item

shut quarry
#

sphere is just collision sphere so that when i get close I can pick it up

graceful sage
#

Try making mesh the root

shut quarry
#

NO SHOT

#

lmfao

#

dude

#

that makes no sense

#

it worked but, how

#

thanks

graceful sage
#

Np

quick lance
#

Hello, I have the top down project open and i'm trying to create a camera that moves based on where my mouse is. If the camera is completely top down (90 degrees) this logic works fine, but in the project the camera is at -50 degrees. How can I get the same effect with the camera rotated?

trim matrix
#

Sorry I just saw this. The issue I was having was that the trace was passing through objects and hitting multiple triggers I didn't want it to hit. I had the actors set to block their channel but it wasnt working. For whatever reason restarting my computer worked and fixed it. Was struggling with it for about an hour.

trim matrix
graceful sage
#

Clamp when set rotation?

trim matrix
lunar sleet
#

and usually door opening logic is done with a Timeline and a Lerp between 2 fixed points so it's much cleaner than this

#

on a side note, it's much cleaner to just GET a variable again rather than drag spaghetti noodles across the whole screen.

#

you can select your initial get and ctrl+ D to duplicate where the cursor is, or copy and paste

remote rapids
#

hey i need help with some physics and physics material

#

can i get help?

remote rapids
#

i have a shpere that i gave her an impulse of 1600
and the shpere should to arrive a Cube.

i checked simulate physics for the sphere.
and i used Physics Material.
i only changed Friction to 0 and Restitution to 1.0

if the ball hit on the cube in the middle or in any place with no angle so the back speed is correct and not change
but for example if i rotate the cube a bit and the ball hit the cube when there is some angle so the back speed from the cube is slower and ball change his speed.
i want that no matter where the ball hit , that can be with angle or if the cube rotate or whenever the ball hit the speed will not change.
why is that happened to me and how to change that?

white thicket
#

Can Anyone help me with Lights toggling at Night

lunar sleet
#

You got a switch in your room?

white thicket
#

OR operation i think i have to use

lunar sleet
white thicket
lunar sleet
#

Hehe

#

Ok have you tried printing the Boolean to see if it’s true

white thicket
#

600 means morning 6 and 1200 means 12 and so on

#

turn off light at 6(600) and on light at 18(1800)

lunar sleet
#

Uh

white thicket
#

I am able to turn on but don't know how to turn off

#

and loop it

lunar sleet
#

I don’t recall exactly but are you sure that is the right format ?

lunar sleet
#

Ok

#

There is an in range node

white thicket
#

oh i get the node

lunar sleet
#

Oh that’s a thing? Is it a plug-in or built-in

white thicket
#

ultra dynamic sky

lunar sleet
#

Easy then

#

If false turn on light if true turn off light

white thicket
#

is this the main way to turn off and on lights? or there is any other good one

lunar sleet
white thicket
#

there is activate but i don't see any option of activation setting in details pannel of point light

frosty heron
#

Toggle vissibility will just turn the light invisible right away

#

Would be nicer if you dim it according to time and slowly reaching 0

#

When 0, then you can make it invisible to save performance (if neccessary)

white thicket
#

Okay so one more thing due to event tick i am using Do Once but i don't want to use as it will not create loop

#

What can i do?

remote rapids
#

i have a shpere that i gave her an impulse of 1200
and the shpere should to arrive a Cube.

i checked simulate physics for the sphere.
and i used Physics Material.
i only changed Friction to 0 and Restitution to 1.0

if the ball hit on the cube in the middle or in any place with no angle so the back speed is correct and not change
but for example if i rotate the cube a bit and the ball hit the cube when there is some angle so the back speed from the cube is slower and ball change his speed.
i want that no matter where the ball hit , that can be with angle or if the cube rotate or whenever the ball hit the speed will not change.
why is that happened to me and how to change that?
in every tutorial that i look they did exacly what i did and that work for them but not for me

white thicket
lunar sleet
#

But I understand your conundrum

#

One way would be to just set a timer by event on begin play

#

Alternatively

#

You can maybe bind and unbind dispatchers as needed

#

But maybe easiest would be to have each side of the branch reset the other Do Once

#

For example: if Daytime == True -> Toggling -> Reset the bottom Do Once. If Daytime == False -> Toggling -> Reset the top Do Once @white thicket

white thicket
trim matrix
lunar sleet
#

Resetting the opposing do once should do the trick, at least in my mind at 3am

trim matrix
# trim matrix

Hey guys, are the actor blueprints share their instance each other?

trim matrix
# lunar sleet Try rephrasing

I mean, the second box registed 2 lights and the first box registed 1 lights
but when I tried to turn the light, always turn on 2 lights

#

so their seem like shared instance (just guess)

white thicket
lunar sleet
dusky cobalt
lunar sleet
dusky cobalt
#

@trim matrix You should have event Interact that when you come into the box you click and it activates lights that are on the box.

lunar sleet
#

Not to mention that is Colliding branch is completely being bypassed

dusky cobalt
#

Yea that got me confused as well, also having Is In Collision is on the Player Controller? or Pawn? (then maybe it would make sense if you have Overlap event that sets that collision so it let's you fire that event only when you are in collision with the light, but if you are in collision with at least 1 then this will work for all lights and not the only one you are colliding with), but it's still does not make too much sense.

white thicket
lunar sleet
remote rapids
#

i have a shpere that i gave her an impulse of 1200
and the shpere should to arrive a Cube.

i checked simulate physics for the sphere.
and i used Physics Material.
i only changed Friction to 0 and Restitution to 1.0

if the ball hit on the cube in the middle or in any place with no angle so the back speed is correct and not change
but for example if i rotate the cube a bit and the ball hit the cube when there is some angle so the back speed from the cube is slower and ball change his speed.
i want that no matter where the ball hit , that can be with angle or if the cube rotate or whenever the ball hit the speed will not change.
why is that happened to me and how to change that?
in every tutorial that i look they did exacly what i did and that work for them but not for me

white thicket
dusky cobalt
dusky cobalt
# trim matrix f key on box bp

Then this event is not gonna event work because Inputs must be on Player Controller or on something that is possesed by player.

lunar sleet
#

Build, test, optimize, but yeah

trim matrix
trim matrix
remote rapids
#

can i put image on floor?

white thicket
remote rapids
#

how

graceful sage
#

Import image into engine create a material that uses image texture as base color. Set floor material to material you created?

remote rapids
#

that noot good

copper chasm
#

says you, i'd play the hell out of that disco masterpiece

trim matrix
#

Hey guys, is there any way to compare rotator or float as nearly float ?

dusky cobalt
trim matrix
versed sun
#

make the tolerance higher

trim matrix
trim matrix
#

But i wonder why compare rotation is not working?

hollow cove
#

you can use the node normalize axis on a float to make sure it always falls between -180 and 180 iirc

trim matrix
#

hmm it's always false though

hollow cove
#

going to need more context

#

is this something that's always rotating a little? if so it probably never hits exactly -15

#

if you're printing it there, you can see it's -15.225

#

so youd need a nearly equal node for the float and set the tollerance higher than 0.225. but i assume it can be greater than that?

trim matrix
#

I just fixed it with round lol

hollow cove
#

thatll work unless it goes greater than -15.5 or lower than -14.5

trim matrix
hollow cove
#

it entirely depends on what you're trying to do

dusky cobalt
trim matrix
surreal lotus
#

Hey everyone, I am working on a third person project where I am automating some movements, the problem is when the character goes to a certain position I want the camera to face where they are looking at, which I am struggling how to automate.
I thought if I can attach the camera to the character's back (socket) that could work, (as the camera will always look in front) but I can't seem to attach it as the camera boom is an inherited component.
It would be nice if I could get some help regarding this!

Thank you,

frosty heron
#

Set control rotation to the direction of where the character is looking. (Capsule forward vector?)

surreal lotus
surreal lotus
dusky cobalt
#

Well there is a lot of tutorials probably on camera following the player, did you try any of them already?

frosty heron
#

Actually I retract what I said

#

You probably want the direction of the input

#

Or the actor rotation, I am not sure kinda have to hack it and see if it work

ivory spoke
#

Are Datatables the Common solution to handle Item Data?

#

Or are there other strategies?

thin panther
#

Data assets are pretty sweet

soft lion
#

I use Data Assets. I want to learn deeper into Primary Data Assets and proper usages but that's down the road

dusky cobalt
#

one more vote for Data Assets, they are amazing

surreal lotus
#

actually, I just had to get the controller and set the control rotation there once the movement is executed !

Thank you though,

dark drum
dusky cobalt
modest monolith
#

damn I forgot how to put controller inputs in ue4 .. any video?

dark drum
# dusky cobalt What about using both? Like you can still have hierarchy but use data asset at t...

Data assets don't support hierarchy very well. (States it in the description)

Data assets are just a special type of uobject that self constructs and everything that uses the data asset uses the same uobject I believe.

So I can't see why you couldn't use data assets in your uobject item base for defining your static data but I'm not sure if there are any benefits though as you'd be splitting your item data across different places which isn't nice to work with.

light iron
#

Data assets support hierarchies just fine. Your base just needs to be a subclass of a data asset rather than an instance of a data asset

#

I.e, once you have your data asset definition, make a blueprint that subclasses that data asset type and use it to set the base values. Then for your “leaf nodes” of your hierarchy, create a data asset instance of the blueprint subclass you just made. It’ll use data inheritance to set the values from the base class. It’s very useful!

dusky cobalt
#

I'm planning to have hierarchy like Interactable > Selectable > Damagable > Unit for example and put Data Asset into the Unit and this Data Asset will also change some variables of the classes above. I'm not sure yet if it will work but I'm testing.

shut zenith
#

Has anyone else encountered issues drawing to a RenderTarget's Alpha channel?

woven portal
#

Hi everyone! 🙂

Has anyone ever implemented a building system like in The Sims 3 / 4 (or RTS) in Unreal Engine 4 / 5? For a life simulation game or RTS.
I need some tips how I can realize such a building system. Starting from the landscape changes (the player should be able to raise and lower the terrain, e.g. to place pools or cellars). I have no idea, how to realize this.

My first thoughts on this are:

  1. The landscape in UE 5 is not editable at runtime --> so my idea is to leave holes in the terrain and place plots of lands there, which are generated prozedural and the player can change them. Is this a good idea? Are there better ones?
  2. How can I draw a Grid like in this video?
    https://youtu.be/rd-m-aEG268?t=135
    Do I need to place actors there? Or are there some commands to draw lines in the world?
  3. How can I generate walls and replace the materials / wall painting / wallpaper at runtime?
  4. How can I hide the ceiling or walls, if the player is inside of the house?

Thanks for your advice!

I’ve been learning game development for about 6 months now, and on October 3rd I gave myself a challenge: learning how to create a life simulation game.
For the first two weeks, I uploaded a short video to show a feature I created every day, and now that it’s been 30 days, it’s time to reveal what I’ve learned!

Hey I’m Arnie, and this is my Gam...

▶ Play video
dark drum
light iron
#

Why do they not recommend this?

normal badge
#

@frosty heron Wanted to thank you. Thanks for sending me the correct way. Almost got my first prototype working

dark drum
# light iron Why do they not recommend this?

I don't know the reason but if I was to guess I would imagine it's down to how they function with the asset manager.

The same message appears on the description and multiple documentation relating to it so I'm sure there's a reason lol.

shut quarry
#

I'm making logic for when the player drops an item, any ideas on how to make it more realistic? Because the angle and whatnot is horrible

#

I just want it to fall the floor and then get the floor's rotation and then stick to the floor

#

But I have no idea how to do that, unless I make a BP_Floor object or something, and only use that for my floors

#

Question #2) Is this bad code etiquette? All i'm doing is getting the item at the specified index and returning it if its there. Otherwise it'll be null. Issue is, since the "get" node can return null it may hv probleems afterwards. Is it worth putting an if statement there? Or can I just leave it with the errors. Because right now its just sending the error msg and returning null, which is what I want. I just don't want the error msg.

light iron
#

That’s being said I would like to hear about why it’s not recommended if there is a good reason

dark drum
dark drum
shut quarry
#

so the target here is a component with childc omponents. Is there any way to only affect the scale of the parent component not the childs?

dark drum
shut quarry
#

*wrong reply

dark drum
shut quarry
#

uh this one?

#

do i set it t world?

#

yeah thats the one

shut quarry
shut quarry
dusky cobalt
#

Generally speaking if I have children and parents and I want to set some data from children to parent I just set these variables on begin play of children and then at the end I call to parent right?

shut quarry
#

don't know how its phasing thru the floro halfway liek that

dark drum
dark drum
shut quarry
#

is there a better way of changing the collision response? Like I don't wanna have like 5 of these nodes to change 5 things.

#

but i scaled the z to like 1/10th of that

#

I scaled it bcuz I want it to look like an item, I feel like i'm approaching this wrong

#

this is the visibility collision (after scale)

#

why doesni tjust lie flat why it slanted

#

like i don't hv any wind in my game it should like lock in place uk?

#

even now its swaying randomly

dark drum
shut quarry
#

thats how it ends up when it falls

#

its just chilling

dark drum
# shut quarry thats how it ends up when it falls

If that's the case I would imagine it's struggling with the small collision. I would just make a disc shape in blender and then set the collision in UE so you don't have to scale it. Really thin collisions can cause a lot of issues.

shut quarry
#

or i was thinking I could let it fall, doing a line collision downwards every 1 second and as soon as it hits anything solid it'll adopt that object's rotation and lock

#

I can do all of that, except for the get floor rotation

marsh sonnet
#

Hey there! Using Unreal Blueprints to make a beat em up. 3d space, 2d look--ortho camera. Right now, I'm having issues with my sprite's interaction with the level colliders when she turns to the left--see video. Anyone have any ideas? I'm rotating her when she turns left via the BP

shut quarry
#

I'm tryna have pawns ignored by this line trace by channel, but it seems I can't change the actors to ignore array elements? Can someone help me understand whats going on

#

this is Unreal's reason for not lettign me change the array

dark drum
shut quarry
#

if im beign honest, I haven o idea how to do that, and also this is all being done in the BP_ItemBase, so I want it to be easy to create new items and having to create a 2d image each time and scaling it in blender would be a pain

#

like i can create a flat cube

dark drum
shut quarry
#

but idk how to modify the collisions and whatnot

#

oh

#

tahts dumb

#

is there any way to populate that array with all actors

#

or do i hv to specify like BP_MyCharacter, BP_EnemyAI, BP_RandomBirdInTheSky

crude timber
#

Hi ! How can I draw a simple UI line along a Spline in blueprint ? I want to show a path. Surely using a Spline Mesh isn't necessary right ?

dark drum
maiden wadi
crude timber
#

I have a basic Spline drawn from coordinates to illustrate a Flight Plan and need just a very simple colored line to illustrate it

maiden wadi
#

Then even a spline mesh component won't help you. PostProcess might. Or arranging a set of widgets each frame tick along the spline.

dark drum
crude timber
spice gazelle
#

Does anyone have any experience with the Variable Access Library on the marketplace?

#

it's causing me to pull out what little hair I have left.

wraith loom
#

How do I put my variables into groups/folders? A plugin I downloaded has variables grouped into little drop-down menus.

spice gazelle
#

You set it by category

#

Click the variable, on the right hand sided viewer, you'll have a drop down option for Category, you can do whatever you want with that and then sort the variables into their categories.w

shut quarry
dark drum
crude timber
dark drum
crude timber
dark drum
trim matrix
#

Fixed the code to use a timeline and lerp. Got it to work, no more spinning around and it stops where it should, however now this is my new issue. ^^^^

spice gazelle
#

I take it that the Variable Access Function Library has not been used by anyone?

#

There's almost no documentation and no discord. I feel like I got dupped.

trim matrix
#

Thank you

trim matrix
lunar sleet
#

Tick fires every single frame. So if you put your timeline on it, which is a latent action, you’re going to get a spaz demon door from hell like you have

#

Additionally

#

Your timeline isn’t even connected properly

#

You want Play and Reverse. Set new time has nothing to do with it

trim matrix
lunar sleet
#

It’s cause you’re doing it all wrong

#

OnInteract -> if DoorIsClosed -> Play -> ifDoorIsOpen -> Reverse

trim matrix
#

Ok give me a sec

lunar sleet
#

You’ll prly also want to add a bit more logic if you don’t want to be able to interact with the door while the timeline plays (either another bool or a do once with a reset on completion)

trim matrix
# lunar sleet You’ll prly also want to add a bit more logic if you don’t want to be able to in...

Well wouldn't that kinda just make it so OnInteract, the door opens to 110 degrees, then obviously on reverse it just closes? The Amenesia door system allows the player to drag their mouse to linearly open the door, which is why I have the turn rate (which is the mouse turn rate) * the sensitivity the player has their mouse set to and plugged it into the timeline. Which I thought would update the tracks position correctly, which is did but then yea I ended up with the door jittering

lunar sleet
#

Oh I see, I didn’t know what this Amnesia mechanic was

trim matrix
lunar sleet
#

Well at that point the timeline might be overkill

trim matrix
spring hare
#

I come with a very irritating problem that probably has a very simple solution, that i'm overlooking. My axis movement is all messed up, W is right, D is forward and so forth. i'm following a tutorial on making a platformer and i'm following this tutorial to the letter, but i just don't understand what is going Anyone know whats going on? Thanks in advance!

lunar sleet
#

I haven’t tried doing something like this before tbh, idk how I’d approach this off the bat @trim matrix

crude timber
trim matrix
#

If I can find a solution I'll post it and possibly make a tutorial on it as judging by the comments on the tutorial I found people want a system like this

lunar sleet
crude timber
# dark drum Show how you're doing it.

The only node available is "Draw Line", singular, so I'm using a For each loop with the amount of points I have, and it draws a line every time using the previous point as the origin for that new line.

#

I guess that's the problem, it must create thousands of lines in the background

#

But there's no "draw lineS" (plural) node or Draw Spline node for that specific use

#

Maybe using Niagara to draw a Ribbon along my flightplan

dark drum
crude timber
dark drum
crude timber
#

Alright it works

chilly gazelle
#

When i'm spawning in AI classes, is it better to have a blueprint that contains all of the information I need (weapons, skin, helmet, etc), or is it better to have like an empty blueprint class that just spawns in a specific data asset with everything I need?

shut quarry
#

how to expose a component in blueprint as public

dark drum
wintry vault
#

Do you have any idea why the anim instance state machine switches to state, and ignoring the duration time?

eager python
#

Are custom Structs generally considered okay to use? Or would it be better to just have an actor with separate variables that can be referenced instead?

Ex) In a dungeon generator, I want to keep track of each Room's variables so I can check/manipulate them again later. Is this better done via a Struct or by having a separate BP for the Room itself and making the Dungeon BP add a bunch of Room BPs to it?

lofty rapids
#

so your just moving in the x, but your saying w doesn't go + 1 ?

spice gazelle
dry sleet
lofty rapids
spice gazelle
#

Asking again, does anyone have any experience with the variable access library in the marketplace?

#

It basically does away with casting and uses soft references to get info by name, but I’m having nothing but issues accessing components

#

The documentation was useless

dry sleet
#

that looks like a nightmare

lofty rapids
#

unfortunately it's something off the marketplace, you would need to find someone else who has used it or knows how to use it which is a lot more difficult than getting general help

#

your chances of success are a lot lower

spring hare
#

my brain hurts but everything seems to work now

spice gazelle
lofty rapids
#

is it possible to reach out to the creator ?

dawn gazelle
frail onyx
#

Anyone know how to make a similar system like the one from this video https://www.youtube.com/watch?v=ab9ZZ0fUIJs&t=735s with a pipe that pulls some objects that are simulating physics into it if the objects enter a box collision

Can I make a game in just 8 hours? Come along and let's find out together!

I've been seeing this type of content for a while now and everytime I do I think to myself, I wonder if I could do that? So today I tried the 24 Hour Game Challenge but to keep it fair to those who actually do it one day cut my time in half plus some. I hope you guys enj...

▶ Play video
dawn gazelle
spice gazelle
#

Get owner —> get object by name (player component)—> get int by name —> print string

ivory spoke
dark drum
ivory spoke
#

yeah this sounds interesting. I saw DT at Marketplace and adapt this

#

it feels bulky :/

#

I'am new to UE (startet about 5-6 Weeks ago) but came from Web Dev.

dark drum
ivory spoke
#

The DT Strategy they used was okay at first glance but actually I have stomach ache with it

dark drum
# ivory spoke yeah this sounds interesting. I saw DT at Marketplace and adapt this

I would only recommend using a data table for an inventory system if the items would be pretty simple and you need to be able to edit the data externally.

As things get more complex it becomes a pain to manage. You either have tons of redundant data or end up splitting data across multiple data tables which again, I don't think is very nice to work with.

spice gazelle
#

DT’s have its use, but I think Data Assets or UObjects are better suited for inventories and what not

spice gazelle
ivory spoke
#

And I need a way to create Recipes for some stuff (crafting)

#

based on different actors

#

for Example "seed machine" to get Seeds from Vegetables

dark drum
ivory spoke
#

so my stuff is complex, hm

#

yeah my actual stuff has different set of variables

#

seeds has there own growtimes and intervals for example

#

can I find some good tutorials where the UObject approach will be explained with good examples?

dark drum
cobalt gulch
#

How do i round the seconds up so it's a whole number rather than a decimal?

#

How do i do this for minutes too?

foggy escarp
#

@ivory spoke i definitely recommend data assets. At first glance it might seem like creating g a new asset for every object would be worse, but it's better in every way. It does make it easier to make inventory objects that might share most things accept a texture and basic info. You also get to use the asset manager which is a very efficient way to load them. Even if you have hundreds to thousands.

stone obsidian
#

Has anyone watched the Ryan Laley inventory series and know how I would add an equipment bar to it?

ivory spoke
dark drum
ivory spoke
#

What does hierarchy in this context mean?

dark drum
foggy escarp
versed sun
#

Anyone know if having an Alt+code in a Input Pin's name will be bad?
it compiles and runs... for now

foggy escarp
ivory spoke
#

so Base Item (set of base variables), Children: Tools -> with his own set of additional vars, Weapons with own Variables etc.?

dark drum
dark drum
ivory spoke
#

Ok, so UObjects seems to have more advantages?

maiden wadi
ivory spoke
dark drum
ivory spoke
#

Ok, I will look into this

#

hmpf

dark drum
ivory spoke
#

All stuff are working actually, and now I remake it xD

#

Hope the Results is worth it xD

maiden wadi
#

UObject Inventories > Struct inventories by far. Unless you're a programmer from 1990 and can't understand how other people might hate dealing with crappy architecture.

foggy escarp
dark drum
ivory spoke
#

are uobject inventory / item handling are better then dt ? the simple check for get this from inventory is a nightmare

maiden wadi
#

UObject does meant not datatable. Don't mix that up.

#

UObject Vs Struct for containment of runtime values.

DataAsset vs Datatable for static definitions

#

You can do either with either. But in general, a UObject inventory made with DataAssets will be a lot easier to work with and more scalable.

ivory spoke
#

actually I defined Structs and datatables

#

and work actually on actor to produce some stuff (seeds for this example)

#

so I have a recipe list (actual also dt where I say input item = pumpkin, output item = pumpkin seeds)

#

the actor check ok only this list of items can be inserted (recipe list for this actor) -> i need to check if the item player want to input is on the list

#

this checks seems laborious for me -> ( I need to break the structs and then check is dt and rowname equal) maybe there is a better way but this is my actual approach

dark drum
maiden wadi
#

Need defining tags on your items in their static data. You garden things can just compare if it has the tag in it's definition. Tag any items that are meant for gardens. Can even do subtags for different garden types. Small, Medium, Large, Alien, Etc

ivory spoke
#

This Input is nice

#

And maybe a rework is good for my proto

dark drum
# ivory spoke This Input is nice

But either way uobject or data asset, you'd be in a much better position.

My tutorial would probably be a good starting point and could be tweaked if you want to use data assets instead. You just have to remember that data assets should be treated as read only though.

maiden wadi
#

While you're at it. Don't forget to look up TileView or ListView widgets for your inventory. If you had a struct based inventory you might not have been using them.

ivory spoke
#

It is nice that actualy all stuff seems to Work but I learned so much. Some stuff need a rework

#

Yeah my actual Widgets used grid Panels

#

I have a inventory, actionbar and a sellbox

dark drum
maiden wadi
#

Many. For starts it instances them. If you have 200 items in the inventory but only see 13. Your way has 200 widgets in a vertical box. Listview has 13.

Second is that you do a lot less CPU work because of that instancing. You only set up, up to 13 widgets at a time in this case instead of 200.

#

Which means 13 textblocks set instead of 200, 13 icons set instead of 200, 13 etc etc etc instead of 200.

ivory spoke
#

All of the Widgets are early prototypes and Main Focus was to interact with Actors ( sell stuff, choose Item for usage (hotbar))

#

So I should use Listview?

dark drum
maiden wadi
#

Just much easier to optimize. Plus if you consider filtering and sorting. Listview you simply take the array of objects and filter or sort the array and put it back in the Listview. You don't need to manage clearing, caching, etc.

ivory spoke
#

Widget stuff is horror for me 🫣

dark drum
ivory spoke
#

Ok this make to feels a Bit better for me

#

Puh this will be a huge rework

#

But IT will be payed out with scale If the Project

dark drum
ivory spoke
#

Yeah the Same for me

#

i so really fast can I do a small Game Tests for some features ( Farm System, simple Combat Tests, weather, day night)

#

Maybe one week with First Hands on ue

#

Then i restart Project make These Things a Bit cleaner better, Work Things more Out and search for some Tutorials or Marketplace stuff i May use ( for example the ultimate Sky system

#

the ui Takes me two weeks and IT IS totally rough

foggy escarp
dusky cobalt
#

Hmm, what did I miss? I have Parent Class and Child. Child is in the level. On click I take Hit Actor and I'm casting to the parent but the cast fails?

ivory spoke
#

The Multiplayer stuff also Takes me two weeks

dark drum
ivory spoke
#

So no really MP but that all mechanics works replicated

#

Yeah I basicly rework all for mp

dark drum
proper vector
#

hello, sorry to interrupt, but i have a request for anyone here

proper vector
#

i have an assignment due today and i was procrastinating, I got some of the information down but i feel like Im not understanding something or i missed something from the lectures i watched, I just need some help with it or someone to tell me what im doing wrong so i can fix it, specifically for blueprints in Unreal 5

ivory spoke
#

Since them I can See how it must be implemented to Work on mp

dusky cobalt
dark drum
lofty rapids
#

you should get better help that way

dusky cobalt
ivory spoke
dark drum
#

I have an option that automatically sets the collision setting that's enabled by default for this reason lol.

ivory spoke
maiden wadi
# ivory spoke Widget stuff is horror for me 🫣

@dark drum Widgets are what I was trained on. 🙂 There's a reason I dramatically simplify everything and take care to consider how it can be accessed easily from UI in a dynamic way. UI is really easy when you don't constantly nailgun your own feet with your own gameplay code.

ivory spoke
#

I will completly rethink my widgets, the Data stuff is actualy better as on my First trys. But the controls....

#

I will need often Interfaces for boxes, Shops, other actors

#

So i have to Switch between two Arrays for example maybe also three

#

Info Focus in gamepad controls so i want to do simple left right top down navigation. I struggle with switches to the other grids and my actualy Key Management

#

I'am Sure I don't use best practise actualy 🤣

dark drum
ivory spoke
#

"Interface" is maybe the wrong word

#

I doesnt mean Interface in ue context

quasi steppe
#

Whenever I start the game online, the linetrace of all clients is spawned on the server and the client itself only checks the 2nd line trace that appears on the server on the server itself, how can I solve this?there are actually 3 line traces in the photo, it is not visible because it comes to the client's head.blueprints written on the player controller

ivory spoke
hollow pecan
#

Player 0 camera manager? Should you not just use the line trace on client and then if whatever condition is true then get the server to check?

#

Or am I missing something?

ivory spoke
#

Thanks you all for this Massive Input. I have alot of new todos in my list. I Wish you all a good night!!

dusky cobalt
dawn gazelle
# quasi steppe

Why are you even needing to multicast this at all when you're setting the values in replicated variables? You'd effectively be overriding either what the server is sending, or using the server's value depending on the timing of things.

Futher, the player controller only exists on the server and the owning client, no other clients would receive that multicast, so if your intention is hoping that all clients would receive the replicated variable data and perform the actions within that mutlicast, they will not.

quasi steppe
# dawn gazelle Why are you even needing to multicast this at all when you're setting the values...

The reason why I replicated the variables is to try it completely.Actually, there is a situation with the character ref as if I solved the problem.When I removed the character ref and replaced it with the camera manager location, it worked properly.I think I need to work on the references a little more.

I don't know multiplayer very well, I'm still learning. thanks for the information you have provided. where do you suggest I write these blueprints?

dawn gazelle
#

An example, I don't necessarily need to have a line trace done by all clients.... I could pass them the results of a line trace performed on the server or replicate what the server wants to happen based on that line trace without having to directly communicate anything about the line trace.

quasi steppe
#

It was meeting all my requests offline, but things really change when I switch to the online part. What I want to do is to connect a line trace to the event tick and meet all the requirements through it. I don't know if such a thing is possible online.

quasi steppe
hollow pecan
quasi steppe
#

These are the ones that come to my mind: interact, Placeable Items, Retrievable Items, type of item to break etc.

hollow pecan
#

Maybe I am not doing it the best way as I'm still learning myself but the way I done it was by making 2 functions, 1 for a line trace when a keybind is pressed then passes to the sever, and another for clients on event tick (for showing info on stuff you look at).

I don't think you would want to run on server / multicast the traces of all clients on an event tick, if that makes sense? For example if the client interacts with a door then it can be passed to the server and it will run the logic and update variables (In this case I think you would have an RepNotify bool for if the door is open or closed) then multicast the animation of the door opening.)

#

at least to my understanding anyway, I'm sure somebody will correct me if I'm wrong

eager python
#

Someone kill me please. Been trying to find this stupid runaway loop all day and came up with nothing. Worse, my dungeon generator now functions less well than it did this morning. I may just revert.

maiden wadi
eager python
#

Yeah but the things it points at don't even make sense in terms of looping that hard.

maiden wadi
#

A calls B calls C calls D calls A

quasi steppe
eager python
#

I think it's just angry that I'm looping "For Each" through my array of custom Room Structs, and then through each of the struct's arrays, but even then it shouldn't reach a million loops since I'm only adding 10 rooms with a max area of 20 tiles.

#

But I literally cannot figure out wtf is wrong

maiden wadi
#

Depends on what all you're doing in those loops. The BP loop counter isn't specific to loop counts. It's kind of a function counter. So a 1k loop can still easily trigger it if you do enough function calls in the loop.

eager python
#

Wow, I hate that.

maiden wadi
#

The major killer is calling pure functions through multiple loops. Because loops are a macro. So accessing the index or loop item accesses the array. And if you're passing that from something in one loop, and then breaking a struct to get another array and looping it. You're getting that array again in every iteration of the second loop.

eager python
#

That might do it. So, issue 1 is tentatively answered. Moving to issue 2, for some reason my generator randomly decides to put a room where it shouldn't, and I haven't been able to figure out why...

#

Is it possible it thinks "ROGUE LOOP!!" and kills itself prematurely?

#

Possibly targeting a previous location?

maiden wadi
#

Like...

#

This is a good example.

#

The pure node on the left is ran 70 times, because it's being accessed 70 times through the loops.

cursive grove
#

I have a VERY weird bug going on.

My custom VR pawn, stopped simulating physics on release, for objects.
Funny thing is, my backup VR pawn works fine.

I tried to delete all logic apart from the grab/release, I tried copying the related code and functions from the backup pawn and made sure nested functions are also from the backup pawn, I checked class settings and class defaults, and also checked around and there is no casting to my VR pawn. I even checked time dilation and trace channels, everything looks the same 😭

topaz condor
#

hey guys i have a blueprint for a ClosetDoorL and ClosetDoorR, when im hiding in the closet i want to disable the function of flashlight in my character bp, im thinking i did it right here but its not working. any ideas?

lunar sleet
eager python
topaz condor
lunar sleet
topaz condor
lunar sleet
#

ok, and then?

topaz condor
#

added it to imc default

lunar sleet
#

there you go

#

now create a new IMC

#

remove it from the default

#

put it in the new one

dusky cobalt
#

you could add 2nd one on top of the first one by setting priority and then just removing it when you need to access switching again

topaz condor
#

are you saying create another imc for when im in the closet?

lunar sleet
# lunar sleet put it in the new one

then onEnteringCloset -> get player controller, -> get enhanced input local subsystem drag from it -> remove mapping context.
onExitingCloset -> readd it

lunar sleet
dusky cobalt
#

when you understand it its crazy powerfull tool

#

much more straighforward ''modes'' nstead of using booleans and diging yourself a grave with amount of them

topaz condor
#

yea i havent played with it much so im just using the templates and adding the the current imc, so when i create a new imc does it need to be called on the closet blueprints?

dusky cobalt
#

you can call it from any blueprint I think if you Get Player Controller there

maiden wadi
#

Without C++, I would say you need to spread this out over some frames.

eager python
#

Elaborate on spreading it over some frames?

steel star
#

hm you can make a blueprint function call into an async task of some sort? not something ive tried looking into yet

#

with like, idk a yield node

eager python
#

I suppose I could also just scrap it and start over, and make it generate one Room at a time, but I feel like that's boring

maiden wadi
#

Like uh... Hard to express easily. But I mean doing some logic, do a DelayUntilNextTick, do more logic, wait do more, wait, etc until it's all done. It's not the easiest thing to start doing, but once you get used it it, it's really worth it. You get much less hitching in the game, better loading screens, and you can pass console certifications. 😄

steel star
#

makes sense to me, delay until next tick would be the yield node i was figuring existed

topaz condor
eager python
steel star
#

will it resume the blueprint at that point without being called again, i assume?

frosty heron
#

Only latent async task I used is Gas task

maiden wadi
frosty heron
#

But you can see load async code as well

#

It will have a pin in the bp when a certain task is complete. Basically just a delegate broadcast

dusky cobalt
# topaz condor do i gotta add the imc to the project settings?

Nah, just use Get Player Controller > Get Enhanced Input > Add Mapping Context/ Remove Mapping Context based on situation. You just need to think when you want player to have input that switches doors and when it doesn't need it because it does anything else.

Treat it like now player enters Opening/Closing Door mode, when he leaves remove it so you are back to the ''default'' one that you already have.

maiden wadi
#

Yeah, what Cold said. 😄

eager python
topaz condor
maiden wadi
# eager python Alright, I'll see what I can figure out. Thanks for the advice!

My final advice would be C++. Even if just to create nodes to loop through data. Generation stuff is really brutal in BP due to copies and such everywhere and the general issues with performance. You do a ton of loops, recursion and data lookup for generation and BP just breaks down with this stuff. Couple loops in a C++ function won't blink where as the same thing in BP can cause a frame spike, or break the loop counter.

inner vessel
mighty coral
#

Hi all,

I am wanting to build some lag-free custom multiplayer character movement in blueprints, but can't do it with a server authority without introducing network lag.

I have found this pack on marketplace: https://www.unrealengine.com/marketplace/en-US/product/general-movement-component but it has a lot of features that aren't required for our project and feels a bit like overkill.

But then again, maybe it isn't overkill. "Implementing lag-free, server-authoritative multiplayer movement is a notoriously difficult task and very hard to get right - the GMC will help you immensely with this by automating almost all of the complex setup required for you."

Are there any other plugins or solutions to this problem? Our team has a lot of blueprint only devs and would much prefer to design our movement abilities in blueprints. They aren't complicated -- they just need to be lag-free.

Thanks!

Unreal Engine

Save hundreds of hours of work with this innovative locomotion framework which completely replaces Unreal's built-in character movement with a much more comprehensive and easier-to-use alternative - no C++ required.

lunar sleet
#

#multiplayer can help but bp only multiplayer is...difficult at best

stone obsidian
#

Does anyone know a good tutorial for equiment slots for ue5?

wise ravine
#

I've got a 'Make Soft Reference' and not a 'Resolve Soft Reference'

mighty coral
#

I think it's called network prediction but I don't know all the terms

frosty heron
#

The term you looking for is client prediction btw

#

Right now you have 3 choices, the cmc, GMC or mover 2.0. All of them require cpp at some point if you are doing multiplayer from what I read

frosty heron
wise ravine
inner vessel
mighty coral
#

And yeah final alternative to do C++ with CMC ourselves I suppose

fiery sierra
frosty heron
hollow galleon
#

C++ is great @mighty coral, join the dark side 🙊

trim matrix
#

depends

hollow galleon
#

what depends

trim matrix
#

(hard)

#

@worthy jasper any more questions on advanced BP stuff?

worthy jasper
#

you dont know advanced

trim matrix
#

ask me some

#

(medium)

worthy jasper
#

your not even novice

trim matrix
#

question me

hollow galleon
worthy jasper
#

already asked a question and it took a minute to get that answer....ive procrastinated enough on my project tonight XD

worthy jasper
maiden wadi
#

Can you guys go back to C++? We like actually having vaguely intellectual conversations in BP.

mighty coral
worthy jasper
storm shale
mighty coral
maiden wadi
trim matrix
#

I'm neither

worthy jasper
maiden wadi
storm shale
#

A bet cat knows advanced blueprint networking strats (not /s)

trim matrix
#

that's a great ass response

open dune
#

anyone working on a spiritual sequel kind of game?

maiden wadi
storm shale
open dune
trim matrix
open dune
#

i'd love to see this game done in 3D one day

storm shale
open dune
#

yes because that's what the original devs intended but could never make

maiden wadi
#

Could be neat.. Man I miss old UI styles.

open dune
#

yes, very diegetic ui

#

buttons feel like they're part of the ship

faint pasture
#

diagetic is the way to go

#

me and all my homies HATE our immersion being ruined

slate oracle
quaint fable
#

I could really use some help here. I was following a tutorial and I have no idea why this isn't working properly.

I am implementing an interaction system. The way this system is set up is probably more complicated than it needs to be. When I press the input key to interact, "IA_InteractHold", the player character should try to interact from this function in an actor component.

I end up with this error:

I'll show screenshots for the rest of the code in the next message

#

I have it set up so that the player character trace will detect the interactable object, which displays an outline and a widget. After pressing E, it should execute a function. In this case I have it set up so that a light will be set to visible, but nothing happens. The "BP_TestInteractionItem" is the actor I'm using to test this

graceful sage
#

The part you set the variable need to see more to the left and what event it is

quaint fable
quaint fable
graceful sage
#

But your trying to get widget that doesn't exist yet I think just by glancing I'm on phone so it's a pain go look at

quaint fable
#

Check out my inventory system:
🌿https://www.unrealengine.com/marketplace/en-US/product/multiplayer-inventory-drag-drop

Series for an interaction system. In this video I only show how to use the system after you finished the whole series. This is NOT a tutorial were you're implementing/creating the actual system.
Here is the playlist to the who...

▶ Play video
#

Is there a more stream lined way that I could do this?

graceful sage
#

Look into bp interfaces

#

But I haven't checked video so not sure

old sand
#

Question. I made a dialogue system based off of a tutorial, but the dialogue is timed. Is there a way to keep the dialogue shown until the player interacts with it?

#

Here's the whole bp for the hud

#

Let me know if anything else is needed

faint forge
#

Did you find a solution?

stable fossil
#

I ended up storing the variables somewhere else

fiery sierra
#

I need a little help, I'm trying to clamp the rotation of my character, I cannot figure out how to clamp it properly. The method I am using is to rotate the upper torso of the character with the camera, however it breaks whenever I try to clamp it, or only works if I look a certain way. Any help is appreciated !

fiery sierra
faint forge
fiery sierra
# faint forge from AnimBp, or even the Bp of the character
Epic Developer Community Forums

Was just looking for this and found a solution, although very hard to find, so I am relaying this so it can get out more! Once you add a variable to control rig, it is then accessible within your animation blueprint. If you don’t have an animation blueprint yet, there is now a “ControlRig” node that you can place in the AnimGraph. You can then ...

faint forge
lilac storm
#

Hello devs , plesae help , i am trying to set Scalability Settings to Low ,but Textures , Effects , Shadows and Post Proccessing is got reset to Epic every time , how to fix it ? anyone faced same issue ? plesase helppp

dusky cobalt
# quaint fable I have it set up so that the player character trace will detect the interactable...

You should use overlapping event to detect when you are in the range of interaction and then when you interact you interact with the thing that you overlapped.

Or when you click IA_interact it shoots line trace, checks what it hit and send event Interact to that actor. Don’t use do once and so many booleans. Do it in the most simple way - click - check - send interface event > interface event on that thing does something (can be different thing on each item). Then you can add boleans and checks that you need.

frosty heron
#

Btw that start and end location can probably be done in the anim blueprint

#

Also I don't see any clamping logic there?

fiery sierra
#

I removed it all, it was such a mess.

fiery sierra
frosty heron
#

I got head tracking work with clamping

#

Still at work right now tho

fiery sierra
#

if you could share once you're home, I'd like to learn

frosty heron
#

Yeah sure, it's not exactly the same use case but I don't see how the math would be diff

#

Find look at rotation but involve the actor rotation, iirc I have to subtract one of the axis.

#

Then it would work on all angle

fiery sierra
#

oh wow ok

#

yeah I've spent probably 6 hours getting it to where it's at

#

a lot of it was getting it to initially work

frosty heron
#

Well I can't do math, got this from the internet

fiery sierra
#

I feel that

frosty heron
#

Had my challenges too, did this like more than 8 years ago.

fiery sierra
#

oh damn

#

yea I been using ue5 for like a week

#

my biggest accomplishment so far has been a small 2d top down with projectiles, killable actors that spawn randomly and mouse rotation in the 2d top down

vast mason
#

Hi everyone!

I'm having an issue with my PS5 console. When I install a new version of Unreal game, the save data from the previous version gets corrupted. However, if I reinstall the same version of the game, the save data remains intact unless a new build of the game is installed.

Does anyone know what could be causing this problem?

frosty heron
#

@fiery sierra are you just doing it for hobby or more than a hobby?

#

If you are comfortable with bp, you should start learning cpp imo. I regret not learning it earlier

fiery sierra
#

as a hobby, the goal is to get my GED and do this full time at some point. but I actually know C++ ! I would just need to learn the namespaces etc 🙂

frosty heron
#

Well that's just the intro, I know a very tiny bit of it but enough to make little things here and there that's not possible in bp

#

You should at least declare your structs in cpp

#

Save your self from corrupting your project

fiery sierra
#

oh definitely, I wanna learn the engine a lot. My boyfriend is about to graduate with a BA in game design from full sail university, and we wanna make games together, so I pretty much said now is better than ever to start learning.

#

I previously did C++ menus on CoD but I just wanna do this shit tbh

dusky cobalt
fiery sierra
#

So how would you go about accessing the stuff declared in cpp or h files? (if h is even useable in ue5)

frosty heron
# dusky cobalt and enums 😄

I heard about the issue with enum, but I never experience it my self.

Still I declare the enum in cpp now anyway since if I do it in bp, it won't be reachable in the cpp land

frosty heron
frosty heron
#

If you are considering using cpp at some point , better to start declaring variables there before you start the game with your bf

#

Saves you time from refactoring

fiery sierra
#

Truu

#

I’ll keep that in mind!

young meteor
#

Hey folks

I'm trying to limit the rotation rate of enemies because right now the just "snap" the rotation towards their destination when this destination change.
Where would I find such a setting (if there is one). I tried adjusting "Rotation Speed" and "Rotation Rate" in the screenshot without luck:

frosty heron
#

1200 is pretty fast imo

young meteor
#

tried setting it to 0,12. No difference

frosty heron
#

If you are using cmc, I'm pretty sure rotation speed does the trick for me

#

How are you rotating the character?

young meteor
#

I'm not doing it manually. Just using an "AI Move to" node.

frosty heron
#

Sorry not rotation speed, it should be rotation rate

#

Play around with each of the axis

young meteor
#

The 0's might be unlimited? Testing..

#

No luck no matter what I do.

dusky cobalt
#

in class defaults in Pawn category

#

and then you have to go to Character Movement and check Use Controller Desired Rotation (true)

young meteor
#

Testing

dusky cobalt
#

and then you can use Rotation Rate (Z) that is Rotation Rate per second

frosty heron
#

That sounds like the solution

dusky cobalt
#

so if you set it to 10 it's gonna take 36 seconds to rotate 360*

#

if you set it to 360 (default) its gonna take 1 second to fully rotate

young meteor
#

Now it is indeed affecting rotation rate. So it accomplished what I asked for.
Sadly it still looks janky. Probably can't get around that without updating destination much more frequently though.
(The issue is enemies moving along a spline looking janky when they turn corners)
Only update destination every 0,2 secons at the moment because I try to have it somewhat performant.

gentle urchin
#

cant you just update on tick ?

young meteor
#

But I highly appreciate your help. It does at least smooth it a bit.

gentle urchin
#

chiming in at the end here, got no clue what you're doing 😄

young meteor
#

Could. Just seems the "AI Move To" node is already taking up quite a bit of performance when looking in UE Insights tool.

#

So was trying to reduce how often I do it 🙂

dusky cobalt
#

I think putting it on tick with 0.2 rate is a bad idea?

gentle urchin
#

yes

dusky cobalt
#

There must be better way 😄

gentle urchin
#

if you go tick, just to full tick

young meteor
gentle urchin
#

it's movement so tick is fine

#

required ,even

dusky cobalt
#

I tried this too, I'm sure it's not the right way to optimize, it just looks horrible

young meteor
#

Could maybe do logic for making it tick at 0,2 and then when a turn is ahead up it to every tick, and then back to 0,2 or something after turn.

#

It's a predefined path, so should be doable.

dusky cobalt
#

I really wish I could help you with the right anserw, but I think (just talking from my experience), it's not something you have to really worry so much right now?

frosty heron
#

My A.I follow my player on tick

young meteor
#

Best thing is probably to run a test with 0,2 and every tick and see what difference it actually makes in UE Insights first.

frosty heron
#

I don't see any performance drop

remote meteor
#

you want to look at the thing in UPathFollowingComponent

#

uhh i forgot what is it exaclty

dusky cobalt
#

You know I was really stressing about performance in my game and recently I packed it, spawned 50 character meshes and it was working without any lag, meanwhile when it was in the editor it was strugling 😄

remote meteor
#

but it matters with the facing of the actor towards its sub-goal

#

and also the velocity of it

young meteor
remote meteor
#

UPathFollowingComponent is automatically added to the controller when AIMoveTo is used

frosty heron
young meteor
frosty heron
#

I made a space war mini game inside a game I'm working on.

Finished it, then when it comes to test, I scrapped it because I was lagging in editor.

Turns out it didn't even cost me 2 frames in packaged

young meteor
#

Running only 30-60 fps in my packaged game.

#

Don't expect all players to have comparable PC specs (not that mine are super good)

frosty heron
#

Anyway I set the goal every tick for my A.I. no issue on performance on my end that I see

#

BT is running every tick

young meteor
#

Or you mean something else?

frosty heron
#

Move To gets called every frame too iirc

#

Move To (goal (vector))

#

Since my character constantly moving

young meteor
#

Okay. Thank you. Will have to test in the end. Gets me a clear answer.

devout tide
#

Move to is not called every tick, it simply fires a Move To event. Observing the target actor/location might be doing that though

frosty heron
#

A.I related

devout tide
#

I get that, but the BTT also only fires that once

frosty heron
#

Depend on how you set up the BTT

remote meteor
#

firing it on tick means their path will be updated every tick

frosty heron
#

Mine just keep running it every tick as long my A.I is in following mode

devout tide
#

Well, if you setup your BTT to constantly call MoveTo, thats something to optimize already to only call when necessary

frosty heron
#

Yup, and if I call it once then I would be doing it incorrectly

#

Since it will just move to the initial location of the player instead following the player all the time

devout tide
#

There's already dynamic nav mesh update and observing your target location/actor for any changes

frosty heron
#

I dunnoe about optimisation

devout tide
#

Did you check to observe the value?

remote meteor
#

you need to use Actor rather than Location tho

frosty heron
#

But I am not gonna optimise something when I don't need to yet

devout tide
#

Its a check box in the MoveTo BTT

gentle urchin
devout tide
#

Better earlier than later, its a general approach to do things right in the first place

remote meteor
#

when you have the actor reference, the path following component will update the goal to the target location

frosty heron
young meteor
devout tide
#

Calling Move on on every tick? Not really

gentle urchin
#

Gotcha

frosty heron
#

Well not gonna argue with something I don't know about

gentle urchin
#

isnt there specifically a spline move comp aswell? if they're moving along splines..

frosty heron
#

But I am not seeing performance issue on my end

devout tide
#

You just check observe value and your issue is fixed, rerunning a task can also block other logic in your BT ad overall this is not the idea with BTTs unless actually necessary

gentle urchin
devout tide
#

observe here will move to the blackboard key actor without having to rerun the task from the BT

remote meteor
#

oh if we are asking the ai to move along a spline (with actual curve)

#

tick is the only way

gentle urchin
#

tick is always the way for movement 😄

remote meteor
#

ai move to is just basically straight lines

devout tide
#

AI move to uses a specific pathfinding route

#

if you want to follow a spline, thats a different story

gentle urchin
#

Indeed

#

tricky to get ai moveto to follow a spline

#

can be done, but tricky

#

overriding nav area under spline etc

devout tide
#

You can basically split it into a few MoveTo tasks by dividing the length/distance of the spline with the distance per move to, something like 100/200/500 unreal units depending on how precise it should be

gentle urchin
#

thats also an option

#

many ways to Rome™️

devout tide
#

Then just move to that location using the "Get location along spline distance" and each time it moves, you move to its current distance + to add distance

gentle urchin
#

Im also using splines in my AI setup

young meteor
#

I indeed want to move along a Spline with a curve (and turns). Watching your inputs intensely 😄

frosty heron
#

I mean sometime we get to the point where people fear line trace on tick.

Again I know nothing about move to performance wise but just saying before I optimise something that is not an issue, I would at least would like to know if someone already profile or have issues with it.

devout tide
#

Again, wouldnt use tick to move to each unique point of a spline though

gentle urchin
#

thats enough

frosty heron
remote meteor
#

performance is one, but requiring it is different tho

devout tide
#

If you are ticking a trace for user interaction, its fine. If you are tracing 100 AIs at once, and depending on the trace type, things will start getting slow. For example, having a few sphere traces in game going on at tick will already crash your FPS

#

Sometimes, there are better approaches than using a more heavy approach to do the same thing

young meteor
devout tide
#

For a spline, its a bit different. I would suggest making a few Move To tasks depending on the length/distnace of your spline

#

then each time it reaches that spot (or potentially sooner so it wouldnt stop) you increase your target location

remote meteor
#

personally, if i need the enemy to strafe/run around target, i just use addmovementinput on tick like a player would

devout tide
#

You can use the Get Location At Distance Along Spline node for this

young meteor
devout tide
#

when do you call this though?

young meteor
#

Now on every Tick because it looks janky otherwise.

devout tide
#

Have you tried calling this before it reaches its target location?

young meteor
#

I think I do that all the time? Trying to set a distance far enough away (depending on movespeed) that the pawn would not get there before I call the function again.

devout tide
#

so its not really then called on every tick

#

your branch is

#

what I mean is, you set your character to go to spline distance 100, once its reaching that distance - acceptance radius, only then trigger to move to the next point which would be current target distance + whatever your distance increase value is

young meteor
#

So acceptance Radius is basically ignoring calling that node again if it is not within that Radius?

devout tide
#

No, thats the radius the pawn will stop moving if within the range

young meteor
#

Ah

devout tide
#

But in your tick, before calling this event, you can check if your current location is close to your target location and if so, then call move to again but with the increased distance this time

clever rose
#

Is it possible to disable an emssive material on event?

devout tide
#

Make a dynamic material instance of the emissive material, then set its scalar parameter value for emissive to 0, but for that you must first have a scalar parameter in the material that is used for the emissiveness

young meteor
dusky cobalt
#

If you have 10 points to go to, you should call the Ai Move To 10 times, not on tick.

devout tide
#

yeah, per point would be good too

young meteor
devout tide
#

your spline points are following the spline path though

#

but thats what I mentioned above

dusky cobalt
#

You can add more spline points on the spline if you want it to be more accurate

devout tide
#

make it use distance and decrease it by the amount that feels good

#

for example, make it move to every 1m(100uu) passed

young meteor
devout tide
#

no, in the case of distance they wouldnt

#

and even for points it wouldnt

dusky cobalt
#

Yes, if you skip corner point

devout tide
#

cause you do have a mid point there

#

spline points refers to each spline point, not just the start/end points

young meteor
#

Oh, you can actually get the Spline "points" (little grey square on Spline?)

dusky cobalt
#

You need For Each Loop > Get 00 Spline Point > Get Spline Point Location > Set Target Location > Ai Move to
on succes you> Spline Point +1 > Get Spline Point Location > Set Target Location > Ai Move to > Success
Spline Point +1 > Set Target Location > Ai Move To > etc.

young meteor
#

I just got a distance along Spline and considered that a "point" in my head.

dusky cobalt
#

You can do almost anything with the spline.
You can get spline location at point (index).

devout tide
#

For each loop wont wait for Move to btw

#

this is the general idea

young meteor
#

And if I curve a spline instead of a corner, I just need to make sure I place enough "Points" on the spline along the curve when I make the actual Spline right? (Again to avoid Shortcuts)

#

This is awesome. Sorry for being so slow 😄

#

Thank you all.

dusky cobalt
cursive grove
#

I have a VERY weird bug going on.

My custom VR pawn, stopped simulating physics on release, for objects.
Funny thing is, my backup VR pawn works fine.

-both are using the same grab component
-I tried deleting all other logic and just kept grab/release.
-I copied the same logic from the backup pawn
-Checked for 'casting' nodes, there are none.
-Checked class defaults and class settings
-Checked time dilation
-Checked input mapping and begin play nodes, all are the same.

I don't know what else to do 🥲
HELP!

devout tide
#

does the logic fire at all?

cursive grove
#

yes

#

I even print screens to see what was released and what not

devout tide
#

where is the call that simulates physics tho?

#

I guess its within the unreal template's grab compoennt function for releasing

#

you can probably add a breakpoint within that functiont o check whats going on

cursive grove
#

it runs through that fine. Yes it is the grab component. The backup pawn is using that exact same component and it works fine

#

Which means the problem is not in the grab component, nor in the items getting grabbed. It's the pawn, but everything looks like EXACTLY the same

#

I even tried duplicating it in case there was something bugged

devout tide
#

does that simulate physics node get called? Did you print string it to make sure?

cursive grove
#

Yea, it says true but stays at exactly the same place

devout tide
#

was that print string added right after the simulate physics? is there any other logic could disable physics again?

#

It can also be the chaos sleeping physics thing

#

maybe for testing, apply some force to it right after simulating physics

cursive grove
#

The problem is not in the object, as it works fine with the backup pawn.

devout tide
#

Doesnt matter, it could still sleep and not properly apply physics. Id suggest trying that

#

You can also try calling Wake All Rigidbodies on the physics component

twilit ledge
#

Hello Everyone,
can someone help me?
I am using this node to move my actor and at a spcfic point I want the actor movment going to 0 how can I do it?
I tried to put in impluse the yellow one value =0 it doesnot work. Does anyone know how to change my actor speed to 0?

devout tide
#

is it a physics component?

twilit ledge
#

Thanks

#

I am using phsysics in it

#

It works better than normal and do you know how to do that for rotation too?

#

I mean set it to 0

devout tide
#

set physics angular velocity

twilit ledge
#

Thanks so much. I am new to UE that is why I donot know too much

final berry
#

Hello! I was wondering about some best practices when it comes to implementing UI.
So far I know of two ways.
I got a levelloader map which loads in each level/phase whatever you want to call it, each of them needs to get a different UI.
Is it better to have one parent UI and then hide and show the elements I need for each level after I load them in
Or should I have one UI BP for each of the levels and completely remove all UI's and then add the one I need for that level?

Or is there a better third option I don't know about yet? 🙂

devout tide
#

Definitely separate UIs for different levels, sounds more maintainable

maiden wadi
# final berry Hello! I was wondering about some best practices when it comes to implementing U...

Things to consider. Widgets are expensive. Not immediately. But due to the way people plaster them everywhere, they add up fast. Every widget that is not cached(they don't do this by default you have to put them in invalidation boxes), will tick it's dimensions every frame in a thing called Prepass. This runs on every widget in the hierarchy except for collapsed widgets. So you can just collapse them right? Except that there's another function that'll hit test widgets, and it has to filter out the collapsed ones, so it costs a ton even for collapsed widgets. TLDR, just don't put useless stuff in your widgets that'll never be seen.

young meteor
#

Might be a stupid question, but can I set a "Rotation" for a Spline Point?
I have flying aircraft following the Spline and are looking for some way to make them "roll". Wondering if I can interpolate to a roll based on Spline Point Rotation/roll?

devout tide
#

you can roll a spline point but ideally not the whole pline, as that would offset your spline point locations

#

each spline point has a transform including a rotation roll

young meteor
#

So I could just set a rotation like this, even though I can't see it changing visually?

devout tide
#

you can check the pivot Z direction

#

might need to switch to local first though

maiden wadi
#

@young meteor You need nav areas.

young meteor
young meteor
#

It is just a character walking. The mesh is just an aircraft.

devout tide
#

ah thats different

#

if you are using nav mesh then you would probably get the roll of the spline and apply it to the mesh component only

young meteor
#

Right, exactly.

devout tide
#

roll of the current spline rotation role at the currentt distance

young meteor
#

It will only happen at curves/corners so think I will just make a point before and after a corner with no roll, and then the actual corner point with whatever roll I want.

#

Then interpolate to and from it

maiden wadi
#

I'd be inclined just to give the spline to the AI and have it steer it's movement towards the point on the spline ahead of it. Rotations can be done based on it's figured velocities.

primal hare
#

Is this expensive use of Event tick?

maiden wadi
#

No. But why are you doing that on tick and not when you set the Food pointer?

devout tide
#

you are binding on event tick, you just need to bind once and whenever the disaptcher is called, the binded event would fire

#

@young meteor then id agree with @maiden wadi, calculate and interpolate with some math, would by easier to work with when mkaing more and bigger paths

young meteor
dark drum
maiden wadi
#

Movement components, and by that extention pawns, work by adding a movement input in a direction. So instead of doing AIMoveTo. Each tick you can figure where the AI needs to go by getting the spline and doing AddMovementInput in the direction that is ahead of it. If you get the distance along spline the actor is add and then add a small number to it, you can get the direction it needs to move towards. You can then use it's velocity to do interpolated roll animations as the movement component will be setting this each frame.

devout tide
#

Do keep in mind this approach will not allow for any pathfinding though, depends on the kind of movement and levels you are making

graceful sage
#

is this a engine bug? It works but I have this warning/note

dark drum
graceful sage
#

oh okay thanks

maiden wadi
#

TBH I'd love to know why that note exists. Like any C++ person can clearly see the const& array. And in BP you just assume they're copies most times anyhow.

dark drum
maiden wadi
#

But it's an RPC. "Like yeah, I was totally confused why my array by ref couldn't be accessed on ComputerB when it's from ComputerA, that's really weird."

devout tide
#

yeah only makes sense in delegates/dispatchers in bp

graceful sage
#

I think its because you used to be able to uncheck the pass by reference in an older version and now its disabled? just guessing.

devout tide
#

why is it even enabled? 😄

dusky cobalt
#

Is it possible to have Parent and Child. Parent has Interface Select This, there is some generic part of code for everything, and then in the Child I could add individual logic on top of what happened in Parent on Select This? If so, how?

frosty heron
#

does it even make sense to pass by ref in an RPC?
Like it's incoming data that is serialized in your machine

devout tide
#

no

#

there is no reference in an RPC, its different machines

frosty heron
#

Exactly

maiden wadi
#

It is a ref to the array, it's just const.

frosty heron
#

so It make no sense to me to pass by ref

graceful sage
#

im just saying I cant change it

maiden wadi
#

Everything in RPCs is passed as const TArray<Type>& Name. Cause it'll copy when it arrives on the machine, but you don't want it copying all the way through BP, so it's passed as a const ref.

dark drum
#

I don't get the message myself in 5.4 though. 🤷‍♂️

dark drum
devout tide
#

I dont recall seeing this in RPCs, maybe he is also binding it somewhere

dusky cobalt
dark drum
dusky cobalt
#

Okay, got it, thanks

wise ravine
#

Is there a difference between these two? Functionality wise

frosty heron
#

less nodes using the top one

#

be more efficient

remote meteor
#

if you click inside the macro, you will see they are the same

dark drum
#

This is the top is valid node.

wise ravine
#

Oh right

#

@dark drum Your inventory tutorial series has been very helpful btw

dark drum
maiden wadi
#

Pattym and Ghislain Girardot, slowly changing how I feel about youtube. 😄

vast bone
#

Play montage is looping the montage animation , how do i stop it from looping

devout tide
#

maybe your montage section is set to loop?

vast bone
#

Where do i set that

#

Let me check

devout tide
#

this would loop

#

this would fix that

dark drum
ivory spoke
maiden wadi
#

His tech art demonstrations are what started me down some of my most recent learning paths. He has some amazing content and presents it in a very easy to follow manner.

maiden wadi
dark drum
dark drum
#

It bugs me that you can set a variable as instance editable and private but it doesn't actually show up when the component is selected to set it's default value. :/

#

You have to open the property matrix to change it.

maiden wadi
#

Oh, BP private actually works? I swear I tried using that once and I could still use it in another class.

dark drum
maiden wadi
#

I have actually never focused on that in BP. 😂 I'm meticulous about it in C++ these days.

dark drum
#

I've found myself using private and protect stuff more. Mainly for my own sanity when i don't look at something for a while. Stops me from doing something stupid a system won't handle well haha.

#

Even setting a BP as abstract can be useful so you can't create base classes that wouldn't actually function lol.

devout tide
#

Having private checked and still copying a Set node from one BP to another bypasses it though, at least it did in previous versions

jagged moss
#

could someone explain something for me?
Im currently learning, and I realised if I put "AI MoveTo" right after cast to FPS_Character_BP it moves to x00 y00 z00, but if i put it after the "SET" as shown in the picture it follows the character, could someone explain it to me why that makes a difference?

devout tide
#

because you are moving to GoalActor before you set it, so its moving to nothing

#

in that case you would do this

#

but, no need to cast at all if you are only using it as a GoalActor as it takes an Actor object reference

jagged moss
#

ah, yea i see it now ^^ thanks ^^ its so easy to get lost in the wrong thought

maiden wadi
#

They're probably using the cast as a filter.

jagged moss
#

im following a course so i think it will clean up a bit later, first it was making it print a string instead of moving, and now im adding movement as a task

#

This was the correct solution to the task x)

devout tide
ivory spoke
dark drum
sinful topaz
#

I'm following a youtube tutorial and I have a problem with this for each loop only outputting the first state in the make array node. The reason for the make array node is to make it so that tiles on my grid will be displayed with color in that order. Right now it only shows the first color

maiden wadi
#

In the inventories you are used to. You have an array of structs holding runtime data. And then you have a datatable which holds their non changing static data.

This translates directly to having an array of UObjects holding runtime data and still having a datatable holding the non changing static data.

devout tide
#

branch most likely never being true?

#

States is empty?

#

Set your States from that make array, then loop

#

Ah wait, you are returning

#

the function would end short in the very first return, which stops the function

ivory spoke
# dark drum What do you mean by example? example of what exactly?

@dark drum @maiden wadi mentioned that i mixing static data and runtime data. And I put static data still in Datatables. Actually I dont know how this will work. Actually I also have no clue what "You instantiate uobject to hold runtime data" exactly mean. Hope I will get it after you video 🤣 .

devout tide
#

what is this even supposed to be doing? 😄

dark drum
final berry
maiden wadi
devout tide
#

just use something like this @sinful topaz

dark drum
maiden wadi
#

That said. I don't use Datatables either. Every item has a UDataAsset that defines it. Each UObject item in the game just has a pointer to that data asset.

frosty heron
#

when it comes to saving, do you just store them in a struct?

devout tide
#

Depends on where you save it I guess

maiden wadi
dark drum
maiden wadi
devout tide
#

like lets say you would save that on a DB later on

maiden wadi
#

Why? It's the same data.

devout tide
#

oh not sure how serialize data works, is it saving all variables and class?

maiden wadi
#

There's a SaveGame flag that lets it only grab stuff marked SaveGame.

dark drum
maiden wadi
#

It would be the same as creating a separate struct and putting the data in said struct and reloading from it. This is just much less tedious and manual. Cause I just mark the right properties.

devout tide
#

Right, I remember making json files for a similar approach but I guess this is a more built in feature

#

Right, so then I guess its the same approach almost

#

Thought it was doing some sort of memory saving for the whole object etc.

maiden wadi
#

I'm still not sure why Epic won't expose that for BP stuff. Serialize and letting people set Actor's spawned names.

#

I guess same reason as always. "Every studio has a programmer".

dark drum
#

I use a structure for the data inside every item and then handle the serializing myself for the unique variables in each item type. It's not too complicated but yea it is a little tedious lol.

dark drum
frosty heron
dark drum
old sand
dark drum
wise ravine