#blueprint

1 messages · Page 142 of 1

queen heron
#

yes

#

this is the setup from the enhanced input

#

and this is how the input is prepared

young meteor
#

Hey folks

Anyone have tips on how to edit variables in BP's at scale?

I have a bunch of enemies (around 50), and I need to edit max shield, max health, movement speed, damage, etc. on these in order to balance the game.
Can I do it from a table somehow? They all are children of the same parent.

Ideally could do it from a Google sheet and import it, but just a quicker way to go about it in editor could be highly helpful too.

queen heron
young meteor
dark drum
queen heron
#

ah you have different types of enemies that is a child of a main blueprint?

young meteor
#

I'm not talking about run-time.

queen heron
#

then you could try what pattym said

young meteor
#

Am I doing something wrong?

dark drum
young meteor
#

Will do some Googling.

young meteor
#

Thank you. That works. 🙂

queen heron
#

so how do I fix the mouse value problem?

#

not even mouse delta node helps

#

its like its following the cursor when it loops to the other side of the window border

lofty rapids
#

so whats the issue, is it not going smoothly ?

#

a bigger jump will move fast for sure

#

maybe your axis are not setup the way your wanting if the numbers are not what your looking for

queen heron
#

its when I suddenly stop the mouse moving and immediately move it to the other direction super quickly

#

there's a chance the mouse value would bug out and break the momentum of the camera

lofty rapids
#

well if you interp on tick, no matter what you set it to it should be smooth

queen heron
#

and it needs like a split of a second to catch back up

#

it does it without interp to also

#

I looked up like a mad man online to see if anyone found the fix

#

one said they needed to disable "Use Fixed Framerate"

#

that one's already disabled for me

#

other one found the solution to use "Set Input To Game Only"

#

that one did not worked for me

surreal peak
#

Lovely random fix suggestions :D

#

Have you tried turning it off and on again?

queen heron
#

actually I'm curious

#

what if I use the Event Tick instead of the enhanced input node to update the mouse values?

#

lets see...

trim matrix
#

i have no idea what kind of issue this is so im going to post it here. When i launch my project (which starts at a main menu, before level streaming) the main menu works fine, but when i click through to start, I get this error. If i press continue, it continues to this error which i cant continue past. I have tried manually looking for those files, they do not seem to exist. This was not a problem until yesterday

surreal peak
#

In theory, the EnhancedInput nodes also tick

sharp python
#

The place to put my savegame data between loading a savegame in the menu and processing it in game is in the game instance, right?

queen heron
surreal peak
#

Right, cause it calls the Trigger pin only then

queen heron
#

really curious if this fixes the issue....

surreal peak
#

Do you have a callstack/crash error?

surreal peak
surreal peak
queen heron
trim matrix
#

that is the error it shows, the unreal editor pdb not loaded

surreal peak
#

That has nothing to do with your game crashing

#

That is VS that requires PDB files to show the callstack properly

#

When your game crashes, you should get a crash reporter will a log etc.

#

And the game log should also hold information at the end

#

Can be found in Saved/Logs

queen heron
#

I think the last option would be to somehow get the cursor's location on screen, get its velocity and use that one to set the mouse values

surreal peak
#

That is a really shitty idea :D

queen heron
#

I don't want the players to encounter a mouse freeze when they try to spin the camera quickly

surreal peak
#

Why do you even need all those modifiers on your mouse inputaction

#

I have none on mine and I have no issue

queen heron
#

was hoping for those to stabilize it

surreal peak
#

Also not sure I ever encountered any problems with going back and forth quickly

#

Did you try and reproduce this in a fresh project or at least on a fresh character?

trim matrix
#

is my issue all the dll files it says dont load?

surreal peak
trim matrix
#

wait maybe it's that class that's null?

surreal peak
#

@trim matrix The bottom of the file should have the issue. Please follow instructions when people try to help. If you can't find it, share the whole log file.

queen heron
#

huh

queen heron
#

I took down smooth and scale by delta time modifiers, and now the mouse value works fine? 🤔

trim matrix
#

i was in fact looking at the backup, my b

queen heron
#

I'm so confused....

lofty rapids
#

the interp will do the "smoothing"

queen heron
#

the values don't flip back and forth when I quickly move the mouse to the opposite

#

funny thing is I had this issue before those modifiers were even added

#

and now suddenly its gone....

dark drum
queen heron
#

I think this may be the issue....

#

I had not a single thought that it may cause me trouble

#

I think what I need to do here to fix it is by checking if the mouse is being moved

#

tonight is beautiful isn't it 🙂

surreal peak
#

It sadly doesn't say what exactly it tries to ensure

#

Given it just fails on "false" I assume the code around it would tell more

#

[2024.04.16-17.57.46:712][999]LogOutputDevice: Error: Ensure condition failed: false [File:D:\build++UE5\Sync\Engine\Source\Runtime\Engine\Private\LevelStreaming.cpp] [Line: 1017]

#

It doesn't seem like this actually crashed anything though

sharp python
queen heron
#

good....

odd kiln
#

Does anyone know how can I "lock" axis for the Camera rotation please ?

trim matrix
#

huh, i can send you that file, it was written by a teammate, not me so i dont really know how it works

surreal peak
odd kiln
#

For example : I don't want that the camera can rotate on the X axis (roll)

odd kiln
trim matrix
#

nvm then i do not know what im doing

proud salmon
#

Is there a "go to" method for how to know if a level has finished loading when using Open Level?

dark drum
silent drift
#

What would the most secure way be to check for a ledge the player can grab on static meshes?

Right now I'm doing two sphere casts (one a bit above and one at should height, when the top one is false and the bottom one true, I attach to the ledge) , but if the player falls to fast (and not really that fast to be honest), the casts will not hit anything and the player won't grab the ledge but miss it and keep falling.

I need it to be more consistent and I thought spherecast would be the best option, but it seems to not be. Any other suggestions how I could make this safer so I don't miss the ledge?

trim matrix
#

ugh i dont have access to drive D because im doing this on university computers

dark drum
silent drift
#

Yeah. I would prefer to make it more dynamic than manually adding points. But worst case I would do that since it's important that it is consistent.

trim matrix
#

found it in a roundabout way, its on line 1097 that the break is happening

surreal peak
#

If you just share the part around that line number from your ensure, it would probably be enough

trim matrix
#

cool thanks for the advice, this is the line its throwing issues at default: ensureMsgf(false, TEXT("Unexpected state in ULevelStreaming::UpdateStreamingState for '%s'. CurrentState='%s' TargetState='%s'"), *GetPathName(), ::EnumToString(CurrentState), ::EnumToString(TargetState)); }

gentle urchin
#

30 or so lines wasnt it ?

lofty rapids
#

runtime ?

#

or you mean in editor

steel shadow
#

Hey everyone, What should be my Settings for Streaming very big levels without stuttering ? The levels are far off so I don't think there would be a time where the level won't be loaded before the player arrives to it. I don't understand if I should have big values or Small ones

odd kiln
lofty rapids
#

set the rotation to the current rotation, but in the one you want to constrain just set it to a value

odd kiln
lofty rapids
odd kiln
#

Ok great I'll do that thank you very much !

#

Now do you know how can I place an actor in the center of the screen ?

#

Like in the World but center of screen

lofty rapids
#

shoot a line trace out of the camera from the camera position, to camera position + forwardvector * distance

odd kiln
#

I mean in the center of the camera as well

lofty rapids
#

use that point maybe to place the actor

#

or just do the maths, you don't need a trace

