#blueprint

1 messages Β· Page 240 of 1

potent socket
#

Hello, i'm doing a local multi (splitscreen) fps, I've a spawn problem : I don't understand how to avoid two players to spawn in the same place.. I use remove idex inside the For Loop but it doesn't work.. Any Idea ?

chrome glacier
#

Thank you, does this work in shipped games ya think?

frosty heron
chrome glacier
frosty heron
#

does it make any difference to set the precentage more than 100?

chrome glacier
#

Yeah definetly, I've set the editor to run 85, if i change it to 125 for example the difference is huge (when zooming on screenshots)

frosty heron
#

I see, allright

chrome glacier
#

Need to find the sweetspot though, as running higher resolution + more screenpercentage can cause the graphics card to run out of memory easily

timid sun
#

Hello, I can't for the life of me work out how to load a level (async, so that a widget can display with movement/interactivity) and THEN open the loaded level. Of course going immediately to open level makes everything freeze before opening it. What am I doing wrong?

runic ore
devout tide
#

This is definitely not the way to go about this. Why not use the loading plugin from unreal?

#

somehting like this, but I believe unreal also had a similar one

thin panther
#

Only if you salvage it from Lyra, CommomLoadingScreen

timid sun
thin panther
#

I mean plugins are the default engine

#

They aren't modifications

#

The code in the plugin you can just use in your project

#

But no, proper loading screens aren't possible in bp

#

Because widgets don't survive a world change

timid sun
#

Okay, thankyou for the info. I will take a look at the plugin

devout tide
#

Its a native plugin you can use, definitely fine to go with

runic ore
#

(though these are loading screen plugins, not async loading smth plugins)

trim matrix
#

What if anything is colliding? Do you check at the very end? If so, what do you do??

#

It seems a bit innefficient to run the whole generator and then restart other smth
(Probably gonna remake all my stuff cus it was basically all built on child bps so im just gathering intel)
2. How r u grabbing info from the rooms? Since they are all random room classes, wouldn’t it break any lines? Maybe this is smth I didnt learn properly but I only was able to do this by getting it then casting to the master room, and grabbing from child components of scene components to get things like exits or collision boxes

pine hatch
#

Hi i got quite a beginner question about door opening mechanics, i put together a Bp where i have a collision box a door static mesh and a widget. When the player begin overlap with the collision bos the vidget got setted as non hit so it apears if the player press e it triget the door opening mechanism see on the picture. My problem is if i put two of these bp s in the level.. no matter which doors collision box i am standing in if i press e it always opens only the first one ..

desert juniper
#

I keep answering the same questions. Reread some of my previous answers

crude helm
#

Is it possible to get a struct reference instead of a copy of it? So you don't have to keep to re set the struct back to wherever you have it.
Like in this example I have it from a map, but even when using set by reference, it still does not update the original from the map, as if I do another get on the map it will not have the value updated.

Maybe not a struct, but an actual object somehow that would allow one to get its reference from the map, so no need to re set it back to the map later.... Mainly wanting to avoid have to re-set all the values back, which is a pain.

surreal peak
#

You will most likely have to temp save it, alter it, and re-add it to the Map.

proven loom
#

in blueprint, is there a way to name a magic number? say i have bunch of tab indexes and i want to provide names for each of the indexes. how can i do that?

surreal peak
surreal peak
#

It's very uncommon to put the Input into the Door.

#

You'd usually put the Input into your Pawn/Character and have an Interaction Interface that you can use to call some Interact function on any given Actor.

#

And then you either trace for the door on the Input, or you maybe already have the Door as an Actor from an Overlap in some variable and you call your Interface function on it.

#

Door would then implement the interface and do the code you have in your screenshot

#

Either:

Inside Pawn: OnOverlap -> Determine best overlapping Actor (e.g. via Angle) and save it to a Variable called "BestInteractableActor"
Inside Pawn: Input -> Call OnInteract Interface function on "BestInteractableActor" if valid

Inside Door: OnInteract -> Do Door Logic

Or:

Inside Pawn: Input -> Trace for InteractableActor -> If hit call OnInteract Interface function on HitActor

Inside Door: OnInteract -> Do Door Logic

#

Something like that

dark drum
dark drum
past compass
#

I have a frozen material that I created which can progressively cover meshes/objects when you increase a param and I’m not sure how I could get this to effect all materials that the effect is overlapping with without to add it to every material parent

dark drum
surreal peak
maiden wadi
haughty crow
#

hello

past compass
past compass
marsh pilot
#

Does anyone have examples of nodal/modular building systems like in Captain of Industries or Simcity 2013? Particularly having "anchors" that connect to different buildings that can only accept certain resources?

maiden wadi
# past compass will definitely try to find that one, material layers are different from landsc...

Oddly I can't find it anymore. But the overview docs on it aren't bad. The one I was thinking of just had a nice layout. It showcased how they basically do everything from the special effects of lightning/fire/ice types as a layer. And then the introduction WPO animation was another layer. And it turns into this list of effects that your things have, which you can affect with parameters. Layers are slightly nicer than material functions for this because you can affect their order better. Where as a set of material functions you have to edit the actual parent material with all of these in it.

past compass
#

considering all my textures are currenlty sprite texture / pixel art essentially, blending in differnt layers for dmg related things, burn, freeze , etc, these could all be differnt layers

copper chasm
#

i am going to lose my entire mind having to step away from my project for 4+ days and then having no idea wtf is going on

#

I think I was just going to cut the checkbox array and go back to comboboxes

maiden wadi
#

Comboboxes are sad times. 😦

#

Annoying to code, annoying to style, shit controller use.

storm solar
#

Trying to create a test animation in unreal off of ue4 manniquines. Followed a video and it's not working correctly.
Issue is that it isnt letting me pose existing animations from the anim weapon back.
https://youtu.be/tnZv7KQPai0

πŸ‘‰Get Access To All My Unreal Engine Courses At : https://www.unreal-university.com/courses
πŸ‘‰Get My Free Unreal Engine Beginner Course : https://bit.ly/46mUWMr
In this video I go over how to Make Animations For The Unreal Engine 5 Mannequin

#Animations #UnrealEngine5 #Uisco

β–Ά Play video
copper chasm
young meteor
#

Please help me understand what I have forgotten here:
I'm trying to do a Line Trace By Channel for a custom Channel "Towers".

It works right for 1 actor so I copied the exact collision setting to the new actor I need it for (screenshot attached)

The Line Trace somehow does not get an actor hit.

#

In both cases it is for a Static Mesh and I checked it is set to Visible.

lunar sleet
young meteor
#

The new actors Static Mesh

lunar sleet
#

show the first one's too

young meteor
#

First one (Platform) is for the actor working

lunar sleet
#

I would check the actual collision of the 2nd static mesh asset. Also, does the line trace show a hit? What prints on hit component

maiden wadi
young meteor
#

Top one the working one

lunar sleet
#

bottom one showing red trace, meaning it never hit

young meteor
#

Your comments made me try swapping the Mesh

#

Then it register the hit

lunar sleet
#

yeah

#

so it's the mesh asset's collision

#

open up the platform mesh asset and add collision to it

young meteor
#

Thank you both. πŸ™

maiden wadi
haughty sun
#

Hey all, if 2 characters are using the same AnimBP, do they get their own "instance" of it or are they using the same one?

ie. If Character 1 sets variables inside the AnimBP, they affect Character 2 too because they are sharing the same AnimBP?

maiden wadi
#

Separate instances of the same class.

haughty sun
#

So each character will be able to get/set his own values in variables defined within the AnimBP?

maiden wadi
#

Correct. That's how it's intended. So you can set values in the update or from bound events. Then the animgraph can use those without having to leave it's fastpath. I believe it also enables the anim graph to be threaded as well?

haughty sun
#

OK, I have a hard to track bug that I thought might be because the 2 characters were updating/overwriting the same variables in the shared AnimBP, so wanted to double check as I'm pretty new to UE.

You've just saved me time looking down the wrong path - thanks, appreciate your help!

maiden wadi
#

Do be careful debugging the AnimBP. One common issue is mistaking the editor instance which will be active when you have it's editor open. Causes a lot of confusion to people newer to animation work when they know they have it on a specific character, but their casts are failing visually in editor and such.

haughty sun
#

I'm definitely new to it but don't have any casts failing, I do them in the Anim Init and then cache it in a var and it seems to be fine.

#

Having issues with transitioning between states etc anmd it seemed like one character was updating variables which affected the other character, but if that can't be the case then I'll look elsewhere for what the problem might be.

maiden wadi
copper chasm
haughty sun
maiden wadi
#

This should be fine to use. As it'll get the pawn that has the mesh, which owns the animinstance.

haughty sun
#

Alright thank you, I'll grab some food and see if I can track it down now I've confirmed it's not that.

valid sluice
#

So I need some clear advice for how to implement two systems that work well together.

Recently I got tired of making widgets in one blueprint and having to manually change the same thing over and over. So I went for modular/scalable widgets. I got a widget for a custom slider with animations, that use an event dispatcher to pass onClicked information. This widget is used in a widget switcher in a settingstab widget that says the setting name like 'master volume' and what type of setting it is. (ex. Slider, ON/OFF, etc)

so my problem starts where I made a mouse sensitivity option. I multiplied the action inputs of the Look inputaction event with a variable. How do I pass what could possibly be numerous settings split in different widgets so how do I pass this information to the player without it being bloaty, performance heavy, etc.

Note that this game is strictly multiplayer as its like a fun 5v5 shooter, and things like game instance cant really be used since that saves data both server and client.

copper chasm
#

I -think- I need to make a base widget combo box/text so I can have a variable to mark whether it's default checked or not

valid sluice
#

Ive thought of interfaces, but that can get very bloaty very fast if I have a ton of information of settings values going back and forth. I thought of perhaps making a component class and storing the same variables there, and add the component to player controller and the UI, but im not too sure

maiden wadi
#

Having said that, GUS is kind of eh as far as portable settings. One of the plugins in Lyra wraps GUS and a SaveGame for settings. The reason being that GUS saves to ini files which are not portable usually. They stick with the machine and some settings like accessibility ones should be designed to travel from machine to machine. Where things like maybe input, sound, graphics are per machine so do not travel.

But that is strictly if you want that kind of portability for your settings. You can effectively put all of your settings in GUS and pull them globally from anywhere to read them. And then just let your widgets set them.

wise ravine
#

