#blueprint
1 messages Β· Page 141 of 1
Kinda. I'm just looking for it to go from one expression to the next every .2 seconds to make it look like she's talking. I've got the same thing going with her eyes to make it look like she's blinking.
3 frames- open, half open, shut
you destroyed all trains that overlapped in the foreach right ?
not just one
for one thing, put the branch outside of the foreach
ok
oh it was already there this was old image
and it's printing hello ?
I have a bunch of lights (each from the same BP) and I want to turn them on and off randomly one after the other. I'm here so far but it's not working, what am I doing wrong?
yes just three as shown in the video
Did you apply the new dynamic material instance?
why when i press play why doesn`t it redirect me directly here?
probably because you have a breakpoint set on it
thats what that red dot means i think
The material instance is on a mesh attached to the light in it's BP. Is that wahat you meant?
so is there any execution going to that node ?
it's probably not running
you created a new dynamic material instance, but you never applied it to your mesh
Is there a way to call the material already applied without applying a new one?
yep there is an execution
so if you print string right before the breakpoint does it show up ?
does the rest of the code look correct?
ah I added out of the blue the print string
how often will you be running this ?
weird
every time it's called by osc.
"Get Material" from the mesh component, however, if you modify this instance, all meshes using that particular material instance will also have those modifications. If you created a dynamic instance, then promote that to a variable so you have a reference to it that you can modify later.
you keep creating dynamic instances over and over if you keep running it, you probably want to create and apply first, then just set the setting when you want to change it
ok that makes sense. Is my shuffle node correctly placed to pull one random item from an array, running the rest of the code then doing it again with another one?
How do I apply the dynamic instance created?
Set Material on the mesh feeding in a reference to the dynamic material you created. You also need to be sure to use the right material index.
i found what is my main proplem chat gpt says this but i dont know how to fix it ( Condition in the Branch: There's a condition that must be met before the "Destroy Actor" node is executed. If this condition is not met for all trains, then not all will be destroyed. Ensure that this condition is appropriate and being set as expected for all trains.)
its just saying that overlapping actors check needs to be true, if it's the same code you showed earlier
So the end of the code should look like this?
Something like this. Time to sine is -1 to 1 over and over. So remap that to 0 to as many states as you have minus one and you have. Say you have 3 states. So this rounds the number to 0, 1, or 2. The debug node is there to display the output value. But you can plug your states into the switch. And you'll have your states update through the material. Make another if or switch after all of this to toggle the talking state on or off and set that parameter from BP.
Something like this yes.
So far when it receives the OSC message, all light turn on an off once (with the timeline). It doesnt pick one out of the bunch and loop to another one
Use a select node rather than a switch.
Something like this. Time to sine is -1
Any help please ? π #multiplayer message
brother i have my plants that i eat im my character oh my god thats so terrible
it works but its so trashy
Why are you recreating CinematicMode?
Cinematic mode ? I'm not sure to understand what you mean here π€
On the host, just call SetCinematicMode. It'll set it locally and do a client RPC to set it on the client.
It's a function meant to stop movement or control rotation if cinematic mode is on and those states are set to true.
Oh thanks I will try that π
This said. I don't remember if the function you're bound to works for RPCs that early. So if that doesn't work, also try like PostLogin.
Likely something to do with gimbal lock.
Works like a charm in PostLogin π But I have another issue (not cause by Set Cinematic Mode) which the client joining the host doesn't spawn for some reason π€
Repeatedly using Random Array Item from Stream
Plug in your enumerator to the index first, then you connect what integer you want to use for each enumerator
question about the printsting, is it possible to change colors of the text (developper only) within a single line? ie. "key: <white> value: <red>"
@dawn gazelle any ideas on the random selection?
you can use a random int and plug that in as the enum 0-whatever
should convert it
After the second for each loop?
Isn't the transform rotation a FQuat how it gets gim lock?
UPROPERTY(EditAnywhere, BlueprintReadOnly)
FTransform AttachTransform;
loeem look rq
i think you could get away with not using a timeline and write that in a function
perdonal preference really, but i avoid timelines whenever i can and use finterp whenever possible
thats to update a fixture yeah? sorry i havent been following
Basically think of it like a stage with a bunch of moving heads and I want each one to turn on and off randomly while being called by OSC
IRL doesnβt count π
not IRL π
sent you a friend request
Hehe jk jk.
That looks awesome
well, thats an old prototype, but ya... UE's been great for programming and prevising before an irl setup
@wide spruce I appreciate you acting as my rubber duck, thanks π
np xD
now its a little better)
In this blueprint I can print the float value without problem. However I want to print something like "Health:" + the float value. Could be done easily programatically, but what about blueprints?
I want to make an inventory tetris system sorta like the one in the pic. I have built and inventory system before so I sorta know how to go about doing this but I am not sure how to detect the slots around it. Does any one know a good tut paid or unpaid that they can link me to?
format text
thanks π
Yeah from what I'm reading rotations within transforms are stored as Quaternions, but Quaternions also aren't really represented in the editor/blueprints. My best guess would be that the editor represents and modifies those fields as a rotator which is missing the 4th dimension required to have a quaternion.
S.O.S.
So, I have been adding meshes to data layers and loading or unloading them in blueprints. I want to be able to unload and load the landscape that I have as well through blueprints. I have spent many hours looking for how to do this online and am coming up with nothing for UE 5.3. Adding the landscape or the proxies under it to data layers is greyed out. Adding sublevels says it is not possible with world partition enabled. What am I doing wrong? How do I load or unload the landscape at runtime during gameplay through blueprints??
this looks like it is create brand new generative terrain on the fly as the player is moving through the world (I think?). I already made the terrain and I just want to be able to show it at some points in the level and then when the player goes through a trigger box it disappears....then reappears again though another trigger box.
I feel like what I am trying to do is actually really simple and I am just missing an obvious step somewhere
Hey all, not sure if this is a support channel but.. I am running into an assertionError (something is a nullptr) on a blueprint struct only when not running in the editor. Some fields in this struct I've considered optional, hence I leave them with default value None. Is this the reason that would cause an issue such as:
Assertion failed: this->PropertyClass [File:D:\UEVersions\UnrealEngine-5.3.2-release\Engine\Source\Runtime\CoreUObject\Public\UObject\UnrealType.h] [Line: 2821]
I haven't managed to get the field name but maybe I will have to edit the C++ file to log it if I can't find the reason for this soon π€ .
Essentially, I don't need to solve my particular error. I really just need help to understand if I'm barking up to right tree and what are the big Dont's with blueprint structs (especially when not running in the editor). Tell me if I should remove/move this post if it's in the wrong place. Any help appreciated!
can someone tell me what im doing wrong here? The video is showing, but not playing.
is it working in editor but not in the packaged build?
im using the standalone option to test
does it work when viewport is played?
in any case, I know that you have to add the mp4 file to the project settings to include the file outside of the content folders when you go to package it. Not sure what else it could be though. I'm not an expert on the movie stuff for sure.
im using widget to show it when the level starts. not sure what you mean with viewport?
the movie is added in the "Movies" folder aswell
i used landscape proxy as the class, but it doesn't seem to effect collision so idk if thats what you want
Hey all, not sure if this is a support
what did you mean with the viewport?
I will look at this thing
i feel like you keep playing it over and over so it will not actually play ?
just instead of stand alone view. If you have it setup in the movie folder then it doesnt matter either way
nono, im just checking if it started playing, if not, then go play it.
ahh okay fair enough
it doesn't get stuck in a loop ?
nope, it tried to print out the bool aswell, and it keeps looping false, until it says true in the end, but still dont start
OK, this DOES unload my landscape. π
Now I have 2 1 follow-up questions:
1. How do I also unload all of the landscape's foliage? -- which I was today years old when I realized was not part of the landscape proper (Figured this out)
2. How can I disable the landscape's collision as well as hiding it? The normal set collision enabled node doesn't work with the array returns
I've been following https://dev.epicgames.com/community/learning/tutorials/e2V/your-first-game-in-unreal-engine-5
this tutorial
But something is off with the pawn rotation. I've set
ORient Rotation to Movement
to true but the rotation is limited and jittery.
as you can see my cursor is behind the player character meaning it should be rotating backward but it's tilting slightly to the left and it feels like somethings trying to fight it.
I am curious, did this kind of blueprint is good? I mean, is not better to make it directly into the scene?
Do you plan on adding any sort of logic, behavior, or interaction? The benefit of using a blueprint is that you can easily add dynamic elements into the scene while also reusing it elsewhere on the same level or other levels.
If you just have a bunch of static meshes arranged in a certain way then theres no need to make a blueprint for it. You can just place them in the level directly. You can also select them all and merge into a single mesh or group them too.
I do the logic in C++
If you just want to make a door that characters can interact with then make just the door a blueprint and add the scripting in there.
While the rest of the house can be level placed static meshes.
Ok cool, thank you π
Can you provide guidance on how to join a lobby with a room code?
I think its like when you host a session using a #online-subsystems or #epic-online-services an ID is generated for you and you can display that session ID (or trim it down to a smaller length) with a widget. Then when another player is attempting to join a session they can provide the string and you see if it matches and let them join that particular session.
Hey, I'm following a tutorial that has a pretty simple set up for "boosting" while flying a spaceship and holding shift (as set up in the Input Action). Although I'm new to BP/coding, I know that booleans are just true/false statements. So is there a way that I can basically add to this and adjust values to make my spaceship, when boosted, go even faster?
well you got a boolean there, are you using it somewhere ?
sorry, genuine question: using it in what sense?
well if you set it true, what exactly is that supposed to do if it's true and when ?
is that what your asking, how to put those variables to use ?
basically where your flying the ship or boosting it forward, if the boolean is true boost faster
using a branch
i would also use start instead of triggered but it shouldn't really matter
theres just no point in resetting it over and over
hmm. So atm its "boosting" by this variable, where if shift is triggered (i'll change it to started) it moves extra i believe? My main goal is to have a sort of value system where I can just increase the "speed" of this superspeedShift based on my liking
is it boosting if the variable is true ?
you may want another variable for custom stuff like boost amount as a float or something
oh wait, so the interesting thing is is that it was boosting when it was set to triggered but not "started"
a float, gotcha
so then you say if the booleans true i'm in boost mode
then adjust by whatever that variables amount is
or some type of formula
that is interesting
are you setting the variable anywhere else ?
idk why that wouldn't work, theres no harm in have it on triggered i just figured why keep setting it
maybe your resetting it on tick or something
ok I got the landscape and foliage hiding and reappearing properly through blueprint. Now, I just need to figure out how to disable and reenable the landscapes collision through blueprints. The node I wanted to use isnt working with my landscape ref so its throwing me for a loop
This was my hope but this ref doesnt work for the target
also does not work
Hello, I am working on making a prophunt game and wondering if anyone here knows how to make the prop characters have a physics like movement?
Detatch the mesh from the character, stop character movement, change the mesh to the prop you want and simulate physics.
doesn't work.
Gonna need a bit more to go on than that. What doesn't work? What does it do as opposed to the intended thing?
What I am doing is hiding the landscape entirely. But when you set an actor to hidden, the collision remains. I want to be able to toggle the collision on and off in blueprint like I can with the landscape's visibility
took a minute to upload the video you can see in that lol
I can toggle the collision off of other actors easily but the landscape -- I cant figure out what nodes to use
This is how I handle the other actors in the scene
or I use data layers and toggle them off. But I cant add the landscape to a data layer for some reason. So, I am having to do this another way
It's still not clear what the issue is. It looks like it swapped fine and is simulating physics, as the one wall falls over.
Supposed to control the prop not float around.
I'll show you a vid what I'm looking for
Ah. Sounds like you need maybe a possession call? And for control you'd want to add force each tick based on user input
Yeah, looks mostly like needing to set the view target or possess it and add force. Either directional or angular.
using a character and all it does by trace is change the static mesh
is that something I can do with this?
Hi if you use "Add Static Mesh Component" is it automatically added as a child mesh to the blueprint SceneRoot?
It is if you do not enable manual attachment I believe.
ah ok thanks
Hey,i have a football gate and a ball, i have event dispatch onGoal called in my ball.In gate i assign it and everything looks fine,it works.i will make also one actor spawn when Goal will be.I know how inheritance works.But i cant understand how there can be several types of costumization,with different implementation,like,of player overlaps with a sphere of a certain colour,he becomes that colour,but if he overlaps a hat lets say,i want the hat to attach to his head.So how do i do that
Sry for my English
probably interface @random pulsar
with an interface you can just create a function, implement the interface on the actor, then you can override the function so it will do different things depending on which actor you use it on. you just override the function for each one. Then when you overlap, get other actor and call the function
if it's one thing the function does that, if it's another thing the function does something else
Ok sounds good.But do i make one actor ,and inherit others from that one?Or i make 2 different types colour and asset?
i mean you could have a variable for color on the actor
and when you run the function get the color
set it to expose on spawn, instance editable
when you spawn the thing or place it in the world, you can just set the variable
and when he pick it up, run the function
just cast other actor to player, and set the stuff you need
or you could do it the other way and do overlap of player, cast to hat and stuff but that can get messy a bunch of casts
as far as a parent i usually like to group things if necessary, so a parent for items, then a child something like pickups that is a parent of those
you don't need to go to deep it can also get messy but it helps sometimes you can stick variables on the parent, and you can cast to the parent which is less expensive
I want to make an inventory tetris system sorta like the one in the pic. I have built and inventory system before so I sorta know how to go about doing this but I am not sure how to detect the slots around it. Does any one know a good tut paid or unpaid that they can link me to?
i would guess you would need some sort of storage of the shape
or if you can do what the thing overlaps with an alpha that would be nice
i just thought maybe there was some maths to figure out what shape can go where
just use a 2 dimensional array of a custom class that you created
the class represents 1 slot
when building a actor component, You lose the Timeline function.
What would be the correct way if I want a Regen function only to run for 30 sec inside an actor component?
i'm pretty sure there is only 1d arrays
"You can use an array of structs containing another array of another variable."
not exactly a 2d array
I don't see how that would work. I have watched a few vids on diablo style inventory's but they all end up only able to handle 4 side shapes nothing more. I want to be able to make T's L's and even donut shapes but I have not been able to figure it out at all...
what am I missing here?
I thought you could only have one GI
ah stupid
never set the default GI class π
nvm me, nothing to see here π
lol I have done that when doing my save game system lol
Not sure about a tutorial. But the idea is fairly simple assuming your inventory items are an object. Your inventory is a grid. The struct IntPoint is two integers that indicate a grid space. So your inventory has a map of Fintpoint to Item. When trying to place an item you simply check if any of the intended grid spaces are within the map.
I don't understand at all lol. object? IntPoint? indicate a grid space? Fintpoint to Item?
What are you using to store your items?
This will be a whole new inventory system for the enchantments inside my weapons and armor so It can be w/e it needs to be. My current inventory though is map base with structs
Ah. Can work, but makes it a bit harder. IMO I've never been a fan of struct based inventories. The handling is more complicated.
The idea is kind of the same though. You put an array of FIntPoint on the item struct. When you place it in the inventory you populate it with all of the grid spaces it takes up.
The thought is to keep the player wanting and using new items is that every time will level up and you can pull and add enchantments from or on them in the shape of tetruis style items
I was thinking about that but I have no clue how to do it. I have been trying to wrap my brain around the prosses but it is just out of my mental reach.
And it seems like it be hard to make the Icon work as well.
Not really. You just place it in the grid space at the most MinX, MinY grid location.
On the widget I mean.
and use alph on it where it over laps with othere grid panles .. Iguess
Or just use masked images that don't take up other grids.
I don't wana say I am dumb but to pull this off I can tell I need a tut or atleast and example I can pick through..
Start with the basics though. This is an IntPoint. It's a 2D grid representation.
Okay I have seen that node used in diablo style inventory's but they all end up only able to handle 4 side shapes
this is a custom struct that you made, right
IntPoint --> Location
Right. But think about a grid.
1,1 1,2 1,3
2,1 2,2 2,3
3,1 3,2 3,3
This is a 3x3 grid.
Each intpoint is a location on the grid.
So lets say you have a cross looking item
okay so I have a struc that records all the points it takes on a grid.
so 1,2 2,1 2,2 2,3 and 3,2
Exactly.
ok I can see how that works but no clue how I would add the aplication to the inventory yet.
Are there any 3rd party editor Utility widgets or Asset Action Utlities that are useful for artists in environment creation?
hundreds of them but finding one that workss for you project can take alot of research
one of my fav is the dynamic placing plug in.
but with PG now you can make hole maps in minutes you just have to learn it
Now you have an item that takes up a 2x2 and you try to put it in 1,1.
And you have a list of inventory items with a list of their grid spaces.
So you want to know if you can put the item in 1x1. So you need to check if any other item takes up 1,1 or 1,2 or 2,1 or 2,2
So for each grid that the item takes up you check every other item to see if they exist on that item.
Or you can cache a list of open spaces too. Either way works.
So is grid 1,1 empty so one and so forth.
Okay now I understand the concept but I am still at a loss of exactly how I would do it.
Start writing one function to do a thing, find another thing you need a function for and write another one. π
loop through for the slots indexes but my index's now can't be a single int they need to be a dual int right?
ATM I'm learning how to do minimum spanning trees. And they're really hard to genericize. So that's about all I'm doing, writing more and more functions using them.
whats minimum spanning trees?
Depends. Intpoint makes easier sense in my head, but you can use single ints and math out the columns and rows.
naw that be a pain because the slot and rows will change according to the size and quality of the weapon/armor.
The idea to connect a set of points with the least amount of connections. EG turning the left set of connected points into the right.
why you need that
Multiple reasons. There are a lot of uses for pruning off the excess paths to a point. ATM it's for world generation.
ah
Is there a vid on a spline based building system? i want to be able to make the player be able to place this actor on a spline so they can make custom walls and stuff
There's a few dozen hundred of them at least. At least of placing meshes or actors along a spline.
Thanks. Is this in the Marketplace?
Yeah but not vids where the player can place at runtime
is this cpp and h part of some plugin? it has some functions id like to use but i cant seem to access them when working with blueprints
well you'll have to look at the functions and see if they're exposed
Do bear in mind, they appear to be editor only, so won't be available in the context of a regular actor or anything
It's the same thing. Make a spline from the placed points the player picks. Place objects along spline using the same functions.
is there anything special with LevelStreaming + NavMesh data? This node is returning false - but at the time the world is streamed in & loaded, navmesh i'll assume is available/valid... its part of this level. But this is always returning false on the ReturnValue
Is a HUD a normal widget that just manage kinda like other widget?
I added a Static Mesh Array Variable but I can't add any Static Meshes to it.
there is this red incompatible highlight if I try to drag and drop
If i wanted my attack to go through the player what nodes would I need to use?
The error should tell you what the array is expecting and what you're trying to add to it. My guess is you may be trying to add a "static mesh component" to it.
Not fully understanding the question. Are you meaning like a dash through the target?
yea, that's what he wants
that's another thing. I tried to have a Static Mesh Component before. But can you even have them in the content browser?
Exactly
SetCollisionEnabled to false. Play a timeline that lerps the position via sweeps. Track an array of hit targets over this timeline's course so that you don't apply damage twice, on finished SetCollisionEnabled to true.
Do you mind showing me how the bp would look like?
No. If you're trying to reference "Static Mesh" you can't plug in a "Static Mesh Component" into it. If you're wanting the "Static Mesh" that a "Static Mesh Component" is using, you need to get the Static Mesh from the component before adding it to a "Static Mesh" array, otherwise, you'd need to change the array to "Static Mesh Component" if you want to contain references to the components that contain the meshes.
I would recommend finding a video if you need that granular of help. There are plenty of things like Genji Dash ability remakes.
Okay thanks for the help!
no component anywhere. That's a SM Array and I try to drag drop SM from my content drawer
I know it says Component at current, but that's from experimenting. The dropdown is clearly a simple SM
Static Mesh Components aren't an asset, they are spawned at runtime, so you can't really select one in the editor.
either I'm stupid or mine is broken
I just created a new test BP and it works there. But not in the BP_FirstPersonCharacter
Engine V 5.2.1
I've got a bit of a headscratching bug that I would greatly appreciate any help on. I'm trying to make an interaction system by shooting out a line trace on a pausable tick to find interactable objects. The line trace activates a few functions, but the most pressing one is enabling a render custom depth that adds a highlight material around the object you're hovering over (if it's interactable). It looks like the trace sometimes hits two objects at once, and due to the way the code works, it leaves a "ghosted" object highlighted that I'm unable to reset until I move my crosshair off of, then back onto the object. I can't think of any way to ensure it only hits one object, or come up with a failsafe to reset the custom depth parameter. If anyone has any ideas please let me know!
Maybe I could set the "look at component" into an array so that the reference is still accessible?
IMO, your branch checking LookAtComponent != HitComponent. Before you do anything else you should call your upper function, and then set the new LookAtComponent.
If I add collision to AddSplineMeshComponent, it works in editor and in standalone but not in package shipping build. Any idea how to fix this issue?
Do I have to connect the circled setter to the execution line for the setter to use the Face variable?:
Or can I just leave it as is?
If you want it to execute yeah
I have the face variable being used by several nodes' targets through that set node as you can see. So if I don't connect that set node into the execution line will it just return null?
Yes. In that setup not sure why you doing that unless you using that new local var elsewhere
So the face is a skeletal mesh component and it turns out that when I replace it with a new updated face skeletal mesh which I've edited it breaks the Face variable causing every Face node to dissappear.
That means I have to manually hook up a new Face variable to every target slot each time I make changes to the Face skeletal mesh which is very tedious.
By hooking hooking the face variable to a setter I only have to replace one Face variable instead of multiple
hey, i have a simple ai that just runs to the player, yet i'd like it to be able to climb to the player when they are out of reach/on a higher platform, any way to do this?
Thanks
If memory serves, you use NavLinks for this usually I believe. You could probably make the AI do it without links if you wanted to program into their tree as a detection and jump or climb, but links will probably be more secure.
i don't think i can use nav links as i would have to place them all around the map, is that right?
I have two nodes that activate when I click load or save in a widget blueprint and I want them to activate code which is in BP_FirstPersonCharacter. Can someone please explain in simple terms how I can make that happen?
From within the widget, you should be able to get a reference to the Owning Player Pawn. You would cast that reference to BP_FirstPersonCharacter. You can then call the function/event that is present in your BP_FirstPersonCharacter.
Or make a script place them.
hmm, is there any tutorials for that?
That worked thank you so much!
hello, on a .001 timer i have a directional light being told to rotate, but it is getting stuck at 90, 180, and 180.
I am rotating on the Y
if u have to use .001 timer, might as well use tick
dont care about that
not what I am asking about right now
quiet combative, well gl on your issue I guess
if youre using event tick, might as well use a timer :p
make sure it's set to mvoeable
it is set to movable
not if u are doing .001
actually more expensive
but u don't care so nvm
well its .001 just for testing
dont need it to go that fast
Ive just had the debate here about timers vs tick before and neither side wins. Comes down to specific cases and preference.
This early and with how simple the project is atm this does not need to be discussed lol
is not important to anyone helping solve the rotation issue
So anyone ever solve rotations getting locked? or capped at a certain point? how to solve that?
Ive highlighted the different rotations ive tried to use
What is P Y and R?
Pitch, yaw and roll
ok so P is received from the Y. Makes sense.
and P/Y updates fine. Starts at -45 (afternoon) and goes to sunset (0) then continues to midnight and gets stuck there (90).
The Y(Z) and R(X) stay at 0 until P hits that 90 mark, at which time the Y and R suddenly go from 0 to 180 and I can no longer add local or global rotation to P.
welcome to gimbal lock
Attempting. seems like itll work.. because now Im getting possibly hundreds of day night cycles per sec lol
how to make an actor that saves through levels,link the actor with game instance?
actor that saves through level?
survives level travel
yeah
persists
only in seamless travel isn't it?
Just go with regular save/load
thx
jeez. Seems like adding the rotating movement component was the only way to make this work
I wonder if gimbal lock here (even with the CombineRotator) is tied to handling rotation within the actor itself.
Most videos online for day night cycle reference the directional light from the level blueprint and tell the light to rotate from the levels bp event graph.
I made the directional light into a blueprint and told it to rotate within its own event graph because that seemed more reasonable.
adding the RotatingMovement component into directional light seems to be the only way to get around gimbal lock
Hello,
I'm kind of new to UE but have been playing with it for the last few months and my project is very (very!) slowly evolving into something.
As i learn new things i clean up and re-organize stuff to better keep track of where things are and hopefully follow some best practices and naming conventions.
If i understand it correctly i should have 1 main blueprint with all the player controls and then have child blueprints with specific looks, features and functionality for the player and then tie the controls together with interfaces.
At first i had everything in one blueprint with a fully working vehicle. Full of variables and controls for turning on lights and whatnot.
I now have a child blueprint with the light components and can turn them on/off through an interface (a yey! moment for me).
Now my vehicle can also shoot (which i also have working) but all the variables are still in the main blueprint. Should i move all those to the child blueprint and give them specific defaults (through the construction script perhaps?) or leave them in the main blueprint and then override them with vehicle specific values on the child blueprint? Or is there some other or better way to handle such specifics ?
Hello. Is there something like an enum but with endless entries?
Like a very simple list of words that are tied to and index that I can turn into an array variable?
I'm trying to find a clean solution for procedural islands generation. I sorted all of my generation layers into datatables. But I don't want to use row handles, because they are very tedious to work with and require you to expand several layers which makes it extremely hard to get a nice overview of all the layers that form a specific island type.
Therefor my idea is to use a formated list like an enum that I tie to the proper layers through code. So that any designer can easily design islands by adding layers and selecting a layer type from a dropdown.
Instead of having to collapse and expand multiple layers of an array, which is not only tedious but for artist this is just bugs waiting to happen.
I want my artists to be able to easily design islands
Leave whatever vars you want to share across children in the parent and override their defaults in the children if needed. Let inheritance do the work for you
Should i do the override in the he construction script in the children or in the event graph ?
I haven't fully wrapped my head around the difference yet. As i understand it the construction script is only called once when the actor spawns, correct ?
No
That is begin play
Construction script can keep firing if youβre changing something thatβs placed inside the level. It runs at editor time not just during runtime
Does anyone know how I can make this work in standalone?
Which part
So I am trying to add the static meshes from that path to my model, it works in new editor window, but not standalone
Have you tried DataAssets? I feel like those would be useful here
havent looked into them
The problem is hard to explain
but the problem is
When I click enter and then exit on boat when it is stationary then the enter button disappears
Boat BP
First Person BP
Was there a question in here
The User Interfaces
Hello guyse
I am shooting an enemy but the death animation doesn't play. When I stop shooting or projectile doesn't collide it's working
Hi guys, does anyone know if there's a way to get the user keyboard language in unreal, working for both MacOS and Windows ?
I have been away from unreal to long.
I have a problem between the new enhanced inputs system, and focusable elements like buttons.
and just disabling focusable from buttons makes the engine spit out warning messages.
Altho I can hide the blue focus outline in project settings by setting the Focus / Render Focus Rule setting to Never.
Anyway what happens is enhanced inputs are completly ignored if using specific keys while focused on some elements.
For example.
- Make a vertical box, put some buttons in, and focus any of them.
- Also make some advanced inputs and have them print string.
- Example specific keys are arrow keys, and enter key.
- if the button is not in focus, it prints. But if the button is in focus, the string won't print.
- If the button is in focus but you use inputs other then arrows or enter, like wasd, it prints.
Furthermore, there is no "get focus" event, and that kills workarounds.
made worse, it seems left click is one of these problematic actions!
Even without a click event, clicking a button doesn't cause print string to happen if left mouse is an enhanced input.
How can i make enhanced inputs, ...actually work? ?????
Uh, what is going on here? https://i.gyazo.com/f34c04436ede12c18ee9c67e0bc772f3.mp4
Why does the return from the random array item from stream return none, when the array clearly has something at index 0?
Bug?
Is it actually returning none? Have you trying printing the value? Sometimes live viewing the values doesn't work if it's out of scope.
Oh ok yup, that was it, weird
Oh geesh I found out why. I had another connection going into the node I placed a breakpoint on, a connection that did not run the get datatable row!
My bad
Hi I have these Scene components called game hands That Im sending to the AnimBP so the control rig can use them for Hand IK targets, Doing this directly works fine But as I wanted to replicate this for multplayer I set some transfroms and just sent them instead But Im getting hand position laggg. Bear in mind these gamehand components are attatched to a collision box thats attached to my motioncontrollers via a constraint, collision box is post physics Tl, and hands are pre physics, constraint is during. anyone have any insight.
End result would be to have the gamehands not lag from the transfrom
It sounds like the default UI navigation keys are consuming the inputs.
I simply never trust the debugger π so always printing if i need to check a value π
Yeah I try to do both. Sometimes the live debugger can be really handy though
well yes, but how do i disable them then
I also want to add functionality when the line trace is on a static mesh plane how can I that?
hey anyone have a good tutorial on how to posses a vehicle or something ? (Like its a 3rd person game but u enters a car and able to drive etc)
I believe they're hard coded so not possible unless you jump into C++.
Is there any problem using string to equate?
It's slow and not guaranteed. Lots of things can modify a display name
You can use class checks or actor tags. Hell even comparing with names is much better.
I know there is a "Was Recently Rendered" node, but is there a simple to use this on a invisible actor?
a FPS friendly way to check if a actor is in visible space.
i'm working on a spline power pole system and I have a problem with mesh rotation. Can't get it to rotate properly (90' more)
i think i refuse to believe that its impossible to use arrow keys to navigate a menu when creating a blueprint project
that sounds so outlandish
i am sure, without any evidence at all, that there is some way to navigate menus better
surely
surly, there is some way to allow inputs to do things
neither you nor i might not know what it is, but surly it exists. It would so ridiculous for such a major engine to have no way of doing this.
The UI navigation system uses the arrow keys and enter. Of which uses these keys to jump from one focusable widget to another using the navigation rules you set. So yes, you can use them to navigate but you'd have to use the build in system, if you want to handle it differently, you'd need to jump into C++ as not everything is configurable or exposed to BP.
If anyone is proficient with blueprint logic for sequencer, feel free to join the thread here:
https://discord.com/channels/187217643009212416/1228751159892774952
i guess i just keep repeating myself.
I think, somehow, the arrow keys can be used as an advanced input, despite something being in focus.
I might not know how, or why, but surely it's possible.
hey, im having an issue where the preview mesh which is set in a datatable is a different scale than the actual mesh in the blueprint actor in my build system if I change the scale in the blueprint version of the mesh. One fix for this would be to change the scale etc. in blender of the preview mesh so i dont have to scale it in the blueprint anymore but this would be quite a task when i get more buildings in. is there a way to like get the static mesh component from the class reference?
any other solution would do as well
as long as i dont have to drag each separate mesh into blender
Next to the scale the pivot points of some meshes are quite far off
In general, I think the only alternatives would be a list of FNames that you could put a GetOptions on for the dropdown style, or GameplayTags
hi do you have other logic other than get overlapping actors and on begin overlap the trains after 4 days of hard trying using these two logics they still dont wanna be destroyed
i mean some do destroy using get overlapping actors but some dont
Sorry might seem like a silly question but this rotation here is euler right?
[RESOLVED]! (There is an engine bug though).
Solution to add landscape to a data layer in world partition: Select the landscape proxies under the landscape asset. Then open data layers tab. INSTEAD of right-clicking on the layer, select the layer and click the plus sign box next to the search bar above the data layers. It should add the landscape proxies to the data layer just fine. It has to be the proxies or you will get log errors.
navigation direction and actions on a button consumes the input if the focus are on them, this is intentional. you could make your buttons non-focusable so they dont eat any inputs, but still clickable with cursor.
if you wish to disable/change the default UI Nav Config, you can set them though FSlateApplication::SetNavigationConfig() and FSlateApplication::GetNavigationConfig()
look at \Engine\Source\Runtime\Slate\Public\Framework\Application\NavigationConfig.h
@remote meteor I see, so it's because a default input happens, then consumes the input. So that later when the blueprint is checked, the advanced input never recieved the action to begin with.
I had already considered unfocusable buttons, but unreal engine spits out errors when i do that (...so why is it an option >_>;)
i will later look into those optios you provided, thanks!
its probably not an error, and also its also probably because you are setting focus on a non-focusable button, hence the warning.
depending on what you need to do with the ui, im sure there are ways other than disabling nav config (e.g. does the widget focus need to be there in the first place?)
my checkbox is checked at the last time then after i enter the game again the states are saved for checkbox my audiobar is okay but checkbox has a problem : i am changing the culture of game, culture can not saved anytime how can i save the culture which is depedning on checkbox
huh ?
are you just trying to get the checked box if it's checked or not ?
if you can save booleans save the value as a boolean, or use an integer 0 and 1
yes i was getting checking checbox, but i think that i need to create another variable to control culture with an boolean
are you have a problem saving or loading ?
what is "culture" ?
i just save in an ini like file and parse it
but you should be able to get if it's checked, save the boolean somehow
load it up, and then set the boolean to the saved value, and then use the boolean wherever
O.o Culture isn't saved as a boolean. It's a string.
Not even sure if you need to save it either. If I recall it was a config setting.
Hello all, I was wondering if anyone has heard of this as an issue, I am using 5.1.1, Visual Studio 2022, I create a new project in unreal (c++), I add in a ufunction to expose the function to the blueprint, I then create the blueprint derived from that specific class. I do this in 5.3 and it works, I do it in 5.1.1 and it does not. I set them both up identically. The list of blueprint actions populates in 5.3 , but does not appear to update in 5.1.1
is it a bad idea to put player input into the pawn class instead of the controller?
i think no if you have a custom controller named player input
I'm having a strange issue that causes instances added to a hierarchical instanced static mesh component to disappear at certain view angles / distances. I'm guessin this is a bounds issue. But i've tried increasing the bounds of the hism component to insane scales and it still happens. π¦
The instances that disappear are tree meshes and they fade out with dithering just like they would be when part of a foliage instance component
Not sure, if that is useful information though
Most often you'll find this to be a good rule of thumb:
Pawn: Any inputs that are directly related to control that specific pawn or its children while they are possessed. (usually good for things like movement or interactions of that pawn with the world)
PlayerController: Any inputs that are agnostic to the Pawn that is currently possessed (usually good for things like opening menus or windows).
Hi, I am trying to add a function of transfering inventory items from an array to a hotbar inventory which is also an array and vice-versa. I was able to make transfers from inventory to inventory and hotbar to hotbar but I am unable to come up with a way to do the first case. I'd be most grateful for any advice π
That would be quite a lot of code to paste here so If anyone would have some time and patience to meet up on voice chat.
can i not get an actual reference to a struct from a map instead of a copy
look what it made me do, i needed to output the edited 'copy'
Thanks that is very useful
Nope. Find in blueprint only returns as a copy and there's nothing else exposed that lets you access the value as a ref.

hey
what would be the best way to do a list ?
e.g im looting from 10 diffrent weapons
how would i best make a list of those 10 weapons with their stats etc ?
is it possible to save and load an RVT?
So I'm creating an inventory for my game. I know I want my Items to be Data Assets. Just trying to figure out how I can separate Inventory Slots and Equipment Slots. I want to pickup Items and all Items go into Inventory slots. Then moving Equipment Items to their specific slots depending on what kind Equipment type it is. Within my Inventory Component, do I have 2 separate slot arrays? or do I make 2 different components all together? One for Inventory and one for Equipment? What are the benefits of each way? Anyone have any insight? How are you guys designing your inventories?
maybe an array of struct
Starting to create my own Function Library but 99% sure I'll just be repeating what many others have already done, probably much better!
A search in the Marketplace yields 100s of options, but how does anyone possibly figure out which ones are the best value?
i like making my own stuff personally if i can
but if your on a time constraint you may want to use others
Unsure of your specific issue but a hotbar should be made in one of two ways. Either the hotbar simply uses items from an existing inventory. Alternatively your hotbar is simply a second inventory.
The first of those means that the hotbar only stores info about which item to try to use and on activation tries to use it but it still exists in like the player's main inventory. Thus there is no transfer logic and the "transfer" is simply the hotbar writing a value to what it should be trying to activate
The second means that the player would have two actual inventories. One for the main inventory, and one that is specifically 10 slots big. At this point your transfer logic is now the same as any inventory slot to another inventory slot.
if I want to spawn objects and AI in a map in a gamemode, where would be a good place to do it? At beginplay?
Depends on the requirements. That is an exceptionally open ended question that correlates closely to the design requirements of the game.
I am creating an RTS type setup where the player pawn is actually a camera that is invisible and it is used to command another pawn with mouseclicks. Now I worry about where to spawn that character so the UI code only starts after the character is already spawned
I run a beginplay node in my gamemode, does that start before or after a pawns beginplay?
I have the second way and I am not sure how do I transfer an inventory slot to another inventory
yeah it is, quaternions have four pieces
I would be inclined to say make them yourself anyhow. Even more so if your focus is being a programmer or tech artist. One of the main issues with using other's code is that it's their ideology. This is normally fine, but it leads to design patterns and you have to align with those patterns or you end up fighting them. There are tons of free examples out there for pretty much anything you need to do in Unreal, even more so if you're willing to dip into C++.
I'm trying to set up a street light system using splines and I just can't get the spotlights (attached to a socket) to rotate towards the ground.. pretty please someone? I've been looking at it for way too long https://blueprintue.com/blueprint/1ymd9un5/
Thanks to anyone for reading, and especially thanks to those for replying, I've just been confused by this point.
Iβm using the default top down character and top down controller from the template.
Because Iβm possibly controlling multiple characters and swapping between them, the top down controller doesnβt possess the top down character and is passing in the input via interface. I saw on the forums that what you're supposed to do is have the Player Controller as a God controller and the AI Controller possess the pawn. Currently in the scene I have BP_TopDownCharacter in there, which is being passed in as a soft reference. Below is BP_ToggleOwnership which is a child of BP_TopDownController and the function.
https://blueprintue.com/blueprint/_colz4u9/
In BP_TopDownCharacter below is the movement function.
https://blueprintue.com/blueprint/4clt8r-8/
Velocity is always 0, I looked up some stuff and apparently by setting Run Physics with No Controller to true, velocity should work but it doesnβt. So I checked and I actually do have a controller attached, it is an AI Controller so I might be misunderstanding it, but even then, shouldnβt velocity work because there's a controller. I guess I'm just confused that if it's not using the Character Movement Component to move it, then what exactly is it using to translate its location and how can I make it use Character Movement Component correctly? Or am I supposed to scrap that and use a different Movement Component?
What I'm doing is that I'm grabbing a soft reference to an already placed BP_TopDownCharacter in the scene. I don't have anything set as the player character inside of the game mode.
Game mode shouldn't care about UI. In fact to be even more clear, Gameplay code entirely should not care about UI.
Your gameplay code should work and do it's stuff even if you 100% delete your UI classes from the game.
Your UI should handle this stuff on it's own. If you expect a character to exist at some point, the UI should be designed to find it or wait for it and act accordingly.
So basically what I am doing from my struct array in which one element represents a room, i took from the room element the array of triggers, and tried there to add to my triggers a functionality ( for now a print) but I dont understand why the print aint appearing when I am crossing with my player through the trigger box, any idea?
oh aparently I had put from Cast Failed to show me a message, but why does iit show me a message from Cast Failed and not from the one on top ? π¦
cast is failing
but then why is it printing me what I want
Carp looks like that's a custom event and not whatever actor you want to overlap with
So basically the trigger boxes I am generating them baseed on the procedural generation of the map, I have stacked them into an array and now I want to add to each one of them this print to see how they woork exactly π
I don`t really get what do you mean by whatever actor I want to overlap with
how do you delete a file using this, do you have to like put the entire file path or jsut the name of the file?
I tried the HTTP beta version plugin and It works fine in editor and mobile preview, but it crashes on android device
these are the logs.
Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x20 in tid 32203 (GameThread), pid 32166 (main)
2024-04-16 01:52:17.495 32249-32249 DEBUG pid-32249 A pid: 32166, tid: 32203, name: GameThread >>> com.beyond.login <<<
can anyone help what could be the probable cause?
Hey, guys! Why tf are my Texture Render 2D doing this?? I have a inventory that uses it and i toggle the visibility with my Character BP. Always when i open my InventoryBP or something then this happens and i dont know why
from what i gather "the filename is relative to the projectβs content directory"
looks like your creating a bunch is that the problem ? is it even supposed to create one ?
what are you running because i don't see you pressing play, or are you just dropping in ?
Start with thinking about what an inventory or inventory slot IS, and make a function or event called TransferItem which operates on 2 inventories or their slots
That is, if you want your movement to the bar to be an actual move
if you're going for the WoW style approach, it wouldn't move the thing, just make a link from the button to the item or slot
The button is a VIEW of the slot, not a slot itself
Yeah, let me complement... in my other monitor i simply opened the folder that contains my inventory, who respectvly have the Texture Render 2D. I'm thinking that the Texture Render are refreshing over and over when my mouse is over it
what can I do to limit the max velocity of my pawn? It's going so fast that it's going through walls
Does anyone ever have a problem with default values in a map variable not updating with new entries? I've noticed this a number of times now, I'll add new default values to a map (not duplicate entries) but when debugging at runtime the map displays old entries that no longer exist
Not changing map values through code, only setting defaults
lower acceleration and max speed ?
I can't it's not a movement component
How to add actor form other bluprint to level bluprint? If it is possible?
Donβt use level blueprint
you could implement your own velocity and clamp speed
yea but how am i gonna turn all lights after trigger box
As variables?
calculate the location difference on tick and if it's too big lower the movement or clamp it
Let me try that thank u
Looks like a broken structure.
oh I found this function I had before and made it work, so now it does limit velocity
it cant be broken
i didnt do anything
it should work
ok i found it
Bp structs break on their own
mesh has more than one material and its caused this problem
so how can i use custom primitive values for meshes with more material than 1
ok i did it
Hey there!
I'm trying to use event dispatchers to create a coin pickup, but can't figure how to bind the event.
I wanna bind the event dispatcher to the entire class, and make it send a score to the Game Mode bp
This is what I have so far in pick up side
This isn't really what event dispatchers were meant for. If you do it this way, your game mode would need to bind to the event dispatcher in every coin that exists in your level or that gets created.
Instead, you can have your coins call to your game mode to indicate that they've been picked up and pass along their value. The game mode can then do what you want with that value, like increment your total value, and then the game mode itself can broadcast an event dispatcher to indicate that a coin was picked up, which then allows other things to react to what happens when a coin is picked up.
Oh, thank you very much! That does seem better.
That looks better! Thanks!
Hi, why this doesnt work?
Hi, I have an issue, since I've changed the game state, one of my 2 players can't move it's camera or even the character but It works fine on another player, how can I fix it?
okay It works now, I just copy pasted the default thirdpersoncharacter gamemode bp and changed the game state in it
is there an "Expose on spawn" variable for Spawn AIFrom Class?
there is one on spawn actor
im trying to check if my array of structs contains a certain text, will this return true for just the text? or do both have to match for Contains to be true
Does anyone know of a secret setting, or some like C++ to add the replicates UI dropdown to functions, just like custom events?
I've figured out a scuffed, and working way, but its not very intuitive, or easy to do quickly.
It has to be an exact match for all values within the structure. That said, this seems like it would be better handled by a Map variable rather than an array.
Alternatively, if you can define your structure in C++, you can override the comparison functions so that when you do a contains like this it only checks whatever fields you want.
Only events can be made to replicate in blueprint. In C++, you can define a function to replicate, but if you want it blueprint implementable, it'll show up as an event in blueprints.
I know theres a way to make functions replicate in blueprint, and said functions be made in blueprint freely, no strings attached.
I wasn't sure if someone know the way or not.
Since, a full company did it, and idk if its some weird like TOS that they can't explain how to do it
Not really much point to do it though. You can't return values in an RPC.
If it bugs you that much that it's in the main graph, make a new RPC Graph.
It just feels clean
I hate having all my stuff split into 2 events/ functions.
or 2 different sections
I have to make the refill ammo, and run on server refill ammo
anyone know how to detect a engine shutdown?
It really depends on what you're trying to do. Which engine, Editor or Game? For what purpose? For most things there is a Shutdown even in the UGameInstance that is both C++ and BP exposed.
saving data in UE 5 on shutdown
I cant find the shutdown event
its for an editor utility widget
So I'm making a system for creating movesets for characters in a 3d fighting game. Can I use animation blueprint in some combination with functions exposed to blueprint? Or Do I need to code my own edgraph+nodes. I'd also like to control/trigger GAS abilities with this.
I'm having an issue where my player isn't spawning at PlayerStart and is instead spawning at 0,0,0 but I have it set in my playtest option to spawn at playerstart instead of camera position
Does logs tell you anything?
no
Hey guys, im curious.. lets say i have multiple BP object that i can turn on/off.. and i have this puzzle where the player need to turn on 3 of the correct object.. is there a way i can check it without duplicating the BP object over and over?
this is what i have right now.. but i feel like its not the optimal way to do it.. what if i want to add 9 more of that object that can be turn on/off.. do i really have to duplicate that BP 9x ?
Maybe you can use Tags or Gameplay Tags?
You would duplicate if there is something different for them.
If they are all the same, but just have different mesh, you can right click and create Child Blueprint/Actor.
They will inherit boolean that parent has. It wont be visible in graph, but just go and write Get (VariableName).
That helps?
Imstamce editable bools,
Add all to an array when they get tuened on innsome puzzle manager
If array length = desired, and no bool in the array is false, puzzle complete?
sorry i never use child bp/actor before.. but even if it inherit the boolean i still need to duplicate the child 9x more?
Hey guys. I'm trying to use a procedural generation level layout system for my game (dungeon architect) and I'm unable to get my enemy AI to chase my character throughout the levels. I've changed the navigation mesh runtime generation to dynamic and I've added the navigation invoker component to my enemy AI. This is what my gameplay is looking like right now
figured i need to use array for this, is there any good place to start on learning this? adding and getting it is not as straight forward as it seems
Youd probably want some manager aswell, tracking that single piece of pizzle
Pattym in here got a tut on a actoe register component. Something along those lines is an option
Youd want to identify the correct puzzle manager for the give puzzle piece
So some Name (GameplayTag) for identificatiom aswell
oh wow.. guess there is lots to learn just for this π«£
ok thanks i will check all of that things mentioned
Are your object supposed to be the same or is there some difference between them? Like different mesh?
If its singleplayer you can have a Map of GameplayTag/Bp_PuzzleManager in GameState for example
And some simple function to get the correct one
GetPuzzleManager(GameplayTag)
-> litteraly just "Find" in the Map
same mesh
ok since tigy and squize says gameplay tag i will make that a priority to learn
Its just a listed name with a hieriarchy
Puzzle.Stage1.Loop
Idk, some logical naming method π
If you are beginner then I am not sure about Gameplay Tags. Maybe just regular tags. What you think @gentle urchin ?
Gameplay Tags are better to learn I guess. Newer and more flexible but more complicated I think.
Also for your task.
So you have X same lamps that you want to turn on and off right?
You just want to place multiple of them, and then you want to turn them on and off in an order. And when X lamps is turned off in specific order, you win or whatever.
Can you turn lamps off after you turn them on?
Also, just to make sure, you need to turn on lamps in a specific order you design? I cant just go and turn on any 3 lamps in any order. I need to turn 3 lamps in a specific order?
Id say gameplaytags regardless. Avoids typos (or atleast consistently typoed)
If only epic swapped actor Tags for actor Gameplaytags π
Yes but im avoiding them because they are regular typed tags
I actually use manual tags for my prototype. Gameplay Tags are a bit of a hassle to implement.
For Tags I make Enum. And I can just add tags to that list, reorder them. And then I have BP Library where I can just add or remove tag from any actor, or check if any actor has tag from dropdown list from list of all tags listed/added to Enum. Found this to be very fast way to prototype stuff.
Because manually writing regular tags is pointless.
But if others say learn Gameplay tags, for them.
Othetwise id use them
Yeah but that's part of why I said avoid them haha
GameplayTags aren't a hassle to implement
If they are for you, then not sure why
You just make a new one and use GameplayTag, GameplayTagContainer and GameplayTagQuery to work with them
For sure
It takes the same amount of time, if not less to code something with GTags vs normal Tags imo
I just like native things when they're usefull
The only times I would argue to use the manually typed Tags, if it's about the Component/Actor Tags and there is really no other way to identify them.
And given I haven't had the need to use those in the past idk how many years, I would say there is possibly always a (better) way to identify a Component/Actor
Even if not via GTags
You can register them to Managers, you can have Interfaces to return them, etc.
However, ultimately, it's up to you what you want to do in a prototype
Cause that is more or less throwaway code
yes i can still turn them on and off.. and no i dont need to do it in specific order.. i just need to have a specific 3 lamps that need to be turn on
But I agree with you guys. Gameplay Tags for proper work.
AH, ok, then it should be simple. No, you do not need to copy.
You can have bool on lamp to or use gameplay tags instead of bool.
To know when 3 lamps are turned, you can use array, or simple integer variable to add or sub whenever lamp is turned on or off, and check every time, and once 3 lamps are turned, then you can do whatever you have to do. You would do thi code on player character who is turning lamps on/off.
If you have some stuff on UI to update, then Blueprint Interfaces might be good to know as well.
Event Dispatcher as well - https://www.youtube.com/watch?v=YFtLd-bKl-U
That would be my suggestions for now. I assume you are new and still learning.
The Observer Pattern:
Software Design Patterns are like a manual on how to write good code, whether you're using Blueprints or C++, knowing good software practices is a MUST!
I hope this first video in the series gives you a good intro on what design patterns are and how the observer design pattern can be used.
This will be done through the u...
The sad truth here is that while this sounds easy, a setup for Puzzles can be quite involved.
Especially if you ultimately want to have an easy time and less bugs when scaling it.
It's not so much about thinking about just one puzzle, but ultimately considering a setup that can support multiple.
And for that you might want to take pen and paper and plan this out first before writing code, especially if you are a beginner.
And if you have trouble with a step, you can ask about it.
- puzzle manager (Blueprint)
- puzzle piece (blueprint)
- puzzle managers manager (Gamestate)
Is how id set it up
I would probably have a way to identify a given Puzzle, possibly via a GameplayTag. So I can tie any kind of Actor to a given Puzzle. And my Puzzle would probably be either some Actor in the Scene or some UObject that I track somewhere in my GameState, that has the GameplayTag so I can find it. And that Puzzle Actor/Object would have generic functions to initialize a puzzle, to finish a puzzle, to check the current progress, etc.
From that Puzzle I would make Child Actors/Objects to make custom Puzzles (those would then actually have the specific Tag). And Actors that are relevant to this would possibly also have the PuzzleTag and can call some RegisterFunctions on the Puzzle Actor/Object.
And given the data surrounding the Puzzle might be unique, I would also consider just accepting that I cast the Actor/Object to the given Subclass, when using it, cause in the Actors that belong to the Puzzle I logcally know that it must be THAT puzzle object.
There is a lot to digest in this and it's not as straight forward
But if you learn how to do this properly, you will have an easier time in the future to make new puzzles, or even new systems, cause at some point when doing Programming, you just use a Toolbox of Knowledge you have, and create your stuff with it.
Might make sense for a puzzlepiece compoment tbh
Yeah that is totally an option
So any actor can become a puzzlepiece
And simply update the state when needed through the componemt
yep i thought it would be easy at first xD
The problem is that more or less nothing in programming is actually easy if you want to make something proper and lasting
"Easy" really heavily depends on your knowledge and skill
Whenever i hear puzzle i think about those games with 120 puzzles with that 3d modeled house
For me, a Puzzle System is a walk in the park, but only cause I have the tools/knowledge to make it.
For you, it's probably a hard first task, but I've been there too
Just takes time
It#s probably good to do a bit more theorizing too at the start. But that depends on how you learn best
Knowledge and skill also means that everything does not have to be scalable. Most juniors get into that trap, everything has to be dynamic to do anything with it
Others learn best by just doing stuff and running into walls.
Yeah, I tried to not use "scalable" for the generic sentence
If you do have a puzzle game and you want to make lots of puzzles that are vastly different, then scaling is fwiw a good goal
Experience learns you that :p
well the dumb way of duplicating the objects is easy enough.. i just think that its weird and not optimize (not scalable?) hahaha
Doesn't count for every system. Some stuff is so finite that it's enough to just make it work for that.
which is just another word for what I said
Post trauma after making something uber scalable, only to realize it will never ever change
So, duplicating a BlueprintAsset is 100% wrong.
If you mean duplicating the Actor in the Scene, then that seems reasonable
If they are all the same "Piece" and you just need to count how many were touched, then having the same Actor x Times in the Scene is logical
But duplicating BP Asset is basically a crime
Unless you have a very valid reason for it
Which this is probably not it
yea i mean this.. thats the reason the question exist in the first place
okay back to learning.. thanks for all the help guys
Yeah no, if you have some kind of BP and you need "the same" but "slightly different", you use inheritance
So you make a Child BP of it and alter the Values, or override the functions in there.
That's a core concept of OOP Languages, which BPs follow due to being C++ down the line.
OOP being Object Oriented Programming
There is also Composition, which you kinda do by plugging Components onto stuff, but ultimately there will be a lot of Inheritance
And you should usually design your code in that way.
Why not? If i for example have BaseWeapon->BP_BaseWeapon->Weapon_1 and then copy the Weapon_1 to make Weapon_2, are you saying that is not ok?
Why do you copy Weapon_1 though
Is Weapon_2 so similar?
Why not inherit from a common Base that Weapon_1 and Weapon_2 share?
Thats what they do ^
Copying a BP means you copy all then new Variables and all the Function Implementations
Uzi vs MP-5
Both are automatic et etc (i dont know anything about guns : disclaimer)
If you end up having to alter the Variables or the Functions, you gotta do that in Weapon_1, Weapon_2, Weapon_3
If I want all the settings the weapon has for example and then start modifying from there
The code would reside in the parent
That is the goal here i mean.
That's crap though
Now you have duplicated code
You gotta fix it in multiple places
If 2 Actors share the same code, put the code into the parent
I would do all the inherit code in the BaseWeapon and BP_BaseWeapon
And then copy the weapon_1 to make Weapon2
Is that wrong?
Again, there is usually no reason to do that.
If Weapon_1 and Weapon_2 use duplicated code, then that code shouldn't be in either of them to begin with. And if they are basically the same, +- some changes, Weapon_2 might as well be a child of Weapon_1
The act of duplicating a BP is not the crime. The problem is if that actually is your way of making sure both BPs have the same code
Ok so the crime is in the code management and not in any BP memory location or anything like that, got it
Yeah, to clarify, if you duplicate an Asset, that's totally up to you.
But duplicating a BP should not be the way to ensure having an almost similar BP.
That's what Inheritance and fwiw Composition is for
Yea but if weapon_1 and weapon_2 are the same, why would you make the weapon_2 inherit from weapon_1 when you can just dublicate the weapon_1 so it inherits from the BaseWeapon
If you have BP_Weapon_1 with 10 new functions, 5 overridden from BP_Weapon_Base, and BP_Weapon_2 should do the same, minus some variables and one other function, as well as one of the overridden from _1 being different, then duplicating it is wrong
If Weapon_1 has no new code and no new variables, so all Weapon_2 and _1 differ in are the Default Values of the Variables they inherit from BaseWeapon, then you can duplicate it if you want
If we ignore the fact that duplicated asset pre UE5 have caused issues, but idk if that's still the case
Ultimately, you might also be interested in the setup where you don't even put the Data into the Weapon
But you use DataAssets and only put code into the BP
That way you can have a BP_Weapon_Sword and instead of making 13 different ones that all just have different damage values and a new mesh, you have one with the Sword code in it and have 13 DataAssets that just have the Data in it
And when spawning a BP_Weapon_Sword you just pass the DataAsset along for the values.
Bit tricky to set that up after already having a workign system though
Question for the gang: what's the closest I can get to "reviewing changes" that my teammates made to our blueprint codebase with each p4 changelist? Is there any way for me to get close to the experience of reviewing text diffs of git commits in UE's blueprints out of the box? Or is that not possible, and part of the push for folks to move to C++ once projects get more complex?
Only thing you can do is ask them to shelf and revert
And then getting the CL on your end and diffing the BP in the Editor
But that's a pretty shitty workflow
So sticking to c++ and somewhat accepting the BP might have shitty code is probably the easier thing to do
You can also ask them to screen share you the changes or have them add screenshots of the changes to the task
@surreal peak great, that makes sense, thank you. Sounds like reviewing blueprint changeslists after they've been merged into trunk is a no go, if I understand correctly?
Reviewing post commit with P4 is not really what one does though or
We usually run the reviews through swarm pre commit
The code ones only of course
Understood π
how can i set Blueprint reference in Editor Widget Utility (Runtime)
Is it even possible?
I'm new to unreal engine and I'm trying to create a logic where I can possess other characters and then get back to my original character.
I've created a very basic possession blueprint but I'm not able to figure out how do I possess other characters and then unpossess back to my main character.
Possession to the first character works but after that I'm not able to understand what to do.
Any help would be appreciated!
is possible to get childs in canvas panel from selected asset?
cast to widget is always faild
and widget blueprint is not available
always Cast Faild
someone can help?
fixed
how can I get all widgets of class, but only those located in a given widget
is this possible using a similar node?
without directly obtaining references
Hi All, I have an actor which is following VR movments.
However, i want a bone in my skeletal mesh to be the same transforms as the actor.
Ive tried to feed the actors transforms into the anim graph (modify bone transforms), ive tried in the control rig and ik rig.
Yet these have never aligned up with the actor.
The skeletal mesh is in the VRPawn blueprint.
I can see you can move an actor by bone but i want to do it the other way.
Is there a way to auto-generate fields in a DataTable blueprint?
I just want an auto-increment int field
You can make your own logic fornit but requires some c++
Alright.
If theres any logic to the increment id prob just make an editor utility blueprint/widget for it
So its manually controlled process
hi all, i need some help regarding a mesh customisation, can we make 3 different mesh exist in 1 blueprint and can we change it's properties like location,rotation,scale value using UI? if this is possible just let me know -thank you
I wanted it so that when you made a new Row in a DataTable it would automatically increment the int Id field by 1 and not allow the field to be manually edited.
This way I could treat a datatable like a database and make it less error prone
But honestly I'll just do it through JSON or something later anyway, so might not really matter.
Is there a Level Blueprint type class?
I want to have a blueprint system that doesn't need a transform. It just exists in the level.
I know there is literally a level blueprint
But I want a blueprint that I can use in all my levels
AInfo or Uobject
Is it still possible to edit variables on such a bp through the inspector?
(instance variables basically)
You can make uobject instance editable
In something like an array
Like this. Then each entry is its own instance with its instance variables..
This should be possible, especially if the BP is an actor or similar.
You know what, I'll return to that. For now I'll make it an actor and just drag it into the scene.
This is for a demo, I can make it proper when the demo lands me an investor π₯²
it's an actor
lets just say i have a cube,cylinder, cube (its like dumble) three different meshes. what i want is i want to increase/decrease the size of the cubes/cylinder using the UI
I,m not 100% sure but I sometimes get that error when trying to run the project inside rider when its already open in UE, So try closing the engine and relaunching the project in your IDE and let that launch UE.
How does one iterate over a DataTable in blueprint?
I understand that it is a map, not an array, but I can't seem to find the type of loop the context-sensitive menu expects.
Get row names -> for each -> get row
oof
Alright, thanks
So in my blueprint I have two Data Table references as variables, but it doesn't seem like I can restrict what type of data is in the data table that you assign to that variable. Okay, I suppose, but then can I check the type of data the data table should hold in my blueprint to validate data types?
When you create data tables you select a data struct as the row type.
Can I somehow check if the Data Table I have is based on that type of struct?
In cpp yes
ah
So that's a no, then.
Data Tables turn out to be much harder to work with in Blueprint than I anticipated π
I have all the keys....but I can't seem to map them to values this way.
To Unreal Engine the data table is just a generic data table
I can't specify what struct the row is based on
Drag -> break <MyStruct>
They changed the node a while ago
Earlier it was precast
But not anymore... now its wildcard
You give the actor 3 static mesh components, for now set them to public.
Then you can create a widget with the needed UI components (e.g. buttons, input-fields, etc.) and add "on-click" functions for the buttons.
In these functions you then access the meshes via a reference to the actor and use functions like "set scale" or set rotation to manipulate them.
How can i access a control rig from an anim graph in VRPawn blueprint?
hi guys why is line trace here dont work
Hi, is there a way I can prevent the flickering when reordering widgets inside a PanelWidget at runtime?
I currently ClearAllChildren if I need to change the order and add them again in the correct oder.
Animations, mostly.
Could you elaborate please? So, just dont remove the widgets rather manually change their transforms?
Nothing happens when I pick my Data Table to fill in my actor's variable for a Data Table.
It stays as "None"
can this method appear as a single mesh? As an end result!!!
I guess technically it's possible, but not sure what the benefit would be?
Ok, let me try
I'm very confused. I can add any other existing DataTable to my Actor's instance value.
But no matter what, I can't add any other data tables I create now.
It just stays at "None"
deleted my parent: tick in a blueprint. how do I get it back?
copy + paste works well enough, just wondering if there's a "real" solution
Right click on the node and it should have a "Add call to parent function"
cheers π
One problem may be in using "Get Actor of Class". This will return the first found actor of that class, which may be different to your hit actor if there are multiple actors. If you want to delete an actor of a class type, pass this Hit Actor into the node "Cast to XXX_Class" and on success, then the destroy logic can be used.
Does sb know how I can achieve to get all strings in an array that contain a certain substring and give that back as an array?
Should be fairly simply, I just cant seem to wrap my head around it
iterate the array of strings.
If the string contains the substring, add it to a different array. At the end of the loop return the array
Thanks π
hiya folks, does anyone know if I should try to use a different method for Custom Player Input Mappings, or is this "Experimental" struct the only way to go for now? Any advice on how to prepare for its innevitable removal?
I encountered a problem about the mismatch between the rate of fire and the shooting animation. My weapon is a pistol. I want to follow the realistic logic. The pistol cannot fire continuously, but can only shoot one by one. But the problem is that when I fire it quickly and continuously When shooting logic, the animation will continue to trigger. You can see that the shooting animation is interrupted before it is completed. It cannot perfectly match the rate of fire. My rate of fire is set very fast at 0.3s. The evShooting event is just a very simple ray. Detection, below is my shooting logic blueprint and shooting animation blueprint
I know why this problem occurs, but I have been looking for it for a long time and I donβt know the solution. Many FPS tutorials donβt seem to involve the rate of fire issue.
I adjusted the transition time of the shooting animation, I set it to 0, but it didn't satisfy my style of overall smoothness for the game, and I'm not convinced it was the right solution.
Hi all ! Does anyone know how can I get a point between two vectors in 3D but also vertically please ?
For example I already did that V1 + ( (V2 - V1) * 0.5) With that I have the middle point between V1 and V2
But I don't know how to have the middle point vertically too
Add a height scalar to your vector
If both your vectors are on the same plane, then there is no "height" as such
If you need to compute the "height", then you need to establish where the "ground" is.
So you can make a vector that points from ground to your half-way point and then take the length of that
How can I do that ?
I just want the "point" to be vertically in the middle of the second vector (V2)
So I first have to get the "center" (vertically) of my V2 right ?
And then make the same calcul but with this and not the whole actor ?
Because in my example V1 and V2 are two Actors
Hi π
I have a concept that I want to implement, but I believe I am doing this very inefficient. So I would like to hear your thoughts π
I am developing a tactical strategy RPG
The concept is as follows: The Units' attacks change based on equipment. Every Unit can change it's own equipment when their turn has started (except AI controlled ones). The equipment and the combination of equipment determine which attacks can be used. The equipment can only be of the 4 different elements Fire Water Wind and Earth. Only 3 things can be equipped at once. The things I need to know are:
How can I save what is currently equipped on each Unit efficiently?
How can I change the attacks based on equipped elements efficiently?
and
How can I make this easy configurable?
A small example: The things equipped on the Unit named "James" are 1x Water element, 1xFire Element and another 1x Fire Element. So his abilities are the attacks... let's say "Watergun" as the 1xWater ability, "Fireball" as the 1xFire ability and "Flamethrow" as the combination of the 2 Fire Elements, and lastly the two attacks "Steamball" and "Boiling Water" that are born from the combination 1xFire/1xWater and 2xFire/1xWater
This is how I visualize the problem
But I don't want a vertical point from the ground, but from the actor itself
So maybe I have to get the middle point vertically of my Capsule Component ?
Is this what you want then?
This is what I want
What you have there does not explain anything
Actually my red line is not going to the middle point vertically of my V2
I think I have to get the vertically point of my V2 and then make the calcul with that instead of the Actor (V2)
But what vertical point?
I am still not clear on what it is you are actually trying to do
For example the middle point of a Capsule Component
If you just take the location of your capsule component
It takes it from the center of the capsule
so you want a vector that points between the midpoints of two actors?
Exactly
But why it does not if I take my "Actor Location" ? That's what I don't understand
I assume it goes by pivot point
The capsules pivot point is center
I tried to take the capsule component but still the same
Still the same what?
The vector is not pointing to the middle of the capsule component of the V2
Have you tried visualizing what it looks like with debug lines?
Yes I spawn a static mesh (cube) to visualize where it spawns
Show me what your visualization looks like
With screenshots or paint ?
screenshot
The two black rectangles are the capsule components and the white cube with the cube that I spawn in between
I want the cube to be more up, in the middle vertically of the right black rectangle
So you want it to be above the middle of the right one?
looks like the top is close to center
Is there a way to adjust the sensitivity of mouse dragging in the bp editor?
So the issue is not that it doesn't get to the middle, as originally claimed.
The issue is that you want to adjust after the fact
For me the white cube is not in the middle vertically of the right one
It's very close
But when I go closer to the right one it seems very below the center
Maybe it's a trick of the angle here, but like, it's almost exactly in the middle as expected
You can do something much easier.
Like what ?
After you have your half-way vector, add a vector to it which is (0,0,1) and multiply it by the height you want to adjust.
So something like midpoint + ((0,0,1) * 5) would adjust the midpoint you found Up the Z axis by 5 units.
as long as it's always off by that amount ig
Yea..otherwise I am at a bit of a loss
how are you calculating this location ?
I'm doing this V1 + ( (V2 - V1) * 0.5)
V1 + ( (V2 - V1) * 0.5) + (0,0, vertical_boost)
Thank you it worked !
So finally all was really in the middle it was just an "angle" problem so I had to boost it manually
Well I'm not sure there was a problem at all. I think it's a use-case thing that you didn't like the exact middle you were given and wanted something off-center.
Anyone knows a little bit about the "FollowCamera" ?
If I rotate it on the Z axis and then I rotate it on the Y axis, the camera becomes "twisted" ? It rotates itself
I guess the term is "Tilting" my camera tilt
Is there a way for me to change the value of the variable to empty depending on the logic in this For Each loop? Essentially I want to do what that last node is doing but have that depend on the array element if it matches? Or is this a case where I need to just do nested branching and check the value of each of the 4 variables against Item Data? I hope that makes sense!
so you want if one of them in the array is == item data, then set the variable to the current item
i feel like you should be able to just plug array element into the set if they are the same type
but this will repeat and give you the last one equal, do you want the first ? or last ?
Ok I have another explanation : When I rotate my Camera in the Z axis, my Camera is not parallel to the ground anymore
you can just set it to empty on false
but i would break if you find one
and at the end you will have a blank, or if you find one, it will be filled
you can also set it empty before the loop, and if you find one set it to that, then at the end you'll have the same output
if i understand what your trying to do
@lofty rapids , Thanks! I think that's not exactly what I need, but I think I found the correct node to use here. Setting the value by ref should work. I bascially just need to set that value of whatever array element it matches to nothing.
ok that worked thanks
Hello, i have a bit of a weird issue.
I have basic multiplayer set up and running as a listening server from the editor.
When i have the client shoot at a target, it shows the impact and it takes damage. The server prints out the targets decreasing hitpoints correctly.
When the target hitpoints reach 0, a 'spawn system at location' is called, showing an explosion and leaving a smoldering wreck.
The problem i'm having is that the explosion is only shown on the server, not the client. Everything else seems to work fine.
What could this be ?
My target has 1000 hp. Every shot deals 250 hp.
If i set it up like this then the target dies in 3 shots (from the client's view (and the explosion shows).
Then if i shoot it again, it blows up server side.
With the first shot, as far as the client is concerned, it takes double damage.
do you use any multicast events for this?
Yes, but then the double damage thing happens. But only on the first shot.
in the multicast event try ticking the box called "reliable" and see if that fixes it
if thats the case you want to replace the MC event with a rep notify
ah that fixed it
Where would i set the RepNotify?
On the projectile damage variable ?
as far as I understand it (and im pretty new to this myself) MC events have low priority/are unreliable when replicating while a lot is going on. The reliable tick forces the server to actually make sure that its run but that also can be bad for performance.
Therefore you want to replace your multicast events themselves with rep notifies where possible
this is a pretty good video that goes into how to do that https://youtu.be/3CIgSeLkfFI?si=sp2VZHjSDj0-4z4m
Check out my Patreon: https://www.patreon.com/user?u=60713904
Become a member: https://www.youtube.com/channel/UCFjBMoGhlEum8jRgPvmWpJg/join
Join the {GDR}; Discord server and download my free project files: https://discord.gg/dUm3ZtYDuV
Follow me on Twitter: https://twitter.com/BluntZombie
This tutorial is mostly about how to setup a multipla...
as I've said tho im pretty new to this so some of this might not be entirely correct, its just what I've picked up
ah thanks, i'll have a look at that
In my both inventory systems an Inventory slot is an index which contains a slot struct, I dont know how I would make such a function π¦
In my inventory system I made a function TransfetoHotbar and in my hotbar system I made a TransfertoInventory function but I dont know if it is even logical thinking or how I would start : (
hope it fixes the problem, best of luck!
Show the code before this
Why this is not working? Nothing gets printed out.
works fine if I wire the event tick and call the custom event
but through set timer by event, it won't work
Looping is disabled
still doesn't work
i don't think you want to set timer by event on tick
but is the tick event firing ?
yes
If I do this, works fine,
with looping enabled, it will fire like event tick, but with a timer
thing is, I want to call ChangeDirection every x seconds
use event begin play instead
anyone know a blueprint setup for a more stable mouse axis movement?
if I use it on Interp To node, the result value from that node would sometimes bug out and negate for a split second
completely breaking the momentum of the mouse
yeah fixed it by using BeginPlay, thank you all
anyone know why this wont work? the flag should set the bp_checkpoint to the location of the flag's trigger box. the first flag works but the second doesnt but both are setup the exact same π¦
Sorry for the slow reply, dinner was ready. The Radial Damage is caused by a projectile.
@faint pasture So turns out in our first profiling test we did a lot of misinterpretation. While GMC did take quite a bit of the CPU frame where stuff was actually being processed, it only came down to a fraction of a ms. We just saw it at the top of the list and assumed it was the main contributor. All in all our CPU frames should be around 1.5-3 ms but most time is spent on drawing the viewport and Slate processes which if im remembering correctly are Play in Editor related. The Render Thread actually spends the majority of the frame waiting for tasks but I think in standalone (which is still not working atm) would be the limiting factor. Here is a current game frame with one player. Keep in mind that since the last conversation we also added the full weapon system so thats quite a bit of the CPU frame processing part but before the GMC drone movement highlited in the second screensot wass the longest process in the WorldTick. If I increase player count to 3 players instead of one it increases GMC's contribution quite a bit to ~0.3-0.6ms per player (screenshot 3) but the majority of the frame is still Slate processes.
What a day. I had to implement a quest system in UE5 and to my dismay I couldn't for the life of me assign a Data Table to an Actor in my scene. But it was only that specific data table. All other data tables in the project was just fine. I ignored it for a bit and just went on, designing and implementing methods and whatnot I was gonna need anyway.
I came back to the issue, because I couldn't actually continue without solving it. So, new Data Tables didn't work. Only existing ones. After a while of trying various things I decided, on a random whim, to just move a data table from the folder it was in to another folder and try again. Now I could assign no problem.
It turns out...that if you try to assign a Data Table from a folder that has parenthesis as part of the folders name (), then not only will Unreal Engine not assign the Data Table to the actor in the scene, it also won't give you any errors. So it's a silent failure with no explanation. That I spent 4 hours on π₯²
Does anyone know btw if there is a node like Random Unit Vector in Cone (Deg/Rad) that has a normal distribution towards the cone direction vector instead of a uniform distribution within the cone? Or would I just be best off picking a random polar coordinate on a unit circle?
don't use punctuation in folder names
There is no punctuation in the folder name
() is punctuation
It is definitely not
But if Epic does not want me to use parenthesis in my folder names, they should just not allow it, like they do other special characters.
Use a node called "SetTimerByEvent" or "SetTimerByFunction", it calls an event (or a function if you chose the second) one every X second, and you can decide how many seconds you want it to execute π
Just to really underline, these are the special characters that Unreal says you can't use in folder names
No Parenthesis is present there only square brackets
guys what is the easiest way to render the hands and the gun on top on the screen like most fps games do?
... I think you will struggle to support this claim
The hands and gun are physically in the game as actors
yeah i know, the problem is that the gun clips through the world
Either way, what Unreal Engine says, and what it supports doesn't align. If Parenthesis are not allowed, they should stop you from using them when you write a folder name, just like any other special characters they don't want you to use.
This is pretty common in games. nicer titles will animate the gun being held closer to the body and not able to be fired when you're next to a wall.
but even high end titles frequently have clipping through walls while aiming in some capacity
You can do it in a way that does leave you with some trade-offs.
You can render the gun in a separate view and the games camera from your first person perspective and then superimpose the gun on the play view.
The gun will no longer phase through walls, however you will also no longer have shadows cast on it and the rest of the stuff you take for granted. You'll have to fake that.
i know, i was actually watching a video about it minutes ago, but another method is rendering only the gun and the arms with one camera and rendering the world with another
sure. but as a general rule, try to avoid punctuation and spaces in directory names because this happens all the time.
maybe i can make the collision capsule big enough to englobe the arms and the weapons
You could, but that will give players a wrong impression of their bounds
You would also have issues with doorways and hallways
right, anyways i hope i find a solution, thanks
A lot of players expect to be able to get cramped into corners and whatnot, despite their size making that realistically impossible, because the collision capsule does not match the art exactly.
One way I can think of, but I have no idea if its a good idea or if its used anywhere, would be to shoot a linetrace from the tip of the gun in the up, down, left, right and forward directions and based on the hit distance, offset how the character is holding the gun.
say if it hits within 10 units switching from this to this and moving it within the colision capsule
I'm trying to add more options from the Select function, but I'm not sure how to add more options to the select function. Can you guys help me out with this?
wdym "select function" ?
The select you get from the Get Surface Type thing. I'm not sure what to call it, now that I realize I used the word 'function' wrong
you're probably referring to the select node and want to know how to add outputs to select?
what variable type are you selecting
this is my setup for the smooth movement, could there be something that breaks the momentum of the Mouse X value?
is it the top one with the exec type symbol or like the bottom one with the function symbol
Select
Rightclick and hit add option pin
It's not giving me that option
hmm thats weird, your index input is of type byte right? What values can it have?
I'm not sure of the values, but I'm trying to add sound cues and the booleans to activate them. For the purposes of giving the Player a stomp for when they hit a specific surface.
Im not sure what the issue is exactly but if you create the select node first instead of pulling it from the surface type and then plug in the surface type to the index it should work
I'll delete them, then retry from there.
Been fascinated with the dmc5 camera movement as of recent so im trying to figure out how to make it so my character's lock on system focuses on the midpoint between the character and doesn't just put both in the same axis
How do you do fellow Unreal masochists?
I have an Examination system implemented, as in, when you open your inventory, you can inspect an item, Resident Evil style.
The Examination is setup in the world, basically a camera pointing towards the item. I would like to "Pause Game" whenever you open the inventory, but if I do pause it, the examination, predictably stops working.
Besides doing the examination somehow outside the current map or not pausing the game at all, is there an easy fix for this that any of you know?
Tick while paused
Okay, making the Select node first, then changing the input to byte instead of dragging the 'Get Surface type' helps a lot more then doing it outright. I'll keep on working on the other select function, then work on the rest of the Blueprint set up
I don't understand why its doing this....
I figured out what the issue is. By default there is only one PhysicalSurfaceType called default. The engine understands this and so it will only allow you to select one option cause there can only be one. If you go to project settings and add more (however many you're planning on) then save and recompile it will allow you to select from those options based on the index.
I assume for the bool you just copied that node so thats why it had the same layout. If you drag from a bool and make a select node it should work normally.
Ah, that makes a load of sense, and explains why I wasn't getting the results I wanted. I will have to rename them with the settings you mentioned
wdym, those numbers mean nothing out of context
its the mouse x value
negative number is left and positive is right
you can see how the value flips quickly between positive and negative after quickly moving the mouse from left to right
how are you calculating those numbers ?
this right ?
the print string is from the enhanced input node
at first I thought it was from the interp to node
but it interps to right ?
but then when I see how the spring arm stops rotating when I do that quick mouse movement, with the print string from the enhanced input, I then figured its from there