#

but in theory if you shoot out from the camera, forward vector * distance

#

should be in the center of the screen

#

and you can just lock it on tick

odd kiln
#

Because I already "spawn" that actor between two vectors, but I also want this same actor between two vectors + in the center of the camera

#

Do you think it's possible ?

lofty rapids
#

idk

odd kiln
#

I think I will just try to set this actor in the middle of the camera first and then I'll see what is happening

#

So the center of my Camera is : "Camera Position" + "Forward Vector" * Distance ?

barren relic
#

My pawn no longer breaks through walls 👌

lofty rapids
odd kiln
#

This actor is attached to my Character

#

I just want it to be always in the center of my Camera even if I rotate / zoom out my Camera

lofty rapids
#

then ya that'll work on tick

#

it'll put it in the front of the camera at whatever distance you multiply the forward vector by

#

just mess with the distance untill you get it right, and then no matter where your looking you should see it in the center

odd kiln
#

I want it to be in the center of my Camera but always in front of my Character

odd kiln
#

So the "Distance" is the thing to make it in front of my Character, right ?

lofty rapids
#

so think of this way, your putting something where the camera is

#

getting the camera forward which is where your looking

#

and setting the location out in that direction a certain distance

#

you'll most likely have to mess with the scale and rotation

odd kiln
#

But to have it in the center of my Camera but in front of my Character I have to : "Camera Position" + "Character Forward Vector" * Distance

#

Or am I completely wrong ?

lofty rapids
#

set the distance so that it doesn't go behind the character

#

the distance is from the camera out

#

do you have zoom ?

odd kiln
#

No I don't have zoom

lofty rapids
#

so then it should just be a constant value

odd kiln
#

But my Camera is not behind my Character

#

The Camera is on the side

lofty rapids
#

hmm

#

so you want it offset from the center ?

odd kiln
#

That's why I have to find the "intersection" between my Camera and my Character and set it there

lofty rapids
#

you can do lookat rotation, and get forward vector of that

#

lookat rotation to character maybe that might work

odd kiln
#

So I "Find Look at Rotation" from Camera to Character ?

lofty rapids
#

so your basically putting it at the camera, then looking at the character, and projecting forward a certain distance

lofty rapids
#

then forward of that

odd kiln
#

But the "Find look at rotation" output is a Rotator

#

How will I set a location with that ?

#

Oh with the "Get Forward Vector" ?

#

It places the actor at "0, 0, 0"

#

In fact, I want that the Camera Rotate on the "Z" axis to make this "Actor" always in the center of the screen (Camera)

lofty rapids
#

@odd kiln

#

you should cas on begin play and use the player ref but i just threw this together

#

this is on the actual actor tick

#

and you just set the distance with the multiply node

#

since your never zooming you should be all set

#

if you were to zoom you would need some maths

odd kiln
#

Ok so this is for setting the Actor in the center of the Camera and push it by a Distance (*200) right ?

lofty rapids
#

you got to add the beginning and end to get the position so theres an extra node

odd kiln
#

I just use a basic "find look at rotation" to look at this "Actor" target but the Actor is still not in the center of the Camera I don't understand

lofty rapids
#

and it's not centering the character ?

odd kiln
#

I use this

#

"Get Actor Location" (my Character) in the " Start" of "Find Look at Rotation"

lofty rapids
odd kiln
#

and in the "Target" I use the "Actor" I want to target

#

I want it the center of the camera

#

For example I have two Actors

#

A1 and A2

#

I want that the camera of A1 to look at A2 so that A2 will be in the center of the camera of A1

#

I want A2 to be in the center of the Camera Vertically and Horizontally

#

Like a "Lock" target

#

I thought a basic "Find Look at Rotation" will work with a " Set Control Rotation" but no..

lofty rapids
#

ya find look at rotation, and set rotation

#

should lookat the object

odd kiln
#

That's what I did but I don't know why the "targeted" actor is not centered

lofty rapids
odd kiln
lofty rapids
#

it would be better in here, but ig if you want to

odd kiln
#

The black square is Actor1 and the red one is the Actor2

lofty rapids
#

That's what I did but I don't know why

odd kiln
#

It's ok nvm

lofty rapids
#

looks like your looking at actor1

odd kiln
#

My black square should be looking to my red square

#

Yes it's looking but I want the red square to be in the center of the camera

lofty rapids
#

so set the camera to lookat it

#

if you have black looking at red

#

that works right ?

#

but you want the camera to lookat the red as well ?

odd kiln
#

And for that I have to rotate the camera (on the picture for example) to right on Z axis, right ?

#

Yes I want the camera to look at red not the actor itself

lofty rapids
#

set camera rotation to lookat rotate from camera to red

odd kiln
#

So instead of "Get Actor Location" in the "Start" of "Find Look at Rotation"

#

I have to set the "Camera" ?

lofty rapids
#

yep

odd kiln
#

Camera - Get World Location

lofty rapids
#

then target the red square

#

and set the rotation

#

if you want it to lock on do it on tick

#

with a boolean to switch it on off

odd kiln
#

I already did it on tick

#

When I change the "Get Actor Location" to the "Camera Location"

#

My Camera rotates even more to the right, I don't know why

#

Oh wait

#

I guess it's because when I "Lock" the target (red square) I set a value in the "Camera" Z axis

#

So I have to subtract this value in the Find Look at Rotation ?

lofty rapids
#

so your setting the z on tick when you lock on red, you set the z rotation ?

odd kiln
#

I set it before and I have to subtract this same value on tick

#

The only problem when I set the "Camera" instead of the "Get actor location" is that my Actor1 (black square) is not facing the red square anymore because it is the camera that is rotating and not the actor I guess

lofty rapids
#

well i would assume you want to do both

#

set the actor rotation

#

and also set the camera the location

odd kiln
#

So I have to make one "Set Control Rotation" and then "Set Actor Rotation" ?

lofty rapids
#

or both set rotation, but your doing two things

#

one rotating the character

#

two rotating the camera

#

so you need to do both things

odd kiln
#

Oh I can use the same node "Set Control Rotation" you think ?

#

But it will use the same target "Get Controller"

#

Or do I have to use "Set World Rotation" node for both ?

lofty rapids
#

but i don't think cameras have control rotation

odd kiln
#

I'll try, thank you very much for your time !

tight pollen
#

hi everyone, where would you add the component that is responsible for the skill tree? Player Controller, Player Character or Player State?

#

player controller exists only on the server and the owning client, I don't know if I will need the variable values ​​on other clients

#

replicated variables are set to (owner only)

#

spawning e.g. spells is done via the server anyway

#

or verifying whether a given player can pick up a weapon or whether he has enough strength is also done via the server, so I think the player's controller will be fine

dawn gazelle
#

PlayerState for multiplayer on account that you can easily maintain the value if a player disconnects suddenly and can rejoin, and I think it makes it easier if you're doing a server travel. PlayerController can work too, but the values aren't saved the same way as PlayerState in these situations.
PlayerCharacter can make sense if you want to be able to replicate to everyone, but only those nearby need to get access to it, but makes less sense if you're going to be destroying/respawning the character as then you have to re-initialize the component.

tight pollen
#

player state will actually be the most appropriate

raw sleet
#

Hello 😄
I have a concept that I want to implement, but I believe I am doing this very inefficient. So I would like to hear your thoughts 🙂
I am developing a tactical strategy RPG