^still need help with this one, thanks

proper flower
#

Someone could address?

olive yarrow
#

i'm tryna make my tank shake and rumble, but instead it seems to wanna boogie off the map. While i support any boogie fever, i need help with making it .... not.

maiden wadi
#

You don't really want to move the tank itself for something like this. This should be some sort of visual effect on it's meshes. The gameplay aspects like the capsule should not be used for this. If it also needs to shake the camera, then that can be a camera shake applied to the driver/passengers.

olive yarrow
#

definitely dont wanna shake the camera!

maiden wadi
#

Is there any gameplay aspects to this, or is it purely visual? Because if it's purely visual, a small WPO in it's shaders would be cheapest.

olive yarrow
#

purely visual! TO THE SHADERS

valid sluice
# maiden wadi Having said that, GUS is kind of eh as far as portable settings. One of the plug...

yeah my university professor im still friends with suggested either making a text file, or use a data table. gameinstance is a big nono because you dont want to save client side info like volume or mouse sensitivity that loads to the server as well. and ive just been absolutely stumped on how I pass information everywhere. how do I take a float value from one of these settings or slider values and pass it to playercontroller without making it very heavy. thats somewhat my issue

noble robin
#

Hi all, I am trying to write some tags to assets within the editor, but I am unable to then save said assets.
Any ideas on how I could save these to the actors in a scene?

maiden wadi
noble robin
maiden wadi
# valid sluice BP

I think there are plugins that allow the use of GUS in BP only. Normally you need to make a C++ subclass of it. Odd limitation they've never really corrected for unknown reasons.

In BP only without outside stuff though, I recommend literally just having GameInstance locally initialize a settings SaveGame. It'll be local to each machine. And since it's a class, you can set defaults on it. And then anything that needs it can simply GetGameInstance->GetSavedSettings->GetLookSensitivity.

maiden wadi
# noble robin Yes

Transact is usually how you would do that to edit an instance. For example... Sec

royal vale
#

Anyone familiar with smooth sync?

maiden wadi
#

@noble robin You begin a transaction. This is basically like saying you're doing something. You add the transacted object, change it's state, then finish the transaction once you've done all of your transacted objects.

This also allows things such as Undoing the transaction once the utility has ran via the Undo or Ctrl+Z, similar to if you moved an object on the map or added the tag manually in it's details.

valid sluice
#

Ill try looking into that.

this is what I got so far as additional reference.

Also what do you think about using a component

lunar sleet
#

Authaer loves components πŸ˜„

maiden wadi
# valid sluice Ill try looking into that. this is what I got so far as additional reference. ...

I think a component is very specific to an actor. Even if you place it somewhere more global like your playercontroller or game state, you still need to save these settings and load them. Which leads right back to a savegame object. Where as you could simply keep an object globally and pull these settings or set these settings from anywhere on that machine, which is much better from a settings pov.

#

I do love composition. But it's not a good call here. πŸ˜„

noble robin
maiden wadi
#

This is essentially what GameUserSettings is for and does. It's jut an object that writes settings to an ini and loads them at start of game. You can then set and save them to their ini, and read them all you like at runtime from anywhere.

A SaveGame in the GameInstance serves an identical purpose except that the main difference is that it'll save to a binary file instead of an ini. But it's accessible from a BP only standpoint.

valid sluice
#

and from a widget point of view, where does game instance get called? because of course these are modular setting types. so theres a lot of widget blueprints. Do I go to the main tabs of the settings menu like graphics, audio, controls, accessibility, im essentially casting to gameinstance four times?

#

or the overarching settings menu itself

maiden wadi
#

You would of course need to cast to your specific game instance class where you've made and stored the object to get the object to read or write to it.

But to make life easier, you can make yourself a BP library that does this for you via GetGameInstance->CastToMyGameInstnace->GetSavedSettings and return that through a Pure node.

worthy jasper
#

or just use a save game as has been suggested, or learn the very little c++ needed to leverage game user settings

maiden wadi
#

In this case I was suggesting storing a savegame object on the gameinstance. To avoid having to constantly reload it mostly.

#

Easy enough to load or initialize on Gameinstance init. And then free to use from then on without having to worry about hdd use.

worthy jasper
#

Right mhm 😁

#

Yeah exactly 😁 sorry I did just see that 🀣

nimble wasp
#

How do I get an actor to drop to the ground? I created a new actor, added a sphere SM component - what do I do next to get it to simply drop when I place it above the map in PIE?

maiden wadi
#

Either add a Projectile Movement Component to it, or call SetSimulatePhysics to true on the mesh itself.

nimble wasp
#

While I have you, I'm simply trying to fire an event when my bullet (where this code appears, capsule is the collision around the bullet mesh) hits an actor. It should fire P_confetti, wait, and despawn. Shouldn't this work?

maiden wadi
#

I might even go so far as to say don't bother holding the emitter here, but instead simply spawn a new emitter at the location. Then you can kill the overlapping actor immediately.

#

They're designed to auto clean up, so it should play and destroy itself if you spawn it at location.

autumn pulsar
#

So I have the world space transform of an object. I want to take it's current local orientation, take its right vector, then rotate along that vector forward, what would be the logic to do that sort of transformation?

wraith haven
#

How can I cast to a blueprint from the character blueprint? I don't know what to put as the object of the "Cast to blueprint" node.

maiden wadi
# wraith haven How can I cast to a blueprint from the character blueprint? I don't know what to...

I recommend taking the time to go through something like the livetraining on Blueprint Communication. https://www.youtube.com/watch?v=EM_HYqQdToE

Understanding casting requires understanding class hierarchy. Knowing that a Character is a Pawn, and a Pawn is an Actor. You know that if you line trace a Character, it can pass that through the trace results as an Actor level pointer and will cast to Character successfully. If you line trace a flower pot and try to cast it to character it will fail.

maiden wadi
silk hinge
#

hello,

i'm looking for explanations

