#blueprint
1 messages · Page 303 of 1
okay, then i guess i'll do that, thank you^^
Bit more context - My character is in a boat. I’m using “Stay based in air” to keep my character in line with their boat, but whenever the movement base trace hits another object within the boat, the character loses it’s base and stops in the air, causing them to fall off the boat.
Ideally I would just like to have the boat remain as the movement base and not try to switch to other objects. Is that possible?
Are you using a translation software?
No idea what “stay based in air” or “movement base” means
They are features of the Character Movment component
Weird, never seen those before
The movement base is what the character uses as it's current floor. "Stay based in air" keeps the character in line with that floor while jumping.
Oh neat
But it breaks your base when you go over certain objects?
How does the trace work for this, do you have code that sets the base dynamically?
It traces down from the character and sets the movement base to whatever it hits, it's in-built so I don't have any control over it afaik
If I could set it manually I could resolve the issue but I can only get, not set
Might be doable from cpp but idk
You could technically turn off collision for your char against those physics objects but then you’d start clipping through them
What happens if you don’t check stay based in air?
Hm thanks anyway, my backup solution is just to parent the cargo to the boat, just means it can't fall around like i'd like it to
If I dont check "stay based in air" the boat just flies out from under me while im in the air
Impart velocity helps but isn't enough on it's own
Yes. They are more reliable and they can be changed with less worry than BP structures. If you remove or rename properties from your structures, you'll still run into problems if anything was using that property, and the same goes for C++ code, and it's usually these two cases where most of the problems can pop up with blueprint structures. Adding new properties to existing structures that are in use I've found is usually is inconsequential.
no worries. But I think this works. I used a actor world rotation. But i cant control the speed. Its too fast. Im trying to play with the value but it wont give me the right speed
I heard that using raw Objects with Variables inside Blueprint was one way to mitigate the issues that structures have, but I couldn't find a way to save the data from an Object into my Save Game. Are you aware of a way, or is this just a limitation of using Objects in this way?
You can't directly save an object reference if that was what you were trying to do as you'd be trying to save something that only exists at runtime. You'd have to save the data about the object and reconstruct it using the data that you save about it when loading.
yeah precisely, at which point.. I'd need a struct 😂
yep 😛
it's pretty annoying that they're this unreliable but what can ya do 🤷♂️
You can declare them in cpp pretty easily
Makes most of the problems go away like Datura said
toughest thing for me now is a lot of my save file has been built with the blueprint structs, so switching them to C++ will likely corrupt any player saves
If it's for an already launched game, then yea, I wouldn't rework the existing save game class and system unless it was only adding more to it. In your case if you wanted to change over to C++ structures, I'd keep the old system in place and save game class while also creating a new save game class and system. When loading a game, use casting to determine which save game system the save file was saved in, and if it's the old one, make yourself some functions that can read all the data from the old save game format, convert it to the new format, and immediately save and then load using the new system.
small doubt: does ai moveto work if the player uses add world offset to move?
im sure you can test it out but I dont think that should affect anything. Add World Offset is only being applied to your player im assuming
The AI should still go to the player location afaik
Hi all. Hate to bother the community with this but I've been hung up on it for a few hours and cannot figure what the issue is.
I have a behavior tree and task that causes an NPC to walk to a door, face it, and then trigger an interact interface with the door.
The door then triggers a montage of the NPC, followed by the animation of the door.
The issue I'm running into is that this doesn't consistently work. I feel like it's the set relative rotation that is inconsistent as the NPC will still animate and my print strings will still display after the rotation should occur.
I don't understand why it randomly works, though not as often as the door fails to open. Any ideas?
@dark drum so it looks like the solution is to have it set to remove from parent instead of the deconstruct node (whatever it’s called.) for active widgets seemed to work.
What aspect of this “randomly works”? When it doesn’t work, what would your description of the fault be?
Just from a quick look, you mix Play from Start and Reverse- have you tried just using Play and Reverse OR Play from Start and Reverse From End?
Another thing I see is that you end the interaction every frame of your timeline, rather than use the Finished pin. That’s probably not your bug either.
I believe remove from parent can mess with the pooling system the stack/que uses for the widgets.
I know it adds it to the garbage collector while still being active.
I don’t know of any other solution.
As I’ve been at it for 3 days now.
No combination has seemed to works. I even rebuilt the widget using an existing, working activatable widget and was still running into issues.
Removing it from parent won't do anything for garbage collection on a pooled widget. And you should be deactivating a widget from a stack container to remove it.
Are you saying I should have the deactivate widget in the Common user widget menu stack or in the Common activatable widget?
Having it in Common activatable widget cause it to not function properly for my item widdget setup while it works in other cases. (like with a keybinding setup.)
*look at my video in the response for ref
This is about the focus on the horizontal box?
related but not the core issue.
https://youtu.be/eZOQ9DMonIo
This commonactivatible widget is not behaving properly.
It will appear duplicate times/ act weirdly
replacing deactivate widget w/ remove from parent solves this issue.
This is a bout the Potion/Either widgets right? Asking cause there's a bit going on in the video and it's not immediately clear.
yup
every even time its called it duplicates event construct widget and cant be interacted with
What is the hierarchy here? What is the activated widget?
a common user widget that pushes the item widget to the menu stack.
The same happens for the keybind widget and there is no problem
The part that randomly works is specifically the opening of the door, the set relative rotation. I’ve even bypassed the timeline and have tried on overlap between the NPC and the door and it inconsistently works. I’ll test both of your suggestions since I haven’t tried that yet.
And how do you pick what items to show on your item widget when it activates? What containers are you using, etc?
I construct an instance of an item bp (just contains item data) and add it to the tile list.
You clear these before this, right? And this is on Event Construct or Event Activated?
event construct.
They're not cleared (which is why i get duplicates) but I cant interact with the menu and pressing the button to call the widget again gives me a "fresh" instance of the widget
Common containers cache and reuse by default. This is intended behavior. Thus when you deactivate an activated widget that is in a commoncontainer like a WidgetStack, it will cache it. This prevents garbage collection and reuses the widget when you push that widget class to the parent again.
Thus you need to refresh the widget yourself. And don't do this on Construct. Do your initialization stuff on Activated. ClearListItems on your Listview, and reconstruct them same as you're doing now on Construct.
still having the same issue. How do i go about refreshing the widget propperly?
What is request refresh focus?
There's an override on activatable widgets that you should use to set focus to a subwidget.
its what comes up when I look for refresh widget. I just added it.
get desired focus?
Yeah. You should be able to set focus directly to the listview widget. Which will pick it's own subwidget to focus.
Assuming it's a CommonListView. I don't know how default Listview handles t hat.
Im already doing that.
The widget is not receiving any inputs on the second instance of this event.
(It's set up this way to handle and select item user and target dynamically.)
You're doing nav with IAs? 👀
Not really sure on that one. I don't use gameplay inputs in widgets. I use normal navigation handling and if I need actions I do action inputs.
Yeah.
I still don't get while the second time dosen't work but the third time does (pattern repeating.)
Do these inputs not fire at all on the even times? If so, I would start with that. Gameplay inputs not firing means either you're in Menu input mode, or somehow these events are unregistered. I'm unfamiliar with UI's InputComponent handling. Have avoided it like a plague.
Focus won't have anything to do with this, for what it's worth. Focus only applies to the UMG overrides like OnKeyDown, etc.
yeah its on input not firing
its gotta be unregistered because I have it set to "all" for input mode and that node fires everytime.
any idea whats causing it to work every odd time?
Can you breakpoint Event Initialize and see if it gets called every other time?
Your right, it's only getting called every other time...
There's some code in UUserWidget class. Whoever added it didn't consider that people remove and add widgets. The bindings are only added on Initialize. They're removed on Destruct which happens multiple times for a widget. So. Epic derped.
I need a bit of help fixing this because it dose not work and I am not sure why it doesn't. Basically I need to get current quest by using the name then I need to change a variable inside a map that is inside the quest struct . Then I need to save that change to the the quest.
This is a problem of understanding pure/impure nodes and copy/ref variables. The FIND node is called again getting a new copy every time it's needed which means the first ADD gets a copy of the struct and alters the Generic Boolean map of that copy, then the Set members in S Quest Data grabs a new copy and is trying to set the struct from the FIND node via reference when it's not getting a reference, it's getting a copy.
TL:DR, store the result of the top left FIND as a variable. Or, if this is 5.5, then there might be an option to add execution pins to the FIND node at the bottom of the right click menu. If that option is there, then just do that and hook it up to the execution wire above it. That should solve the problem.
Ah okay I need to save as a local varible edit it then add back?
Either that or convert the FIND to an impure node with execution pins if that's an available option
Thank you that worked!
Hello, is anyone familiar with Game Animation Sample?
How do I set the character movement speed in CBP? I don't think there is a simple way to do: Set MS to 500
Each speed for a movement type is an FVector for some reason..? And some strange math going on behind the scene.
why is key pressed event not working on gamemode blueprint but works on other blueprints
Prly shouldn’t be in the GM anyways but make sure your level is using the correct GM
You may need to use EnableInput in that bp since it’s usually not the place to store input events
If it even lets you that is
wheres the enableinput?
I am trying to track a skeletal mesh in the level sequencer but when selecting it it gives the option to enter a bone but the cine camera isnt tracking it and instead looks at the world origin (anim with root motion). Where do I go wrong?
Hello 🤗 I need help with my multiplayer video game project in Unreal Engine 5.5 (Blueprint only)
I'm currently working on an interaction system
I currently have:
- A LineTraceByChanel in an Actor Component attached to my Character
- A BPI_Interactable with the "interact" function
- A 2D interaction widget (HUD) in my PlayerController
I would like to be able to achieve 5 different types of interactions:
- Interact
- Toggle
- Hold
- Repeated Press
- Hold and Release
For this, I'm using Enhanced Input Action Mapping
Should I create just one and then use different settings for all 5 interaction types, or create 5 Enhanced Inputs with the same key for each action type?
I would also like to be able to configure the parameters (press time, number of times repeated, etc.)
And can you please tell me where to write this (I'm a beginner, 1 year of Unreal and Blueprint)
Can you help me please? Thank you 🙏 🤠
Your interaction system should likely be handled server side. You should only need a simple input action that is either on or off based on your player input. Your client would just RPC the interaction input being pressed and released, and the server would determine the object they are interacting with and what needs to happen in order for the interaction to successfully complete, such as holding it for x number of seconds, tapping, etc.
Ok, I'll try to start with just one then, and then I'll be able to do 5 different types of interactions probably with one Switch? Is there a place that shows how to do these 5 types of interactions and be able to set the values as desired?
Hi everyone, I'm desperately seeking for help to create a blueprint system through which I could edit meshes like ropes, vines, roots, etc. using splines, but I'm pretty noob about that. The "tutorials" I found in youtube look more like showcase not explaining at all how to get the result or, when they do attempt explanation, they tend to omit crucial informations needed for the blueprint to work. Can anybody please point me in the right direction if there is a tutorial/mini course (also paid) available somewhere? Thanks so much to whoever will be able to help me 🙏 🥹
I was wondering if there's a smarter way to do this. I have a lot of very important functions stored in the game mode so I can access it from every blueprint. Now I want to create a bullet manager. Is it good coding to have those "universal" things in the gameMode?
Depends on what it's actually doing but you can always do them as actor components. The game mode is a type of actor so you can put components on it. This can make it easier to manage and allow you to get the components without having to do a direct cast to a specific game mode type. (Not that much of an issue if you're only going to have one game mode though)
Yea the plan is to only have one gamemode. You prolly already know my Projekt is the airship thing, to spawn one a bunch of things need to get generated. Having 10 spawn at the same time impacts the framerate a lot. That's why I wrote a queue system where you will send your order to the gamemode and it will work it down
That way only one ship at a time is built and the impact is little to none
And since having bullets constantly spawn/ destroyed, seems like bad performance practice, that's why I was wondering about using the gamemode as this one Manager that handles all those systems (destroying dropped parts if they exceed a limit, the ship generation queue and so on...)
In unity you could simply make a game object with a static class that I can call from anywhere.
I am searching something like that for ue4
That sounds more like component manager ''like'' for player controller.
Not for GameMode
and if you need just functions that are global and you use them often, then Function Library
for the bullets part, then you probably want to use Pooling Programming Pattern, which would be Pool as Actor placed in the level, and this Actor would spawn bullet, then instead spawning bullet, you would Take Free Bullet from array and mark it as used, instantiate it etc. on destroy, instead of destroying you return it to the pool.
Hey there, I am making my own 3d car Parkour game in ue5 and I want to add mechanism that will change random vehicle when I cross the checkpoint like gta v face to face races can anyone help me to make that I am using ue5 blueprint.
Yo guys I have question, in the picture are shown two maps even though there together in level, they are two maps
Question is how do I change lighting for each map seperately
For example currently there is one directional light in the level, how would make directional light for each level without them overlapping,
because if i put two directional lights I am gonna get Multiple directional lights
A function library is smart but I need it to keep track of data as well
You need two directional lights. Each light needs to be set to use a different lighting channel. And everything in the level of the light you want to affect that level needs to use the same lighting channel.
If you had C++, you could do this in Subsystems. They're automatically created and managed objects that you can get from anywhere.
Alternatively if you're BP only, you could do something like make a BPLibrary that has a getter which gets or creates something like a component on the gamestate. Then your component can act as your manager for whatever you need and you can globally get it from anywhere.
Unsure of any specifically. But you can start by looking for things like spawning a spline mesh component along a spline using the construction script. Should find you a few tutorials.
Hey Authaer! Thanks for the help 🙂 Luckyly I finally found a new youtuber that made this video 2 years ago https://www.youtube.com/watch?v=0laDU3h1pEQ and I managed to get (more or less) what I wished for. I just need to expand it from here, but at least I have a pretty simple but solid base 🙂
Hey guys, in today's video I'm going to be showing you how to create and use splines and spline meshes in Unreal Engine 5. This allows us to create organic and bendy shapes from straight meshes.
#UE5 #UnrealEngine5 #UE5Tutorial
00:00 - Intro
00:11 - Overview
00:40 - Cre...
Hey, I was using C++ events using something like this:
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FActorDiedSignature, AEnemy*, Actor);
When I had such a delegate declared on one of the components of my actor, then I could just use the event like on the first image (eg. no need to bind to the event manually, works just like a BlueprintImplementableEvent). However when such an even was on my actor and not on one of its components, then clicling the + sign results in an event that seemingly requires explicit binding on the blueprint side (see second image)
I was wondering when I need to explicitly bind to the delegate in Blueprint and when can I just use it as a BlueprintImplementableEvent? Is it really the delegate on the actor itself vs delegate on a component?
Where do I put my "IsRunning" for my IA_Dash setup?
You can use implementable event when it's on Owner Actor of The Component, and if you use it anywhere else then you need to use binding method with target as the component for example, or wherever is the delegate.
Oooooooh a actor component that I attach to the game mode, good idea
I recommend GameState, personally. GameMode should be reserved very specifically for server only logic. Bullets seem like things everyone needs to know about. Just incase you go multiplayer later. Personally I rarely ever use GameMode in my personal projects past some of the spawning overrides and default values for other classes.
Okay I will look into GameState. And that's something I can access as easily as the GM?
yes, its very similar
so i found out i had some weird scaling on my root bone when i brought a skeleton in from blender and so I figured out how to fix it, however now my mesh disapears when i look at it from certain angles. if i go back to the old mesh its fine, but something is causing issues with the new one. (i just adjusted the scale to match unreals scale when exporting so it really shouldn't have issues) Any clue why this would be happening? The lighting also seems to be doing weird stuff on it
You mean the mesh doesn't follow the cameras up rotation?
no, in the first part of the image you see the hands just disapear
Might be culling
i do not want them to follow the camera, but they should still be visable for the times there within the cameras range
I have a lot of experience when it comes to 3D and the only way the mesh could disappear is if the normals are wrong , which obviously isn't the case here.
Since it only disappears when it is barely in your view (and then re appears again if it is fully in your view) I'd say it's a culling issue
This begs the question of why. I don't know enough about how Ue4 decides what to cull, but maybe scaling your mesh caused some change to exactly what the culling looks for
Mesh bounds Mayhaps?
I do agree with this, it does look like a culling pop, it just seems odd since the hands are at the same global scale as the first ones and i would have guessed that was what unreal would use for culling
I don't know a lot of meshes and skeletons in unreal (I am currently using ue5) what are mesh bounds?
That's a good question, I don't know either, never had to use them but I think I recall hearing that they are for culling
You set some kind of bool that you'll be using to true at whatever point you want them to be able to be considered running.
Basically either before or after your delay at the end.
Let me try adding the bool tommorow, gotta sleep soonish.
Hey smart frens: so I'm experimenting with having mini-games inside of my game (an arcade console at the "home base" map which lets players select from a list of found games and play them). I have thought about a few ways to implement this and the one I'm leaning toward is having a screen material on the arcade that can cycle through render targets that are capturing cameras around the map that are looking at these mini games which are deposited in places the player can't see/go. Does anyone have any other/better suggestions or ideas for how they would approach this? Thanks ahead of time.
Why are blueprints slow?
they transform to c++ and then compile?
how does it work ,in a few words
You're kidding me...
So what would be the solution for this?
Have the enhanced inputs be outside of the widget and than called to that widget? How would I get that specific widget as a ref?
"Unlike C++, which is compiled directly to machine code, blueprints are interpreted or executed by Unreal's virtual machine at runtime."
Create widget in HUD, get HUD in Player Controller, when Input Action > Call to HUD > Hud Displays/does something to the widget.
Or in HUD you create main widget, and inside main widget you create that smaller widget. Then the same way you call PC>HUD> Do X which adds/removes widget etc.
Widgets are not correct space for Input Actions. Input Actions should be inside Player Controller or it's components.
The short answer. Avoid gameplay inputs in UI. It's never been good and this just makes me happier that I don't do it.
The longer answer, either get a source build and fix it, or bug report it or PR a fix and wait 1-3 years for it to get accepted/fixed. Or you can attempt the same thing in parent class of your own by doing the events on like OnActivated and removed on Deactivated. Second option is probably safer and faster if you can do C++.
This isn't an issue with blueprints specifically. Any scripting language that is built on top of a lower level language is always slower than the lower level language.
like inheritance for better understanding?))
If you could feed a series of 1s and 0s to a cpu very quickly, that would ultimately be the simplest way to communicate what our intentions are with no additional overhead, but obviously we can't do that ourselves at any meaningful speed, so we use programming languages like Assembly to interpret specific instructions for performing certain operations that the CPU can do.
Writing lots of instructions in assembly is a daunting task as you're having to tell the CPU what registers to use, manage memory, and all that fun stuff (see screenshot for a Hello World example in assembly...) Now, it's not impossible to make games entirely in Assembly (see Rollercoaster Tycoon which apparently was 99% Assembly), but you have higher level languages like C++ that allows you to code in a more human readable and understandable format which ends up compiling into instructions that are or are similar to Assembly, and you have less worry about specific registers and CPU instructions as they become abstracted away from you - essentially compiling in C++ will end up interpreting your intentions into an Assembly-like state which tells the CPU what specific instructions to do.
Blueprints are not really compiled code, instead, they are interpreted at run time - their "code" is being understood by the machine when they are executed. The interpreter VM has to generate and send the appropriate instructions to the CPU.... So instead of already having the compiled Assembly-like instructions ready to go, the interpreter has to ask the CPU to first make those instructions based on what the blueprint says to do at the time, and then have the CPU execute those machine level instructions after it just generated it for you. I'm not entirely familiar with how the VM works, but I'm fairly certain this is the gist of it.
btw how can i take a high resolution screenshot of the blueprints?like this one but a high resolution so i can zoom and see what nodes are there
thanks
That one’s high res enough to zoom in
So basically bp VM is like Python 😀
Hi guys how can I spawn an enemy in a random position NEAR the player(not exactly in his local position)
I think there's a node like Get Random Navigable Point in Range or something like that.... You'd just need to feed it a radius and the location of the player and go from there.
Much appreciated it works
Good evening, I'm learning the save system, now I can save and load the player's position by clicking on two buttons of a pause menu widget during the game, when the project starts I have a "continue" button and a "new game" button, how can I start the game with the last save by pressing "continue"? I'm testing but without results. Thanks
Well if I am not wrong, make an event in GameInstance called LoadGame then Load From Save Slot etc
And then call that Event when necessary
Thanks, I'm doing the save system in character_
BP, am I wrong? or do I have to do it in the game instance?
in blueprint yes I created BP_MyGameInstance and then created a custom event SaveGame/LoadGame inside
perfect, thanks for the speed
if i were to access the 0th enum
it would be byte 0
but if i want to access the 1st enum
would it have to be 2?
FirstEnumerator maps to a byte representation of 0
SecondEnumerator maps to a byte value of 1
Unless you’re talking about a native enum, in which case the value can be any representable integer between 0 and 255, inclusive
Ya almost never need to care about this
game lags when execute Save Game to Slot node
i just say this cause when i try to do enum comparisons, it does it by bytes so that's why i suddenly care
Question about ownership:
If I use Actor_A to construct UObject_A (so Actor_A is the outer), and then Actor_B finds and stores a reference to UObject_A, and then Actor_A is destroyed, what happens with UObject_A? Is this okay?
What's the best way to cancel execution of a Macro when a specific boolean variable changes to True?
what's the most performant way to rotate asteroids in a space scene that can be interacted with (blown up)...I tried using the rotation offset in the shader and it's glitchy and doesn't light correctly. I'm wanting to avoid Event Tick for this still right?
UObject_A will no longer have a valid pathname and not be referenceable correctly. I'd be shocked if it didn't become invalid or get garbage collected.
Is that true? The other actor holding a reference to the object should keep it loaded
If this were an asset, this would be true. But we're talking about a subobject of the actor itself.
ill post here what i wrote in #ue5-general (cross post, yey...)
looks like you are talking about GC
if you have somewhere a hard ref to a UObject, it will not be GCed
a hard ref is a field of a reflected class/struct with UPROPERTY + TObjectPtr or TStrongObjectPtr
I think he means it won't be valid because it has no world?
Global managers are a great use case for subsystems
They're C++ only, but they are awesome. In a pinch, a component on GameState could work too.
With subsystems, "firing" a projectile looks like:
Get ProjectileSubsystem -> call Fire Projectile
With a component on GameState, it'd look like:
Get GameState -> cast to YourGameState -> get ProjectileSystemComponent -> call Fire Projectile
or
Get GameState -> get component by class ProjectileSystemComponent -> call FireProjectile
only problem is subsystems are not replicated
This is only technically true.
Might want to consider object pooling as well if spawning a lot of bullets.
Is migrating to 5.4 worth it? Anyone that did notice increased boost in performance?
@spring magnet@sick sky@pulsar osprey The issue stems from it's outer object. If you have ActorA who constructed ObjectA and ActorB references ObjectA, then yes. ObjectA will be kept alive even if ActorA is destroyed.
The issue stems from the pathname though. ObjectA is SomeWorld.ActorA.ObjectA
This is an issue for anything regarding serialization, including networking and savegames. An example is that ActorA would be responsible for replicating ObjectA. And so when ActorA is destroyed on the server it's replicated subobjects are cleaned up as well on the client which means ObjectA is no longer replicated and your client will not have it even if the server has kept it alive, because it can no longer be reached through it's object path.
Similarly if you save through serialization and you save and reload, you won't find ObjectA anymore. Because there is no ActorA for it to be outered to and found from.
If you have global objects meant to be referenced by multiple actors, it's probably best to make them outered to a global actor or object of some kind instead of to something meant to be killed off.
i think using AddObjectSubobjectList for networking on the new actor would be enough
It's not. Even renaming the object into the new outer will not work. You have to reconstruct the object from the new outer.
Been down this road. I have a UObject inventory. Transfer code was fun to debug. 😄
My use case will require the UObject_A to be serializable, so it sounds like I'll need to approach this differently based off of what you've said. So should I consider that UObject reference as a dead reference as soon as I kill the original outer? I have the option to convert it into a blob and reconstruct it later with a fresh UObject and new Outer.
If it's possible to simply do something like SetOwner, well, that would be preferable for me lol
Hey there!
I have an object type BP that has a struct for the Final Stats, and several structs to control how levelling up affects the weapon.
Would you recommend having 1 function with an enum / switch / etc that controls what stat gets levelled up, or having 1 function for each stat?
For a functional example of what I wanna achieve, imagine Resident Evil 4's weapon upgrades basically
There is a function for renaming an object, but I don't believe it's BP accessible. It's named Rename. It may work regarding serialization, that much I haven't tested, but I do know that replication will still break even if you rename it into the new outer and then change the actor replicating it. As soon as the first outer is destroyed, net code just herp derps.
I had to swap that out to a duplicate object call instead. 🤷♂️ My inventory items are tiny for runtime data though so I wasn't that concerned with it.
That's unfortunate, I'll be needing replication here as well. Would you say it's safe to blob it and unblob it with the new Outer then?
Is there a clean way to duplicate UObjects without knowing their type? Or I guess, rather, without manually getting and setting every variable ourselves?
I’m new to Discord. Where can I go to ask questions about UE4 blueprints?
here
Oh
DuplicateObject should work fine for that I think.
I'm keeping this system strictly in BP at the moment, I don't believe I have access to that
@maiden wadi so for less headache, when creating new object that is required by an outer, should I just for example, instantiate the object from the manager then?
You won't have access to replication for it either then until you go to C++.
don't gate keep your self :S
void UInventoryComponent::MoveItemToOtherInventory(UInventoryComponent* FromInventory, UInventoryComponent* ToInventory, UInventoryItem* ItemToMove)
{
if (!IsValid(FromInventory) || !IsValid(ToInventory) || !IsValid(ItemToMove))
{
return;
}
UInventoryItem* NewItemCopy = DuplicateObject<UInventoryItem>(ItemToMove, ToInventory);
FromInventory->RemoveItemFromInventory(ItemToMove);
ToInventory->AddItemToInventory(NewItemCopy);
ItemToMove->MarkAsGarbage();
}```
This just duplicates the object with the new inventory as the new outer. Adds the duplicate to the inventory. Removes the original from the old inventory, and then marks the old item as garbage.
My life is bound by the limits of this flesh vessel, all that I am and know is to be bound by gates and limits, I will continue this philosophy in my code
the sky is the limit
Depends on the system I suppose and whether you're going with a manager or need it compositional.
sounds like I have to manage lifetime carefully in networking game
makes me want to consider easier mode and fallback to struct
Yeah I am leaning toward letting the outer of all of these UObjects simply be a persistent world management actor, or maybe the game instance or something.
replicating UObject requires C++ right?
https://dev.epicgames.com/documentation/en-us/unreal-engine/replicating-uobjects-in-unreal-engine
Yeah it does, so can't use BP if you need replication support
@maiden wadi @frosty heron Ended up doing this as my BP version of transferring ownership, thoughts?
Is there anyway to have on a common interactive widget that when you press the cancel or back button, it’ll do different logic, That’s not just removing the widget from the screen?
Me?
I fixed it. Someone on Unreal community, named dZh0 helped me. I was missing a sequencer! Oof!
I guess the easier question is, how do I have custom logic when the back/ cancle button is pressed.
I want to make an item menu where the user selects the user of the item. the item itself and the target of that item.
I want to make it easy of it being in 1 widget but If I click the cancle button it will deactivate the entire widget instead of going back one step.
Just override the function. Can't look it up atm, but there's something like HandleBackAction or something. If memory serves there's a... boolean return? I think that needs to be set to not do the normal back action. Unsure if it needs to be true or false.
on handle back acxtion. got it
Just passing by to share a bit of pain
What exactly is this? O.o Looks like a lot of copied code.
Nah I made it by hand somehow
it's the basic marching squares algorithm
but ins't working after hours
I meant that there are things here that could be in a reused function or pulled from a map, by the looks of it.
oh I see, unfortunatelly not
wait, I'm trypping
yes a lot of copy paste indeed
Working on a basic respawn/checkpoint system. It works, but for some reason, on respawn, my third person character's camera position changes and it feels like the camera is on the ground. First pic is my ThirdPersonGamemode, second is my post-death menu where you press "respawn" to respawn, and third is the checkpoint blueprint
Respawn Point is a Transform Variable in BP ThirdPersonGamemode
is there a way to migrate actors from 5.0+ to 4.27?
i tried migrating, failed; i tried copy pasting, it can bring the components but not the references..., any other way?
Probably not, it'd be far easier to remake in 4.27
.<
better yet, are there ways to turn an actor that acts like a container for static meshes into individual meshes?
It'd be super simple to write a bit of code that cruises the actor and saves all the meshes and transforms
What are you actually trying to do?
I got this asset pack that only supports 5.3+, my problem is that lumen and such are just completely tanking performance and creating too many artifacts. I want to backport it to 4.27 since I don't need dynamic lights/shadows.
I managed to export all SMs as fbx and reimport them. I will work on the materials later.
The asset pack had several meshes stitched together into actors for structural purposes, could have been a grouping, but too late. There are 87 blueprints like this, so I would like to make this a swift conversion, not manually redo it all
Has anyone had issues with the playerController's SetMouseCursorWIdget, not actually changing the mouse cursor?
why not just turn off lumen
tuned 5.x probably runs better than 4.27 with equal settings
i thought of that but the outcome wasn't great either. the shadows themselves were the problem
the only way to fix shadows is to increase gather which kills performance even more. I'll be honest, I'm a detractor of lumen/vsm. And too many things became dependent on these so turning them off causes more issues in later versions.
So I have this really, really annoying problem. This is using PaperZD / 2D Unreal.
Character movement walk speed changes just do not work. To some extent it does, like if I changed it to 50 or 100 it does get slower. however if i want it to go like 900 cm/s or something, it just sticks to this, 200 cm/s ish speed
we have a character master bp, we checked enemymaster, all of their character movement components. we checked the set max walk speed for all of them and reset them, we tried custom variables, we tried even the custom movement speed parameter. and we want to avoid any large costs such as redoing the whole blueprint
This might be a no brainer.
But how do i change the default variables of my Character if he is not in the world. He is only in the GameMode:
i need to change the character rotation, but i dont want to change it in the actual class. Just in the instance of the default pawn
even on mobile settings, with the lowest of the low, in 5+, it just tanks in performance whereas the same setup map has impeccable 120 fps. I dunno what they did but it just didn't work out
question (and i'm sure it's asked a lot). How do I make a timer by event that takes in input?
I don’t think you can
i figure, i just really want to see some workarounds
cause i know unity does something of that sort via coroutines so i thought unreal has something similar
I am wondering if anyone might be able to help me with collision channels. I am trying to set up a custom collision sphere or capsule around both enemies and the player in my first person game, the goal of which is to collide with other like spheres but nothing else (preventing the player from getting too close to enemies and vice versa, without affecting navigation, hit detection, etc). I made a new collision channel called PersonalSpace and have large spheres around the player and the enemy, each with the following settings:
But when they get close, no collision occurs. I can set it to block Pawn, which does result in the desired blockage, but also makes it so that a character walking forward will push any other pawn out of their way. I only want the PersonalSpace spheres to stop movement, but never to cause pushing
Not sure what is set up incorrectly as it seems to be a simple task
I need some help from a Data Table expert...
How do you make, in google sheets, a cell with an Array Int value?
Exporting the DT from Unreal as CSV just doesn't work...
Does Fortnite have bad perf on the same hardware?
What gpu are you talking about
4070ti super, fortnite runs fine but I don't like DX12 stuff, makes it so ugly
4070ti should have absolutely zero problem
it should, yet it chugs incredibly badly in ue5
I changed GPUs last summer, reinstalled the drivers, and it works fine on most stuff
it's just this asset set
certain parts, windows and shadows tank performance incredibly
and this isn't a complex level
like 6 AI pathing at most, no dynamic shadows, etc
sounds like a shit asset set
just profile it and see where the time is being spent
I did a few times and it's always the lights and shadows causing issues; i tried several optimizations and did manage to get +30 fps back but the major problem i have are the artifacts with lumen lights/shadows and reflections. it's just not working right. I tried 5.3 (worst), 5.4 and 5.5 but it never got any better. Trying a backport to 4.27 now to see if I can get better visuals as well as better lights.
The worst decision I can think of is to max out quality to make it look good but ask for users for 24 gb VRAM
you can use 5.x without lumen/nanite/vsm's?!
just turn them off and bake your lighting and you are done?!
@zealous moth #ue4-general message
Who ordered the spaghetti with extra spaghetti 😂
Looks like food poisoning...
🤣
I'm not entirely happy with this. 😅
If it works then close your eyes 🫣
But then you'll never make unnecessary improvements. 😅
Heya guys!
Im trying to make a "house" building" aspect to my game; each 'block' will be pre-made (1x1 / 1x2 / 2x1) was curious if anyone has dealt with anything like this before?
I need to be able to have the player choose where they want to build but be locked to certain locations; is the best thing to do to create a grid and have construction script at each center?
Sorry if its a little hard to understand, Anyone know of any similar tutorials?
Image is an example of layout/the "grid" block to the left is an example room
And then happiness kicks in. 🙃
Assuming you'll have some sort of placement ghost, you'd need to be checking the location for where it should be placed. You can check at this point if it's a valid location. (Not overlapping/blocked and within the desired zone) You can also snap the location to a grid if required at this point as well.
- You would need grid and a function on grid to Get Snap Location (center of each tile).
- Spawn Building Preview and Trace it with Tick/TimerByEvent
- Line Trace for 'ground'' get location to Get Snap Location and set Building Preview at this location. (this makes it so you only update the preview placement when you actually change the ''tile'' with your ground line trace.
- On click you Spawn real building at the latest snap location.
In BuildingPreview (it should be class that takes Static Mesh from the ''real'' building.
You can have collision box check to check if things are overlapping and it sets flag CanBePlaced before you click ''PlaceBuilding''.
Thanks @dark drum & @dusky cobalt ,
Will give it a shot and post progress later on ^^
That's already almost perfect as blueprint goes.
This might give you some ideas if you can decipher it. 😅 It was an improtu building mechanic I setup over a month ago for my little one. I created no functions in the monstrosity. 😟
Hello, I need help, I'm creating a save system in my Game Instance, I can't CAST to the BP inventory, it's of type Actor Component. I don't understand what I have to connect to the Object node of the Cast. I also tried to create a reference variable to the IventarioBP object but it doesn't read it. Thanks
I wouldn't have the game instance referencing specific actors from the level. Have the inventory system handle it's own save stuff. It can easily get the game instance if it needs to know the save slot to use. (Like a global prefix for all save slots for the particular play through/session)
so i should make a save system just for the inventory inside it?
Your systems should manage their own saved data. Trying to have a single class manage the saved data for 20+ systems would be a nightmare.
The only thing I tend to put on the game instance related to saving is the name of the save slot that gets used as a prefix for the current play session, and some event dispatchers for initiating a global load or save. Systems can then bind to these. When you want to save or load, you can call the event dispatcher to notify everything that it needs to do its thing.
I don't know the type of inventory your using but in my Inventory System tutorial that uses UObjects, parts 9 -12 cover saving. You might find it useful.
This is part 9. It's all BP based as an FYI.
Welcome to this tutorial on how to create an inventory system in Unreal Engine 5! In this video, we'll go over the concepts of setting up an inventory system using Unreal Engine's powerful Blueprint visual scripting language.
In part nine, we look at how we can start serializing our item data ready to be saved. So whether you're a beginner to U...
Ok. I follow your advice. I did it before in characterBP and it worked, my main problem is that I can't load the save from the project start menu. (I have a widget with the "Continue" button)
Is you're inventory logic just setup directly on the CharacterBP? Or is it inside a component?
Inside a component
Setup the save logic inside the inventory system component.
The continue button would just set the save slot on the game instance and fetch the level it should load too. From there when the level loads, the various systems can do their own thing, loading the required saved data using the save slot it can get from the game instance.
OK, I'll do some tests, in the meantime thank you very much!!
Hello friends. When loading soft pointers that might already be loaded, should i just use asyncloaddata, or should i check if its loaded first then use asyncloaddata if its not loaded
@frosty heron even with those settings, it just performs worse than UE5 on default settings
the main issue seemingly being the shadows, somehow. The lighting is fine, the materials are fine, the reflections cause artifacts but the shadows just kill it all.
I have the sphere moving with forces. and i want the cube to stay on top of it. but it rotates with the sdphere itself. how can i keep the cube upright ontop of the sphere like a character rolling ontop off a ball.
You could just profile (unreal insights) to see where the issue is. It's odd that the draw is so high but the GPU is still green.
i tried, but i cannot get an exact thing causing this other than shadows
if i turn off all shadows r.ShadowQuality 0, no more issues
Hello everyone. I have a problem. I want to change Collision presets in blueprint. How to do it?
Say I have a dataasset with a field of plain integers. I'd like the ability to have a few prefixed default values like easy=5, medium=10, hard=15. I'd also like the ability to be able to just set a field to a number like 7. Is there a way to do this? I'd like all the dataassets using the default value to automatically get updated if I say set easy to 8
Hmm, how do I set the character to regular movement again after the player stops running?
Is there a If Key is No longer Pressed for Blueprint?
Lets say the character is in its running state and I stop the running state by removing the key, how do I reset it back to its normal speed?
here's what it looks like currently.
Isn't that just the "Released" execution node on an input node?
Hey, was just wondering if anyone had experience with turning a rendertarget output into a saveable format? Found this node but it's fairly pointless if you want to package the game. Preferably in blueprint from but will C++ if absolutely neccessary, thanks for reading
The more I learn.
look a bunch but can't seem to find the answer.
In common UI, when selecting buttons w/ the keyboard, how can I tell what button is being focused?
I need to check if certain buttons are highlighted/ focused when selecting the back action.
I don't believe there's a way to do this in BP. AFAIK in C++ you have to get the GameThread_GetRenderTargetResource. And this has a ReadPixels function that will get you the pixel array as FColor. Then you can copy that into a new UTexture2D's Mip0.
Could have an array of the UI buttons that checks for it with this node?
Ok, that's useful to know thanks, unfortunate but at least it's a way of figuring it out
hi everyone, im trying to create a basic water material and it lacks any depth. any suggestions or ideas?
returns false even when hovered. Put in getplayer controller node too.
Is there any reason, why this function Get Outer Object inside UObject is the way it is and it's not as simple as Get Owner without need for ''self'' plug?
The reason there is no "self" on this node is that you'll only see that with functions that are declared within a class and UObjects basically have no built-in blueprint function to retrieve their outer. There is a GetOuter() function in C++ that Objects utilize which is actually what this node calls, but it's not exposed to blueprints directly.
Anyone know why my character isn't being repossessed? Even when I use the SpawnActor node instead of RestartPlayer, the respawn goes to the set point but I can't control the character
Thank you for explanation!
Actually hang on I'm gonna make this one message. This is the whole respawn/checkpoint code. Everything outside of red square (the top branch) works fine. If I go into a Checkpoint and then die, I respawn at said checkpoint and keep playing. However, if I don't go into a Checkpoint and die (red box), I respawn but I can't see or move the player
The possess shoudln't be necessary. RestartPlayer() ends up calling RestartPlayerAtPlayerStart() which ends up calling FinishRestartPlayer() which automatically possesses their pawn.
Same issue I'm afraid... unless I'm supposed to be calling all three of those?
No, just RestartPlayer() should suffice for putting a player back at a start point.
Unless you've overridden the logic in RestartPlayer
I haven't really touched RestartPlayer. Could it be a problem with the first isValid? in the beginning of the code
cuz the code is checking to see if I've crossed a checkpoint first and if I haven't, it doesn't have a way to go
but then again, it works, it just doesn't repossess
and I also get this error every time
As an example here... This restarts the player back to the start position. Everything still works just fine, control is there and all.
Accessed None means you're attempting to get something that is invalid, in this case it looks like an array value.
Okay this is wild. Your code makes sense but I think this is what is messing it up for me. The error code points to this code specifically
But without this code, I can't respawn on the checkpoint lmao
you're assuming here that there is a BP_SpawnPoint
If there isn't one, you're going to access none
That likely means you don't have a BP SpawnPoint in your level....
Here's what I did to make a very quick checkpoint system...
Create a String variable in your PlayerController called "LastCheckpoint"
Create a new actor with "Player Start" as the base class.
Add a collider to it which you can set up to use as your player cross the threshold of your checkpoint.
Place it in your level. Change the PlayerStartTag property to give it a name for your checkpoint.
The overlap should look like this:
Finally update your OnPlayerRestart in the game mode to utilize the string stored in the playercontroller...
Now when you overlap with a checkpoint, it stores the name of the checkpoint in the player... The gamemode then starts them at the last touched checkpoint.
Oh huh you guys are right. BP_SpawnPoint isn't in the level, BP_Checkpoint is but BP_Checkpoint doesn't actually work with BP_SpawnPoint, it just sets the Last Checkpoint variable that is being checked in my GameMode
I'm gonna try your method Datura, it seems way more forward than whatever crap I've managed to build
One thing more to override in order to make sure the player always starts at the first PlayerStart that has no label until a checkpoint is hit (otherwise the player will randomly start at different checkpoints too!)
So all this is tied to a code that is basically If Actor Dies -> Call GameOver UI -> Hit "Restart" in GameOverUI to restart -> Respawn (no matter how you die)
I'm thinking to just remove the choice to respawn and just have the UI pop-up with a delay I think
Provided this works lol
Btw I really appreciate you taking the time to actually provide examples @dawn gazelle you're goated for that
🙂
gotta be something simple Im missing...
I'm like 90% sure the UI widgets have diferent color properties for when they're selected/highlighted if that's what you mean
If you select a button in your WB_Name widget, it should be somewhere on the right (although I'm blanking on exactly where)
Where are you getting the PlayerStartTag from? like what am I searching to get to that point?
The PlayerStartTag is a property on PlayerStarts.
You can set the value when placing them in the editor.
oh yes it's select a button -> click "style" on the right panel (expand it) and you'll see different properties for normal, hover, pressed etc.
no.
I want to press the back button on a keyboard and instead of closing the widget I want to do a diffrent action depending on the button. But I don't know how to check what button is highlighted w/ a keyboard inputs.
In BP you can't. Access to the focus path can only be done in C++ i believe. You'd have to have to keep track of it yourself.
The best you can do is to loop through the buttons and use the 'Has User Focus' to check. This might not be ideal though if you have nested buttons in different widgets.
Right so I have created the Player Start as a tag in the editor. But how do I pull that out for the BP? It doesn't show up in a search
that's the problem. It always returns false w/ keyboard.
oh nvm im stupid lol
You might have something in the button that actually has the focus, you could check if it's in the focus path instead.
I think that'll work. its a base button BP so I can just put a bool that updates on focus path set and unset and check in the main widget BP if a button has the bool set to true.
I need help, I am lame at blueprint but somehow I made some pawns and switch betweem them. One is like FPV and other third perseon view. I would like to make blueprint when I switch from one to another to change spherical image (backdrop) was it different backdrop or same with different cube image it is not important, it is important that it switch. Can somebody help me on this? Thanks!
Hi! Mates
Can anyone help me how to get this node I am struggling.
Drag off from the character variable, and type "Get Character Movement"
Burn it down, start from scratch
🤣🤣 I fixed it, dont worry!
Whats the correct way to add Buttons to a widget and A. Not have them be fullscreen B. Not have them consume mouseover input
atm I can only achieve either A. or B.
Thanks Man.
I need something that gives me 1 float value or another based on a boolean. Does unreal have something like this already or do I need to make a marcro?
Select
Not exactly what I want. This is not a real node, it is a graphically edited node to represent closer what I want. The return values will be one or the other based on the booleans. I am not trying to parrallel process.
Make a select node. Plug the bool into the "index". Connect a float to the output. You can now specify which float to use based on the bool.
@crystal ridge
Hey smart people. I have an issue which might be too hard to dissect here but I figured I would ask in case anyone has encountered something similar.
I am custom spawning and possessing my player character through my level loading map. I have verified via print strings both on the player character and the player controller, that the player controller IS possessing the player character. OnPosseed runs all of my "BeginPlay" stuff just fine but then the player character doesn't seem to be receiving any input. I tried a print string with Any Key input to test this and nothing happens when I give it input. This only happens when I custom spawn. If I add the player character as the detail pawn to a game mode and then start in that map, everything functions correctly. I'm so confused.
From my research, if you are creating items in your project you typically just use a Actor blueprint. You can add your mesh, functionality, and set everything up that needs to happen. Is it possible to do it other ways? Is there a more preferred method? How well do actors scale, if they are items in a game you could have hundreds/thousands of them?
show your code
who's doing the spawning and possession call?
Everything in the game world is a part of an Actor at some level.
now a stored item doesn't need to be instantiated as an actor, you can just have some simple data representing the item as the "back end"
I'm not at home right now but I will. I'm spawning and possessing from my pawn from the Game instance after the map loads from my persistent level.
I would really suggest you use the typical pawn spawning paths from GameMode
smells like a race condition to me
My game mode isn't spawning anything if I put a default pawn in there, I'm guessing because of how persistent levels and level streaming work? Anyway, so what you're saying is I should override the spawning functionality in my game mode instead of calling it from the game instance after map load?
@noble ledge you can do it by actor with simple switches, good for a few; you can use data assets or datatables if you have a lot. My preferred is data tables because I can easily export to excel and correct values.
Hello, im trying to make an item system like seen in the binding of isaac. I have it almost fully set up, there is only one part i cant wrap my head around, so your help would be appreciated! The break pin i use with Set SelectedItem sets everything to null/ 0. why is this? It seems to occur after getting a random item from my filtereditem list
If this is all code that takes care of it,then you are never really adding anything and the functions run air and not any values.
DId you check if it is even going trough Is Not Empty check? print something there.
Also you try to filter items by some array Filter Items, but you don't plug array, so Filter Items is empty, so your For Each Loop is not adding any item further, but then you don't even add it anyway, you just plug Get Array > Add (no plug), so even if it found something it would not add anything to it.
yeah i did the not empty check. the filter items array is because i dont know on what kinds i want to filter yet, so i have an empty call for now
its because if it is not contained in my filter it can just add it to the item list. so if i dont call it with a filter it adds all, right?
so here you need to plug it as well but if Names array is empty it won't add anything to it
wait you actually call it on false, so yeah ok it will work other way
it will add anything except the filter then
yess
its a system so that if i were to play a character that doesnt have a use for a certain item, i can filter them out
i added this
i had that earlier but i removed it later for testing
i added this for testing aswell, here the length is still the correct number of items in my data table, which is 3
Isn't possible items empty as well?
hmm, i dont think so
lemme check
no
possible items works aswell
excuse the spaghetti, but im getting the 'works' print here
so show me defaults of your possible items struct? because this is not connected so maybe there is some entry of array but the struct is empty without values?
i tested this a few minutes back aswell, ill quickly check again
i dont know how to show you the defaults of my possible item struct
u mean this?
this is my itemdata Structure
Trying it from OnPostLogin and it's spawning while the new map is loading unfortunately. I'm sure you're right that it's a race condition issue but I'm having a rough time pinpointing it
Sort of a methodology question, but how do people usually do bullet holes? Just trace a wall then spawn a deferred decal?
Not sure how expensive that would get
Thats probably what I would do, spawn a bullet hole actor that does some particle fx, has a decal and after a while destroys itself.
There isn't a lot of necessity for a full actor here though. If you take example from GAS, it can just be a static like a library function that spawns a particle and decal at a location. The craziest you'll want to get is to make a decal manager for bullet holes so that you can specify an amount in your game settings or something and forcibly despawn any past the limit.
that would probably be better, yeah
That's kind of what I was thinking
Would I just use spawnactor for that?
oh there's literally a "spawn decal at location"
okay I thought I understood linetraces pretty well but i cannot tell if im just stupid or if something isn't working as intended.
if you dont understand what's happening in the video, the line trace is spawning where it's supposed to, but in the opposite direction
oh wait
you truly just gotta ask a question to see your mistake
Hi, I want to tell the widget component to redraw but I don't see any function for doing this?
How do I do element handle? The current value of the ' Element Handle ' pin is invalid: 'Element Handle' in action 'Release' must have an input wired into it ("by ref" params expect a valid input to operate on).
I might be looking at it wrongly.
Yeah, it seems I've looked at it wrongly. Is there a "Released" execution node via releasing the pressed key through Enhanced Input Action Mappings?
Heya,
So, I was hoping to figure out an asset utilility script that would allow me to automate adding existing or new morph targets of a selection of skeletal meshes using the same skeleton to that skeleton.
I have an anatomy blueprint with hundreds of skeletal meshes and I constantly need to add new morph targets and doing so manually can become very tedious and time consuming.
I´ve spent a good day trying to make it work, but while I CAN collect all the morph target names, I found no way to actually add them to the skeleton.
Is this really not possible?
The only thing I found was an "Add curve" node, but that requires a "curveID" input and I found no way of constructing these based on the array of morph target names collected.
I can´t do CPP and I even tried to get ChatGPT to write me some code for python, but apparently too much changed in the last few versions of the Python API and I didn´t get this working either.
Why Set Custom Privimite Data doesnt work on a constructor. Though Set Custom Data Float does?
thats weird
Hi, does this node also sets the length of the array accordingly?
thanks ❤️
All I got is:
Bump
Why adding impulse to geometry collection component doesn't work after delay ? It works if I remove delay.
Which I'm unsure if its related to the IMC system.
There is but it's not quite as straightforward, still fairly simple though. On the enhancedinput key you're using put a "Pressed" and "Released" modifier(might be trigger can never remember) on it. Then plug the "Triggered(I think)" execution into a branch connected to the boolean output of the node, true means pressed output, false means released output
You're adding blank structs two two different arrays here.
Boolean output?
Ohh
@balmy jackal Correct?
What I have sofar:
F: Pin New Param named NewParam doesn't match any parameters of function Stop Sprint
not sure but might be the number of times a function is called
how would i go about fixing this?
Look at the screenshots you bumped. You have to add nodes with no connected inputs.
trying to decipher! 😛 ive created a small grid with small sphere meshes (for player to see) and sphere collision boxes, im making the room 'spawn' when the create button is clicked; sticks to the y axis (2d sidecroller style) but am having issues trying to work out how to get the room to stick to the closest "free" sphere/collision
Hi could someone please help me?
Is there a way to get all current touch inputs instead of touch state?
I have markers that generate touch inputs on a touchtable. Id love also to be able to differentiate between them since they (the touchpoints on the markers) are placed slightly differently to each other on each marker.
How could i group two sets of touchinputs to id the markers?
perhaps try #mobile
I dont exactly follow what you mean by this
You'd have to find the closest one and move the room to it. Personally, I would just do it mathematically instead of trying to use an actor in the world. Its just a case of clamping the location within a range and adjusting it to the desired grid size.
ok I think i could clamp it to the desired area; but im not 100% on adjusting the 'snap' point; thanks a bundle for the help btw
As he said, your add nodes for your array have nothing connected to them. You're adding basically a "nothing" structure to your array.
oh yeah the initial images is still older, i changed some things during problemsolving with Amberleafcotton yesterday
this is what it looks like rn
and this is my current BP
nvm i fixed it 🙃
is it possible to make a projectile ignore some collisions but not others? Like I have a shield...I'd like it to be one way so to speak...I can shoot through it but bullets from outside can't come in.
You can make a new channel for it i think
I've not done anything with channels before....is that at the projectile level or the shield level? What I currently have is an event hit...I cast it to the things that I want to be able to be shot...and on cast fail I'd like to just ignore that collision.
hey idk if this is the place to ask so correct me if im wrong. So I have 2 things, 1 is my playercharacter, 2 is a wheeledvehiclepawn. I want to put a gas pedal in the vehicle that will take that input my playercharacter intereacts with and apply the forward motion part of wheeledvehiclepawn. any easy idea on how to do it?
you could have two layers to your shield. outside layer collides and the bullet is stopped. inside layer has an overlap that tells the shield to ignore collision for that bullet allowing it to pass through
Can I use Hold and Release on an another input? Mainly with Run it goes:
Triggered after
IA_Dashhas occured.
Hold and Release viaIA_Move
Because I'm unsure what does Hold and Release do in Blueprint.
How do I make it ignore a specific collision...that's the part I can't figure out
i can't remember the exact function but there is a function to tell a mesh to ignore an actors collision
would that be on the projectile or the shield?
Hi Plin
In project settings you can create a custom object collision and then set the colision to ignor / block when needed
I already have hit logic here for hitting a specific thing....Ideally, I could put an ignore in the cast fail chain and just have the projectile continue on rather than self destroy.
Oh dang! That looks super helpful
i don't think collision channels are what you want here
because you want different behavior depending on where the projectile is coming from
yeah I was just thinking that...
it seems all inclusive for each type...I need a projectile to not collide with shield and to collide with resource (in my case)
like I said..ideally, I have the hit event...is there a way in that cast-fail chain to just discard the hit event and keep moving?
you would have to disable collision somehow
which woudl disable it for everything else right?
no, just do it between the two actors
So an Input Action event has various pins on them. 'Triggered', 'Started', 'OnGoing', 'Canclled' and 'Completed'.
When the key is pressed, started will fire. If you have a trigger modifier, this will affect when the 'Triggered' pin will fire. For example, with hold and release, the 'Started' will still fire, followed by 'OnGoing'. When the key is then released, the 'Triggered' will fire.
oh...in this blueprint or globally?
in the bp
Can I repeat the process by using IA_Move onto IA_Run?
Mainly w here:
well what's the command to disable collision? I can't find a suitable node
and is this before or after the detection of a hit?
in unreal common ui I have a row of buttons that I can navigate with the keyboard. The buttons are initally visible when the widget is called, but can go back and forth on being invisible and not.
The issue is that when the buttons regain visibility nothing happens when I press the space bar to activate the "on click event". I am able to click on them with a mouse to get them to work though.
I'm not sure what you mean.
As in, can I use an Input action as a Key Selector?
figured it out with object channels after all
Thanks for the suggestion @cunning vapor
Do you 100% need to remain possessing the character and not the wheeled vehicle?
Is this like GTA?
Yes, you can have a corded trigger.
Let me try.
yes to possession, no to gta. no its more like i walk into a giant vehicle, and press the gas pedal and it applies throttle, i press the brake, it applys brake, i turn the steering, it applies Steering to the wheeledvehicalpawn im standing in.
Im making a Top down shooter. Though nav mesh and CMC doesnt support much more than 400 characters.
Im thinking leaving that for the main characters only.
And creating a tile system for the dummy enemies that will be in the thousands. Then i have 2 movement systems, the nav mesh for the complex characters, and the tile system for the AI characters that just move around and attack.
Is this a good idea?
is there a method that lies between world space rotation shaders and event tick rotations for making an actor object rotate in the scene that's good on performance?
Niagara maybe. Depends on what you need.
I have asteroids in my scene that can be blown up...I want them each to have a random spin direction and speed.
is rotating movement in the blueprint bad for performance?
I'd reach for ISM for that, assuming there's a way to do collision tests vs them
have some global asteroid manager thing that holds them all and does a managed tick on them
I have about 10-50 asteroids on screen at any given time and they each have blueprint logic in them for things like what happens when they're hit, how many points are they worth, do they drop a powerup, etc...can i still have their staticmeshes handled by ISM?
why not have TheAsteroidManager do all that?
TArray<ISM> Meshes
TArray<FVector> Velocities
TArray<FVector> AngularVelocities
TArray<int32> Points
TArray<Powerup> Powerups
How do i change child actor component collision settings?
it only has simplified collision settings
cant find the option to change to No Collision or Custom
You don't need ChildActorComponent here
just use a static mesh component
what you have is like:
Root
ChildActorComponent
StaticMeshActor
StaticMeshComponent
when you can just skip the middle bits
this is in a big project file sent by a client with all kinds of buildings that must be merged into BP. So im using the:
its super convenient and practical
though i need to be able to change the collision settings
and they dont seem to be available anywhere?
They seem to not be exposed the moment they are converted
oh i think i found them
they are in the template
I would just make an editor BP that cruises the world and records all the meshes and transforms
here
That wont work because they are buildings with different components
Must be a human clicking them and deciding what is what is not
Though I could create a Brutility
I'd prefer that over a rat's nest of child actor components
with a Brutility i can do get all actors selected, get their transforms and do some gymnastics and probably have the same results, though this is kind of a cope 😵💫
Brutilities are awesome
💪
though whats the problem with child actor component
i read that Child Actors are bugged
but not Child Actor Component, these are cool
Colloquially, "Child Actor" and "Child Actor Component" are pretty much the same. Attached Actors aren't Child Actors, as such.
"Child Actor Component" has a lot of known issues, there be dragons
hi everyone! i was wondering if any of you can suggest me a good course to get more depth into unreal engine blueprints, especially coding gameplay elements so that I can learn to make a small game from start to finish. i am an game artist with years of experiance hobbysit/education/professional as well has alot of techincal experiance inside of unreal such as shaders, lighting, world building, optimization, etc. so im already quite well versed in unreal. however almost every course i find goes trough all the unreal engine basics that i already know,
i really just want to get into blueprints for making the game so i can actually get started making small games and learning how to develop a game myself. im probably not landing a job in the games industry again any time soon with how things are going but the game development itch needs scratching
for a geometry collection that is fractured, how can I make the AI not get stuck because of it?
I have a simple enemy ai that uses AiMoveTo, but when it runs into a fractured geometry collection it will stop moving. I disabled " affects navigation" in the geometry collection, I also made the AI and Geometry Collection collision ignore each other, but it still gets stuck
Anyone recommend any Logging plugins? I miss Unity's feature of automatically including a callstack and link in each log.
dang, now that you remind me, that was pretty luxurious
Does anyone know if there's a way to change the hold time threshold on an IA/ICM at runtime?
I have a pawn that I am moving via enhanced input actions ONLY in the X axis. For the most part, adding pawn movement in X works just fine...but occasionally some weird spawn/collision event will happen that pushes my pawn out of it's Y axis (maybe Z too)...is there any way to keep that from happening?
What is doing the moving?
What bit of code actually updates the position?
I have a moveleftright event on my pawn that includes an axis value from the axis. it then fires an add movement input with the world axis as 1,0,0 (X only) with the axis value going to the scale value for the movement input
occasionally a spawn event will knock the pawn off of it's Y position...and I'm tryign to eliminate that as a possibility
I did a little debugging to find out WHEN I was getting knocked off my Y axis and found that yes it is specific spawn events....So I spent a little time solidifying my collision object channels and making sure that all of my game elements operated in their channels correctly and this seems to have eliminated the problem. There's no errant spawns kicking the ship out of whack now.
hey, I have a silly question.
Garbage collection is destroying my components in an actor every 60 seconds. I know I can add an UPROPERTY Macro, but I don't know how many I need to create several such actors containing the components that are destroyed, and each actor will contain a different number of components.
Is there a way to add components to garbage collection from blueprints?
Anyone know why the left and right options in a Switch on EUINavigation node, inside a widget custom navigation functions don't seem to register any input with a gampad? Up and Down work fine.
Hi!
Does anyone know if there's a way to get all the "Animation Sequences" under "Content" folder without using the asset manager?
in a blank project, i want to make a showdown of animations but i don't want to add the asset manager config and all that
I want to make a showdown of paragon animations and i don't want to manually click each sequence and add them to an array, it's like 120 sequences for each character and 5k in total
Any idea?
Sounds like the job for an editor script
I'm prety sure you can drag and drop them directly into the BP in the variable field.
Just remember to use a soft class reference. I think that loading 5k animations by hard referencing them on your blueprint might be kinda bad.
I think selecting them all and using the asset picker on a array variable also works, I can't test right now.
Sorry just a repost of a question since I'm still having issues with it:
I am wondering if anyone might be able to help me with collision channels. I am trying to set up a custom collision sphere or capsule around both enemies and the player in my first person game, the goal of which is to collide with other like spheres but nothing else (preventing the player from getting too close to enemies and vice versa, without affecting navigation, hit detection, etc). I made a new collision channel called PersonalSpace and have large spheres around the player and the enemy, each with the following settings:
But when they get close, no collision occurs. I can set it to block Pawn, which does result in the desired blockage, but also makes it so that a character walking forward will push any other pawn out of their way. I only want the PersonalSpace spheres to stop movement, but never to cause pushing
Not sure what is set up incorrectly as it seems to be a simple task
There are two things here:
- only the root object causes physical collisions when moving. When you set it to collide with Pawn it is probably colliding with the other character's capsule.
- A player movememt input won't be blocked because there is another object in the way. Maybe if the other object is super heavy you could fake that.
I ended up doing an utlity widget and loading assets by folder with a ComboBox
i'm having a problem where the assets will load if the editor is not running, but if it's running or in a simulation, the assets will fail to load
anyone has any idea why?
The paths are the same i'm using when they load okey without simulation
Learning editor utility tools is a great skills to have. Kudos.
If you are NOT Playing in Editor (PIE) it loads?
yes
Ah that is good to know, thanks so much. Are there any other ways I might achieve the effect I want? It seems so simple but the way that the CharacterMovement component prioritizes movement seems to make it trickier than it seems. I'm really only trying to establish a minimum distance that the player can get to enemies since it's first person melee and it just looks silly having the enemy face filling the viewport. All the "soft" limits are set such as the AI's preferred distance, etc, but the player can still butt up on them so I need an actual barrier
Not in PIE = Load all good
PIE or simulation, the load asset doesnt return anything
The paths are the same because i'm doing that print before "Load Asset" and it's all good, same as used when not in PIE
could it be that the relative path of the asset changed when PIE?
I don't know... I've only ever seen the opposite. Things that load in Editor but not in compiled game.
I'm getting the paths while not in PIE, so maybe that's why
/Game/Mannequin/Animations/Paragon/Yin/Stun_Start
that's an example of a path
In Unity, it's very easy to do process where if a variable is null, I can tell a while loop to return null (essentially, wait to proceed) until the variable is no longer null. I am having a tough time figuring out how to do this in Unreal - I am doing a While Loop where a variable is checked, and so long as it is Not Valid, I tell it to .. either do nothing (loop body has nothing attached to it) or just print something or whatever. However this does nothing but get me an Infinite Loop which crashes, whereas is Unity it is all gravy. Any suggestions?
Your coindition is probably always true
While loop = it's going to evaluate the condition before starting each loop
Since you don't want to change your root collision to large sphere (would cause all sorts of other problems) you are just going to have deal with an overlap check and act accordingly. Maybe "if in range" always stop player movement if moving towards another character.
if you call that, without a body, and "condition = true" you will ahve an infinite loop because condition will always be true
that while loop is not async, it's always going to evaluate true if you dont have a body
oh I see, I need to perform the operation (try to assign) while within the loop still. DUH it has been awhile, haha
Yeah that was my thought as well. It's messier to have to make some new logic and consideration for that, wish there was a way to just have an invisible wall / sphere around the enemy that only the player could not pass through, but I guess it's just a quirk of the engine. Or maybe I'll exploring increasing enemy capsule size if the player is very close to the enemy, that might be simpler
What Aisher said is right. You can try your setup with a small delay though.
If you increase collision size it will still need to collide with terrain/environment and maybe player projectiles, so that might get weird.
Yeah if they're next to an object and it suddenly gets pushed, kinda weird. I'll have to try using overlap events to stop the player's movement most likely, like you suggested. Project for tomorrow
Thanks for your thoughts on it, appreciate it!
Where does a Call In Editor button for a Blueprint Function Library appear if I mark a function that way?
Everywhere you can use it. Just start typing the function name in the node search box.
is it possible to add interface to static mesh?
I don’t think so. For what purpose?
You can put the mesh in an actor if you need to use an interface
how do you debug an Editor Widget Utility ?
Anyone had any luck transferring a map of strings and integers through the game instance?
I don't understand what this "transfer" is. I'm assuming you mean "transferring" a map of strings and integers between levels by storing it on the game instance?
yes, thats exactly what I'm meaning
with print strings, i think : E
Don't do that, learn how to use save game objects instead.
You can use breakpoints or print strings/logs.
Breakpoints dont work in EWU
UwU
Technically yes. What are you actuallt trying to do?
On a related note, with 5.5.4 on my machine, EWBPs ( Editor Widget Blueprint ) refuse to stay in editor layout between editor restarts ( but it works for my friend ) - anybody encountered this?
They do. I've used them myself when testing my own EUW stuff.
True, I just tested breakpoint, works for me ( but I seem to recall it maybe not having worked at some point? dunno )
in my UE4.27.2 (awesome) it works
antique : P
yee after much oppression, I'll look into carrying that Map of strings via the save game object.
I found a work around that makes it only work, that is to start the game in Simulate. Else nothing works.
Though thats tricky
odd. which engine version are you on?
at least for me, it breaks correctly when I press a button in ewbp
4.27.2 (GOAT)
Yea, once you learn about SGO's transferring data between levels becomes easier and is more scalable in the long term.
maybe... breakers didn't work back then?
Ooof, that could be why. I was using 5.4 the last time I used EUW.
in 4.27.2 (GOAT), you reset the editor, and all your EwU is there, UwU
I like 4.27
oh it ( remembering ewbps ) works for the other devs, just mine is bork
sorry too many questions
why cant i write a row to my data table using json ?
this should be a no brainer, and yet im stuck
no need to use save game if its only for runtime
totally fine to use GI for persistent data at runtime
I put it in the realm of bad practice. Maybe for a handful of vars maybe but the amount of data you often need to save can get pretty large. Using the GI is just lazy. Adding to that, you could end up hard referencing a ton of stuff in the Game Instance. As this is the first thing to ever gets created (in a build), you can very easily cripple your game from this if you're not careful.
If using Seamless Travel, I believe the player state also persists so that could be used for player specific data.
im talking about runtime stuff not persistent data across game launchs
you save perf by not saving then loading from disk on the same session
hey guys, im new to unreal and i was trying to remake a player character from scratch, in unreals default it works fine without having to do this but for me i had to make the x action value negative to not have inverted turning
anyone know why that is? i mimicked everything from the original bp but for some reason i have to do this
Give me an example of runtime data that should persists between levels that wouldn't need to be saved to disc?
On the IA_Look (input action object) they have a modifier that negates the axis value for the specific key.
oh i see, i already negated it but didnt realize you could do it for specific axis'
Hi, my widget is getting destroyed on open level, this code is inside the gameinstance. pls help
All widgets are always removed at level load. If that is a loading screen, I would recommend CommonLoadingScreen plugin out of Lyra. If you're not BP only, you can at also look to see how they avoid it getting removed on level load.
i kind of did a workaround and this is seemingly working rn. I am redoing the "add to viewport" of this widget on beginplay of the levelBP. The widget is not getting destroyed, but the viewport is getting cleared after level load
Hey folks 🙂
I'm optimizing my game at the moment.
I get a few Physics spikes once in a while.
Is there a way to easily disable all geometry collection stuff for all actors temporarily?
(want to check if those are in fact the main issue)
Same for Niagara systems, is there a way to temporarily disable all Niagara systems/effect so I can test performance without those?
Trying to detect if sword hits another sword for example
Detect if sword hits another sword for example
A data table is a map of names to structs.
That json is a single object with 2 members. The layout doesn't match
good luck....
I have a question when it comes to using inheritance vs actor component.
Currently handle combat with my combatComponent (actor component), so I prefer to handle the owner's death there.
However that will be a series of nested casting since I need different implementation for the Player, Companion and the Enemy.
With inheritance I can just override the death function but with AC, I suppose the only way is to use nested cast'?
Not 100% on this, but I imagine the appropriate JSON would probably look like this:
{
"FirstRow": {"BasicBool": false, "SomeOtherValue": 5},
"SecondRow": {"BasicBool": false, "SomeOtherValue": 2}
}
good morning, I'm thinking about how to save and load the foliage that I cut in my game when I continue the game, is it right to make an array with the references of the cut foliage and after loading the save and the level recover the data from the array and delete them? I ask if the reasoning is correct or are there other ways.
you need to store the neccessary data to re-create the state.
if it's an array of reference to the static mesh and it's transform, then so be it.
I might not fully be understanding your ask, but you can use inheritance and create child classes of actor components. Using something like GetComponentByClass from whatever target actor to get your CombatComponent would return whatever first one was found including if they were child classes, and if the base class has all the appropriate functions it should work just fine regardless of which one the target actor is using.
I have no issue in getting the Combat component of each character. The issue is I want to implement death in my Combat Component.
but doing so with different implementation for each will requires nested casting
that's my primary delima.
If GetOwner is Player
Do X
If GetOwner is Enemy
Do Y
where if I use inheritance, I can just implement death in the base class and have each sub class override the death function.
Right. So if your base CombatComponent has all your base functions defined, you could have a PlayerCombatComponent, EnemyCombatComponent and CompanionCombatComponnet, you can then handle their deaths as you desire.
I see, so derive from the combat component
Yea 🙂
If you wanted to only use one AC, you could as well, and to avoid a casting tree, you could have an enum or something that then allows you to define the type, so you'd only have to cast once and only to the appropriate actor type.
Cuz yea casting trees are nasty @_@
"Building House " Blueprints;
Heya; Ive been following a tutorial:
https://www.youtube.com/watch?v=DwPHsLJv5Gw
To snap objects to a grid array; but in the tutorial im using an on tick to update the placement which is CRAZY intensive; has anyone got a workaround? or will it just be some maths?
@dark drum , saw you in the comments for this tut - like playing wheres wally 😛
In this video I make a grid system in our world that will be used for snapping objects, roads and buildings to each other!
00:00 - Intro
01:00 - Creating the Grid Manager
09:00 - Creating a Grid Cell
11:30 - Snap Buildings to Grid
Leave a comment below for...
You need abilities. Your combat component should just do ActivateAbilityByTagOrWhatever(SomeTagOrClassOrSomething). And then you grant one death type to the player and a different death type to the other things and it just activates with no casting or switching. All data derived.
that's what im doing already but I need to handle extra stuff depending on whos dying while maintaining the same Death Ability.
// Death implementation.
FGameplayTagContainer TagContainer;
TagContainer.AddTag(FAGGameplayTags::Get().Execute_Death);
if (bool success = Props.TargetASC->TryActivateAbilitiesByTag(TagContainer))
{
// Death ability is executed, display the hit effect.
Props.TargetASC->ExecuteGameplayCue(FAGGameplayTags::Get().Cue_HitReact, Data.EffectSpec.GetEffectContext());
// Broadcast death delegate.
}
other channel recommend that I just implement the death in the base class
i think I will do just that
my confusion was that death is a Combat thing, so I tried to keep it in the AC
I still feel like these should just be two different abilities. Like you can have a base death ability that does what everything needs. Then a special subclass for anything that needs extra.
but then I will need to either derive the AC or nested casting or an extra interface
I see, that sounds valid
They all activate from the same tag of course. You just grant the different subclasses to different actors based on their intended death.
hi, complete blueprints newb trying to learn.
im trying to set the mass scale (weight) of an referenced object (exposed actor paramater) that is placed in the scenewhat am i doing wrong. the cast seems to work since it doesnt print cast failed but i dont notice any chaning in weight of the object. this is probably something really simple and might have something to do with the cast node
Id use a mix of the two. The actor component would have a 'DeathHandler' object class that can be specified. You'd then create a child of the handler for the different types of deaths.
The actor component can then just have the 'Kill' function that creates and runs the logic in the handler object.
You could potentially leverage instanced objects with the edit inline new specifier.
🤔
I can feel you pondering over that. 😅 Let me know if you have any questions. 🙂
Why not just have OnDeath event dispatche in component and bind in the class and have different implementations?
I can but I am trying to decouple the class from having to handle death.
but doing so gives me a headache
and im complicating something soo simple
so im just gonna make do with the spaghetti
I totally get it. Just a UObject that can be run and do things differently.
also valid but I would feel like I am chasing too many objects for a simple function.
When you say something simple, what are you wanting to happen during death? If it's simple, could it not just be handled with variables on the component?
Companion would be knocked down instead of face dropping on the floor.
Character would lead to game over.
Enemy would just play the anim montage.
Each of them would also need to respond to different U.I components
The common behavior is handled in the Death Ability
which is to play an animation
What's the extra logic you're needing?
These are 100% different death abilities.
- Companions should just play knockout anim or whatever and be put in a KO state.
- Enemies should clean up their state, maybe even spawn an imposter for the mesh, kill off their controller, grant kill stats, etc etc.
- Player plays anim or whatever and pops up a game over widget
Can this work?
no
If I were to set the movement speed back to normal AFTER the character stops running.
the branch has no condition, it will always execute the false pin
What condition would I need to have it execute the true pin?
what ever rule you need to define, which produce either true or false based on the condition
Trying to make the button color transparent and keep the image of the arrow visible. How am I able to do that?
Whenever I try to change the opacity either in the button widget or activatable widget, the image turns transparent too. I don't see any option to turn off inheritance either.
Do it in your item Button, then change the transparancy. Show the settings you are changing.
Is there another way to have it that the movement speed resets upon releasing the IA_Move input?
there should be a ton of tutorial on implementing walk and sprint.
i've tried it in every place you can change transparency.
Changing the brush opacity shouldn't effect the children.
show the settings that you are changing.
Those involve using a different key for Sprint. I'm using IA_Sprint > IA_Move as my input for Sprint.
Expected column 'BasicBool' not found in input.
Row '1' has more cells than properties, is there a malformed string?
Row '2' has more cells than properties, is there a malformed string?
Row '3' has more cells than properties, is there a malformed string?
i think something is wrong with this json function
i mean from the engine
If it helps @frosty heron
Create third person template. Look at how it implement IA_Move and just copy and leave it as it is.
Your IA_Sprint can just be a left shift that toggles MaxWalkSpeed on started and Completed
https://www.youtube.com/watch?v=EG9iYYraDgw&ab_channel=TheAverageDev
In this tutorial I show you how to make a sprint system in Unreal Engine 5. Leave a comment on what tutorial you would like to see next. If you enjoyed, or found the tutorial useful, leave a LIKE and SUBSCRIBE for more!
Who am I?
I am a currently enrolled c...
Hi everyone, I have a simple blueprint that deforms a mesh along a spline. Any direction towards a good tutorial through which I could learn how to expose parameters of the blueprint and so being able to change mesh and its materials directly from the details panel in viewport?
You don't change in P1...
you are changing the entire widget
if you need to change the opacity through an object that owns it, you have to do it via code.
Yeah, when I changed in the item button widget it still kept the button visible
Ah. Yeah, I'm aiming to use IA_Dash as a trigger instead.
Get P1Item-> Get Your Common Border -> Set Brush
I don't know what else to show
isn't this what you want
to change the transparancy without affecting the children
which is the image in the middle in this case.
Hello. Does anyone know why I can't change the mobility of a spotlight component? It only has the option for movable.
can you post more than that.
my spotlight component deffinitly have more settings in the mobbility tab
then do just that.
It's a simple actor that has a rocket and some spotlights. I can adjust the mobility of the default scene root and set it to static. However, the spotlight components are not changeable.
can you show a full screen shoot with the spot light selected?
Thats what the problem is. In common button base If i set tint alpha to zero it gets rid of THAT background color, but not the actual background of the button itself.
hmm thats weird
I don't use common widget, no idea.
What you showed me just proves that we are hiding the same thing which is work.
Only your last image where you edit P1 as a whole is the mistake.
Am trying, though unsure if I can combo IA_Dash and IA_Move for my IA_Run.
Even the rocket static mesh component can not be changed to anything other than moveable by the way
can we have a full screen shoot
with 0 cropping
normally the issue is that the child class must follow the inherited values of it's parent when it comes to mobillity. (In UE5, this will be changed automatically)
but you made some new components on the children and still not given the option.
so no idea at this point.
how
I went all the way down to BP_ObjectiveBase, set it to static there and now I can select all 3 modes
yeah they get carried over to the children
I want to create a joystick [in vr] for controlling a aircraft, i searched for tutorials on youtube and i'm currently applying the lever logic in building it.
the problem, it only works for one direction/rotation [either pitch or roll] and not for both.
i have provided the blueprint for it as well.
Anyone know why the Line Trace isnt following the literal direction being faced by the player model?
edit: i turned camera around multiple angles as well
You're using the camera manager forward vector. If you want the direction of the character, then use the character actor forward vector.
Thank you
Another strange question, this code behaves normally (a line in front of character with the direction determined by where the camera is facing) but once I migrate it, it does the above
I’m trying to make a first person weapon system, and I’m wanting the first person arms to be interchangeable, but the animation set to be universal. I was thinking I’d store the animations as a part of the weapon animation, but wasn’t sure how I’d “bind” the hands to follow that
Would I use set master pose component or something?
should look like this. It breaks when i migrate it for some reason
a line drawn from my character facing the direction of the camera (i looked in a circle in this example). When I migrate, as the problematic image above shows, it shoots in a very specific direction and will not change to accommodate where im facing
I think I might be misunderstanding what you want. Are you caring about what direction the character is facing, or where the camera is looking at?
I misspoke initially. I care about the line shooting from the character, but in the direction the camera is facing.
I feel it is a migration issue or something, as it is working properly in the initial project but goes all wonky in the new projected it was migrated into
how can i change my default player pawn properties if its not in the level and only defined here:
Like most BP classes in the level you can still change their properties in the actual level, without opening the blueprint and changing for the whole class.
my Char_30Angle is only defined here. I cant change its properties specifically for this level
Is the only way for the default pawn to change for all the classes? I only need to change its camera rotation
In the new project, it seems to be ***kind of *** working, but obviouly theres that ever-persistent cone of line traces perpetually facing that one direction
The GameMode will spawn the pawn as defined with all of its properties as defined in the class you specify there. You can't directly modify a pawn's default properties from this point. An alternative would be to have something in the GameMode, overriding the functions that spawn pawns, and have things set up in there that can configure your pawn if you wish.
yeah thats what i thought. Though i dont like to do stuff in GameMode or other classes because that can give me an headache in the future. Like, i might not remember i did that, then start freaking out why i cant change my character camera lol (u changed it in the GameMode)
So i will create a new Character file just to change the camera
The code that you had originally shown would trace from the Pawn's location, to a point 1000 units away from the camera's location in the direction the camera is facing.... It's kind of wonky if you think about it... it won't have a consistent shape around the pawn as the camera will always be offset in some way.
I need some vector math help, please: I want to "attach" an actor to my mouse cursor position in 3D world space but restricting the cursor's movement to the 2D plane relative to the camera's frontal view.
At this point I'm setting the actor's Relative Location by directly mapping the mouse movement to the y & z values with x=0 in a vector3. I thought that if I change the World Rotation of the attached actor, it would achieve that effect, but i was wrong. Not having understood the difference between Local and World Rotation, obviously.
(Maybe to clarify a bit: My camera is rotating around a central point with flexible pitch & yaw. The mouse cursor should always move up/down and left/right no matter the camera's angle and position.)
fair, i understand that. Still, I find it so strange it behaves perfectly in the project it was made in, but acts strange in the migrated project. Thank you anyway!
There are so many ways you could go about it without a new pawn class. Simply rotate the camera on begin play in that one level? Or expose camera rotation of your original pawn as a variable for instancing. Have you considered options?
Local rotation is a rotation offset from the object’s parent
World rotation is a rotation offset from the world
But the axis are not rotated any way, right? For example, Setting World Rotation to Z=90° will not make the interpretation of X/Y flip, eh?
From how it sounds, I’d attach the mouse cursor to the camera component, then just do local offsets on it
...oh my.
So obvious, thank you!
I’ve over engineered many a solution 
Attaching does a lot of the math for you. To do it manually you can use “rotate vector”
There’s also “unrotate vector”
It just works as intended. Again, thank you!
the problem is that exposing the variable doesnt allow you to change it if it is the default pawn
it simply isn't showing anywhere 😵💫
Place your pawn manually and auto-posses? 🙂
Is there a better way to make a upper lower split? Orto make it a harder split?
You have the plane defined by the camera forward vector and whatever distance from camera you want.
You have a line defined by the camera position and mouse projected to world space
Line plane intersection would give you the world position you want
- Set Collision Channel to be blocked on Ground/Landscape/Plain for the Plain actor.
- Shot Line Trace by Channel (the one you set above).
- Get Hit Location.
- On Tick or Set Timer By Event, Set Actor Location to the Location of the Line Trace.
The first line trace either needs to be 24/7 on tick, or you would call it like ''Activate Tracing'' which would start line tracing, and then the actor would be set it's position to that location.
🫡 🫡 didnt know that was possible. thanks
made the default pawn as None
then placed a character with the new rotation
and made it auto-possess
now this way the character in the other level doesnt change rotation
thanks
Hey everyone! I'm programming my 2d AI controlled sprite, and I have him attacking the player pretty well, but I want him to really line up more with her y axis before attacking - anyone else dealt with this? Here's what I have so far, I have a feeling there's some basic stuff I'm missing (I am still very much a newbie!)
Hi questiooon! If I create static mesh actor bp and later on change class to actor bp, my bp is missing billboard, is there anyway how to later add that missing actor billboard?
that art style is awesome
try to move to the location you want to be when attacking rather than towards the target
instead of this
try do it like this
you'll probably want a continuous movement system though, to track a moving target like this
You probably want 2 ways of moving, pathfind until you're close, then continuously move when in combat range, attacking when you're in a good spot
Ty! My husband is doing the characters, and our friend is going the bgs!
Ooooo okay, so I'd need to do a calculation to take the attack target's updated location (in case they keep moving) and then add to it to get the right spot? AI moveto is a pathfind, right? So for a continuous move, would I so a simple moveto and program that on tick/a repeating timer?
How often is there anything to pathfind around? Are there obstacles?
No, there usually won't be
How can I execute something from a component from a anim notify? This... but correctly
Wdym by correctly
Why is that not correct?
Does not work for some reason let me check
Print string in execute attack trace and in the anim notify. See if any didn't get called.
then I'd probably just control the ai more like how a player would
Tick -> where we wanna go? -> go towards there -> is it a good spot to attack? -> yes -> attack
im trying to move a patrol character between 2 waypoints and its telling me this, not sure how to fix it since i have actors in the world
You can't modify that directly in the blueprint. Only once you've placed the actor would you be able to set the value.
The CDO or Class Default Object is a template object.
Your CDO does not know about your world, there therefore cannot reference anything contained within it.
Like authaer says the bp you are editing is the template.
To elaborate more, it is not instantiated yet. Therefore it would not know about any world or the world that contain the way points.
thank u!
Is it possible for AnimBP to read variables from an actor component? I have a component that store gameplay tags for states but the AnimBP fail to get the component
Yes, show your attempt
so after some more attempts, getting the component in tick update works
Yes im testing different steps
Also only look at the result at run time. Your cast may failed if you are looking at anim preview world
Since the owner won't be bp_player
Is object oriented coding possible using Blueprint?
doesn't the cast keep the reference?
I need to collaborate with several people using one BP file
I don't know how you print them.
Print string the pawn owner. And show the output at run time.
Meaning click the play in editor
Bp is binary files, doubt it
Is it possible to split the bp files into components under one main bp file?
You can't edit the same uasset when it comes to collaboration
Check if the as player even valid to begin witj
May be not set for reason already stated above.
So what you probably want to do here is, to drop the blueprint to the level. Then you can add the way points there.
I know about that
my real curious point is
is this modular animation blueprint workflow feasible for multi programmer collaboration?
The actor component bp would point to different uasset
As long the collaborator doesn't touch the same actpr component then they can merge without conflict
Wtf is combat animbp though
My anim bp handled everything
But i guess every project have different requieement
Damage state anim bP?
Where do you get these
Not an approach i would go for
"Damagestate" and "weapon switch" were just rough examples made up by AI.
hey so, its working in runtime and there will only be one BP_Player. Im curious what do you mean by the owner won't be BP_Player in anim preview?
Anyway, thank you for your answer.
If you are watching cast failed in the anim preview world. ( the windows with the mesh in the anim blueprint ). Then that's expected since get owner there wouldn't be bp player
It would probably anim preview mesh object or w.e it is.
Yeah don't rely on A.I that much.
Ask experience programmers instead
Probably cpp can help
I never have experience in collaborating
Solo programmer for life
I see, thank you. So to always use the editor viewport for checking animations right?
The only true test is to just play in editor, then you will have the option to chose which instance of the anim bp in the world you want to observe.
I normally have multiple display to debug. One to play the character, the other with the anim blueprint window to observe and debug.
Do you mind explaining debugging in anim bp?
Will take a screen shoot after work
Should paint a better picture.
Okay, thanks alot
how can i check if 2 weapons collide? i was thinking interface and then check if implements interface but weapon mesh doesnt seem to have this capability
Interface have absolutely nothing to do with checking if the 2 weapon collide.
Just work on that logic to detect the collision
Right now i make a sphere trace and if actor implements interface apply damage
Interface is just a way for different base class to have a common functiin
What sort of games you are making? How is the sword swung?
Using montage? Or a vr game by tracking the stick to swing the sword
Like KH kind of. I wanted so if sword hits sword could make a metal clash sound and recoil animation
What is KH? Monster Hunter?
Kingdom Hearts style
Issue might be in collision setting of weapon. I tried printing name of actor and nothing prints
how do I make spawned projectiles (the static mesh) always face up despite the rotation I throw it
Tysm! This is really helpful
The hardest issue is to fill out the blanks
If your low fps is too low and the windows is too small
As for getting the owner if you are using anim notify. You can just
On begin notify-> get skel mesh -> get owner
Im doing this on attacking enemy. Let me try this. Itll work regardless if static mesh right
What does begin notify returns?
at run time, you chose the instance you want to observe.
If you are in preview instance, your cast would fail.
hey, on this note, everything was working in offline, but as I connected to my server using open <ip-address> command, this doesnt work anymore. can u tell me why
anything after shouldn't even be executed since you hard travel
there's no blueprint solution to your loading screen
if you want to preserve widget across level, you gotta dive to cpp
set the rotation OnBeginPlay?
yes i have this async loading of the map i created from cpp only
hi, can u pls see the next screenshot, pls
It's not enough to just create it in cpp. Still gotta manage it, not sure how Lyra does it, but I had to bind to "post load map" event in the game instance to readd my loading screen widget to the viewport everytime i changed maps.
Any other event like "beginplay, receive draw hud" will be delayed and you might end up seeing a glimpse of the map
I will eventually copy Lyra as I am not happy with my implementation.
however I found out what's keeping the widget alive. I see Lyra make use of shared ref for the widget.
doing that alone already stop the widget from being destroyed on level change.
I actuallynnever noticed the widget being destroyed, only removed
Well, my widget ref lived in the gameinstance maybe that was why, but it's always no longer in the viewport
ahh yeah , removed sorry.
You make any use of the movie player loading screen?
/** A reference to the loading screen widget we are displaying (if any) */
TSharedPtr<SWidget> LoadingScreenWidgetSharedPtr;
/** Loading Screen Widget Object Ref */
UPROPERTY()
UWidget_AGLoadingScreen* LoadingScreenWidget;
if (!IsValid(LoadingScreenWidget))
{
LoadingScreenWidget = Cast<UWidget_AGLoadingScreen>(UUserWidget::CreateWidgetInstance(*LocalGameInstance, LoadingScreenWidgetClass, NAME_None));
}
if (IsValid(LoadingScreenWidget))
{
LoadingScreenWidgetSharedPtr = LoadingScreenWidget->TakeWidget();
This gave me a loading screen that is always alive and I can fade / unfade the loading screen anytime, regardless of level change.
gonna scrap the whole thing and just copy Lyra when I have time though.
I should, right now I am just loading the level that needs to be opened with Async.
So the loading screen still running everything on the game thread but not soo burdened that it freezes.
a shitty work around though, gonna do this proper when my game get somewhere.
Doesn't this still freeze during heavy map loads though?
Ah
I seeee
not sure, with blocking load 100% but with async maybe yes maybe not. I haven;'t got a huge map to test.
butttt I will end up with memory with the size of the current map + next map to load at some point
so I need to scrap this and just look at how Lyra does it.
Yeah i had no choice but to use the movieplayer... the game freezes hard af during map changes. Stupid open world games amirite?
pretty sure most of us probably need the movie player to play a smooth loading screen that doesn't freezes.
Wish I new Lyra had a fully async loading screen before I spent a week learning slate to do it myself 
Small flex. Async loading with the bottom right displaying what's being loaded
Hehe xd
I'm like the only one excited about the bottom right telling what's being loaded in the background 
Never

Hello! I have a question.
I have two widgets (WBP_), MainMenu and ESCMenu. From both of these widgets you can get to the Settings widget, which has a Back button.
How can I make the Settings widget know from which widget I came to it, and the Back button returns us to where we need to go.
I'm sure there is a simple way, I just don't know it...
you can pass a reference to the setting widget. The reference being the object to go back to (MainMenu or ESCMenu)
that did it
ty
Are there anyway to see where this interface node is called?
I found it but manually. "Find References" is not showing up.
Its already used. Here i call it. But i have to find it manually.
How’d you get your unreal to look like that
I couldn't figure out how to pass the reference. 😦
But I found that if I open a new widget (the second one) without using the Remove From Parent node, it will open on top of the first one, and therefore when I close it, it will return me to the first one. Is this solution acceptable, when one widget overlaps another, or is it incorrect?
you might want to look at Blueprint communication video by Matthew
sooner or later you will have to pass references
Agreed, I need to sort this out.
Thanks!
@spiral ridge https://www.youtube.com/watch?v=6IOgkWv1lEY
This should help you
What is Blueprint to Blueprint Communication, or how do I call functions or get variables from other Blueprints, in Unreal Engine 4?
Source Files: https://github.com/MWadstein/wtf-hdi-files
I have two static meshes in Unreal Engine. Mesh 1 has a mass of 1 kg, and Mesh 2 has a mass of 2000 kg. During simulation, when I try to hit Mesh 2 with Mesh 1, it doesn't move — which is expected.
However, during VR Preview, the expected behavior fails: when the 1 kg mesh hits the 2000 kg mesh, it does move.
Why does this happen in VR Preview in Unreal Engine?
Both meshes have Simulate Physics enabled, and their Mobility is set to Movable.
Unsure on that without debugging. It should be the same, both should be hard loads.
@frosty heron Just a note on this. Lyra's loading screen isn't async. It'll still hitch if you block your gamethread. Which is another thing Lyra tries to showcase that people miss when whining about it's overengineeredness. Lyra tries to load everything without blocking gamethread. The loading screen is nothing but a manager that throws a widget on screen at appropriate times.
And do be careful with the MoviePlayer. It is nice initially, but it gets crashy sometimes. We took it out of Red Solstice 2 because of that. Hard to track down slate crashes which weren't actually the widget crashing but some other thread.
got it, thanks man
suppose i call a function in the GI from a widget with a string input of "open <ip-address>", that GI func now does this: create load screen widget>async load loadinglevel (blank level) > onloaded > open level > loadUI - add to viewport > async load of the level package of the server map > onloaded > run console command (use the input of the function) > on load > loadUI - add to viewport > delay 1s > remove from parent. this is what i m doing so after using open level, does that function input stays or it becomes blank?
sry for long message, i tried to explain the best way i cud
Hi either does the event doesnt fire on a single click using the old input system or doesnt actual keep on firing when holding down button can anyone help ?
You should avoid using the old legacy input system. (unless you're using an UE4)
Whats the issue you're having with the enhanced input? It never fires? If that's the case, it's because depending how you've setup the IA/ICM, the 'Triggered' pin will fire most ticks. With you're current setup, this means it will reset the timer ever time meaning it'll never complete.
i want to add foam to the edges of the water(UE5 defalt water plugin). i have problems with it, if some one wants to help me give me dl
the foam i made is all covering the texture
some pics of the blueprints ive been dying on to make
and still there is no result
the example i used was the legacy system it worked however you had to hold down to fire so i attempted to recrete it using the new input system and now it doesnt keep on firing
...
Tried calling IA_Run through IA_Move after IA_Dash via gameplay tags.
I'm unsure what to do next.
When I have a widget or button on keyboard focus I cannot initially select it with the space bar. I have to select another button, than go back to the original button, than I can select it. Any solution to this?
On your EI one, on the input action, add a pressed trigger. This will make the triggered pin only trigger once when it's pressed.
The part after the delay won't run, no. OpenLevel itself isn't blocking, that frame will finish so anything else blocking will finish. But a delay registers to run some frames later and will be cleared from callbacks due to the world changing.
At least I think so. I can't recall where the latent manager lives. Maybe it would still run with the callback on the GI. 🤔
Ive done that but when i hold down the button just like before it doesnt fire after a delay
Wow interesting. Thanks for the warning, I'll keep an eye out 🤧
question is a set's find function faster than an array's find function?
:question: Should I use Blueprints or C++?
Use whatever is comfortable. But seriously: use either one, or both. It depends on the scope of the project and the size of your team. Check out this guide from Moth Doctor to learn more.
Any work arounds that doesn't involve repo to access my project again? I get this whenever I open it
Yes, I believe in blueprints set is a hash table. If that's the case then it should be O(1) whereas find through a normal array would be O(n). Get is different though
gotcha, making sure
is your animblueprint, or an animation corrupted or something, and you have your engine set to open everything automatically from your last startup? I've been stuck in that crash loop before lol
if that's the case you can just delete the files, I imagine there's somewhere in the configs you can turn off that functionality aswell
check the full crash log for the file thats causing the issue and change the file name. The file will most likely be unrecoverable and you'd have to fix up some null refs but it can save you losing a whole project.
Does Unreal have the ability to have context sensitive menu options? for example I have some values that would only be used if a specific flag/condition is set
im trying to make a replicated crouching system, not gonna use the built in ue one since there's no smoothing, and uh, for some reason shits spazzing out, ill show a vid and my blueprint
any idea? im new to replication
Why can't you just do smoothing in the animation blueprint. Why does it matter that the capsule moves instantly?
can't help you with replication here, especially not in bp, but you will need to adjust the position of your mesh to be at the bottom of the capsule as you shrink it or it will clip into the floor
off the top of my head that should just involve moving it up by the same amount as the decrease in half height for the capsule
that is true but doesn't rlly explain the spazzing out at the beginning of the clip, which only happens when the listen server crouches
how would i go about doing that, the crouch animation goes down smoothly, i just want the player to be able to see it smoothly go down in their pov, rather than just snapping down
found a simple solution for it, just added camera lag to spring arm 👍
can anybody help me with a problem im having
my enemy moves to my spawn location and doesnt chase me anymore
You sure it goes to your spawn location or it's actually 0.0.0 location where you spawn and it goes there but it cannot reach you because it's blocked?
Then it doesn't move to you because it just repeats going to 0.0.0.
Print movement result or see on debug/breakpoint. Also print location of the enemy on tick.
if you have access to c++ project compiling try to delete binaries,intermediate folder, generate files then rebuild from rider/vs and try to launch
Can you store Actor Components as variables? Is it a terrible idea for a weapon system to just add an actor component when a weapon is equipped?