The concept is as follows: The Units' attacks change based on equipment. Every Unit can change it's own equipment when their turn has started (except AI controlled ones). The equipment and the combination of equipment determine which attacks can be used. The equipment can only be of the 4 different elements Fire Water Wind and Earth. Only 3 things can be equipped at once. The things I need to know are:
How can I save what is currently equipped on each Unit efficiently?
How can I change the attacks based on equipped elements efficiently?
and
How can I make this easy configurable?

A small example: The things equipped on the Unit named "James" are 1x Water element, 1xFire Element and another 1x Fire Element. So his abilities are the attacks... let's say "Watergun" as the 1xWater ability, "Fireball" as the 1xFire ability and "Flamethrow" as the combination of the 2 Fire Elements, and lastly the two attacks "Steamball" and "Boiling Water" that are born from the combination 1xFire/1xWater and 2xFire/1xWater

maiden wadi
#

I vote GAS, DataAssets, and some sort of inventory, personally.

twilit gull
#

is there any way to unload asset that was async loaded?

dawn gazelle
maiden wadi
twilit gull
#

So the function process the DT and then it will be unloaded?

maiden wadi
#

Eventually, yes. GC can take up to a minute, sometimes more to run. The general basics of garbage collection are that an object will stay loaded if it is hard referenced in a class property. So unless you have populated a non local pointer to it, it will get tossed eventually.

twilit gull
#

okay. ty 🙂

#

So the same with level instance loading, if i pass soft object reference its better to load it by async load rather then level instance loader?

#

level instance loading is laggy in my case

maiden wadi
#

No personal experience with that yet. But some people say to mess with your level instance project settings.

harsh coral
#

I´m so happy right now.
Finally figured out how to control all my 300+ skeletal meshes with ONE master.

SO frigging easy and so much more performant than what I had messed around with before using a custom repeater event iterating through all and updating the play position etc...

I gotta learn to think more in terms of "How would you phrase your question if you were doing this for a game and not for linear content production like TV or movies".

Found it via instructions on how to make customisable character where you´d have to exchange parts of the mesh like clothes or armor.

#

None of the keywords I was looking for yielded the results I was looking for and I looked for 3 days straight...

#

Next: Figuring out how I can animate morph targets on top of that, that are only available in SOME of the skeletal meshes using the lead component.
Because if I just use an animation blueprint to set up the morph targets and try to add that BP anim instance, I get a "trash_" red track.

solemn basin
#

Does anyone feel like helping me understand and how to set up an RPC?

#

Ive tried watching some videos and reading the documentation on Epic's site, but it's proving to be more of a sticking point than I thought

maiden wadi
#

Make a custom event, change it's Replicates setting.

solemn basin
faint pasture
maiden wadi
faint pasture
#

is 2x fire 1x water always Boiling Water?

#

If that's the case, the amount of elements are more like stats, and the moves have stat requirements

#

4 ints per unit should suffice

#

probably 4 bytes actually, but that's just getting silly unless you want to have thousands of units around

graceful sage
#

so I have a spaceship and I want to add force for a thruster. It works when just using a pawn but I'm transfering what I have to a character class instead. When I add a impulse or set physics linear velocity nothing happens in character class? I'm assuming CMC is preventing it. How can I do this?

hidden creek
#

What's the Proper way, to implement a widget is In the world ( so not specific to any player ) that is attached to a static actor ( that is replicated, and again not a player) that binds to a variable on that actor. and has buttons in the widget that can be clicked by any player to activate some functionality on the server that will update the variable and all widgets will display through the binding the new value,

For simplicity sake, a Count widget, with - Amount + where the Amount is the binding set to get the variable from the reference to the actor, and the buttons - and + can increment or decrement the replicated variabble on the replicated actor.

Is this not possible?

dry pecan
#

So I'm currently facing a problem in unreal where my shooting controls lag when I load in from one level to another, but starting in the level with teh shooting it works perfectly, what reasons could there be for it?
does this sound like a gamemode problem or a BP problem?

dawn gazelle
# hidden creek What's the Proper way, to implement a widget is In the world ( so not specific t...

Yes, it's possible. Widgets themselves don't replicate though. Any inputs the player makes would need to be RPC'd through a player owned actor/component, so pressing the + or - button would need to trigger something on say the player controller that is clicking the button passing through a reference to the actor containing the widget. When running on the server, you'd have to use the actor reference to then adjust the variable as needed on that actor which should be a replicated value. The widget then just needs to be set up to read the value in some way, either VIA a binding or forcing an update through the OnRep that adjusts the displayed value on the widget attached to the actor.

inland walrus
#

Any ideas on how to get this event from away from using a tick? as the event keeps playing on repeat and stacking up the UI

dawn gazelle
# hidden creek What's the Proper way, to implement a widget is In the world ( so not specific t...

Here's an example.
BP_WidgetHolder holds the world based widget and has events for updating and an OnRep function for the changing value. This actor is marked as replicated.
WBP_InteractionWidget is the widget used as the world widget. Has a couple of buttons and a value. I use the "Hovered" event as I'm not great with interaction widgets myself, but it got the job done.
BP_FirstPersonCharacter contains the RPC to the server to request the update to the widget holder, and also contains the actual widget interaction component. I have mine to just use the "center screen" for ease.

Video showing it working replicated.

umbral citrus
#

I'm currently experiencing an issue. I have a Weapon Blueprint (with some cpp code attached), which I successfully loaded into my world a while ago and it works fine. I tried to load another one in today, however, this new one, when testing, causes my screen to lag, sends my player back to the spawn point, and the new weapon disappears (leaving just the old working weapon). Even though they are the same type and the first one works fine. Any help as to why this would happen or howto avoid this?

dawn gazelle
dry pecan
#

I need help finding a different solution without the need of the timer, its screwing me over

faint violet
#

Does anyone know why moving diagonally and stopping would decelerate faster than normal up/down/left/right?

dawn gazelle
# inland walrus Sorry I'm not following

Currently you're checking if the thing is dead on tick.
You want to check if the thing is dead when you're adjusting the health value (like when you've dealt damage to it).

dawn gazelle
#

Then connect your logic up to "Triggered"

inland walrus
dawn gazelle
# inland walrus Ah I understand you, but I'm not sure what I'd replace the tick with

Create your own event, name it something like "Death Logic" and plug in your logic you have shown in your previous screenshot, then call it immediately after wherever it is you change your health value when the actor is being damaged. The event then that drives the check is whatever is causing the damage to your actor.

So it would end up playing out:
Actor Gets Damaged > Health is Reduced > Death Logic

dawn gazelle
inland walrus
dry pecan
#

maybe because my player loads into the main menu level

dawn gazelle
dry pecan
dawn gazelle
dawn gazelle
dry pecan
dawn gazelle
#

Check your settings on the trigger. Make sure you've connected your logic to "Triggered" in the Input Action event.

dry pecan
#

oh huh, the lag between stopping shooting and start shooting is still there

inland walrus
dry pecan
#

like I can tell it works, but it still is weird, like when I stop shooting if I press the mouse button again I should immediatley fire, I cant seem to do so still like I'm litteraly holding my mouse down, letting go for half a second, and the holding down again but the game still isnt following that

#

weird right?

#

think it was the game mode thing I mentioned?

cobalt iris
#

really stupid question, how am i supposed to connect the and bool and the sequence?

faint pasture
#

but why is game state in your UI?

cobalt iris
inland walrus
#

is there an easy way to make ai jump from point a to point b? I'm using nav links but they're a huge mess around

#

or maybe make it so that AI mimic the players movement but only mimic it in the position the player used it

#

I'm trying to create a platformer where the player is being constantly chased