I have a simple code that works, but it fires multiple times (once on client, and twice if the host is close to this multicast and also plays the animations (it's self hosted online system)

I would like to optimize the thing and fire it only once, like, only the client getting off fires it, or only the server if it's displaying the animation, it looks like the server alcays fires first if he is close.

How would you do that without making a gate ?

high iris
#

Is it possible to make an ACharacter crouch without a controller being involved? It looks like even if I find a reference to that actor, assuming it's not possessed by a controller, and call Crouch on that character, nothing really happens. However doing the same on a controller-possessed character works.

Edit: actually I think giving it an AI controller fixes it.

tired hollow
#

Let's say I have multiple "interaction" actors that are supposed to spin until picked up, is there a way I can make a derivable blueprint that handles the spinning and picked up/dropped logic without having to write the same code on every actor?

storm solar
#

I want to make the ue4 manniquine an animation in the serencer but there is no option to adjust his rigging like the ue5 one. Why is that?

storm solar
#

that channel was hidden for me. Thanks for showing it to me.

crude helm
#

How does one unload an object?
The object is a blue print based on the very first top level Object. I create it and add to a map, but now when cleaning the map, I want to first loop trough them and make sure they are destroyed. But there is no destroy for a base object...

Or do I have to destroy the outer object to be able to remove everything else?
I'm cleaning the map, but I'm pretty sure that I will just leave a bunch of object unreachable, so I'm trying to actually get ride of them first before cleaning

maiden wadi
crude helm
#

Oh so there is an active garbage collector for c++? I though those didn't exist in c

#

well in that case I don't need to do anything I guess, those objects were being used by blue prints, but at this point, all the levels and blueprints are unloaded, so I mainly going back to main menu. I guess I can just clean the map then

maiden wadi
#

It's an Engine thing, not C++ specifically. But for sure in that case clearing the map should be all you need. This is all Actors do as well mostly. There's a lot of cleanup code before that, but it largely boils down to cleaning it out of it's UWorld, cleaning up it's components, and then marking it pending kill.

crude helm
#

I see, one last question, the outter object in this case is the game instance class. Do I need to make the parent a different object, so I can explicitly set it to null? Just wondering if they being parented to the game instance would create a reference between them

#

cause the game instance won't close right...

#

well I guess I can have a wrapper object and leave this map inside it, so I don't have to wonder about it 🀣 , then just set it to null

maiden wadi
#

It doesn't create a hard reference. The only hard references you can have are UPROPERTY marked hard pointers. All BP properties are UPROPERTY by default. And all UPROPERTY marked properties are class properties, so function inputs/outputs don't count. So TLDR the only way to keep something alive generally speaking is to have something(not necessarily, but USUALLY it's outer) having a UPROPERTY marked pointer to it. And for that or those thing(s) to also be hard linked by soemthing else that won't be collected. In this case with it being the game instance as the outer, if you remove it from there, and everything else referencing it like actors and UI in a level are removed from level travel, it'll be cleared for collection.

crude helm
#

nice, thanks for the explanation

gaunt stirrup
#

cinematic renders keep crashing but they were working fine before… have a due date this Friday 😭😭😭 any help?

zinc flicker
#

I got a question.
I like to make something similar like a Exit 8 Game.

You go into a train and the next train station is similar to the first and you can endless visit train stations some have AI some have anomalies etc.

The question is how would i move between this worlds.

  1. The first idea i had was to make them all in a row and just unload the one you don't use but this would make it very linear. Or would made it so that i need to do it multiple times to get alternate runs.

  2. I load and unload the same level at the same location and the train just goes in a small circle. The problem is see here is that you spawn AI and sometimes they just don't properly spawn or work when working with streaming levels.

  3. An other idea would be to just teleport the train to the beginning of the train station but i am not sure if that will create jitters to the player if they move around in the train.

The idea was to have like 15 different stations and fire a random one with "switch on INT"

I am curious if there is a better idea to do something like that or if i miss something, an alternative would be to not move the train rather the world.

tropic token
#

hmm, is there like actual thingy to do this?

#

or it takes them by index? :/

maiden wadi
tropic token
#

Thanks πŸ™‚

maiden wadi
# zinc flicker I got a question. I like to make something similar like a Exit 8 Game. You go i...

Teleport the train and player. Teleport being the operative word. When you set an actor's location you can choose to do sweep and teleport. Sweep will slide the actor to the location and stop at the first hit. Teleport will preserve the actor's velocity as if you were jumping through a portal. If the character and train are both teleported and the outside is blurred by a reasonable speed or whatever, the player shouldn't really notice it.

zinc flicker
# maiden wadi Teleport the train and player. Teleport being the operative word. When you set a...

I see i will try that out thanks a lot.

So the way you would recommend is to stack multiple levels at the same place and just stream / unload this sub-levels depends on which one i want.

Do you think that would affect the AI for example lets say on one Map i have an AI that chases. If i unload the level with the AI together and then load it will that work propperly?

I had video watched while ago where they recommend to have general outer walls and navmash with AI on the Main MAP since they like to fall through the floor etc.

maiden wadi
#

Do the aI reset if you visit the same platform?

#

I'm inclined to say simply don't make them AI until the train stops or shortly before, long after the level has been loaded. Make the pawns on the level or something but before unloading remove their ai controllers, and when loading in, at some stage grab them all and create ai controllers for them. This also has the benefit of not making them derp around before the train stops for example so you get consistency for gameplay aspects.

trim matrix
#

hey is there a way to recreate this camera system?

autumn pulsar
hushed hinge
#

is there a way to turn a character manually via the movement componenet
I dont want to have to swap manually between orient rotation to movement and orient movement to controller and set focal point, kinda sucks

maiden wadi
hushed hinge
obtuse kiln
#

starting to wonder if I should just gut my player character and actor components of any variables I'd want to persist across levels and have them all pulled from gameinstance so I don't have to think about saving/loading or moving everything to gameinstance and back...

lunar cradle
#

how do i make the bp spawn forward by 5000 units infront of the character based on which direction the camera is facing? The vector I have now translates it world space

hushed hinge
lunar cradle
#

also the camera is to side of the character will that be a problem?

gentle urchin
lunar cradle
#

how do I make it local space not world space

gentle urchin
#

you want to multiply forward vector with the distance

#

not add some arbitrary Vector.X afterwards

lunar sleet
#

Are you sure it’s X you should be multiplying to your distance ?

gentle urchin
#

you want to multiply by float

#

not by vector.X

lunar sleet
#

Aye, unless you want it to travel specifically along the X path (comes in handy in 2D sometimes)

gentle urchin
#

True that!

severe bay
#

In blueprints, is there a way to reference a variable from whatever the currently loaded level is? How might I accomplish that?

sudden nimbus
#

level blueprints are really only good for quick prototyping or perhaps level specific logic, not good to rely on them for much else

severe bay
#

In the game I'm working on, each level has its own "par" time. How would you organize that?

sudden nimbus
#

you could make a "manager" type actor that you place in each level to manage such state perhaps, or you could have it live on one of the gameplay framework objects such as gamestate, gamemode or gameinstance

#

the former is preferrable, as its easy for the game framework objects to end up as all powerful messes

#

but the latter is simpler

severe bay
#

So just a switch by string and use level names to set the variable, or is there a better way?

sudden nimbus
#

oh i see what you mean

severe bay
#

Sorry if I wasn't clear.

sudden nimbus
#

i still think it makes sense though

#

just have a special kind of actor that you place in the level that has the par property

#

and find that actor from your other actors to reference it

pine hatch
severe bay
#

@sudden nimbus That's actually really handy. I never thought of using an actor in that way. Almost like using it as a sort of struct, huh? So the object can hold the unique value of the variable, and I can just reference whatever one is loaded through the class? Do I understand you right?

sudden nimbus
#

youd make a blueprint actor class and give it a par variable, then place it in the world, and change par to what it needs to be for that world. rinse and repeat for other maps where you might want a different par

#

and then whatever actors need to know what par it is, they would find this actor by class (cache it, dont fetch it constantly)

#

and of course you could put the other golf course related variables on it too

severe bay
#

@sudden nimbus Ok, that's exactly what my understanding is. Thanks a lot. That's a really handy tool.

#

@sudden nimbus Wow. That was so easy to set up and exactly what I was looking for. Thanks again for the great idea.

sudden nimbus
#

np- if you make it to C++, then this is done with subsystems πŸ™‚ -- well actually i think id still use an actor for this

severe bay
#

Copy that.

steady night
#

tips ?

dark drum
severe bay
severe bay
#

Oh, wait. I see DataAsset. It appears to be a separate class altogether from the actor class. I was thinking you meant the "object" class, which appears to be the only parent of the asset class. Or I just don't yet understand what I'm looking at as far as the heirarchy.

dark drum
# severe bay I can't place that type of class into the level. How would I go about instantiat...

There is only ever one instance of a data asset. For example, you create the primary data asset and add the relevant vars to it. You then create however many data assets you need using the primary data asset. When you get the data asset, it'll be the same instance regardless of where it's fetched. (Like how if you get a static mesh it's always the same (not to be confused with the static mesh component))

severe bay
dark drum
severe bay
#

Oooh. I'm going to have to do some more research on exactly how to use this, but I'm starting to understand now. Thanks!

sudden nimbus
#

well then you'd need to tie the data asset to the level in some way

undone bluff
#

I do exactly that for level metadata

sudden nimbus
#

you could indeed do it by aligning names or other such things, but that is brittle across renaming

#

I wish there were a nice simple k/v metadata thing for levels

undone bluff
#

I don't think that is avoidable, after all if you rename a level any references to it in the project settings like default map will break too

sudden nimbus
#

no with an actor it would not break

undone bluff
#

Fair, I just mean renaming levels isn't something that typically goes without additional work

sudden nimbus
#

true

#

also wish we had real level references instead of "URLs"

severe bay
#

Hey, something that I've noticed is that the first time sounds play, they're delayed. I've searched around and tried some fixes that were suggested but nothing worked. Is there a way to force audio to load to memory (I'm assuming the initial delay is them being loaded into primary memory) at load time?

undone bluff
#

What kind of fixes? You just gotta load them async ahead of time

sudden nimbus
#

that's what I was gonna say but don't audio components have a hard ref to usoundbase

#

or is it soft

#

I guess it doesn't matter if you are spawning the audio components

#

which is probably what you're doing. so just async load them ahead

#

no you definitely do, I've dug in rather deep on a dynamic music system in c++

#

but it super depends on what you're doing

sudden nimbus
#

fwiw quartz is there to schedule audio -- it's job is to allow you to be sure audio plays at the exact moment you want it to (not before or after). if you use quartz to play a sound you can certainly schedule audio to a particular tempo or the like-- but that takes a bunch of setup

#

but you don't have to use quartz to play sound

dark drum
dark drum
sudden nimbus
#

yeah ofc

#

hmm, I should use that

proper flower
#

why if I use simulate physics on my projectile it won't travel but instead is static?

brittle flame
#

thanks mate - i thougth as much - i might go down teh c++ path

lilac storm
#

hello devs , plese need a help , i got destructables (Geo Collections) in my BP , and has some anchor fields for geo collections also inside of Bp , but i can connect geo collection to those anchor fields that are in my bp, i can only select anhor fields that are placed on the level , is there a way to select Anchor fields that are inside of my BP ? please ❀️

severe bay
severe bay
sweet silo
#

hi any idea why this is not removing the static meshses from my array?

dark drum
steady night
#

hi i need tip of a fog of war system

#

as low cost as possible

sweet silo
#

and i'm defining it in the viewport on the details pannel

#

i'm trying to have a mesh follow a spline and moving that spline at runtime
But it's creating meshes every time i input as a player

#

here is another version with a spline mesh component but i couldn't set the collision properly

#

or rather this spline mesh component wasn't following the base splein

frosty ingot
#

what is a alternative to 'on begin overlap' and 'on end overlap' because i have this problem that after running it once, the second time it wont work

dry flare
#

can anyone help me out? basically, i have a cover volume, it has a bool, that i want to tick on or off, depending on what type of cover it is, crouched, or standing cover. issue is, the variable keeps interfering with the other cover volume that is placed down, so if one is crouched cover volume, and the other isnt. both end up being crouched... im really not sure what im doing wrong. ill see if i can post some screenshots in a bit. i feel like its gonna be something really stupid. as im a noob. but i tried so many things that im at a loss now lol

trim matrix
#

hey how can i make a spin move like this? i have an animation for it but not sure how to trigger it and to deal damage when the player does it

#

one sec wrong ver of the clip

frosty ingot
#

i hope i can be clear enough, but i have this problem. As you can see in the video when I try to blind the enemy the first time, it will go through and it will work. It still works until he starts moving again, at that point it just stops working and i cant blind the enemy again. I think the problem is either in the last event blueprint or either the 'on begin overlap' and on the 'on end overlap' blueprints. Anyone any idea how i could fix this?

tulip anvil
autumn pulsar
#

Is it possible to update an object per frame rather than per tick? I’m trying to parent an object to my camera, but the issue is I need some precision. When I do it per tick the interpolation introduces some subtle inaccuracies

#

I’m basically trying to grab my hmd’s location every frame and move the object to that location

frosty ingot
thin panther
harsh peak
#

🌟 Did anyone know how to implement Payment gateways like stripe/razorpay subscriptions in UE based game ? 🌟

autumn pulsar
crimson prawn
#

hello, why the SoundWaveObject return value of FinishRecordingOutput does no sound but has the correct duration?

lime yoke
#

Get Player Character 0 returns the first character found in the local computer. Get Player Controller does the same?

maiden wadi
lime yoke
#

Thank you!

indigo gate
#

So how come text pulled from a stringtable won't be able to load in-game until that stringtable is opened up at least once in the editor after opening the project ?

#

Is this a bug or a normal thing ?

narrow sentinel
#

out of interest when the player crouches, is the capsule shrank down or not ?

maiden wadi
maiden wadi
indigo gate
#

It looks like the problem is coming from the GetRegisteredStringTables node, the output array is empty until your stringtable is opened in the editor first

narrow sentinel
trim matrix
lunar sleet
#

NintendoLawyer has entered the chat

trim matrix
thin panther
#

Nintendo never has bigger issues

trim matrix
#

true, i just meant im not worried lol, ive seen other games take inspo from them n its not like im using their assets lmao

maiden wadi
#

It's fine as long as you don't imitate their super awesome patented two step method.

trim matrix
#

the similarites stop at the point of its water 😭

#

sm64 is just one of my references

narrow sentinel
#

anyone know how I am meant to deal with player going into a vent cause at the moment I have to resize the capsule else it gets stuck when it vent

#

but when I resize the capsule it ends up being half off the ground and well it then ends up with player being motion warped ontop of the vent rather then inside it

dapper panther
#

I'm sure there's an easy way to do this, but I'm getting confused.

I have BP_X set in the world at a certain location.
I'd like to press a button (already have the interact logic and the BP_Button set up) to move BP_Y to BP_X's location.
How can I reference each of X and Y's locations in this BP_Button?

maiden wadi
narrow sentinel
#

i have in the end

gentle urchin
maiden wadi
#

WTS complexity. Giving it away for freeeeee.

zealous moth
#

I'm having a case where I have a polyvalent actor that becomes different things.
In one case it's a loaf of bread, in another a trashbag.
Each mesh has its origin at their lowest point.I made a construction script to offset both the actor against the environment and also to offset the mesh if needed.
For some reason, my trashbags float but my loafs don't... I am not sure why...

#

ahhh i figured it out

#

instead of local bounds, get component bounds

trim matrix
#

trying to have a ui animation play, but it dosnt and gives this error

flint glacier
#

If I'm trying to get a transformation to happen at the push of a button, does anyone know how to set the original mesh to invisible once I press the button to "transform" into the other mesh?

main lake
#

I'm trying to create a breakable / poseable cubes system like in minecraft but for a limited map / level and I want to create all the optimization stuff to generate those blocks only the visible faces to not burn people's devices. Is it possible to do all that stuff in Blueprint ?

You may suggest me to use the Voxel Plugin as it does most of the things I want but it doesn't handle non cubic blocks, like stairs for instance, so I need to recreate that stuff from scratch and I need some guidance on where to look for to do that in Blueprint (if it's even possible) πŸ™‚

steady night
#

hey im using spawn sensing is there a way to disable so it cant se thru walls ? or do i have to do workaroun with tracing and such ?

maiden wadi
zealous moth
zealous moth
zealous moth
zealous moth
thin panther
#

Its also worth noting stairs absolutely are cubic voxels. You just lower the resolution of the voxels

#

Well, increase the resolution even

trim matrix
zealous moth
#

I don't know your full setup, but you need a reference to that specific widget as a target

#

you have a "target" but more than likely you promoted it to a variable and never set it

steady night
#

hmm setting Scene components to visible [fasle] keeps their collision on ???

zealous moth
#

if you spawn your widget, refer to it in that target variable and then play the animation

zealous moth
trim matrix
#

oh quick question tho my ui slides in from off screen but my camera is cropped to 4:3 so u can still see the ui as its sliding in, how can i make it hidden behind the screen border

trim matrix
#

so i have these two blueprints that trigger an objective ui and get rid of it to "complete" the objective, how could i add to this to make it like "collect x amount of blank blueprint" and then completing that completes the objective

olive yarrow
#

aye playas, tryna get my players camera to face the talking NPC and if i google it i'm not gonna get my daily quota of people interaction - i currently have what's in the photo, where'm i going wrong?

faint pasture
#

Where does the camera get its rotation from during gameplay

olive yarrow
faint pasture
faint pasture
# olive yarrow Yes'ms

So keep that same energy. When you want to look at something, do it through setting control rotation.

olive yarrow
main lake
faint pasture
#

Just set controlrotation

trim matrix
#

how can i fix this? im not rly sure whats wrong bc the variable is there

fiery swallow
#

if it still doesn't work then go to the blueprint that variable exists in and make sure you compiled

slender idol
#

Hey, I'm trying to use the use show only list of actors in scenecapturecomponent2D but it doesn't show up at all. Has it been moved?

dawn gazelle
proven loom
#

how do i wait for all here?

flat summit
#

Working with animations, following a tutorial, the "Isfalling" works, but it doesn't get "IsCrouched" from the character amd set it in the ABP. Jumping sets the IsFalling Var, but the IsCrouched in ABP refuses to change, even though it changes the one in Character BP, it doesn't update here. (But falling does). Why might this Var not be updating?

dawn gazelle
dawn gazelle
flat summit
#

Yup, got print strings that confirm the variable is changing in the Char BP, but not reflecting that in the ABP

dawn gazelle
#

Are you looking at the correct instance of the ABP?

maiden wadi
flat summit
gaunt stirrup
#

where can i find the default engine.ini in the packaged project?

#

there was a way i could edit the resolution through that file

#

i forget where to find it

dawn gazelle
flat summit
gaunt stirrup
#

nvm

dawn gazelle
# flat summit That gives me a "spawned" option. Selecting this doesn't seem to change the beha...

You'd want to select the instance that you want to look into. With this selected, you should then be able to inspect variables and breakpoint on the specific instance to see what is happening.
I'd suggest maybe putting some print strings on your update event in the ABP and see if the values are what you're thinking they are. There is no reason why a value from one blueprint wouldn't report its correct value to another unless you are using the wrong instance of that blueprint. Apart from that, maybe try restarting the editor and trying again.

tiny tundra
bright trench
#

is spawning child BP that buggy vs level instances?

frosty heron
#

Yes it's one of the thing you should avoid

high iris
#

Is there any reason to prefer GetClass -> Equals BP_Foobar -> Branch vs Cast To BP_FooBar? Is one of them much faster than the other?

obtuse kiln
#

Is the correct way to get a soft ref to become a usable hard ref (and not just a generic whatever) of the right kind to use async or blocking load then feed the output through a cast? it works, but I have no clue how wonky it is.

maiden wadi
#

You could mimic the cast by using a IsChildClassOf. But in the end a cast will do the same thing and is likely quicker.

maiden wadi
# obtuse kiln Is the correct way to get a soft ref to become a usable hard ref (and not just a...

This is...partially correct. You're loading the actual class. The loading node simply passes it back to you as a UObject levelpointer, because it has no idea what it's loading and the idea is to keep it generic to avoid hard reffing the class. Putting an output pin of the same type you're loading defeats the purpose of a softref since that would make the class link and force it to be loaded anyhow same as if you started with a non soft pointer. Which is also to say that if you're casting after loading, make sure that you're casting to a parent class with no assets and stuff. So it should be AsyncLoadAsset->CastToParentWithFunctions

high iris
obtuse kiln
maiden wadi
# high iris My use case here was just to ask the runtime if this object was of class x, with...

They are both fairly cheap. But I think you might be misunderstanding what a cast does. You have a pointer to an object. Usually this is an Actor level pointer, sometimes UObject. Sometimes a specific type like GameInstance or PlayerController, but not quite at your project level's type.

Lets just stick with Actor for simplicity since it's used commonly in stuff like OnHit, line traces, etc. So you line trace something and get an actor level pointer back and you want to know if that hit actor was a B_Chest. Well you game has B_SmallChest, B_MediumChest and B_LargeChest. All of which are children of B_Chest and you want to know if the hit actor is a B_Chest or one of it's children classes. So you can do two things. Cast to B_Chest. This of course succeeds if it is a child. Or you can check IsChildClassOf by getting it's class and running that on a branch. Both are fast and valid.

But Casting is faster. This is because casting in itself is extremely cheap. Casting is practically free. It's just a pointer conversion from AActor level to B_Chest level. In fact the only part of a blueprint Cast node that costs much of anything is the fact it does a validity check after the cast and returns valid or not. But even with this validity check, it's still faster than the other method simply due to function overhead and cpu cycles. Not by much in the grand scheme of a game but enough.

Consider the complexities.

  • One is a pointer conversion and asking if it's valid afterwards.
  • The second is getting a secondary pointer to the class, and then feeding that to a function that walks up a chain of classes to see if any of them match the original which can be 0-20 checks and then a branch to switch on the outcome.

The second is notably a lot more complex than the first.

#

To follow up on this. Some simple tests. Very basic 50k loop with only the before mentioned logic. First a note of the loop itself. Second is casting. last is a class is child of check.

high iris
#

Wow, this is amazing, thank you so much @maiden wadi 😍

trim matrix
#

btw, this isn't bp but a Cast in unreal is the same as static_cast<> , right?

maiden wadi
# high iris I was somewhat thrown off by reading https://forums.unrealengine.com/t/casting-v...

Lol.. these people. "Calling" a cast node has ZERO ZIP ZIL NADA do to with the loading of the thing. You don't load something when you call a cast node. Literally it's a pointer conversion.

What cast nodes do actually do, is have an output of a pointer. This creates a linker. This also happens when there is a member variable that is a pointer or class of the other class. Or any OTHER functions with inputs or outputs of the other class. Anything like that creates a linker. It does not load when you call these functions, including casting.

Unreal has two systems of things that you need to understand. CDOs and linker loading what classes link to.

Starting with CDOs. Every class is loaded and has a CDO created. This is a single instance of the class which is copied for runtime use. You have a CDO of every class you have. Like your player character in a single player game. You would have two instances technically. The CDO, and the instance actually instantiated into the world. If you have a B_Wolf, and have a pack of 14 of them, you have 15 instances of that class. 14 in the pack and the CDO.

Linker loading is the ability to make sure a class has everything it needs loaded. You have three classes, A, B, and C. A Links to B, B links to C. Well A needs to use B and B needs to use C. Thus when you load A to create it's CDO, you have to also load B to create it's CDO, which has to load C to create it's CDO.

Like I said, linker loading causes this and linkers are caused by anything that is a pointer of the type or a class of the type. Cast nodes just happen to be a common communication tool that get blamed for this issue, but it is not casts fault. It's the fault of bad project structure.

And on top of this, it has zero runtime CPU hits. This is entirely a memory issue where you can end up with way too much of the game loaded at once.

high iris
gentle urchin
#

No worries it's a daily reminder for all us regulars

#

Topics like Tick/Cast comes up all the time

trim matrix
#

Is Cast like static_cast tho?

lunar sleet
gentle urchin
#

It's probably a blessing and a curse πŸ˜›

#

Also being a bot helps /jk

bright trench
#

how can I get a variable from an ambiguous actor reference? have an array of classes getting picked from randomly, spawning an actor, but now I need to grab variables from it. how can I do that?
without hundreds of branch nodes, if possible

ionic quiver
#

I have a powerup system I've made with the goal of having over 100x completely unique things happen or be affected. Currently I have it when you get a powerup it gives you a gameplay tag, then based on that gameplay tag it then goes into a massive switch. One for each powerup basically to figure out what it should be doing. Now this creates an absolutely massively tall switch node.

What I'm curious about is, does anyone have any suggestions on a better way to set it up so I don't have a massively tall switch node wall? πŸ™‚

maiden wadi
gentle urchin
cold lion
#

Hi I am making lava and I cannot figure out how to make it ignore the enemy

undone bluff
#

the timer is started when the player is in the lava (any actor that does not have the enemy tag overlaps), but damage will be applied to an enemy if it enters afterwards

cold lion
#

I noticed that effect but I am not sure how to connect these correctly

#

should I be using way less?

undone bluff
#

I'd recommend you make it a damage type the enemy is immune against or implement the whole lava damage separately as an effect that can be applied and then does its thing

cold lion
#

okay I will look into that

#

thanks

dawn gazelle
# bright trench how can I get a variable from an ambiguous actor reference? have an array of cla...

From a generic Actor reference you have Inheritance & Casting, Components, an Interface or some C++.

Inheritance would mean you'd need some common parent class that objects could share that have the properties that you care about, then you can use your actor reference and cast to that parent class and get the values you want from your cast. If you need to have diverging hierarchies (which you almost certainly would), this would require further casts, making it somewhat branching so this only works well if you know that the actor reference you have is of a certain type, lest you end up casting several times trying to find the right parent class.

Components would be something you need to add to your actors that have the desired properties. From an "Actor" reference you can then get the component by class, and retrieve the values you desire from it. This also has the benefit of being modular as you can check if the actor has the component and if they don't, then you know it doesn't have that value.

Interfaces should probably be your last course of action as it requires implementing the interface in each actor class that you want to retrieve values from and having them return the value from the actor itself. This can be used in conjunction with Inheritance (ie. implementing the interface in a parent class and not overriding the interface in children) so it can be somewhat simplified, but interfaces typically make it difficult to follow your code flow.

C++ You could literally make your own node that could "find" a property of an object by name and return its value without having to do a ton of branches as there is C++ available that can look through the properties of an object by name, but this would also require you to use strict naming standards for the variables that you're interested in passing around in such a manner.

bright trench
# dawn gazelle From a generic Actor reference you have Inheritance & Casting, Components, an In...

Inheritance wouldn't work, spawning child BP is the bugs I was tryna get away from.
interfaces I tried and were nice but as you said, very grotesque code not very fluid.
I want to learn UE C++ but I took a look at that and said not today.
components seems right. im mostly just making dungeon generation and trying to stop turns or stairs over and over, so its mostly a list but yeah being able to check is probably gonna help and it being modular is gonna have future me thanking me.
(also thank you I can tell you put a significant amount of effort into helping a random internet user :) )

lunar sleet
#

What’s wrong with spawning child bps?

#

You’re not using child actor components I hope?

frosty heron
gentle urchin
#

^Word

exotic mesa
#

Is there a blueprint that allows you to get the distance of an object to other geometry?
Like making a vector with a set direction and see how long it is when it ends at another object/mesh?

dark drum
exotic mesa
dark drum
exotic mesa
#

Oh yes that is exactly what I need

graceful forum
#

Are blueprint input nodes binding the action to the actor's own input component or to the local player controller or somewhere else?

mild jacinth
#

is there any real difference between using input nodes in PlayerController or Player BP itself

dark drum
graceful forum
#

I see, so blocking the input of the actor won't effect those

dark drum
dark drum
graceful forum
#

Yes, but enabling/disabling an actor's input still adds or removes it's input component from/to stack right? But if BP input nodes are bound to controller, this won't have any effect?

tropic token
#

guys, why can this shit happen? I didn't recompile anything, I just dragged it out of my PC pin and it was there all good on assign, but on compile it says this

dark drum
dark drum
tropic token
dark drum
dark drum
# tropic token yea, I did just that

It could be a load order issue then. With it being a C++ delegate, it might be worth asking in #cpp. Other than telling you to try recreating the event, there's not much else that can be done from a BP perspective.

gentle urchin
#

Could be unexposed type

#

FQueuedAbilityInfo

arctic thicket
#

I have a boolean who changes how an Actor is constructed in its parent constructor (cpp) but it doesn't seems to apply when i toggle its value in a BP extending this class.
Is this the expected behavior and if so is there a way to have the cpp constructor run like a BP constructor would be everytime we change a property in editor ?

chrome rampart
#

StaticCast<T>() is a static cast

digital palm
#

Hey, is there a way to move a bone of a skeletal mesh at a specific location in world? instead of moving the skeletal mesh?

bright trench
#

Thats a day of my life gone

maiden wadi
violet bison
#

is there a way to change projectile speed midflight? from blueprint

maiden wadi
#

Affect it's velocity directly. I think you can also set max speed.

trim matrix
chrome rampart
#

Cast<T>() doesn't particularly care if the types are absolutely unrelated because it just uses Unreal's custom RTTI to figure it out, whereas StaticCast<T>() checks at compile time, so it's a safe conversion

#

they turn off default C++ RTTI in Unreal because we have reflection

trim matrix
#

got it

lost eagle
#

Hey guys! Having a logical brain fart here..
I am spawning (BeginPlay) two different blueprint classes equally around a circle. I am then adding these blueprints to a singular array where I attach them all to the spawner so that they are children.

The spawn works fine but I want to be able to have a dynamic variable that I can change during play. The issue is that the radius is only currently being used for the spawn logic and so using that for anything else does absolutely nothing.

How can I approach changing the radius in EventTick from where I am now

devout tide
maiden wadi
#

Also depending on what these are for. This is a good case for Niagara.

eager thicket
#

in one of my blueprints, the game literally pauses for 1 second before executing it. Anyone know what might be causing it?

#

it's only one blueprint custom event that's causing it

lunar sleet
maiden wadi
lunar sleet
#

I do love the dumb fire questions

mild jacinth
#

can someone explain to me why someone would use skeletal mesh over camera actor

dark drum
dark drum
mild jacinth
#

im looking at ALSV4 in this current situation, as I digged into the assets I saw that cameramanager BP exists and it has no camera, just the skeletal mesh. no camera being referenced anywhere and camera skm has animbp. I know this is not ALSV4 discord but...

#

just trying to understand the logic here

maiden wadi
#

It's a common thing to do. Camera components suck.

mild jacinth
#

using SKM as Camera?

#

I fail to see where the view port itself is existing in this case with the SKM

maiden wadi
#

No. Using it as a view target. And using the camera manager to determine where the player's view should be based on the gameplay.

#

What is their CameraManager BP? What class is it based on?

mild jacinth
maiden wadi
#

Right. Open up the BP and look at the functions list. Did they override a function with Update in the name?

keen solstice
#

Is it possible to add a collision box to an actor component? Can't find any way to add components inside actor component

dark drum
maiden wadi
mild jacinth
#

27 functions are overridable

mild jacinth
#

I see. will check that documentation

maiden wadi
#

Now I'm more confused. What is the correlation between the skeletal mesh and the camera manager?

mild jacinth
#

I assume CamComponent doesnt exist in this context then at all

mild jacinth
#

but animbp as I see it has transitional booleans and conditions

#

to move from aiming to idle, etc

dark drum
#

Apparently it has a photography mode. o.O

keen solstice
mild jacinth
#

I didnt really hear about PCM until now, I always thought camera manager bps were custom made with camera actor attached to the hierarchy. well, in this case it has been for me so far

dark drum
maiden wadi
# mild jacinth I still dont understand how PCM is superior to the Camera Actor, are there any b...

CameraComponent, and by extension a CameraActor(Which is just an actor wrapping a camera component), are bad for a few reasons.

First being that they're scene components. Scene components cost transform updates any time they're moved. Have a game with 20 players? That's 20 spring arms and 20 camera component transforms updated every frame basically.

The second is that they're very rigid. You're forced into a linear trailed view along the spring arm.

You can of course manipulate these things to make the views more dynamic. Simple case is a camera that switches view sides of the actor based on a wall they're hugging and the direction they're looking. You can move the spring arm, but again scene component transform updates.

Using a camera manager you can simply process the scene and decide where you want the view based on gameplay, and not have to care about the components.

#

I'm unsure if ALS is using camera manager for this. Doesn't seem like it with the lack of the update event being overridden. But that was my general reasoning for mentioning that camera components suck.

mild jacinth
maiden wadi
#

As usual "It depends". You can get away with a spring arm and camera fine. But in general it makes the game camera rigid and hard to make dynamic. And it doesn't scale well in multiplayer. There's just a lot of neater, more dynamic camera work you can do with a camera manager style implementation.

dark drum
maiden wadi
#

Where is the skeletal mesh in the camera manager though?

#

Camera manager isn't really supposed to have scene components.

dark drum
#

creates new ALS project

Let me have a look lol. I'm curious now.

maiden wadi
#

That's odd.. I wonder if they're copying the target's animations to this skeletal mesh?

dark drum
#

Which I guess makes sense because the animBP would make blending different states much easier.

maiden wadi
#

Huh. Do they actually use any animations or whatnot in that animbp?

#

Or is it just being used as a state machine?

dark drum
maiden wadi
#

Makes sense though from a designer perspective. I mean camera work is closely related to what the view target is doing. So it's easier to go that route. ALS is older than StateTree, but I'm curious if a StateTree component would be better or not.

dark drum
maiden wadi
#

Yeah. Plus it's related, so it's nice to have a similar UI.

mild jacinth
#

for transitional stuff I recommend highly using Logic Driver Pro.

maiden wadi
#

I've seen that, but I think I'd prefer StateTree.

mild jacinth
#

someone created attack combos with just Logic driver pro which was somewhat impressive. but overall you could make a whole game logic just with transitional states

dark drum
haughty sun
#

Hey guys, I have an excel sheet with items down the left and objects across the top, which I then cross reference to find the cell with the value time it takes to use the item on the object.

Before looking into it I thought DataTables was going to be what I needed, but they actually don't seem suitable now I've looked into them as you can only get the row which would return a struct of every single object column?

What would be the best way to do this and retrieve just the time value for the item and object being cross referenced?

dark drum
#

Ooof, the turns in ALS aren't great. :/ The legs just pass through each other haha.

haughty sun
#

In what way, what filetype/datatypes?

dark drum
haughty sun
#

Oh, so imagine like Hammer -> Nail would return 5.0s, but Hammer -> Wall would return 60.0s, or similar to that effect.

#

Basically how long it takes to use the item on the object to complete the action.

#

(ie. in the above example - hammering a nail vs hammering down a wall)

maiden wadi
#

It's usually easier to do this by types.

#

You'll end up with a lot of overlap. A lot of 5s and 60s entries for similar things for example. So it's usually better to simply say a Wall is Large, a Boulder is Large. A nail is Small, a Walnut is Small.

Then in hammer's data you classify how long it takes against certain tag types.

For Hammer you have Small = 5s. Large = 60s.

#

You end up cutting down your data significantly.

haughty sun
#

Yeah totally, but the example I gave was simplified for the sake of not complicating the question - small/medium/large wouldn't work in the actual use case as the interactions are more varied and unique per item/object.

#

In my previous engine I used a grid datatype which was a fast 2D array, then used enums as the row/col keys but thought datatables would be the right thing in UE, but turns out it's not now I've looked into them as they woudl return a lot of excess data.

#

BPs also don't seem to have access to 2D arrays, you have to use 1D array + manual indexing from what I've read?

maiden wadi
#

That's all a datatable really is too though. Get Object row, get time.

haughty sun
#

Unless I'm misunderstanding (which is possible, am new to UE) the Datatable method would return the entire item row, which would include every single column.

#

there could be hundreds of object columns in some cases, so that seems really wasteful when I only want the value from one.

#

I thought there may be something I was missing/didn't know about so thought I'd ask here.

dark drum
#

Can all items be used on all objects?

flat coral
#

So I've got an obstacle which can be burned, and it's got a set of damage types considered to be "fire", which controls what can burn it. And that's all fine.
Thing is, I'm introducing other types of actors which can be burned, and so I want to somehow centralize this list of damage types. But I have no idea WHERE to centralize it, especially because these things are generally bad use-cases for inheritance (because they're part of different inheritance hierarchies already which make much more sense than inheriting from Burnable)