inland walrus
#

Surely there is a more efficient way than this

south ginkgo
#

Hi, just a quick question. Has anyone had issues building their game, but UE builds an older version of it? Currently experiencing some issues with that, and if anyone has some solutions that'd be very much appreciated

south ginkgo
uncut elk
#

How do you stop widgets from running logic? i figured collapsing it would stop the events from being fired but Im noticing the widget is still running code in the background

#

i tried remove from parent and the logic still runs , set enable false also doesnt seem to work.

fluid compass
#

If I start an async action on ObectA, then I destroy ObjectA. Will that async action continue to run?

Should I be ending my async actions as part of Event Destruct on ObjectA, or is that automatic?

raw sleet
raw sleet
faint pasture
#

all a unit will need to know to be able to figure out what moves they can use is just their 4 element counts

raw sleet
#

Yes, that is true. I will try that out once I am on my desktop again. Thank you @faint pasture and @dawn gazelle . Big help here for a beginner

limpid heron
#

I'm trying to create a possession system. The issue I'm facing right now is that whenever I hit the possess key, it feels like it executes the code multiple times on just a single press and then eventually starts working

bitter otter
#

Hey, i have an ai that chases the player, yet it keeps stopping at random times, and then doesn't start again, even when player moves right in front of them. Any way to fix this?

jolly oriole
limpid heron
graceful forum
#

Is there a way to set a context object for a UObject so I can call static functions that require one?

tepid jewel
#

so ive discovered something a little strange when i load a level it seems to load all its instances into the current level rather than just switching levels im sure this is a common mistake would love a pointer

glad herald
#

By the way. I got it working with the saving of the key inputs. (Which I asked like last week). Thanks for helping me! 🙂

What I did was to convert the axes values for X and Y to specific integers (1 - 4 corresponding to the cardianal directions, clockwise) and then use these values later for different parts. Maybe I can substitute the int with a byte, for optimization. But I will first need to sort some stuff out.

Anyway, thanks! ✌️😁

tepid jewel
#

im useing an onclick and load level instance by name

queen heron
#

how could I achieve spring arm socket offset to location along spline?

#

the current method I'm using doesn't bring the socket offset at the right place

#

but is close

dry sleet
shell solstice
#

should i learn c++ first or blueprint

#

ue c++ to be specific

dry sleet
shell solstice
#

btw how to print at ue c++ 😭

#

i print but cant find anywhere in the console

#

for test

#

the output log

#

is it my vs22

dry sleet
#

UE_LOGFMT(LogTemp, Log, "My integer {0}.", MyInteger);

#

#include "Logging/StructuredLog.h"

shell solstice
#

i typed this thing

void AMyActor::BeginPlay()
{
    Super::BeginPlay();
    UE_LOG(LogTemp, Warning, TEXT("hello iauhwdiauhduiwhawd"));
}
#

at the cpp file

shell solstice
dry sleet
#

if you want LOGFMT

#

Which has support for placeholders

shell solstice
#

i want it to print in the output log

dry sleet
#

UE_LOG doesn't require it

shell solstice
#

do u use that include thing too

shell solstice
dry sleet
#

the output log, if you have set the rest of your actor up correctly

shell solstice
#

bro what

#

i didnt see anything let me record

#

@dry sleetsee

dry sleet
#

And did you manage to compile to begin with?

queen heron
dry sleet
#

Depending on your UObject that can take various forms. If it resides in another object (has an Outer), you can just get the world from that. Or you might need to give your object some pointer to a valid WCO that it can use to get the world.

bitter otter
#

Hey, is there a way to dynamically spawn nav links so that i don't have to place them all around the map?

dry sleet
#

And under which circumstances might you want to spawn them? Do you already have some method of determining where to spawn them?

#

In our game we use a component created by someone here, which can be added to an actor blueprint which can then be spawned wherever.

#

Sadly I don't remember who to credit, but if you're fine with some C++ I could send the source files.

dry sleet
#

I believe it's more or less a pretty straightforward exposing of an already existing Unreal component, which just isn't BP exposed by default :)

bitter otter
#

thanks, huge help

dry sleet
#

No worries! Another piece of good karma for the person who wrote these originally :)

stone field
#

Any way to force a recompile of All the Blueprints?

jagged thistle
#

I want to run a benchmark where I move the camera around.
Is there a good way to get frametimes recorded in such a way I can get it as csv, json or something?

#

I guess a super bruteforce way is to record the time delta each tick in an array and write it to the console when I'm done? 🤔

stone field
scarlet rose
#

this code works, but I dont understand why 😅
by "works", I mean, the function UpdateOrdersPosition is running on tick, while CreateRandomOrder is being called every 1 second.

What I'm guessing happens, is that tick runs every tick (duh) and the first time it reaches "delay", it sets a timer. Then, every time it reaches the delay node, it exits the function if the timer still isnt finished. When the timer is finished, it finally continues. And next tick it resets the timer.

Did I get the gist of it?

thin panther
#

You really shouldn't do that however. Use a timer

jagged thistle
scarlet rose
#

@thin panther @jagged thistle thanks guys

mortal pulsar
#

how can i stop sound in a widget is there any way ?

scarlet rose
#

like, it's such a weak reference. you change your function's name and your code breaks without warning

versed sun
#

Set Timer by Event

thin panther
scarlet rose
#

what if I... want to use a function?
are timers incompatible with inputs and outputs for some reason?

#

I dont see why it be the way it is, but it really do be that way

versed sun
#

Pull back off the red square Delegate , and use Create Event

scarlet rose
#

alright, I'll have to look into events vs functions, cause atm I dont really understand why events are preferred over functions

#

ty

limpid heron
#

Possession is working on the character but when I create a child class from that character and put it into the scene the possession stops working and it throws me this error

#

Can anyone tell me what's the issue here ?

thin panther
dark drum
#

Does anyone have any suggestions on how to load this soft references? It's a widget class but the function is passed an object ref which of course wouldn't be valid after I've called an event on the event graph to async load the widget class.

I know I could just store the input but I have a few other functions in a similar boat so looking for an option that could reduce storing the data if its not needed.

gentle urchin
#

Im not sure exactly what you ask

#

And not sure why it would be worthy of a soft ref 😅

limpid heron
#

I don't what is happening. Sometimes it work and sometimes it doesn't and throws me that error.
And also the possess function is working but I'm only able to control just 1 character and that too a child. I'm not able to possess the other child character nor the parent character.
I sincerely request you guys to please point me in the right direction.

dark drum
gentle urchin
#

Ouch, that's some biig widget right there

#

Well the completion must simply be an event and load async

dark drum
gentle urchin
#

Or load it pre Quest complete delegate, so you know its already loaded.

dark drum
gentle urchin
#
OnNativeComplete()
{
  LoadQuestPrompt();
]

OnPromptLoaded()
{
  K2_UIShowQuestCompleted();
}
dark drum
gentle urchin
#

do it through a lambda

dark drum
gentle urchin
#

or fetch the completed object later in time

#
void UInventoryComponent::GetOrLoadUseClass(int32 FoundIndex)
{
    if (Inventory[FoundIndex].Item.ItemStatic.UsableClass.Get())
    {
        LoadAsyncComplete(FoundIndex);
    }
    else
    {
        UE_LOG(LogTemp, Warning, TEXT("Loading asset async"));
        UAssetManager::GetStreamableManager().RequestAsyncLoad(Inventory[FoundIndex].Item.ItemStatic.UsableClass.ToSoftObjectPath(), [this, FoundIndex]
        {
            LoadAsyncComplete(FoundIndex);
        });
    }
}
#

Dont ask me about lambdas, I can barely make it work lol (but it does)

dark drum
gentle urchin
#

Such a heavy constraint to put on yourself 😦

#

Guess Events is the way to go then

frigid summit
#

hi guys how do i reduce this event tick performance issue

gentle urchin
#

frameslicing

trim matrix
haughty onyx
#

I would like to chance the material expression constant 2 vector, so I could change these values ingame. Does anyone have an idea how I could change it from 1080 to something else?

digital palm
#

Is there a way to render a camera in UI without a render target? Because it’s broken with lumen

main flume
#

How can I mass add static meshes into my data table?

#

I am interested in creating a database of all the customization parts for a car. My goal is to add all static meshes to the database quickly and categorize them based on keywords. For example, if the name of the static mesh includes "spoiler," it should be categorized as a spoiler. This process needs to be done on a large scale.

The database should include the relevant car, mesh, secondary mesh (for two-part customizations such as fender left and fender right), price, part type, and dependency.

I am open to different approaches to data tables, as long as they allow me to drag and drop 100+ static meshes into the database and categorize them accordingly.

tepid raft
#

would anyone have a youtube tutorial or smth like that for how to make a turn based rpg

thin panther
fierce ferry
#

Hey, can some one help me?
I want it so the player's speed gets set to a constant value for a couple of seconds, but every video online just shows me how to make a character controller.

balmy magnet
maiden wadi
light garnet
#

why casting is failed ?

west moth
#

i am starting a bow and arrow system from yt
i have a sword system already built and now i want add bow mechanics on top of it
how can i implement the switch of weapons and mechanism of thiers when pressed certain buttons (like if a press RMB and LMB while sword equipped i do light and heavy attacks but when Bow equip i need to to anim and launch of the arrown when pressed) how can i get this working.........

maiden wadi
maiden wadi
haughty onyx
lofty rapids
# haughty onyx .

are you wanting a parameter you change for different mesh or something ?

#

you can actually just change the numbers as well if you just need to change it for all

light garnet
haughty onyx
light garnet
#

i am using this player controller

lofty rapids
#

sort of like a function, you can pass the variables in the instance

#

you can also just make instances and use them

#

so when you create an instance, you'll see in the details the parameters

#

start with a basic material, try to add a paremeter, then create an instance, and change it

#

once you have params, right click the material and you can create an instance

haughty onyx
#

Thanks man ❤️ , just struggeling with how I can make this into a parameter cause its like a weird number

lofty rapids
#

a constant is just what you set it to

lofty rapids
maiden wadi
haughty onyx
light garnet
#

i am using apply damage in weapon base

lofty rapids
haughty onyx
#

Thanks for the help man, will look into it

maiden wadi
light garnet
#

Do you know how i can get all player controllers in actor blueprint

light garnet
main bobcat
#

Would someone know how to make widget buttons more consistent when using a touch screen monitor? Currently for me it feels like sometimes it works completely fine but other time it doesnt respond until i press it multiple times. It works completely fine when using a mouse

maiden wadi
light garnet
#

Yes I got idea

#

I will cast to gm and then for each Loop for all player controllers

maiden wadi
#

What is the blueprint dealing damage?

maiden wadi
frosty heron
#

Don't see how that will be useful for damage system tho

#

U shouldn't need to know all controllers the server have ref to?

main bobcat
maiden wadi
#

You don't need to iterate over the controllers. You need to pass the correct controller.

#

Hense the question.

#

What is the blueprint?

main bobcat
#

For now the button is just printing a string to test, essentially with the project i can look around and move this all works fine with me clicking and dragging on the touch screen as it reads it as a mouse, i call the widget on begin play and add to viewport so its always on, at first it works completely fine i can click my ui look around etc but then it just stop being as responsive and i need to mash the button until it responds

#

What i do notice tho is when i click on the button and it doesn’t respond it does change to the on pressed colour

light garnet
#

It's multiplayer

#

Still confused

maiden wadi
#

@main bobcat These were the settings I meant. Test these out to see if they help at all.

maiden wadi
main bobcat
#

Ah okay ty ill give that a go

light garnet
#

Print string?

pastel garnet
#

Hello, I am looking to apply damage to the character (In Lyra Starter Project ) on contact with this actor but I am finding it hard to do so, I cant just call (Apply damage) for it to work. If anyone can help I would appreciate

frosty heron
#

Why do u need a ref to any controller for score at all

#

It can just be a replicated variable in game state

#

Client just get the value from the server

light garnet
light garnet
#

Invalid player controller...

pastel garnet
light garnet
#

It's not replicated @pastel garnet

#

You have to run on server and client

dark drum
dim siren
# light garnet I already did this. But it's giving invalid

I think Authaer means you should try to print string the Instigated By output from the Event AnyDamage node, not print after casting to your "BP_Gameplaypc". It will always fail if you're casting from a different class, like your weapon base.

dim siren
#

Idk xD

#

You could get your controller inside the weapon base, and use that as the instigator when applying damage.

#

Then casting to the player controller on AnyDamage should work.

#

If you're using self, whatever blueprint "weapon base" is becomes the object you're casting to in your controller.

lofty rapids
dim siren
light garnet
#

I understand but it's multiplayer so that player controller will add points to only 1

dim siren
#

I believe anyway.

light garnet
#

I tried this

dim siren
#

How do you want to add your points?

#

Only to the instigator no?

light garnet
#

After my enemy dies it's added points

#

Can you tell me other ways for multiplayer

dim siren
#

Well it would work for multiplayer. Assuming your player with the weapon base BP is using BP_Gameplaypc, you can get the controller inside the weapon base instead of using self, as the instigator when applying damage.

light garnet
#

Yes I did but it's adding all the points to 1 player no matter who kills

lofty rapids
#

also there is #multiplayer which may have better idea about how to make it work with multiplayer

dim siren
#

What node are you using to get the controller?

#

You shouldn't use Get Player Controller 0 (with index).

#

Then the server will only give points to Player 0.

light garnet
#

Then what should I do ?

#

How can I get a player controller

dim siren
#

What type of class is weapon base?

#

There's a few nodes to get the controller but I forgot the name 😛

#

Helps to know the class though.

light garnet
#

Actor

#

Get controller?.

pastel garnet
dim siren
frigid summit
thin panther
#

it does if you use it right

#

can you show what you've done?

frigid summit
lofty rapids
#

thats heavy

thin panther
#

If you want to do something every 4 seconds, just set the time to 4 seconds, instead of 0.1, then delaying

frigid summit
lofty rapids
#

the timer fires the event at the time interval

#

so if you want something to happen every four seconds, then put in four seconds

#

and the timer will fire that event every 4

frigid summit
lofty rapids
lofty rapids
thin panther
lofty rapids
#

i don't think you need that ssecond one, you can just plug overlapping actors into destroy

thin panther
#

When implementing something, never attribute it to the engine feature being broken.
always assume it's something you've done until otherwise proven

frigid summit
dark drum
thin panther
lofty rapids
#

it's not even doing anything is all

lofty rapids
frigid summit
frigid summit
lofty rapids
#

so you don't want it looping, just run once ?

thin panther
#

Follow the nodes, read them out. how they appear is what they will do

frigid summit
thin panther
#

"After 4 seconds, loop through each actor in the array. For each of those, get their overlapping actors, loop them, for each overlapping actor print a string, destroy it, and stop the timer ever running again"
That's what you've done, in words, reading the nodes 1 by one.
you can see that the last bit is not making sense