haughty sun
#

Overall I would say there would be more objects than items, yes.

No all items cannot be used on all objects, some will take quicker/longer and some won't be compatible at all.

#

Also may be relevent.
All items will be avialable on all levels, but not all objects will be in all levels.

lunar sleet
flat coral
lunar sleet
dark drum
flat coral
# lunar sleet actors can

Sure but actors do a lot of things. I don't want "CausesBurning" as a tag on an actor, because that actor could also just bump into the object and that's not burn damage

haughty sun
#

So if worst came to worst I could rejig the data so Datatables would return the minimum about if columns per level, but still not ideal.

lunar sleet
haughty sun
lunar sleet
#

but yeah, bear in mind the Damage system is old and very primitive, so you may need to make your own

flat coral
#

Hmm, maybe.

#

I could just make my own root damage class

dark drum
flat coral
dark drum
flat coral
#

Aw fuck now I'm generalizing this into a DamageReactive component which just takes a set of damage types and a min damage threshold

dark drum
haughty sun
#

@dark drum So looking into Data Assets they do seem suitable, however if I add items/objects later I will have to go into every single object the item can be used on (or vice versa) and update it, which isn't great.

gaunt stirrup
#

trying to get leaderboards to show up in a t chart sort of format .. but one keeps going on ontop of the other, any help?