lofty rapids
#

i'm guessing for some reason it's not working because the things your checking don't have overlapping actors by 4seconds, which is weird

thin panther
#

It's not working because it aborts the first time it runs

frigid summit
lofty rapids
thin panther
#

Yes it's entirely possible that in this case, the first time it runs, there is nothing to delete.

frigid summit
thin panther
#

because you're not accessing none

#

delete the clear and invalidate timer.
plug the array element from the second foreach into destroy actor

lofty rapids
#

having to do it like that seems weird, unless your spawning on the fly

#

you should just spawn everything, check for overlaps

#

you shouldn't need to keep doing the thing

thin panther
#

Yes, but we might as well address the logic issue at hand

frigid summit
thin panther
#

Hell you could just skip a spawn if it's overlapping

#

much cheaper

lofty rapids
#

that was what i suggested, to put the logic in the spawner itself, either with some maths, or just spawn check for overlaps, delete whatever

frigid summit
lofty rapids
#

but your still using delays and timers which shouldn't be necessary i think

frigid summit
thin panther
#

might as well get it working first and then focus on refactoring

frigid summit
thin panther
#

always show what you've done

frigid summit
thin panther
#

so you haven't done what i said at all

#

the array element is still not in destroy actor, and the clear and invalidate is there, just moved

frigid summit
lofty rapids
#

i feel like some node tutorials will help you out a lot

#

you got some wild stuff going on here with this second foreach

thin panther
#

again, read the nodes one by one.
now you're saying
"for each actor in the array, stop the timer ever running, then for each overlapping actors, delete the array of overlapping actors."

thin panther
#

don't do that

#

that's what you are doing, not what you should be doing

#

you should do the thing i originally told you to do

frigid summit
#

is this what you mean

thin panther
#

There we go, yep. Tick looping though, otherwise you're still only running that once

lofty rapids
#

i'm surprised you need the timer at all, somethings up with the spawning i think

#

unless actors take a while to load up or something

frigid summit
frigid summit
lofty rapids
#

whatever works

#

now thats running every 4s

#

seems very inefficient

#

maybe some sort of boolean you can check if there are no overlapping actors left to delete then you stop it

#

unless on the other hand your spawning more things dynamically, even then i would trigger it untill it deletes all then stop it

frigid summit
lofty rapids
#

i would check when they get deleted, is it 4 seconds ? on the 8 second mark ? 12 ?

#

somethings really wrong with your spawning if your just creating a level i wonder why you need to wait so long

lofty rapids
# frigid summit ok ill do a boolean

even if you just shut it off after a certain time, to figure out if it deleted stuff you'll need to keep a running total and stuff it's not simple

lofty rapids
#

the only thing i can think is your actors are taking awhile to spawn

#

and the execution is just keep going even though they have not fully spawned in

frigid summit
latent venture
#

what should i do to keep shooting?

lofty rapids
#

is this not shooting rapid fire ?

#

you don't have much control over it here, your locked into tick

#

i woul probably use a timer and a boolean

#

so you can dial in your rapid fire

latent venture
lofty rapids
#

does it even shoot once ?

latent venture
#

yep

lofty rapids
#

so put it on a timer

latent venture
#

so a timer by function name, should i use?

#

or what timer?

lofty rapids
#

timer by event

#

plug in the shoot event

#

do it on started

#

then clear and invalidate it on completed

latent venture
#

oh my bad

lofty rapids
#

so it just shoots off at a specific interval

latent venture
#

hmm like this doesn`t shoot at all

lofty rapids
#

but do it from started

latent venture
#

0.8*

lofty rapids
#

not triggerd

#

oh ok

#

use started

latent venture
#

neither

versed sun
#

Completed = Clear and invalidate timer

lofty rapids
#

but without that it should still run i would think on started

#

it just wouldn't shut off

latent venture
#

like which one should i use

versed sun
#

by handle

latent venture
#

like this?

#

still doesn`t shoot at all

lofty rapids
dark drum
latent venture
latent venture
# dark drum

what exactly is happening in that custom event??

dark drum
lofty rapids
#

see if it fires one off

latent venture
#

and what tipe is that custom event timer?

#

oh nvm

dark drum
#

If you're doing shooting, you might also want to call the event first as well before you start the timer. (Without it there would be a delay before the first project is fired)

latent venture
dark drum
# latent venture like this it works for sure

That would spawn a projectile (roughtly) every tick. This would mean if someone is rocking 120 fps, they'll get 120 projectiles. Someone chugging along at 30 fps would only fire 30.

latent venture
lofty rapids
#

maybe started isnt working for some reason

lofty rapids
#

see if it fires off one

lunar sleet
#

Or use breakpoints/print to see if the input fires at all

latent venture
lunar sleet
#

that's not a good idea

#

Triggered fires on tick

#

then it has to wait for the timer. basically a delay on tick

lofty rapids
#

but it should be triggering just fine

#

idk what would cause that

lunar sleet
#

I doubt it doesn't work at all

versed sun
#

Triggered will reset the Timer each tick

lunar sleet
#

ah right, so everything after the 1st node is pointless in this scenario

#

mb

versed sun
#

you want Started > Shoot>Set timer

lunar sleet
#

apparently

versed sun
#

then , as long as you hold for .8 sec , it will shoot again

lunar sleet
#

if the problem is that you want it to fire right away not wait the first 0.8 secs, then call Shoot on Started, then set the timer and delegate to Shoot

#

@latent venture

#

but it all should be happening on Started

latent venture
#

done that

#

doesn`t work

lunar sleet
#

which part ?

#

you need to give more detail than "doesn't work"

#

what have you done to troubleshoot

#

did you use breakpoints and step throug the code?

latent venture
#

what you have said

lofty rapids
#

it's just strange it doesn't work a timer usually works np

#

if the code works in the event, changing it to a timer should run it multiple times

lunar sleet
latent venture
#

yep, after shoting once, it is going to set custom event timer to 0, and it immediatly goes to completed

latent venture
scarlet rose
#

If I want class A to dispatch an event that class B will listen to, does A need a reference to B?

latent venture
lunar sleet
#

I guess breakpoints are hard to use when trying to test hold

#

I'll run a quick test on my end

lofty rapids
latent venture
#

yeah changed the values

#

thought it would help 🙂

lofty rapids
#

0.0 means it won't run

#

thats basically the interval it runs on

#

when that time hits, it runs the event

latent venture
#

bro I changed between more values on thee time, to see if it would make a changee

#

but it doesn`t

lunar sleet
#

ooh, look at this cool 5.4 setting @lofty rapids

#

max once per frame is new

lofty rapids
#

interesting

scarlet rose
# lunar sleet no, but B needs a ref to A

I was under the impression that there was just a global event stack, that all classes could broadcast to and listen from.

Like, if I have a game with an event "spread fire", and a bunch of different flammable actors, do all the flammable actors need references to all actors that can set things on fire?

lunar sleet
#

this works perfectly @latent venture

latent venture
#

i am so sad 😦

lofty rapids
lunar sleet
#

what is your input, what key are you using, what's the trigger type?

#

wait hold on

#

did you set this to a Hold trigger @latent venture ?

latent venture
gentle urchin
#

Time.0.0 is not valid is it

latent venture
gentle urchin
#

It needs > 0.0 to be valid

#

Atleast in 5.3

latent venture
lunar sleet
lunar sleet
latent venture
#

is it correct the way I have?

lunar sleet
#

I can't see

#