maiden wadi
eager thicket
#

the weird thing is, the first time I run it, it stutters for 2 seconds, but if re-run the code, it suddenly is fine

#

I'll show what "blow wheel" is

haughty sun
#

@dark drum The game is still evolving so items/objects will be getting added/removed as we go and having to manually update every item/object doesn't seem the best way atm, though maybe when things are finalised it would be?

I'm just surprised there's no way in UE to do a specific row/col lookup on data.

However thank you for making me aware that Data Assets are a thing, I had no idea! πŸ™‚

lunar sleet
eager thicket
#

πŸ˜“

lunar sleet
#

Time to learn, else you’ll be stumbling in the dark. But first of all make sure your test in standalone because that’s how you should profile anyways

eager thicket
#

standalone is the same

#

already tested that

maiden wadi
maiden wadi
eager thicket
#

sry accidental all caps

eager thicket
#

but i dunno

#

I just don't quite get why it would hitch the first time i run the code, but it's smooth thereafter

maiden wadi
#

If you disconnect this, it doesn't hitch?

eager thicket
#

i'll check

#

i need to restart the project everytime because it's only the first time running that it hitches

#

it only hitches when it runs blow wheel x4

#

oh it hitches when i run just one of the functions

#

wow

maiden wadi
flat coral
#

Is there a way to start a decal hidden and have it fade in when something happens? I know I could Spawn Decal Attached but that has the dual problems of not seeming to expose the fade-in options, and also forcing me to work "in the dark" for the size, rotation, position, etc of the decal.

storm solar
#

Working on my combat game and have ground attacks and combos working.
How would you go about making airial attacks and combos.
More specificly lifting yourslef and enemy up in the air. Would it be a basic knockback node? How do you account for gravity and attacks that send you back to the ground, ect?
https://youtu.be/TcPqaP2XsX0

Hi,
​
We welcome fellow developers and game enthusiasts to our server Tri Monkey Studios (TMS), we are a team of 3 working on our first project, we currently are working on this project part-time since we are short of funds, but we have covered a lot of ground in the past few months and we are excited about the outcome we have achieved so far.
​...

β–Ά Play video
eager thicket
#

lets say a space ship blows up and debris spawns from it, how would I make it so the debris matches the direction and velocity of the ship?

Currently, the debris just detaches and falls way far behind

zinc flicker
#

I try to create a loop-able tunnel.

I managed to make that horizontal work but the problem is, it has some glitches, for example the floor glows up for a moment and sometimes it has a slight movement in the camera where it moves you like half a MM to the left or right.

What could be the problem with that? Or would you do a loop-able tunnel different?

https://streamable.com/84rkwa

In the video i made 2 boxes and basically overlap them and spawn 1000 meter to the RIGHT where the exact same tunnel is. Eachtime i walk forward or backwards i overlap the box and it moves me to another corridor.

I did try with "Teleport" and "Set Actor Relative Location" they have both that slight glitch.

I only tested in Editor not in a Build Game.

Watch "2024-10-18 21-31-33" on Streamable.

β–Ά Play video
flat coral
#

Show code

eager thicket
#

the debris is the "BPemptywheel"

eager thicket
flat coral
#

There's also get/set PhysicsLinearVelocity

eager thicket
#

:)

sharp void
#

Using Timelines. Why does the Finished pin never execute?
- The Timeline has a curve atlas that's half a second long.
- The Timeline does not have Loop enabled.~~

#

I am expecting to hit Finished after the atlas reaches the third key, shown here.

sharp void
faint pasture
#

default impulse is basically "Velocity change in cm/s per kilogram"

#

so an impulse of size 100 on a 1kg thing will change its velocity by 1 m/s

#

if you check Ignore Mass it'll just be velocity change

grim shore
#

Does anyone know why when my animations play using animstates, it seems to disable my characters interaction sphere. I have an event checking for current interactable items when they're within the radius and it all works fine, but when the animations start playing the collision detection stops

faint pasture
#

specifically, WHEN is the check for interactables done

inner knot
#

Should I check the Pass By Parameter option when sending a large struct to function even if i dont make any change on variable? Does it make function more optimized since it doesnt copy the parameter?

grim shore
faint pasture
#

just tick

#

although you can just do the check on begin/end overlap

#

but it doesn't make much difference

grim shore
#

incase someone drops something inside my sphere

#

it wouldn't pick it up until i left and came back

faint pasture
#

does dropping change the collision preset?

grim shore
#

its also needed for finding the closest interactable

faint pasture
#

yeah for that you need to do it on time

#

just put it on tick

grim shore
#

I dont want it to run on tick because thats going to be bad for performance

#

anyway this isn't the issue

steady night
#

how can i set a random float to either 90,180,270,360 not random float in range 90-360?

#

so 4x fixed values

grim shore
#

Could you make an array of the 4 values as floats and then have it pick a random one

steady night
#

trur

#

true*

#

smart ll do thjat

trim matrix
steady night
faint pasture
steady night
#

true

#

array way is also more smooth if i need specific values also

#

could work with a math formula to

flat coral
#

Ugh, I've got the classic "why collider not colliding". Actor isn't taking damage from a radial damage event directly beside it. Here's the radial damage, and the collider it SHOULD be hitting

#

The worst part is, both of these are working independently. The RadialDamage can damage other objects farther away from it than this actor, AND the actor reacts to other things on the Gunfire channel, I can shoot it just fine.

steady night
#

solved it *

high iris
#

Have any of you all remapped this button to something else? It seems like F5 would be a good candidate for it?

flat coral
# flat coral Ugh, I've got the classic "why collider not colliding". Actor isn't taking damag...

Okay, learnings on this: Apply Radial Damage and it's Damage Prevention Channel are... misleading. It traces on that channel, but what a HIT means is not what you'd think.
Specifically, a trace on that channel hits the hitbox of my actor. A naive idiot would consider that a "hit", but that's not how ApplyRadialDamage works. ApplyRadialDamage wants an unblocked trace to a component of the actor which blocks the VISIBILITY channel, so if the trace on the Gunfire channel hits something, that's not a "real" hit, even if that component DOES block the visibility channel TOO

#

Actually no, it's worse than that. It apparently wants an uninterrupted trace to the center of the object, so objects can block THEMSELVES from taking radial damage if they have ANY component which blocks that channel? This is ridiculous

flat coral
#

Hah, all that was chasing red herrings. I just needed to change the ObjectType to Pawn from WorldStatic, apparently ApplyRadialDamage has hidden functionality where it does not apply to WorldStatic objects

faint pasture
#

seems a bit pessimistic

flat coral
# faint pasture It's tracing to origin of actor too right? or at least origin of component

I don't know, honestly. All the fucking around with trace channels and which of several nested collision components was being hit, none of that went anywhere and I'm not sure my conclusions were sound. In the end I didn't even need to have the component block Visibility, which is the first thing I fixed. Changing the object type just immediately fixed it and I don't have the heart to try and break it again in a different way for science

lost eagle
lime fossil
#

Hallo!
Does anybody know how you can focus an editable box but also hide your mouse?

lunar sleet
lime fossil
lime fossil
lunar sleet
#

But tbh I haven’t tested this specific circumstance so who knows, maybe it’s something in that slate function

lime fossil
#

1)This is when first Interacting (Placed in PlayerController)
2)To keep the focus(Placed in the Terminal Widget)

lunar sleet
#

I’m confused

#

You are purposely hiding the mouse cursor misread

lime fossil
#

yes

lunar sleet
#

Try moving that node after the SetFocus execution

lime fossil
#

you mean the show cursor

lunar sleet
#

Currently SetFocus comes after you hide it so it prly needs hiding again