snapshot is too small

#

did you add any triggers?

latent venture
#

nope 😦 just binded left click to IA_Shoot

lunar sleet
#

so it looks like this but with Mouse Click instead?

latent venture
#

yeah

lunar sleet
#

and on the input itself, is it set to Digital Bool? Did you add any other triggers there?

latent venture
#

I have an Triggers From Input Action
like in picture

lunar sleet
#

wut

#

no, i mean your IA_Shoot "bp"

#

and that shouldn't say Pressed

#

so you prly have it set to Pressed in IA_Shoot

lunar sleet
lunar sleet
#

should look like this

#

if it doesn't, fix it.

wise raven
#

I added a delay to the for each loop macro and the looping has slowed down significantly, but it has become a bit too slow now, in the delay I added 0.001 seconds and yet the loop won’t get any faster

latent venture
lunar sleet
scarlet rose
latent venture
#

I had it but delted it, I am using the BP_FirstPersonProjectile that it`s given when you do a new FirstPeerson Project

#

maybe they hhad a setting I think

lunar sleet
# scarlet rose so there *is* something like that in c++?

you can make global functions there I believe. But iirc global stuff doesn't have a world context so you have to feed it one, idk. Imo, subscribing to an event in the PC should be enough. Having said that, in your example, you prly wouldn't want every single flammable object on the map to catch fire just because one of them did. So at that point you should prly have a CatchFire event in the parent class, and if those things are overlapping your location or w/e, you call the parent event

#

for example, projectile, onBeginOverlap, get overlapping actors, for each loop, cast to BP_BaseObjectClass, call SetFire

#

onBeginOverlap can be replaced with Tick, this is just so it doesn't run constantly

scarlet rose
lunar sleet
scarlet rose
lunar sleet
#

no, cause I used to think they can be used in the way you said, like shout into the void, but to use the Message (little envelope icon) nodes, you need a target

lofty rapids
lunar sleet
#

there's custom for each loops with delays out there, but tbh it's kinda pointless when you have timers, save for specific use cases

gentle urchin
#

But i read at the wrong input lol 😅 mb. Carry on

lunar sleet
#

tbh @scarlet rose the bp comms live training pinned here helps a lot with understanding these things

scarlet rose
#

@lunar sleet something like this would be pretty standard then, I imagine (pretend that's on BeginPlay)

lofty rapids
latent venture
#

5.3

latent venture
lunar sleet
#

but at that point you might as well just bind the event in BP_Delivery itself

lunar sleet
latent venture
#

nope

#

never mind

#

appareently

#

it works now

#

but I don`t know what I have done in order to make it work

elder pebble
#

Hey guys, quick question hopefully! I have a simple actor with box collider on it that when entered shows a prompt to interact. When you interact, the actor is destroyed and the prompt is removed from viewport. However if the player is overlapping two of the actors, how can I prevent the prompt from being removed until both actors are destroyed? currently, you have to leave and re-enter the collider for the prompt to show.

latent venture
#