lime fossil
#

still not working

#

I think its just a thing with the editable text box....

ionic quiver
#

Is there any way to specify a function / event that needs to be run from a struct? My current setup is having an enum in the struct and switching on enum. I'd just rather not have a massive switch statement for easier management. πŸ˜…

faint pasture
proven mason
#

Hey guys I'm attempting to make a 6dof mechanic using physics thruster components to drive the orientation and movement of the ship.

The problem is when I move in a horizontal and/or vertical manner using analog the ship spins around; however, when I use digital keys, the ship flies perfectly fine.

I'll show you a snippet of forward and backward movement.

So in that case when I move forward or backward, the ship spins right.

ionic quiver
faint pasture
ionic quiver
#

Yeah, it's all from a data table that has info about it.

faint pasture
#

Show one of them

ionic quiver
#

I mean yeah I can load it up in a minute. It's a regular struct. I can add variables if you think one type would allow this.

proven mason
#

forgot to mention that I use a wooting keyboard which is a hybrid between digital and analog.

ionic quiver
faint pasture
#

But a health up could certainly be something like

Stat: HP
Modifier: +1
Duration: Instant

#

You're basically making GAS lite right?

ionic quiver
#

Yeah, the functions aren't the problem. I have all of that all done. I'm just looking for a way to execute the function from the data table without a super tall / large switch node. That's all. πŸ˜…

#

Yeah pretty much.

faint pasture
ionic quiver
#

Sorry, I don't follow. Options in a dimension?

faint pasture
#

Like you can see how the choice between ModifyStat, SpawnCard, SpawnMonster, and which stat to modify would be 2 dimensions. There's 2 choices you make, what type of effect to have, and what to effect with it

#

Give me a complicated card, the most complicated one you have

ionic quiver
#

Ok, I add a component to the player, a widget, the power up has stats on how long the duration is and the amount, those get stored in a variable and updated if I get the powerup of different tiers depending on the tier.

#

There's more but that's a start. But again, the functions aren't a problem at all. A lot of those are modular and reused.

faint pasture
#

Where are you doing your switch? What are you switching on?

#

The gameplaytag in the example you showed?

ionic quiver
#

Yup, the gameplay tag.

#

Each one has its own, and sometimes I use the gameplay tag as well.

faint pasture
#

Nah don't do that

#

You're saying that all the logic for Health Up is behind a switch that takes the Health Up path?

ionic quiver
#

No no, all the different power ups / cards are under a switch. Health Up is just a random one that just does the health stuff based on the switch.

faint pasture
#

just show the switch

#

still not sure what you're actually doing

ionic quiver
#

I just don't like it 🀣

#

Inside those are functions and stuff that are reused, just collapsed for easier movement / access

faint pasture
#

Yeah don't do that

ionic quiver
#

Yeah, that's why I came asking for a better way. I don't like it lol

faint pasture
#

Most of those could be expressed as modifying x stat by x amount for x duration

#

and you can compose things

#

an attack isn't one effect, it's an effect that applies effects

ionic quiver
#

Most of those need to set and update specific variables. So I can't just bulk do them.

faint pasture
#

why aren't the variables just a tag:number tuple?

ionic quiver
#

tuple?

faint pasture
#

if you're wanting to go data driven go whole-hog data driven

#

HP:10
Spread:2
MaxHP:11

#

MyStats = Array(StatTuples)

ionic quiver
#

Not following. What is a tuple? Is it a struct?

faint pasture
#

it's just a pairing, you can use struct sure

#

or map

#

map of tags to values

#

MyStats = TMap<Tag, Float>

ionic quiver
#

Yeah, that takes care of some of the variable stuff, but like I said, they're mostly all quite different. Like some have UI, some have effects, some spawn things, etc.

#

I still need to do X based on the powerup. So I don't see how this solves the switch.

faint pasture
#

you can boil it all down to combinatorial processing of an effect with maybe a path for custom logic for the rare thing that can't be expressed normally

#

just make sure effects can apply effects

#

and you can damn near do anything

ionic quiver
#

So if I get something unique, that's not like anything else, which the majority of these are, then how is it supposed to do what it needs to without the switch?

#

I'm probably being very dumb, just hasn't clicked yet

faint pasture
#

I'm assuming these are cards like in Hearthstone?

ionic quiver
#

Like the example I mentioned above that makes a widget, gives and effect, a bunch of stuff

#

Nope, not at all

faint pasture
#

what do you mean make a widget

#

like an Unreal widget?

ionic quiver
#

UI, yes Unreal Widget on screen

faint pasture
#

the effect struct has a widget ref

#

WBP_Stars for stun

ionic quiver
#

So if I understand correctly...

#

What you're proposing is that all functionality options be as things in the struct / data table of all possibilities, then based on that it would need to check if it has an input and based off of that it'd do just that part of it.

#

Something like that?

faint pasture
#

If you give me an example besides HP Up I can give you a bit of a sketch of it

#

something complicated

ionic quiver
#

Like if it adds a widget, then it checks if it has something in the slot, if it does, it then checks the settings for the widget, etc.

#

You want a BP graph of one of them?

faint pasture
#

just describe it

#

What are these things, items like in Risk of Rain?

#

describe the actual gameplay

ionic quiver
#

Ok, here's another: I create spring arm components, add a BP to the end, attach them to the player. Number spawned is based on card. If I get other cards it modifies them so they get re-generated with the new values. There's also a widget that appears with a cooldown with specific values and icon showing the powerup and cooldown of it.

#

I'm good on the actual gameplay and setting up the functionality, it's still in prototype stage after all. lol

faint pasture
#

What is the thing attached to the spring arm

#

like an orbitting thing?

ionic quiver
#

Yeah, just an orb that damages enemies in range. It rotates around the player. πŸ™‚

faint pasture
#

Is this like Vampire Survivors?

ionic quiver
#

Absolutely no other thing is like that

faint pasture
#

I'm sure other cards spawn actors

#

or minions

ionic quiver
#

Nope, only one

#

In that specific way

#

No other one has anything that orbits around the player

faint pasture
#

but do other ones spawn things?

ionic quiver
#

Not as a constant thing, I have projectile attacks, but that's its own separate thing from the powerups

#

Like I said, they are all mostly unique. I was just trying to see if there's something better than a large switch. It's fine that there isn't. lol

faint pasture
#

why don't you just have BP_PowerUpBase with events OnApply and OnRemove and variables for all the common powerup stuff? If your game design isn't super systemic then going data driven is not the best idea.

#

BP_Powerup_Orb

OnApply -> check how many BP_Powerup_Orbs the applied character has in MyPowerups -> do logic

maiden wadi
#

Conversations like this make me love GAS.

faint pasture
#

I mean it's ok but it's also pretty opinionated and the boilerplate is a bit much

ionic quiver
#

I have the functionality on an actor component, and stuff that is reused I have modularized. So for example I have a few different types of widget setups for whatever I need and I made it use a single function with exposed settings. So stuff like that is great.

faint pasture
#

Thinking in abilities and effects though is a good way to do it

ionic quiver
#

Plus later on I can use it on enemies as well if I wanted to this way. πŸ™‚

maiden wadi
ionic quiver
#

Originally I actually had it pure gameplay tags for stuff that I needed to check true / false, but when I added tiers I decided not to add a gameplay tag for each tier and go crazy so swapped it to more of a variable storing system with the occasional gameplay tag when appropriate. But the downside is the significantly bigger switch. 🀣

faint pasture
#

I mean spread increase and spread decrease and hp up being separate paths is a bit much

#

barring the whole summon thing 1-off, most things can be condensed to modifying x stat by y amount for z duration

ionic quiver
#

Well health up modifies health, which have their own functions and variables. Sperad increase modifies the auras, that have their own setup. They don't mix variables or anything. I don't know why I'd want to combine them.

#

Most maybe, most of mine? Not at all.

faint pasture
#

Hell in one of my projects Ammo is a stat.
HP, Mana, Ammo, Spread, Accuracy, Speed, they are all just numbers that go up and down and are interpreted by systems in different ways

faint pasture
#

I haven't touched it for a while but about 2 years back I remember it being a damn nightmare to make work with a twin stick shooter we were prototyping. I like to keep everything as agnostic as possible as to whether it's being driven by a player or AI and it was just a pain.

ionic quiver
faint pasture
#

tag -> value

#

or name -> value or enum -> value

ionic quiver
#

How is a tag a value?

faint pasture
#

tag value pair like i was saying

ionic quiver
#

Yeah, but then that's a struct or something like that, that is also saved like a variable. No?

faint pasture
#

ya

ionic quiver
#

Yeah, so done differently but effectively the same. You have variables being saved based on what you choose.

#

Main different is you have the variables combined in a stuct in this case where if it's like 1 value then I have them separated

faint pasture
#

so HP Up can just be:
HP, Additive, 50, Instant
MaxHP, Additive, 50, Instant

#

HP Double can be
HP, Multiplicative, 2, Instant

ionic quiver
#

Yeah, pretty standard functions from what I can see. All makes sense there

#

Expose some variables, select what you want or plug it in, all good to go.

lusty shard
#

How can I check if 2 actors are facing each other?

#

I have a building snapping system. And right now I am checking the z rotation, subtracting them.. and if the difference is 180, allow the snap.

#

but the issue is for vertical snaps... no longer relying on the z.

frosty heron
ionic quiver
#

If you already have their forward vector then even easier

lusty shard
#

This is what ive got so far.. but doesnt account for vertical.

torn palm
#

Hey there. Been digging through tutorials and struggling a bit. sarueiLurk