it keeps shooting and it ain`t stopping tho

wise raven
latent venture
#

never mind

#

done

lofty rapids
wise raven
#

Verbally

dark drum
wise raven
lofty rapids
#

hmm

wise raven
#

Engage, you mean if I were to convert my looping function to cpp it would be better for performance?

dark drum
wise raven
lofty rapids
#

but idk about why your using a delay

#

you want it to be slow ?

wise raven
dark drum
wise raven
#

So I’m not sure how much a cpp function of this will help ?

lofty rapids
#

yep, c you need

#

it would be rediculous tbh

#

the difference is outrageous even

dark drum
wise raven
lofty rapids
#

50k with a delay i'd be surprised doing anything if it succeeds in a tick

wise raven
#

So if this loop could go from 0 to 50k in even 0.2 or 0.5 seconds it would be fine

lofty rapids
#

you could use each tick and some variables, use the tick like a loop body or a timer and keep track of where you are somehow

wise raven
wise raven
#

Using that loop function and arrays etc

dark drum
wise raven
dark drum
mortal pulsar
#

how can i stop sound in a widget is there any way ?

wise raven
dark drum
# wise raven Yeah so what do you recommend?

If you wish to continue with BP you'll need to look at batch processing them. Instead of doing all of them at once, do x amount in a tick until they've all be done. It could be 100 at a time for example.

wise raven
#

I want to know how well all this can work in cpp?

#

How much of a performance boost ? Because as of now my frame rates hitch badly when the mesh updates

lofty rapids
#

it'll be noticeable imo

wise raven
#

Even in cooked packaged builds with allowcpu access enabled on the static mesh

wise raven
lofty rapids
#

another thing is it won't crash if it takes too long

#

it'll just freeze the game

#

where as in bp it crashes on infinite loop if it takes longer than a tick

wise raven
dark drum
wise raven
#

This part is where I increased the int value just so it could boost a little but then skips verts

#

I got this image from Google

lofty rapids
#

you want to spread the loop out probably with a regular for loop or even some maths to get the indexes

#

for instance you can get 1-100 on the first tick, 101-200, 201-200

#

so you could just use a regular for loop and get you could, never done it i just used c it fixed my loop problems

#

or even a timer

wise raven
lofty rapids
#

just use a for loop

dark drum
wise raven
#

no that’s why I created all the custom loops in my blueprints not the macro library

dark drum
# wise raven Then how

It's hard to recommend anything without knowing much about how you're modifying the data/verts.

wise raven
#

Voice generated with elevenlabs

In this video i want to give you a look behind the techniques i used for creating the dynamic deformation effect on vehicles.
It's better if you know something about Unreals Blueprints, Materials and modelling, but other than that no other knowledge is required. There is no coding involved.

Playable Demo: https:...

▶ Play video
#

3:35 seconds

#

That part shows

#

Proc mesh is created in the construction scripts and it’s vertically and triangle count is stored there, then through the hit event it loops through the verts of the procedural mesh body then storing it in an array, which then updates the mesh section

lofty rapids
gentle urchin
#

Eh 😅

#

Make a custom macro

wise raven
lofty rapids
#

you could use a timer

#

or make a custom macro like suggested

#

whatever works better i was just showing how you would split up the indexes across ticks

raw onyx
lofty rapids
#

probably a timer would be best but i just threw it together to show an example

wise raven
#

I see, but like you had said before about converting the function to cpp I think that would work great too

lofty rapids
#

thats really the way to go for a lot of calculations like that

#

bp just isn't built for that kind of thing

umbral oyster
#

Anyone experienced this bug: Adjust Volume to 0.0, then later if u try to Adjust Volume to 1.0 again it wont work. But if u first adjust to a small number like 0.01 it will work for the latter case

wise raven
raw onyx
lofty rapids
# wise raven Yeah you’re right I don’t know why blueprints are slower than cpp when they’re d...

its probably not 100% accurate but this pretty much sums it up
https://www.youtube.com/watch?v=V707r4bkJOY

ブループリントとC++のパフォーマンスの比較をしてみました。ブループリントのネイティブ化をした結果も動画の後半に載せています。
I tried to compare the performance of blueprint and C++. Blueprint Nativization is posted in the latter half of the movie.

▶ Play video
gentle urchin
#

Bp runs in a VM

#

The interface speed isnt exactly Infinity Fabric

wise raven
wise raven
gentle urchin
#

Bp can do lots of stuff , but loops isnt its best friend

wise raven
#

and cpp isn’t my best friend either because I don’t know any of it 😂

raw onyx
#

Oh I don't know any CPP either and when I look at it my eyes go into a haze and it goes way over my head

wise raven
#

So in this case using event tick on cpp would be good too ?

abstract terrace
lofty rapids
wise raven
raw onyx
#

Lets hope at some point in the future Epic makes BPs more efficient

wise raven
lofty rapids
raw onyx
lofty rapids
#

but #cpp is really helpfull

wise raven
#

?

lofty rapids
wise raven
lofty rapids
#

or a blueprint function library, but there is no delay in a function

raw onyx
gentle urchin
gentle urchin
#

Bigger loops usually gain alot from being done in c++

wise raven
gentle urchin
#

I shaved of 84% of the cost moving from bp to cpp, no optimization

#

For my CityBuilder

raw onyx
wise raven
raw onyx
gentle urchin
#

Indeed it was

raw onyx
#

Food for thought for the future then. I haven't started development on my own game yet, waiting on 5.4 to drop first but will definitely be keeping that in mind

gentle urchin
#

Why wait when you can just get statted^^

#

Ive been waiting for the next engine version since 4.6

#

Partly joking

maiden wadi
gentle urchin
#

Volume controls

#

Our mixer had the same issue

#

Clamped min value to 0.0001 to avoid them stopping

raw onyx
# gentle urchin Why wait when you can just get statted^^

Because that's the deadline I set myself for starting. I've been spending the last couple of months figuring out and writing down the main features, themes, kind of levels, soundtrack I want in it, nailed down the working name for the game yesterday. And also been spending time finding tutorials for the most important features so I have a basis to work from to get a basic prototype up and running quickly to find out if it'll play as well I hope it does

gentle urchin
#

Which auto stops them when theres no volume.

maiden wadi
# raw onyx Why would they remove that? Sounds like a very useful feature to have

Because Nativization was really bad. It would bug out and it caused actual programmers to spend more time chasing down ridiculous and obscure crashes and bugs than it would take them to write the code into C++ twenty times over. It just wasn't a good tool for the costs and I'm pretty sure Epic felt the same way so just discontinued it instead of having to support it in 5.+

gentle urchin
#

Erens bp2cpp sounds promising tho

#

Fully working

raw onyx
gentle urchin
#

Hope it gets a grant and goes free 🥳

wise raven
maiden wadi
#

It'll be nice if it works. That said I don't mind BP's slowness. If I need it faster I just convert it. 🤷‍♂️ Nativization/BP2CPP doesn't solve the biggest issue with not learning C++. Performance is secondplace when it comes to learning C++ for Unreal though. The main benefit is the plethora of tools you gain access to.

gentle urchin
#

Last i heard it was working

wise raven
#

That’s just amazing

raw onyx
#

I will say though finding good and upto date learning material / tutorials for stuff is a nightmare

gentle urchin
#

Not as fast as native c++ but still alot faster than bpn

wise raven
#

Wonder when it will release and where

lofty rapids
wise raven
#

Could never get the hang of it

lofty rapids
#

cpp is a difficult language for first one but basic programming helps a lot

maiden wadi
marble tusk
#

This video does a deep dive into what's actually different about C++ and Blueprint
https://youtu.be/VMZftEVDuCE

It's not an either/or decision. Learn what makes C++ and Blueprints different, what they have in common, and how to use them together effectively. We'll also learn a thing or two about performance optimization and some basic software design concepts.

Read the article version: http://awforsythe.com/unreal/blueprints_vs_cpp/

00:00 - Introduction...

▶ Play video
wise raven
lofty rapids
#

Once you have everything installed its fairly easy to add some c++ to a bp project

#

and use the stuff together

maiden wadi
#

IMO if you're semi comfortable with BP and want to learn C++. Start by writing simple functions that help you in a C++ UBlueprintFunctionLibrary. This will teach you a lot of necessary skills without having to deal with the more daunting stuff.

You get to learn how to expose stuff to BP and what types can be exposed. You learn how to manage stuff in C++ and get used to the syntax easily.

There's no pressure with garbage collection and such.

raw onyx
# wise raven Yeah it looks hella difficult too don’t know how I’m gonna manage to get my hand...

I feel that as I'm a solo dev and I have so many things I need learn, so atm I'm just trying to figure out the best course to action to get a prototype up and running once I start development. Because I don't want to spend alot of time learning certain things and then discover what I planned to do doesn't flow properly, so want to have something I can mess around with and test before I go too deep if that makes sense

gentle urchin
#

Simplest thing is a simple bpfl

lofty rapids
#

i just use bp project and if i get to something that needs c++ just add it

#

blueprint function library is awesome in c, your functions are nodes you can use anywhere in bp

gentle urchin
#

In c++

#

Just make a function and expose it

maiden wadi
# raw onyx I feel that as I'm a solo dev and I have so many things I need learn, so atm I'm...

With respect, that is an unattainable dream. Prototypes are designed to be altered. You cannot make it perfect the first time through without the experience to do so. The best thing you can do is just start. Make your parts. Alter them as necessary. Try to stay modular enough that systems that need a rework can be reworked easy. You can see this on even really successful titles if you follow dev blogs. They're constantly evolving their systems, redesigning the game with new knowledge, etc.

raw onyx
wise raven
maiden wadi
#

Just don't fall into the trap of wasting time to avoid wasting time. 😄 You can spend many years in Unreal, and still learn something new almost every day that you'll wish you knew before.

gentle urchin
#

6+ years

#

New stuff keeps popping up

#

Both simple and advanced

maiden wadi
#

Where am I at now... 4 years 7 months I think?

#

Right around the 4.23 release I think is when I started.

gentle urchin
#

full time?

raw onyx
maiden wadi
# gentle urchin full time?

Pretty much. I didn't start working professionally for a while later, but I was pretty much Unreal open messing with something every day for far too many hours. 😄

gentle urchin
#

sounds like a luxury being able to do that xD

#

If only i could turn back time lol

#

pre house mortgage etc xD

sharp cloak
#

Hello guys, got a problem with the SaveGame in my project.
When i play the game, save game have to load a money savegame fiel, where you can find real and virtual money, but it doesnt make the savegame file.

Why doesn't it want to save in the savegame file? I checked everything and everything seems to be good but the backup file is not created in the directory.

Here are the screenshots :

gentle urchin
#

nothing there saves it to slot

#

so there's that

sharp cloak
#

?

mortal pulsar
lofty rapids
gentle urchin
#

Also you should just have a new getter

#

this can be null

maiden wadi
sharp cloak
lofty rapids
sharp cloak
gentle urchin
#

SaveToSlot Flo33...

#

Its creating the instanced uobject, but it's never written to a disc location.

sharp cloak
sharp cloak
mortal pulsar
#

i got this problem while i was using spawn sound

versed sun
#

did you select a sound to play?

#

and a location ?

mortal pulsar
#

i am using that on a a widget should i select a location ?

#

Blueprint Runtime Error: "Accessed None trying to read property CallFunc_SpawnSoundAtLocation_ReturnValue". Node: Stop Graph: EventGraph Function: Execute Ubergraph WB Outro to Menu Blueprint: WB_OutroToMenu

versed sun
#

what does your node look like ?

mortal pulsar
versed sun
#

ahh, you are trying to stop both sounds , even though one doesnt exist

mortal pulsar
#

actually before here there is a branch it selects one of these sounds

versed sun
mortal pulsar
versed sun
#

try something like this

rugged aurora
#

I have assigned an AI controller to the player character pawn, and set it to posses when spawned. However this creates an error

#

I am trying to use a dummy AIC so I can send orders for movement to the character