TPS game, I have ADS working with the CameraBoom Socket and now I'm trying to make a shoulder change/shoulder swap option.
Problem is the shoulder change option I've seen relies on moving the camera itself and not offsetting the boom, so if I can change that parameter only it should be easy.
I tried to change the boom position entirely but if I do that ruins the center on the character (not just for ADS). According to his stats his socket is still 0 even though he moved it. It seems to be orbiting the character properly. (2nd image is the tutorial's position for the CameraBoom)

faint pasture
lusty shard
lusty shard
#

you get the forward vector of the look at rotation... and then convert to dot product..

#

with another forward vector lol

ionic quiver
lusty shard
#

ooh

ionic quiver
#

The top part just gets the forward vector of the other actor, if you already had it you could get the forward vector and just plug it in.

lusty shard
#

so a dot product is 1 if values are opposite??

ionic quiver
#

1 if facing -1 if facing away.

faint pasture
lusty shard
#

so if 2 actors were standing next to each other... facing .. west for example.. the dot product would be -1?

faint pasture
lusty shard
faint pasture
#

And that would be the dot product of their forward vectors

ionic quiver
#

No, if they both faced the same direction it's be some value between -1 and 1. 0 if 90 degrees for example.

#

It's not a 1 OR -1, it's a float based on how much you're in the same direction.

faint pasture
#

What do you actually care about, that their forward vectors are pointing in almost opposite directions?

lusty shard
#

thats whay I have the tolerance of 10, but require a difference of 180

#

the issue was verticality too though and im having an issue where an extractor building (with down facing snappoint) isnt snapping to a mineral (has upward facing snappoint).

faint pasture
#

If dot product is less than -0.9 or so

lusty shard
#

but all my horizontal buildings snap together fine.

#

let me try this dot

faint pasture
#

I'm guessing you have seen components or sockets as snap points and if two of them are close enough together you snap the building such that the second one is in the same location and opposite facing as the first?

lusty shard
#

close!

#

we are mathing basically the offset of the snappoint (as a component) from the center of the BP. Then on overlap, if facing each other, allow the snap.. which is using the math mentioned and making sure 2 snap points from different buildings come together.

#

BUT keeping the snappoints from moving within the building they are part of, if that isnt obvious

#

-1 dot is full 180 correct? then tolerance of 10 degrees in that case would be .1?

#

Is this how this would get used basically?

faint pasture
lusty shard
faint pasture
lusty shard
#

just the tolerance. Building rotation is 45 degrees, but 10 degrees seems like a safe tolrerance

#

like E and R rotate building by 45

#

but the 10 degree tolerance should be enough for those random float values that get thrown in when rotating things

faint pasture
#

Just hard code then, if dot product is under -0.985 they're within 10 deg of opposite facing

#

Can things be rotated in any orientation or just in yaw?

lusty shard
#

yea they can be rotated in both directions BUT not all.

faint pasture
lusty shard
#

horizontally or vertically.

#

so X or Z

faint pasture
#

Is this a side scroller or effectively that?

lusty shard
#

3d casual base building game

lusty shard
#

-0.985

#

-.1 was close enough haha but you were very precise

faint pasture
#

0 is at right angles

#

0.1 is a lot closer to 0 than 0.98

#

cos(10deg) = 0.984

#

So if you want to use an angle in your design then the cutoff is -cos(angle)

#

And there's nodes for that

uncut elk
#

hey all , I have a blueprint in my project I want to replace with a version of the file from a back up project, what would be the safest way to transfer the file over? i know I can migrate a file from one project to another but im not sure how that is handled when wanting to replace an existing file with one from another project directly by the same name.

lusty shard
#

wouldnt work negative but its working!

faint pasture
#

What's the dot product, print it

lusty shard
#

I was so frustrated at this haha.

faint pasture
#

In 3d you really want to know your vector ops especially dot and cross product

lusty shard
#

-1 exactly.. which is good

#

but tolerance of -0.9... was not working for some reason.

lusty shard
lusty shard
maiden wadi
faint pasture
#

I hear click, nearby person doesn't because I technically didn't do anything

maiden wadi
#

Of course it does. Server does it too when you activate so it does to everyone. Sec booting engine.

faint pasture
#

So in both paths the ability succeeds it just takes one path if ammo and another if not?

#

I think the problem was that I was using ammo as the ability activation cost or whatever the thing is.

maiden wadi
peak cliff
#

Hi, Ive used this system to move the camera backward at a specific speed however i want to also have the camera move side to side based on if im moving left or right. Duplicating this system for left and right doesnt work tho as it just stops working when im walking forward and turning at the same time

#

Does anyone know a method to do this better?

gentle urchin
#

Tick. Lerp, relative velocity/direction

opaque acorn
#

could anyone tell me why this is happening ?

#

i have floor whhich is displayed at raycast hit ; however when i do the check if it has nametag then it shows access none

#

i have gg at the nametag arrray so i exect it to return true when line is hitting floor

#

i even marked the floor with tag at outliner but i do not get why tag check is not working

#

😦

harsh nebula
opaque acorn
#

i want to know why when i do hastag check it makes the error of not access

#

both section of the Floor STaticMEsh has the tag gg

#

even if they did not have result should be false but not the error ?

#

trying to check validity and it says vaild . .but again when trying Tag array then contain item it do not return true however it do not show error 😦
any help pls ? at least verification that this bug ( probably ) ?

desert juniper
#

you'll find that most bugs are your code, not the engine

#

in your case the error is likely because the linetrace wasn't hittting anything

proven mason
opaque acorn
#

it turned out that i need to use cast to not get this error

#

which is again i do not understand why

desert juniper
#

so your component has the tags, but you're checking to see if the actor has the tags

#

@opaque acorn seems like you should really be checking if the hit component has the tags

#

looking at the source code, ActorHasTag does not check to see if components contain tag
and ComponentHasTag doesn't check if the actor has tags, so you can't substitute one for the other

#
ComponentHasTag
bool UActorComponent::ComponentHasTag(FName Tag) const
{
    return (Tag != NAME_None) && ComponentTags.Contains(Tag);
}
// ActorHasTag
bool AActor::ActorHasTag(FName Tag) const
{
    return (Tag != NAME_None) && Tags.Contains(Tag);
}
opaque acorn
#

i corrected it before the last post @desert juniper but still that error is showing ; however printstring is returning true . .

desert juniper
#

is it possible that one frame you are getting a blocking hit and thus print is coming out as true, and the next frame your not and instead you get an error?

dawn gazelle
# opaque acorn it turned out that i need to use cast to not get this error

You do not need to use a cast to check first, the problem is that your trace may not hit anything in which case the "Hit Actor" would be a null reference, but then you're still trying to check if that reference has any tags. You can use the return value on the Line Trace node to ensure that you're only performing your following logic if the hit is valid, otherwise, you should check if "hit actor" is valid before trying to access it.

teal owl
#

ai move to isnt working as intended

frosty heron
#

specify what isn't working

#

if the fish doesn't move at all, perhaps you don't have a navmesh in place

#

just one of the checklist to check

teal owl
#

oh no

#

the fish is the character

#

the bot over there is supposed to move to it]

frosty heron
#

have you checked the navmesh?

#

where's your navmesh?

teal owl
#

looks fine

#

ill add that a move to node works fine

#

without pathfinding

frosty heron
#

print the movement result

teal owl
frosty heron
#

what exactly did it print?

#

perhaps the fish is not reachable

teal owl
#

its floating

frosty heron
#

sounds like an issue

teal owl
#

can i make it not regard height at all?

frosty heron
#

flying objects are not really supported out of the box afaik

teal owl
#

since the fish is very small as compared to le bot

frosty heron
#

you can feed location instead of the player character (actor)

turbid cypress
#

Am I insane or did they completely change how to change morph target values in UE5.4 and beyond? I used to be able to grab it from the skeletal mesh πŸ€”

teal owl
frosty heron
#

Instead of replying with text, show your code, output etc

#

How is anyone suppose to help if you just reply with, doesn't work

teal owl
#

and now he's sliding

frosty heron
#

So it moved before?

teal owl
frosty heron
#

Sliding has nothing to do with the movement I believe

teal owl
#

wont regard anything

frosty heron
#

You are still doing the same thing imo

#

The fish is floating, it is probably not reachable by the a.i

#

Feed location beneath the fish instead

#

Shoot a ray trace and use the impact location as the destination

teal owl
frosty heron
#

Look up line trace

teal owl
#

do you want me to run it every tick?

frosty heron
#

sure, you will have to

#

nothing to worry about anyway, they are fairly cheap

teal owl
#

is there a way i can make the ai disregard height entirely?

#

and simply move to the xy co-ordinates of the fish?

#

ai data incase needed

tight pollen
#

Is it possible to turn it off completely so that the camera has no influence on the character's direction of movement at all?

trim matrix
#

hey im working on a boss for a world in my game, my idea is to have the suggestion that theyr shooting cannon balls randomly on the map as the player is playing similar to shy guy beach in mario kart, https://youtu.be/S9AbS4hzGco how could i recreate this to every so often shoot a cannon ball towards the player

Tool-Assisted Speedrun by me.
WR by the time this vid was uploaded: 01:21.924 - Sword

Apologies from the start boost. I will redo this.

Edit: Actually not redoing this at the moment. I was able to improve the beginning a lot but I just kept losing time afterwards, so I guess this TAS is not bad if you don't count the start.


Su...

β–Ά Play video
lofty rapids
teal owl
lofty rapids
#

so your bumping into the fish ?

#

i don't get what you mean "it won't move" ? the ai character is stuck ?

teal owl
lofty rapids
#

ok so he is supposed to "see" the fish ?

teal owl
#

and then chase after it

lofty rapids
# teal owl

ok so here you have move to 0,0,0 does it actually move to that location ?

teal owl
#

thats outdated

#

hol up

#

tries to chase player but fails

#

actually well it doesnt do anything

#

stands there in idle

lofty rapids
#

ya because it looks like your setting itself to itself position ?

#

you want to chase the fish correct ?

teal owl
#

yep

#

this is bp_fish

lofty rapids
#

so then move to the position of the fish

teal owl
#

not that

lofty rapids
teal owl
#

yes

lofty rapids
#

so thats the fish going to the player

#

does that work ?

teal owl
#

the bot is supposed to go to the fish

#

not moving

queen valley
teal owl
#

i was thinking if i could make it go to only the xy co-ords of the fish and ignore z

queen valley
#

maybe it takes z

#

yea

queen valley
teal owl
#

a move to node works just fine

queen valley
lofty rapids
#

ok so the fish is your character ?

teal owl
queen valley
teal owl
#

it still doesnt work

queen valley
teal owl
queen valley
#

afaik

queen valley
#

if the ground iz 0

#

is

lofty rapids
queen valley
#

nvm im too dumb for math

teal owl
#

got the problem

#

somehow the bot isnt seeing the fish

#

why idk

lofty rapids
# teal owl

are you getting a hit i c your using a custom channell

teal owl
#

but should that make a big difference?

lofty rapids
#

you want to hit the floor, make sure it's on the right channel

#

ya it will change what gets hit

teal owl
#

its hitting the floor

#

afaik thats hitting the floor

#

it simply fails