#blueprint
402296 messages Β· Page 810 of 403
If multimap was supported in bp, that'd work π
Fair warning, best inventory organization requires three structs.
Does anyone know what I need to do to improve this? I have a few things I'm trying to do with player movement. I'm needing to set this up so that it runs on the server but I haven't quite figured it out since I'm super new to Unreal Engine. Been teaching myself since yesterday.
The goal is;
- IF Left Mouse Button is held, then the player can turn the camera
- IF Right Mouse Button is held, then the player can turn the camera
- IF BOTH Left and Right Mouse Buttons are held, it will turn the camera and move the character forward
Currently I have the first two goals met, however when I play the session, Client 2 will see Client 1's character rotate with either left or right mouse button. I don't want the character to rotate when someone spins their camera with left mouse button. Only when spinning their camera with right mouse button. I imagine Client sees the character spin regardless due to there being no server side information here? Or maybe actually since the default value is true for the controller rotation yaw. Maybe I should turn that off.
Any ideas on how I can get the player to move with both mouse buttons, while still allowing the player to move with WASD?
PlayerFacingHeavyUselessData(Icons, Name, OrganizationalTypes, etc)
StaticGameplayData(MaxCount, MaxDurability)
ActualInventoryData(Tag, Count, Durability,etc)
cant figure out where to put that node. depending on where i put it, does nothing or breaks damage
You can mix the first two if you want, but I find it much neater to separate them personally.
Currently they are mixed, I figured they'd be static anyways ?
Since they are the same for all items that support them, perhaps it makes sense to separate them afterall
feels wasted to type "99" into each row
instead of just once
was gonna filter based on tag, any tag derived from "Resource" would be stackable to 99, else unstackable
If you're looking them up via separate arrays like that it's less of a problem. If you're using Datatables, having all of the static data in one place gets annoying.
i do it using an anim notify state, essentially its on when the attack starts and off when it ends, anim notify state can be used to define that range for the specific animation
and i have two events, one that turns it on and another that turns it off, which the anim notify state calls
ok thx
but if i were to never call the anim notify state by not swinging the sword
hope anim notify states work with mp π
wouldnt i still be able to damage player
they do if im not mistaken
you should set the collision to no collision
consider that it should usually be off, rather than on
like... turn it off on the collider, no code needed
ok so from the editor go click on box and make it no collision. then in the anim notify, set it to overlap all, and then at the end of swing disable collision again
you specifically need to control collision enabled, not its preset
so begin play then?
no, literally on the component
you dont need to code this lol
as i stated before, collision enabled....
wait im tripping what do u mean
ahhh
nah, preset works, it just seems easier to use Collision Enabled is all π
I often do custom collision settings
Hey thanks I kind of know about the montages but not sure how to use them if its put in a enum and when it come to what you said about anim pins exsposed I am very sorry but have no idea how that work sorry.
for montage, i dont think you need enum, you could setup slots so that whatever montage you call that is setup for that slot would override any current anim (you would need layered blend per bone with the slot and cached)
for anim sequences, these are used for the locomotion or anim graph of characters, they live in the anim graph so you have to make variables for them to replace them. That way the animation for standing with an axe or sword or nothing would update that anim system since they are always being processed. This would probably also extend to jump anims and whatever else you have going on in the anim graph
Is anyone able to assist, I have two issues within blueprints and it's driving me crazy.
So I was watching this tutorial.
How would I implement this for level streaming?
Announce Post: https://forums.unrealengine.com/showthread.php?146935
Wes Bunn is back to talk about a highly requested topic: Saving and Loading. Together we walked through how to allow your players to make changes to the game world and have those changes retained every time the game is loaded. Check out more about saving and loading in the doc...
hey one last question
while making the blueprint for the anim notify
im running into problems casting to my sword bp
this isnt working and the cast keeps failing
you should be getting the owner of the animation, which should be your character class, and from there get its equipped weapon
GetOwner->GetOwner->Cast
As Conrad said, need to cast to the character the sword is in, assuming this animinstance is on your character's skeletal mesh.
ah see thats the problem
its not
inventory system
well how do you attach the sword to the player?
spawn it onto a socket on the right hand bone
well when you spawn it, store it as a variable so you can access it here
ok
ideally all of your weapons are of the same class
yeah downloaded an inventory and health system so imma have to go find where its pulling the sword from
eww
you are always better off asking your question instead of asking to ask it first
@fiery glen sorry. I have two issues, I'm using an attachment system for my game but the iron sights seem to be apart of the original mesh and as you can imagine, having the iron sights still on when the sight equips is just not the best thing.
Secondly, in blueprint I'm having an issue where the "socket name" isn't appearing to connect the nodes, but it appears on the course I'm doing.
I'm basically break the node for weapon accessories and it has all the correct pins except socket name.
Stuck right now π©
its actually really good
saved a lot of time
but some things they did just dont make sense
could i just create a reference to the sword bp in the thirdperson character
and then pull that from the cast
or no?
i guess, as long as its the one in the player's hand
it do be the one in the players hand
the first issue is an issue with your 3d assets more than anything else
as for the second you still haven't shown us which node you are trying to see the socket name connection on
@fiery glen lovely.
at least I assume you have a 3d gun model with a detacheable iron sight baked into it
I'll take a picture tonight.
The node is a data table of weapon accessories to which I break it and it has everything he has except socket name.
@fiery glen Unfortunately not, most don't have the iron sights as it's own socket etc
Sounds like the struct is missing a variable
sockets are just a simple named position added to a mesh
so you can add those yourself in the editor if you want
barrel, sight position, hand position etc
(unrelated to the dataasset issue)
Anyone know how to make the camera a child of spring arm so it can rotate around the player?
@fiery glen I've added all the necessary sockets, just seems the pin isn't spawning and it won't let me add pins
I'll take a picture tonight
@fiery glen
This is what it's supposed to be, everything is exactly the same except I don't have 'socket name' on break
Here's a better screenshot
Sounds like the struct is still missing a variable or has not been updated
@gentle urchin any idea how I can rectify this. I'm still fairly new to unreal and blueprints
@calm irisclick on the SpringArm to select it. Then +Add Component and choose Camera.
The Camera will be parented to the Spring Arm.
Locate the struct in the content exporer and add the variable to it
@gentle urchin talking about the construction script?
Hello there, I'm making a cannon BP and currently the rotation movement are linear. I would like to add a bit of realism by adding some acceleration to it, like a bezier curve, here my rotation movement
any idea how I can do this with a add relative rotation?
@atomic salmon Thank you!!
No, the struct that the db is based on. Changing it can corrupt some stuff tho. Bp structs aint safe
@calm irisif you are interested in how to control the spring arm with a mouse I am showing it in most of my tutorials
For example here at 01:05:18: https://youtu.be/HBQtxXDEhaM
In this step-by-step tutorial we create a fully controllable helicopter using kinematic movements instead that physics. The helicopter can be controlled along 3 axis (forward/backward, right/left, up/down) and can also rotate around its vertical axis (yaw rotation). It is fully animated and tilts when flying like a real one.
Download the FBX as...
sorry I didn't get it
I think you answer the wrong person
@gentle urchin sorry man, what do you mean by Struct?
Oops, sorry !
The datatable rows are based on a struct, a collection of variables
@gentle urchin so it's just basically me opening the data table rows and adding socket name?
So just got to the Data table of weapon accessories and editing it.
You must find the struct itself ,
i finally managed to connect ue4 to an exchange with api authentication. to do so i need to concatenate a string in the query format.
so I was wondering if is there any way to get a bunch of strings and reorder them alphabetically (this is a requirement), because as end result i need a string with all parameters ordered alphabetically.
(this screenshot shows that right now I have 3 strings but I ordered them manually)
@gentle urchin oh wow, it's that easy and to think I wanted to pull my hair out. Just a matter of opening ST_Item_WeaponAcc and adding a socket name row?π
Could use some help with something.
In my project, I created 1 blueprint. It is called "BP_hexagon". On top of that hexagon I will spawn stuff.
I will copy-paste this hexagon a few times in the level.
Yeah ^^
I also added a widget. In my PlayerController I do some sort of actor check (IDK how to describe it). When I click on the blueprint, the HUD will open.
I set up that the button called "Upgrade 1" will loop through all tiles, and then swap the content ontop of it
@gentle urchin Thanks so much!
But how can I make sure that it will "upgrade" only the selected tile?
I created a Object variable in my PlayerController, but I have no clue how to store it
@atomic salmon Great videos, skimmed a few of them! I like the pace and your explanations
Be carefull modfying it to much, especially while its in use. It can cause corruption of sorts
is it possible to elevate deprecation warnings in blueprint to errors, so if a deprecated method is used in blueprint it fails to compile instead of warning?
@gentle urchin I'm thinking, maybe just delete it and redo the Structure table. Same name etc should be fine?
Will try editing first
hello expert i m a beginner in unreal engine in m very confuse creating a pie chart in unreal engine then update form note pade or xml data Plz give me some advice or tutorials
just like bar Chart ,Line Chart,Pie Chart
i can't help you yet, but i'm doing the same
can you link me that video?
Hello everyone! We encountered an issue, where the player movement starts to lag after the level is loaded through level streaming. When we play the level without loading it in with level streaming, we do not encounter any lags. Does anyone know how to fix that? The FPS stay above 30 and the player does not appear to be stuck inside a collider.
thank you so much
WIP - Part one: Networkviz in 3d space https://www.youtube.com/watch?v=tVDv0NkUCs8
so my approach right now would be to create a blueprint that fetches the data, splits data into [n] rows, then loop for each [n] and spawn/append/create/whatever a cube, and with the value of the data row i would scale the cube. append also a text render to output the value as text.. then what else.. customization for materials etc
maybe there are better solutions, but right now this is what comes into my mind
Text renderer could prob be ism aswell with custom instance data
If its a variable, you could change its type. if its a function/event you can remove some pins and then youll get errors
Hacky
Why does my actor's BeginOverlap trigger only on the server ?
Is there a way to reference a boolean thats from a different blueprint
[Beginner]
Anyone can explain me how i can reference a DestroyedActor with a newly Spawned Actor? Im trying to create a basic respawn system, but keep getting the Pending Kill Error.
Right now im trying to unpossess controller -> destroy actor -> Spawn new Actor for the old Controller & possess again.
Been looking for so many guides and haven't found an answer
Maybe there is a better way to respawn the character on Button-Press from the UI, but the YT-Videos I've been following all used destroyActor
save its class
pre destroy
Yes, if the boolean you wish to reference is not private (either public or protected), get a reference to the object instance containing the boolean in the blueprint you'd like to get the boolean reference in and then drag off the object instance reference variable and get the boolean
anyone?
You could use a timeline with a float track to handle your curve, then add the rotation through that value.
Are local variables/assign nodes safe to use in the top-level of a blueprint? You can't add them directly, only by expanding a macro, that's why I ask. They seem to work, though.
Is there a good way to access skel mesh component in a child bp? Creating a bp hierarchy with master on top that does not have the skel mesh component that the child bp has. Master bp is refβed in character bp
One workaround I thought of was to add mesh component to master via blueprint if correct item is to spawn so that mesh gets inherited downwards and are reachable from refering to master in char bp. But then all the children downwards also gets this mesh and that seems unecessary and maybe less performant
function
"get skel mesh"
master returns nothing
child returns the skel mesh
in the override
@hybrid latch
Can I suppress this message? I am well aware of it, but my quest givers can be pushed around π
Hi all, I have a BP_Character with AC_Component. I derived a child character for another game mode logic named BP_CharacterChild. I also need to change some logic in my component so I created AC_ComponentChild class, created it on BeginPlay of BP_CharacterChild and set the value to my AC_Component. Is this a proper way to change my component? Can I set the class of my component that will be created automatically (without programming it myself) so I don't need to do it externally?
Ah that should work!
Problem is that they can be pushed when they are on Moveable.
pushed how ? Make them ignore incoming forces?
I got another question regarding to this, if I create my child component and set it on construction script, will the functions that are bound to the parent component by green + button keep working?
If I run into them, they can be pushed backwards. I've tried ignoring incoming force. Also tried turning off physics.
Also tried turning off physics.
And constrain to plane / lock movement doesn't work either.
Anybody knows why keeping simulation changes wont work for custom classes ?
Think that's called falling
I'm having trouble with this, I'm trying to make text boxes. I made a bool to check if the textbox is open or closed, if it's open, you are unable to move, then you can press e again to close it and set it to closed.
i was able to make it so that you can't move when it's open, but i'm having trouble getting it to close
i'm pretty sure the issue is at the final branch in the end, it doesnt seem to trigger at all
i've tried a ton of different inputs, none of them worked, i tried setting the output to both true and false to see if it was an issue with the bool not updating, also didn't work
i think that might have something to do with the psychics on the collider, but not sure
so take that with a spoonful of salt
Hey guys i have a question, is it possible to use the stockfish engine in ue5? and so how do i implement it or where do i start?
Thank you good sir, try this when Iβm home !
I wish i knew how to do that. Can you elaborate more how to save my destroyed actor to then respawn it with reference or any videos that explain it? Tried save game object right now but im stuck.
Theres a "Get Class" node that can be used
you'd probably want some Spawner Manager that gets this class and possibly some saved values whenever an actor dies
I'm a little confused, sorry I'm like brand new to blueprints
i got it to work though, i was kinda stupid, i didnt need to make a second branch to check if it was true since the first one only checked for false
yeah keyboard e calls interaction
event interaction is when the player presses e within range of an interactable object
this is what i ended up doing, i assume its probably inefficient though
i ended up having to copy paste the thing that set IsTextOpen to TextOpen at the end since it looks like it doesn't stay updated, and the character couldnt move even after the text was closed
is there a better way to do that?
It's for sure the problem. Thing is that my quest givers are always npcs, and sometimes (Rarely) they sghould be able to walk. And making more quest giver masters seems like a lot of work, if there was a workaround π
I'm a little confused
my 3 blueprints are BasicCharacter, which handles movement, then the main character which is a child of BasicCharacter, which handles the interaction function, then the npc, which makes text pop up when you interact with them
I was planning on having multiple characters you could switch between, which is why i made the basic movement blueprint, which would be utilised by all of them, a parent
Do. Not. Put. Input. In. The. Controller. For. The. Character.
But.. .but.......
what do i do instead?
Is playercontroller a seperate thing?
sorry if these are stupid questions
ohhhh player controller is a type of blueprint
if the char input is identical, subclassing the char may be very beneficial
So what do I put in the player controller?
@trim matrix click on the character movement component and play with the options in the details panel
The PlayerController houses the InputStack. Pawns have an input component in them that is registered with that controller's input stack. Thus you can use the control events directly in the pawn instead of routing them through solid events that require casting. You should never make Controller directly call input bindings for the character, because then you have to do that for ever pawn you ever plan to possess and it's completely unnecessary when there's a clean system in place for it already.
input stack?
It's an array if InputComponents
Hey does anyone know how I can make my Vector Snapped To Grid detect collisions? This is how my current setup works. I tried to have it detect if the actor the line trace is hovering over is a buildable piece, but it doesn't seem to work...
Its an Actor, all the build pieces are child actors of the parent build piece. The line trace does appear to be hitting so idk
Ignore self is checked yes. and yeah it seems to recognise the specific build piece, but I need it to recognise all of them... hmm.
Hi. can we change via blueprints a certain bones physics type during a certain event? Like change this bone's type from kinematic to simulated? I can't find certain nodes for it. Thanks
hello how do i get vertex color using line trace?
Has anyone ever encountered in issue within blueprints where you cannot select colors?
something like this for example, where regardless of how many times I try to set the color it stays black
something like this for example, where regardless of how many times I try to set the color it stays black
welp figured out my dumb hiccup... was wondering why only the right half of the numbers were changing. The left half wasn't getting touch until i clicked into the fields and then would be updated as i moved around the circle.
@austere comet both of those colors are black. Turn up V (value)
When it comes to clothing and attaching them to a skeletal mesh, especially one that's animated
any advice?
What do you need for physics based implementation?
from an outside ue4 point of view
Yea, I'm not making it just need to know that it's ready to go
I'm curious about animations tho, how do you have it move with the body?
(Yes)
but do you bind it to the bones then?
do you duplicate the skeleton for the cloths?
because the idea is to have them be able to change π
the cloths
Is there a way to just stick it to the body?
just curious :)
Fair thanks for your time :D
Hi there, a newbie here. I'm trying to implement character swap system by swapping the blueprints mid game
It's supposed to work like this > take control Char A > Swap off Char A to char B > Char A get stored away > Swap to char A again with Char B last location
Only got it to half-working here's the issue I came across https://youtu.be/3czSa8W1flE
Here's the BP. https://imgur.com/a/8ebdcg4
Any help would be greatly appreciated, I'm out of luck myself.
Hello, I need to automate the process of connecting the newly imported object in unreal to the mocap rigid body in real time. I am using Optitrack for motion capture and the live link controller plugin.
Iβm unable to set this up though. Would appreciate if anyone could throw some light on this.
Hi everyone. Been working on an inventory system and I'm struggling to find out how to place my slots on specific position (doing a radial inventory setup). As far as I can tell I need to use a grid setup to let the system know what order the items are in. Or is there another way?
The trouble I'm having is figuring out how to set up the slots along a circle while also keeping data for how to place the items inside the inventory.
Inventory should just be an array. Widget should display items around a circle via 360/ItemCount to get the angle needed to space items evenly.
Thanks. Will try it out.
anyone knows how to force a resolution on the game? my camera is fine, but my ui is rendering outside of it. i tried changing get game user settings -set screen resolution and then apply resolution settings but its not working(im doing those in level BP)
UI doesn't render outside of the viewport unless you've done it wrong by forcing sizes with Sizeboxes and whatnot. If you set it up correctly it'll scale with the screen ratio.
thats the thing..i dont have size boxes
well the way im "setting the resolution " is by using the camera "aspect ratio" i think that might be part of the issue
ok lemme rephrase that, the UI is rendering on the full size of the window
but the camera aspect ratio is putting the black bars on the sides
and the ui is rendering on top of them
so i guess the camera might be the issue...not sure how to fix this
Hi guys.
Trying to debug a Construction script but not seeing my Print Statements.
Can anyone suggest why?
i guess unticking constrain aspect ration fixed it
aspect ratio =/= screen resolution or size
Odd. Haven't done much camera stuff. π Will have to mental note that.
you actually need to change the resolution setting in the game user setting to change it
Yeah. GameUserSettings can help you there.
im trying standalone too
i even tried something ridiculous like 640x480
didnt change
how about usual apply settings?
ok now it works
lol
wth
maybe i needed to save before launching
thanks for the help
hello I'm making a turn_based game and encountered this issue and I think I made a mistake somewhere along the way, and I don't know where and how to fix , the enemy can attack other enemies and they also have an action command which is only for player and they should have it , could you pls help here's video link showing the issue https://youtu.be/B8mNwJ6Lyhs
Nobody has any idea. There could be a hundred different places of failure spread across a hundred different lines of code. Nobody here knows a single line of code in your project. You must first identify the problem area before someone can help. Do you have some sort of function that determines what targets an entity has? I would start at that function.
How do I do a line trace from the player camera
thx
Protip. You can make a very easy camera line trace function in a Library for portable use by using GetPlayerCameraManager. It has GetCameraLocation and GetCameraRotation. Rotation can be turned into an XVector for use in usual GetForwardVector.
Allows easy tracing from camera without having to care which actual camera object it is.
Hi! is there any way to get from a string, all the substring that is between "WordA" and "Word B" ?
i don't understand, how to i spawn this component at a world position? i tried converting the world position where i want it to spawn into a relative position. What should i put in T?
Get Actor Transform
It converts to relative coordinates based on the given transform
is there any way to debug a spline in runtime?
depends on what you mean by "debug"
you can for example use the detach button to get back into the regular editor "view" which would allow you to see the spline
i'm trying to move multiple points of the spline using set location at spline points, but nothing happens on the splinemesh, and i can't see the spline points
I would start by logging the points you're trying to move them into to make sure they're actually where you think they are
jesus how do i use a f-string like {x} variable for printing again
You don't. That's FText and the Format Text node.
Just type the {InputName} into the FormatText and enter, and it'll give you a new pin. You can either use PrintText, or PrintString and convert it to a string.
yes meant that format text node, thx π
Hey I made a third person bp, but the gun is undershooting. The CameraBoom is on Z 40 Socket Offset. I am guessing I need make a rotation offset because of the position of the gun. What's the best way doing it?
I think this might be a more complex problem that fps games deal with.
That is a pretty messy operation. Is there any reason you need the text between two specific words, or? Some form of divider makes that much easier.
@pastel terrace you could look at the fps template and see how it worked there
Hi, I created a plane mesh and I wanna create a material for it to change the planes' color to different colors, so each plane should have its own color. Do you have any ideas about how can I do that please?
Randomized individually? Set All the same different color?
Randomized individually
is it okay if two neighboring planes have the same color?
Because if not, that's... non trivial.
Nope :c
In mathematics, the four color theorem, or the four color map theorem, states that no more than four colors are required to color the regions of any map so that no two adjacent regions have the same color. Adjacent means that two regions share a common boundary curve segment, not merely a corner where three or more regions meet. It was the firs...
Depending on their significance to each other, you can place them in an actor as components, or make each one it's on separate actor with a single component. As for how, just make a mesh with a Vector Param. At beginplay you call CreateDynamicMaterialInstance and set the component to use that material instance from SetMaterial. After that you randomize a unit vector and call SetVectorParam on the material instance.
The significance of the color difference also depends on the amount of colors involved.
To get you started though.
Oh man that's not a bad interview question
Alright, thank you so much @maiden wadi, I'm gonna try that!
Do read up on the Map Coloring Problem though because that's what you're doing. It could save you a lot of headache
Okay! Thanksπ
I was really tired so I got some rest, I'm ready to pick this back up, would anyone be able to help me with setting this up? I set up my inputs on a character controller instead of a player controller, I think. I'm not really sure what that means though or how to fix it, so if anyone could explain or point me towards a good tutorial I'd really appreciate it.
Like I understand player controller is a type of blueprint, but do I just copy paste the movement script from my character blueprint? Or how exactly does this work
Controls relating to that character should stay in that character.
And then general controls that every character uses should stay in the player controller?
A Player Controller is a type of Actor that is spawned for the local player. It allows the player to interact with the world through it's input functions. But you don't put those functions all in the controller. You register another actor's input through EnableInput. A pawn is special in that it doesn't need input enabled as long as the controller is possessing that pawn. Pawn=Character in this sense.
I have all my input logic in my character. Im making a sp game and the player never changes controllers or anything of that sort.
Correct on this. Consider a traditional FPS game. WASD, spacebar, etc are character movements in the character. But what if you die? You still want to be able to see the stats screen when pressing tab. Tab would go in your controller.
If you do multiplayer or have mechanics where different characters/pawns can be possessed, then the logic needs to be split as stated
oh I see, so does movement stay on the pawn..? I'm really sorry I'm so slow to pick up on this stuff
here's what I use to move the player, it's just a modified version of the controller that comes with the third person preset
It does.
And if you think you don't have mechanics where different pawns get possessed, you probably do. Something like dying and respawning is most often handled by spawning a new pawn and possessing it
Put your code on the object it's supposed to affect.
Wouldn't that be the player?
hello, I often face a problem where blureprints wants to get valid objects even if it doesnt use them, for example if I open lootbox, it should only go get lootbox text, however it checks all inputs including one that needs valit dead body reference and spits errors as accessed none on me
is there some way to clevelry bypass checking all inputs in select node?
@magic summitDrop it into a function and IsValid before. Return blank text if not valid.
Player what?
will take a look at it
the character controller, i think is the right term?
Just a point of terminology, the player is the human being sitting in the chair π
Or I guess it could be like a monkey
Or maybe a cat
ohhh ok, thanks
what exactly do you mean by drop "it" into function? select node or stuff before select?
@brazen merlin sword works now. just solving one final bug where the damage doesnt happen half the time
Hello, is there a way to get the speed at which the camera is rotating in a first person project? Like how fast I am moving my mouse? π
Based on yesterday, i would assume its how the overlap is being checked
Just store the rotation from the last frame and diff it with the current rotation, plus the delta time on the tick
wish simple solution like this worked
Select everything in the blue circle. Right click on one and CollapseToFunction or ConvertToFunction, whatever it's called. Then you can IsValid that AsDeadBodyLoot first. If true, return the Select. If False, return blank or whatever else you want.
Actually I might have this exact code gimme a sec
Wait so if movement and character specific actions are stored in the pawn/character, what goes in the player controller?
Pawn management logic, for one
Lets do this specific to your game style. What are you making?
Things that the player could still input even if their character was dead or didnt exist, such as accessing menus
(Nah I don't, sorry. I do but it's super fucked and spread out, not useful for an example)
Funny enough, I have nearly no inputs in my Controller. π I EnableInput in my AHUD class and drive all of my UI keybinds there.
An rpg monster tamer, so there's the human protagonist, but then they can also send out and take control of their monsters during combat
which is what i was referring to when i was talking about being able to switch playable characters
Yeah see that switching control from the human protag to the monster is 100% in your PlayerController, whereas each of the human and the monster will have the actual controls in them
Two buttons in your controller already. Character switching, and Escape/Pause screen.
You could still have the inputs for each character especially if the inputs do different things
And it actually gives a good opportunity to understand why: Let's say one of your monsters is a flying monster. You'd want that to have VERY different controls from your human character
so then looks like I would like to clone whole select node again
Thanks! I'll try that
Oh wait I understand now, so player controller controls the game, then the character controller controls the character, like a steering wheel for a vehicle
I mean I know how to solve it, its just annoys me that its usually overcomplicated like duplicating whole select network
I guess that's kinda a no brainer lol
Player controller possesses a character and controls that character. This is more of a matter of general input logic vs specific
Basically, as long as you're a single player game. But if it was a multiplayer game, you'd need to have different layers for controlling each player's control state, and controlling the game overall
Yeah it's 100% singleplayer
Oh. My bad, fair. Back up a bit. Actually your AsDeadBodyLoot class should have something like "GetUIDisplayName" or something. It could replace all of those break structs and return that text in a single function. Your class here should have a single function that gets that or returns something else that you can put into DeadBody in the select.
here is my solution that works but I need to separate selection network to two
however its separating it, not cloning same 2x
so then i keep all this movement stuff on the pawn? and is there a meaningful difference between pawns and characters? It says only characters can walk around, does that mean they already come with movement logic or does that mean it's impossible to make a normal pawn move?
Easier way to think about it: The Player Controller is the player. It is an actor unique to that player. A character or pawn is just an actor that the player controller can "possess" and control. Thought of like this, the character or pawn is like a puppet, where the player controller would be a puppeteer. The thing is, each puppet can have their own definition of how to move the handles to make the puppet move certain ways.
The puppeteer may also want to interface with the game in other ways besides the puppet they are controlling.
Pawns are more bare bones. Characters extend from pawns
So Character is a child class of Pawn.
Pawn is anything that can be controlled. Character is that plus a lot of existing movement logic and other helpful stuff
actually got better solution, its not good to change logic based on validity, rather on loot type so here if its dead body, its always valid so I dont need to check
So any controllable monster should be a character, but characters can also be referred to as pawns?
Whether to use Pawn or Character comes down to basically the question "Do you think you need to write your own input / control handling, or do you think that the built-in logic in Character can handle it?"
All characters are pawns, not all pawns are characters
Despite how much time I spend raging on them in this channel. π This is also the one place where I would advise converting this behavior to an interface. You have three very separate classes here by the looks of it that all return names. Your pointer there could be much more generalized like a UObject class and just call the interface function to get that class's name, and that class could handle returning it's own UI name.
wait so character is pre-built moving, for pawns you have to script your own movement?
Yeah, plus a lot of other stuff too. Like if you get into AI/ senses
For example, for my game, my movement system is really non-standard, so I decided to use a Pawn rather than a Character so I could build my own movement logic ground up
So any character that you can control, or anything that uses AI should be a character?
hm.. I think my movement is pretty standard
I need a rubber duck for a sec. Trying to get a simple health bar to work and for some reason it's not updating. It stays fully red until death then it clears out.
The numbers are all good, but the bar is not moving on decline
I dont want this to distract from actual problem Im having which is quite general, architecture I set up here in this blueprint works fine, the real problem is how to stop blueprint checking ALL inputs in select nodes, like it has to calculate whole bunch of extra stuff compared if it only evaluated one input that is actually selected in node. I would understand if it was lerp node, it has to evaluate both inputs and alpha but select should evaluate only selected input and index
@gusty shuttlePlayerHealth numbers?
No. Characters are set up more for bipedal characters.
As an example, you could potentially want to control a car. Wouldn't make sense for that car to be based on character. You'd probably want to make a pawn that uses a vehicle movement component instead.
Aye, player has 100 health float, I subtract -25 on hit. Could it be because I need to make a MapInRange
So anything that uses standard movement?
Progressbar is 0-1
Divide current health by max health
Just divide it by 100
reverse those lol
In range 0 to 100, out range 0 1
Yeahhhh, that's all it was! haha I had to reverse them
Or more specifically currentHealth/maxHealth
Thanks guys! Rubber duck successful
Characters are simply pawns that have a few components built into them overtop of what pawn offers on its own. That's all.
Dinosaurs can be characters too.
So if you're wanting to use the character movement component, and you want to use a skeletal mesh, then you should probably use a Character.
If you're wanting to use a static mesh, or want to use a different movement component, you'd probably build it up from a pawn instead.
Hey, I'm supposed to be able to paste this text from the clipboard into Blueprints in order to construct a spline, but it doesn't seem to be formatted correctly. Anyone have any insights on this? Would really appreciate help!
What's the BP command to make an object track another - (i want some 3d text to always face the player camera)
FindLookAtRotation on tick.
Alternatively, in the interest of the AI discussion. Make it a Pawn, and set it's target focus to the player.
Forgive me if I'm being incredibly dumb, but it's been a long time since I touched UE:
Where / what is the correct node to send messages to the log? I can visualize what it looks like, but not the name, and google isn't helping me at all
Worked fine. You're pasting it in the wrong place. Look at the first couple of nests. You need to paste it in the level.
PrintString/PrintText
I swear that was the second thing I tried....nevertheless, thank you π
Thanks a ton for helping me out. I have some learning issues, so I really appreciate your patience, I feel like I have a better understanding now
We've been on this for two days. Super annoying. Thank you for your help!
Many thanks! Here I'd tried it in a crowded level and didn't see that it actually came in, hah
One thing that will help a lot is to find a long tutorial guide. Like a dozen episodes or more. They'll take you through plenty of systems usually. They're not always the best, but it'll help you get a better feeling for the engine and help you understand it. Then you can focus more on better practice.
+1 this. A tutorial that shows you how to do something badly still shows you how to do it
Need a bit of a nudge - might have it backwards but there are about 18 ways I could screw this up
basically have that face the camera
Three years ago, I didn't know what an Enum is. Couple of weeks later I vaguely did. Now I know enough to know how to hate using them. π
so however they hold the controller, it faces the camera
TFW you add 1 (one) new value to an enum and are transported directly to hell for the rest of the afternoon
Serialization is a massive one there. Nothing fucking sucks more than not being able to change an Enum's list order because player's savegames rely on that order to properly load that state.
What's this being ran on? That looks fine.
an index - I'm trying to get it to 'level' the text, almost like it's a sprite
It won't rotate around, but it'll pitch.
nah, it's not behaving clearly like that
Is that being ran on tick?
yes
If you aren't already, consider something like a SchemaVersion that gets saved along with any data you write. Then when you read, if it's an old schema, you can have a converter that mutates it to the new schema on read.
Try it without the complications first. Just do a FindLookAtRotation and use that directly to set the world rotation.
maybe by negative one on z?
Nah. I just avoid using Enums. GameplayTags are much better, safer, and easier to use.
Reverse the target and start in the look at rotation node.
here it is getting there but it looks "odd"
might just need to move it closer to the controller - it just seems like it's radius is expanding
Well, that has the rotation correct. I would consider interpolating it's world position maybe to smoothen it out a little.
it's smooth, it's just odd
It's following the controller.
I know
it's the origin
the origin of that 3d text is on the left, but if you wanted it to rotate evenly, the origin has to be offset
how can I offset some dynamic text?
I mean offset the origin
it's a dynamic thing so I unless I feel like making 8 unique meshes with a corrected origin...
Personally I would consider detatching it from the controller, and interpolating it a set distance away from the view screen projected towards the controller but clamped to a cone in front of the view.
Would it be possible to instead use a material billboard for this?
thought about it - or even a text render - but how do I go about doing that?
the level always loads before it opens
so for my text box i made a UI widget that had the text, do I have to make a new one for each text box? or is there a way to customise the text in the blueprint that summons the text box?
If you mean loading it into memory for faster load times, you generally don't. You can lower load time by preloading major known assets for a level or by changing classes with long load times to use soft object ptrs correctly. Preloading assets is dangerous though if done incorrectly. Would not advise. Consider hiding it somehow or consider softobject ptrs in heavier classes and async load it after the map loads. Can look bad though.
Why? They seem quite useful to me?
Dont scare me I've been using enums lol
This is where a loading screen would come in... covering the players eyes for a time
Well for material billboard its a component and it already faces camera
so i have an ability on my character that allows it to pick up objects using a magnet, but the problem is he can jump on top of them and box jump to infinity and beyond, is there any way to stop this? i've set "can character step on" to no on all the cubes (ignore the bad music in the video, i forgot to mute it)
and they aren't accessible in BP either how
And coding something to always face player is really easy
sounds like some assets are loading async though
Set rotation
And then get the look at rotation to the player
Put it on tick (or a low timer)
I've had a few issues with the billboard component
Probably was on me
what node are you using to load the level?
You have access to OnLanded event or something like that which should return what they landed on so you can allow this input or not
level loading is generally handled through cpp
i gave that a shot but it didn't work
you can try load level instance
although I think you'll find the same issue
I ran through the level loading nodes for BP in cpp just now
none of them use seamless travel
@brazen merlin do you think it could be something to do with the fact i wrote that in a parent class?
it's likely you need a call to parent class
do Onlanded in your subclass and right click the event > Add call to parent function
i tried that, and hooked it up, still nothing
i know i had it working a good while back just by using can character stand on, but idk what i did to make that work so well
Hi. I created a gun and Im adding bullet actors to an array as I place them in the gun. The Bullet actor has an event inside them, that changes the mesh from a bullet to a bullet shell. But I dont know how to call them from an array In order each time from 1 - 6
for example . First fire is array bullet 1. second array bullet 2 and so on
try a for each loop, grab the object reference of it, and then execute what you want each one to do
Yeah I got this
halp
Do once of the event tick , Remember tick will keep ticking
but look what is happening?
I can't get this to play nice using visibliy or set hidden
what is setting the bool?
i thought that was just a bool built in
it is
like to check the visibility
that's what I'm tryign to figure out, but first I need to at least get the diagnostics working
nothing is setting the bool on tick, I can tell you that
but I think I set the hidden game somewhere else but I need to figure out where
you sure the bool is set to true?
that's not a bool I made or set ever
whether I have it set or I've set it somewhere else, I should be able to poll it accurately
The bool need to be tru for that branch to make it say is hidden
that's just it
it is saying it's true, that it is hidden, when I can clearly see the damn text
or its not casting to your MC bp
to get it
so what condition is supposed to be setting the bool to false
Hey guys! Does anyone know how the "Vector Bounded to Box" works and what the input parameters actually represent? I am having a hard time understanding the documentation π€
But how can I set a bullet as fired in order each time I shoot. there are only 6 bullets in the array MAX i want to first set bullet 1= fired, than next time bullet 2 =fired and so on
currently all bullets would be set as fired like this
increment an integer variable each fire, then when it hits the last bullet in your array set it back down to 0, use this integer in a get statement of all the bullet models, and tell the reference from that to set to fired
try the "Set visibility" instead π
ok Thanks
np
Set Hidden in game.
How do you give a Blueprint Component to somebody in Multiplayer?
I've tried to figure this out ages ago, but to no luck. Thought I'd try again.
I also Have another question. Its kinda similar. I have 6 scene components on my gun and each time Im attaching a bullet actor to it I want to attach them in order of 1.2.3.4.5.6 nOT SURE how to pull that off
to the componets
as they represent where the bulllet bones are
I thought about using a sequence combined with do once nodes but seems like it might be arkward
or maybe this somehow
this is literally all you have to do, just replace the x input event with your fire event
Just thinking allowed . but this could work.
so length from the array is the number value of bullets in it?
cool
exactly
I thought set hidden and visibility are the same, except collision is off for hidden, but vis is just the visibility channel
set hidden in game is afaik ment for in editor
so it can be visible in editor,
yet hidden in game
no in my experiance . I had a hand mesh I hide with set hidden. but set visibility wont work
and I have alights that do work with set visibility
Ok thats new to me But I never compiled anything yet
I have a hard time trying to explain my problem but i have 2 components and i want to be able to access each component but i also want to gather the two compoentns into one var so i can access var 1 and then in var one i can access the var 2 that contains each component. How do i do this in blueprints
both being components they could also be connected via the common actor
i was thinking of creating an vector where you can store the two or more components and create another vector that contains the vector with component
assuming.. its a common actor
so like a vector inside another vector
no not a position vector an array vector
hm ok
im not sure i understnad you first suggestion
I want to create more than one A, B.
this is what A, B does
it creates a component that i call pole. I want to be able to create more than one of these
Pole isnβt its own actor?
nope
Iβm confused as to why itβs not
i want to create a cable that has an end location at one of the poles but the cable end is a relative postition and i dont know how to go from world coordinates to realtive thats why im doing this
Itβs simple. Iβm pretty sure there is literally just a function called set world location for components.
You could just use that to set the cable end
yeah this is 100% a better choice but i lack a bit of knowledge about these nodes
ill change my mind and create an actor instead
That will be 10x better
Does anyone know what I need to do to improve this? I have a few things I'm trying to do with player movement. I'm needing to set this up so that it runs on the server but I haven't quite figured it out since I'm super new to Unreal Engine. Been teaching myself since yesterday.
The goal is;
- IF Left Mouse Button is held, then the player can turn the camera
- IF Right Mouse Button is held, then the player can turn the camera
- IF BOTH Left and Right Mouse Buttons are held, it will turn the camera and move the character forward
Currently I have the first two goals met, however when I play the session, Client 2 will see Client 1's character rotate with either left or right mouse button. I don't want the character to rotate when someone spins their camera with left mouse button. Only when spinning their camera with right mouse button. I imagine Client sees the character spin regardless due to there being no server side information here? Or maybe actually since the default value is true for the controller rotation yaw. Maybe I should turn that off.
Any ideas on how I can get the player to move with both mouse buttons, while still allowing the player to move with WASD?
this is messy ..
I definitely feel like it could be cleaner. haha
Secondly, "On the server" ? Multiplayer ?
Yes, multiplayer
gated sequence with tick event
solid
π
what happens when RMB and LMB is pressed at the same time
they go flipflop
RMB always wins
Being new to unreal i'd also strongly advice against multiplayer
Yes, seriously donβt do multiplayer 
there's enough to work on even with a single player game
I have my heart set, too late π
I've been preparing a game and assets for a while now.
It's never to late
Underestimating scope and complexity of mutliplayer is a common thing
I've not underestimated it and it's out of the question. I'm going multiplayer.
Good luck lol
try using the function "is input key down"
If its as easy as you think, you can easily "upgrade" it for multiplayer later on
I never said it was easy.
And moving over from Single to Multiplayer is definitely not "easy"
I'll try that. Thanks π
well gl indeed.
Thank you
Thank you as well
Got any previous programming or multiplayer experience?
No game development experience, but I am a software developer as a career.
No game development experience, but I am a software developer as a career.
So while a lot of this stuff is new, I feel I'm picking it up pretty quickly. I've already got a few things setup multiplayer like, doors opening, damage, on screen damage text. I'm also trying to keep an eye forward on server load right now. Trying to make sure I'm not telling every player everything at once for no reason.
But it's going to be a difficult long road ahead. I know that for certain. I'm building a MMORPG based off of Dungeons and Dragons.
famous last words

Doubt all you want, but I'm going to get this done.
Dont worry, it's nothing personal.
just my 2 cents: It's probably smart to start with a simple and small scale project to learn the fundamental steps. If you map your project in a modular way, you can still come back to it and use your code for the big project.
Lets just say you're not the first individual with an MMO idea
Building a MMORPG
first project
@me when i was new. And half a year later. ("I'm ready now, senpai MMO!")
For comparison, Final Fantasy 1 was basically a D&D clone, and it's not MMO.
Yeah, I'm taking small chunks at a time, focusing my efforts towards specific points.
Someone mentioning single dev MMO always spikes conversation tho!
I assume you are solo?
I don't plan to remain single dev. I'm getting the core systems down first, then will be hiring a few people.
Here's the thing, small chunks at a time, but releasing simpler games along the way is much better than in limbo with a single unfinished project for years
I'd recommend hiring at least one person who has experience with creating complex games like that first or it might end in chaos
Single player indie games can even suffer from that, let alone MMORPG
I've thought about doing a MOBA version first, as that would be much simpler than the MMORPG. It will contain a lot of the same core mechanics though. Which is why right now that's all I'm focused on.
Do yourself a favour and put that noble MMORPG plan of yours aside for future use.
For comparison, it took Final Fantasy about 15 years and 10 single player entries to go MMO.
@unreal tusk creating a large scale game is a huge commitment of time, resources and patience. What makes you so sure you even like working with ue and want to be a game dev in the first place? Are you mentally prepared to be able to spend YEARS on just one project that might eventually never get finished or succeed in the first place?
Only thing missing is UE5 π
UE5 and the power of Blueprint will make the perfect MMORP--
Nah just kidding
Fully ready to spend the next 20 years developing this if that's what it takes.
I was working in Unity on this game for about 6 months. Saw Unreal Engine 5 and loved a lot of it's features. Especially nanite, lumen and ray tracing. I really loved the blue print system as well. So I figure, if I don't make the switch I never will. Went ahead and did it and fell in love with the interface and how everything is done so far.
Though I know the blue print system won't do everything for me π I'm prepared to write code when needed.
is there any way to 'wrap' a collision capsule around a mesh? i want to fit a collision capsule around weapons such as swords in particular without resorting to making each weapon a separate 'actor'. would there be a way of detecting the size of the mesh and fitting a collision capsule around it accordingly
I appreciate your enthusiasm, I really do, but MMORPG is a huge task to overtake by game developers, and none of the feel good underdog story making MMORPG actually exists.
Is there even a single one?
sorry to interrupt. I can cast but I cant plugin widget to target after setting it to variable.
Is there even a single one?
And by 20 years, you could've spend that time making smaller projects and gaining fanbase, and UE5 would've been obsolete by that point.
in 20 years it'll be retro again
What are you doing with the Cast?
I understand. I'm doing this more out of my love and compassion of Dungeons and Dragons Online, way back when it was Pay to Play. That was an amazing game back in the day. It fell apart when a new company purchased it up and went Free to Play. This is more of a hobby than anything really. If something comes from it and I end up getting a dev team, sweet! If nothing happens and I never release an MMORPG, that's fine. If I decide to lessen the scale and do a MOBA of some sorts thats awesome too. Right now I'm just focused on getting the core components down and from there I will decide what my goal is.
nothing going insane trying to plug the set widget into add to viewport like Conrad suggested.
I know it's a walk in hell π I'm ready to burn with it
Im sorry i suggested this lol maybe remake the variable
Is "Is input key down" tied to another node? I can't seem to find it. I've tried attaching it via "Get Controller" but alas, not seeing "is input key down"
Turn off context sensitive search
HOW DID YOU KNOW THAT!???
dam i was looking for Widget Object Reference lol i'm dumb

ok so this might be confusing but I literally have no better way to ask.
I have an array of structs, inside each is another array of structs, I need to add to this nested array but it doesnt seem to be working. I think it has something to do with the variable in memory but I don't know how to fix it
Got any error message to show, or screenshot of your BP setup?
no errors, the same logic that works elsewhere just isnt working in one place
what's best way to solve this little problem?
yes
There is no errors or warnings?
You solved that widget warning?
in that screenshot?
whatever that was
I can spawn stuff but its getting a little complicated sisn i wanted to make modular buildings with modular npc shop keepers. i thinking that might not work or over complicate things
I mean if its not spawning, then its some simple reason why its not spawning
Is it still about the widget, or spawning an actor?
Why dont you try programing the spawn function into the building itself. Then call the spawn function on the buildings begin play.
Firstly as a test.
The bulding can have a function called, "SpawnWagon"
You can always use a print text message in between your different nodes to see where it stops working.
Or breakpoints
I haven't tested it because i don't know how to assigns building. i sure if i try it will say building not assigned. thats why im trying to find widget so i can give it building self.
oh
well that makes more sense.
Well who created the widget?
Your player character?
Im assuming your player interacts with the bulding, the the widget is spawned.
there is a video showing how everything should work.
Im just assuming the building variable name is different, or its an is valid check xd?
THeres a warning tho if you do that
Video
I dont see the blue warning.
So i just assume the variable is not of type building for some reason
but yes still
When I look for an interface message I have to uncheck the context sensitive box, any idea why?
The variable should just be of the type, Building.
as far as I know at least.
Anyways, when you create the UI, just set the building variable
it should be that simple.
You should know which building your interacting with.
I gave the building Public Int BuildingID Var
Does the NPC know which building it is standing in front of?
Player interact with NPC -> NPC knows which building it is in front of ->
Aka, Player interact with NPC, get building reference from NPC, use that reference to set building on UI.
building set npc shop type > NpcShopTypeID
If building id = 2 > Npc id = 2
how do i do that?
It may not be the cleanest... But I've got movement now when both left mouse and right mouse are down, as well as movement when WASD is down.
However, moves at a slight angle lmao... So trying to figure that out now.
It may benefit you to observe The Octopus
I call it The Octopus but really its called Brake/Roll input manager. The idea is, I've got RollLeft and RollRight buttons, but if BOTH are pressed at once, that's Brake
i think this thing is both absolutely batshit and the simplest possible way to implement this
Will this allow for all my criteria?
The goal is;
- IF Left Mouse Button is held, then the player can turn the camera
- IF Right Mouse Button is held, then the player can turn the camera
- IF BOTH Left and Right Mouse Buttons are held, it will turn the camera and move the character forward
Right mouse will turn character and camera*
I think a modified version could do that yeah. End of the day, the goal is to take the Pressed / Released for two different inputs and get a set of control states from that
What's that Local Boolean getting information from? Super new to Unreal Engine still so sorry if the question is dumb
Ahh I see.
That control scheme bear some similarities to FF14, and I'm thinking of Set Input Mode Game and UI
Like if you're new, learn as little from this example as possible, this isn't how you normally wanna do things π
Yes, it's how DDO used to handle mouse input, but you could still also control movement with WASD, I believe FFXIV borrowed this from it. I can't recall if WoW had this feature though originally or if they implemented it later on.
Oh, then I believe Set Input Mode Game and UI.
That'll allow you to have input focus on the HUD widget, and require dragging to move the camera.
From your Player Controller (Get Player Controller), call Set Input Mode Game and UI, then bring in the HUD user widget variable
Oh nice yeah it has the hide cursor during capture, that's a nice feature I was wanting too
I assume HUD User Widget Variable is something I need to setup? I don't think I have any widgets set.
Hold up
This is your first day/week of using UE4?
Welcome!
Then may I recommend you to just get used to the engine first.
https://www.unrealengine.com/en-US/onlinelearning-courses
Also see #ue4-general pinned messages for kickstart courses also from UOL
@unreal tusk Might be because you're using Left Mouse Button and Right Mouse Button twice. I find its always best to simplify my blueprints whenever possible. What if you only have one node for Left and one for Right and do the setting of the booleans before going onto the other logic?
I want players to be able to pick dialog options by pressing 1-4 on the keyboard if they're KB&M. What's the least-gross way to get key input events in a widget?
at the start of the game, I would like to set the initial camera rotation for the first-person player
how can i do it?
this is FPS game
Just rotate the pawn if it's already in the level. If not, look at the spawn transform for it, and set rotation there
I have a question. I am placing a static object along each of the segments of a cable component. (which I am able to do so far). Next I want the static objects thus placed, to move relatively to the cable component when I move it. This is the node setup I have so far (its pretty basic). However for some reason only the last object placed is moving relatively to the update location of cable component.
would appreciate any help
you can't do stuff like how you're doing it
use the construction script instead
having a different execution thread do stuff is a big no no
I mean it strikes me that most of when you want an object to stop ticking, it's because you're destroying that actor too
I'm not entirely an expert at BP, but I was just following the official UE youtube channel tutorial, and they used exec script also. This is literally the same as there
Wait i'm confused on why timeline isn't working for you?
apologies for cutting in between another conversation
I'll give you a piece of advice that I got myself: As long as the boolean is false, this tick is about as computationally expensive as not attaching anything at all.
yep. Which is nothing.
It is a single boolean operation. Your CPU is doing literally billions of operations per second.
It rounds to zero.
You can also use set tick enabled node
WHAT?
To control tick usage
VERY good point @slate pond just do this
you can just make a parent class that auto bind
Though I think you'd have to call to parent on each child if you plan on doing something different on tick
Okay but for real though, I think the error message just happens to have VERY misleading grammar because you named the variable Building.
Lemme see if I can rephrase this error message to make it make sense (to me as well as you π )
"Building" (the object) of type Building Object Reference doesn't match the property "Building" (property name) of type Object Reference"
The Building variable in your Shopkeep BP is of type Object I believe. Needs to be of type Building
^
Somewhere you've got something that SHOULD be Building but is just Object
But that refers to the TYPE and not the NAME
Mind you, I'm not sure why that would throw an error..... Object reference should be able to hold a reference to an actor too, no?
I think it's functionally an unchecked cast right?
its building
oh
yes that fixed it
I have smooth brain
I have errors but I'm scared to ask for help.
This is a super stupid question about some pretty gross code by why is ONE of my Set Brush From Texture nodes wider than the others?!
Hey, anyone have any idea on how to stop my "CreateEvent" nodes from disappearing when I delete the disconnected "SetTimerByEvent" nodes?
Does anyone know about this glitch where occasionally I cannot exit out of the engine?
don't trust youtube tutorials. they're most often made by people who don't know what they're doing
seems like its because of the texture name's length
So I've got my blueprint working completely now. Top node is active when left is on, middle node is active when right is on, and bottom node is on when both left and right is on. Though in my GIF you can see my character moves diagonally. Does anyone know why this is?
well I'm now remaking in construction script..
but don't know what caused my original issue?
The end of this sequence you're doing add movement input for both forward and right vector. Think you only need to do it for forward vector.
That was indeed it, holy cow. I must of been skipping over it this entire time due to staring at this for hours lmao
Thanks for the advise early, simplifying each action to their own little section helped me figure out the flow for this.
@odd ember Recreated it in construction script.. now all the static mesh move with the cable, but they don't respect the updated location of particles.
How do I get all buttons that are inside a vertical box?
you can get all the children and then filter by the type
Hey guys! I'm trying to make my inventory have black boxes instead of white and also to make it persistent as anything i get inside my inventory disappears once i leave the level.
Here is the code for the Inventory Slot Box that's white
I have a lot of code for the actual inventory so I don't know what you guys would need for me to show you
Thank you @foggy escarp
u could just wrap your item thumbnail in a border and make the border's color black? and for making your inventory persistent, you can save a copy of your inventory in the game instance before changing levels, then on beginplay get the inventory from the game instance since the game instance is persistent.. or you could use level streaming
Hello, I would like to split a string using tabs as delimiters. I'm using Parse Into Array, but I can't work out how to input a tab character into the delimiter field. I've tried the traditional escape character \t which did not work (not that i really expected it to). Any pointers?
this one, for clarity
Well it's not ideal but you can just paste a tab character in there π
Hey, thanks for the response. I definitely tried that, but for some reason the drop down disappears if those two nodes are removed.
Edit: Deleting the old nodes and then re-dragging a new create event node seems to solve the issue.
Edit2: Seems like it's actually the reroute pins that are causing the error, super weird, but just in case it comes up for anyone else.
Copy and paste a tab character from notepad :3
yeah its a bit silly in the same way that hitting shift enter works for newline, because it just leaves a blank box
but it does the job
UE needs regex in BP
someone online said this has regex https://www.unrealengine.com/marketplace/en-US/product/low-entry-extended-standard-library (free plugin)
There are plugins that can do that.
trying to keep third party stuff to a minimum but thank you for the link! might be handy for personal stuff, i see it literally has a \t node π
you could always install it, rip out the code, and write the classes yourself, though if your project isn't a cpp project already, I'd definitely say more trouble than its worth
What happens if you just make another "Create Event" node?
Whats the proper way to do this?
It seems like it's specifically the reroute nodes that block it (keeping the old ones but removing the reroutes fixes it, adding reroutes to a new one reintroduces the error). I'm using UE5 5.0 so it could be a bug with that.
try dragging off of the array element pin and then typing in get background color
Anybody know if its possible to create an instance of an actor component by declaring it as a variable in another blueprint? I have a blueprint for an actor component and set a variable up in another blueprint and set the type to the actor component blueprint. whenever I try to access the variable in runtime i get the 'accessed none' error. Not sure if im just not defining it properly or if what im trying to do is not possible.
Same in UE4
@rugged elbow Not a valid option (nothing shows up)
You're not creating an instance of a component by making it a variable in a blueprint. By making a variable of an object or a component or whatever it is, you're just making a spot that can contain a reference to the thing you're trying to store. If you're wanting to add the component to the actor, do so using the Add Component button at the top left, then you'll automatically have a reference to the component within the actor.
ok you might need to cast the array element to whatever it is you are trying to change the color of
I'm basically trying to make it so that when you click a button inside the vertical box It sets all the other buttons back to default value. The new selected button is darkened to show that its the current one selected.
This one Works but If I add or remove buttons I don't want to have to change the code every time.
you could just make an array
yeah thats annoying. the set background color function's target is a 'button' so you just need to make sure that whatever is being returned out of the array element is a button
ok makes sense. i followed this tutorial for making in inventory system https://youtu.be/4CjpBoKl6s8
he uses an actor component to store the dimensions of the container and the array of items stored inside the container. I want to have containers that spawn in the world. is that not going to work with an actor component blueprint? like do I have to just give the blueprint for the container the array and dimensions and redo the functions to take that in? hope im making sense lol
Support the channel through donations. Crypto accepted!
PayPal: https://paypal.me/reidschannel?locale.x=en_US
Patreon: https://www.patreon.com/reidschannel
Bitcoin: 1JFwWHr4X6uAeoZadukzqKjzFBj3Qjy7Sk
Ethereum: 0x2B2Bc108F1Cc0fF899959dEF3226637787d8C3dE
Dogecoin: DNQ33YnhpWoTBokBNVkZP5ub8KTLkpyjpv
Join our community discord!
Discord: https://dis...
Should work. All you have to do is add your inventory component to any actors that would have an inventory.
Then I imagine you configure the variables by selecting the component in the hierarchy so they display in the details.
oooooh i see
so instead of declaring the variable i 'add component' on initialize or whatever?
So I am having an issue that I believe comes in from inheritance. To further explain my parent blueprint has an event called to complete the action of ragdoll-ing the actors (set physics on mesh and destroy actor). But when I hit play all that happens on death is the actor disappears. Could someone point me to where I might have missed a step? I've tried setting to parent event and it didn't change anything.
Well, if you have an actor that is going to be your container, and you know that all containers are going to have an inventory, you may as well add it by default to your base container class. Any child classes you create from this container will then all have the inventory component and can have their own settings - so if you have a small container with a small mesh, you can configure it's inventory to be small, and a large one to have a large inventory.
are you overriding the event that does the ragdoll in the child?
No, it calls from an interface and I assume grabs the parents event
thank you for the help! i feel like im really close here but im still getting the 'accessed none' when trying to get the actor component. however i know im closer because i can see that it has a value when i debug (before it said 'none')
This only works if the actor is facing exactly in the positive X or negative X directions. Why?
it gets passed through as 'none' for some reason. and I did delete the old node and drag in new ones.
i'm probably missing something but how could i add an additional control where you hold right click and it locks the character rotation to look in the camera direction like with the destiny 2 camera controls
So doing some testing on my end, there's nothing wrong with inheritance and interfaces. Both not calling and with calling the parent I was able to get meshes to replicate physics. Seems like there's something else going on, like perhaps you're doing something else that's calling a destroy on the actor?
Alright, I'll look into that further. Thanks!
i think you should use event construct not initialized ?
do you have the camera control function working already? like just as an always effect?
quite the opposite, i can get when the player holds the button, and by using orient rotation to movement or something like that i was able to get it to lock, but not until you input again. so i was wondering what rotation maths i would do to make it rotate on itβs own
so it sort of works?
hello, I want to loop through a mesh, and have them all spawn in the shape of a square ring
how can i do this?
yeah, let me grab a video of what i have
im not good with math, I would look up formulas for generating points around a square (Im assuming there's some stuff about width and height from a center point then incrementing it somehow to create even steps)
i dont think so because the same code works when bringing up the other widget that displays the player's inventory
im not good with math, I would look up formulas for generating points around a square (Im assuming there's some stuff about width and height from a center point then incrementing it somehow to create even steps)
thanks ill try
okay scratch that, i have nothing but the holding down the input part, i think i did it wrong
well, rotations are tricky, so im not sure about it, but i would try to get it working without the input part
i also never played destiny, so i dont know what its suppose to do
i think essentially what i want is a turn in place, i'm sure there are plenty of people out there who have done the math already
because the camera is on a spring arm, i think the rotation is locked while set to inherit control rotation or whatever that setting is. I feel like ive see a "free look" camera tutorial though, maybe thats better to search for?
there's definitely a way to limit axes so it can be two instead of three or whatever you wanted
Right now for my textboxes, the UI widget has a preset text that shows, then the NPC will create the textbox. I'm wondering if there's a way to make the text publicly editable so I don't have to make a bunch of different ui widgets
perhaps an interface?
bpi would pass the text value through to the receiver, so its not really about a variable at that point, but having whichever widget receive from whichever sender
How would I go about saving a copy of it in the game instance?
it depends how your inventory works, but essentially you just have to save the data of the items you have..
usually I use map type variables for inventory, so i would just store the map in the game instance and when entering the new map get it from the game instance
ofcourse you have to make your own game instance blueprint and add a (in my case) map variable to it and set the game instance in your project settings
Quand we randomise in range this value ?
Do it on the output of the timeline.
clever , thanks
I have my own game instance, and the inventory was made using this tutorial series:
https://www.youtube.com/watch?v=yxqSkFNAzE0
The problem I have is I can't change the white slot to black without making my item thumbnails completely black too, as if its an alpha issue.
And as for the game instance, is there a way to get my players inventorycomponent and save that on the game instance?
If so how do we do that what nodes should I use?
In this new series I go through a method of creating an inventory system, similar to a survival game. In this first part I introduce the system and go through the process of setting up some key assets that we will need going forward.
There are unlimited ways to create a tutorial, all based on your own tutorial design. As per usual with my tutor...
Is there a way to set it so that the forward vector is not the direction of the camera but the direction the mesh is facing? Running into an issue where if I use middle click to toggle an autorun off the forward vector, when I use left click to turn the camera, the character starts moving forward towards the camera direction
The black/white issue is more of a #umg issue as it has to do with the design of the widget itself. It's not something that's strictly blueprint related.
As for saving your inventory, that all depends on where you store your inventory and then getting reference to that location using the appropriate gets and casts. As an example, if you stored it on player controller, you can easily do Get Player Controller 0 in the game instance, cast to your player controller and do what you need to, or do the opposite by getting the game instance and casting to your custom game instance from the object that holds the inventory, and having functions set up to save the data from your inventory in the game instance. This is basic blueprint communication and using variables to store the data you want.
enable use controller desired rotation on your autorun, make sure to set it by referencing your character movement
i think
don't quote me on that, i think i'm wrong
Cast to the Button Class
Just tried that, tried both on and off, didn't work.
Why don't you just get mesh rotation and make it a forward vector?
my bad, give orient to movement a try instead, if it's not that, i'm not super sure
the mesh will still rotate with the camera moving i think
Depends if movement is based on control rotation
Turning that off makes the mesh stop rotating which is good, but the character still is moving in the direction of the camera. So just kind of sliding sideways but moving "forward"
I see, I'm currently storing the inventory component in ThirdPersonCharacter, what else do I need to do to store the inventory? I'm quite new at this and need to know what nodes to use
try changing the forward vector to the forward of the mesh
It's literally creating the required variables where you want to store it and passing the values there and retrieving it from there. That's all that's needed for storing something in the game instance.I also created my inventory based on that tutorial, and I believe it has an array like I'm showing here - you just make sure that your game instance uses the same structure variable type. So you could potentially make a save function within the inventory itself so that it does the save/loading itself when called to do so.
How would I tie these together? Still pretty new to UE, but. if I pipe just Get Forward Vector on the mesh, it makes the character spin in a circle when I turn on auto run, but it seems I can move the camera around like I want. Though, I'm assuming it's spinning around because I'm no longer using the rotator? I need to spend sometime to understand these four nodes..
am i able to rename a file in bp with no plugins?
those 4 nodes basically get the rotation of the controller, and grab just the part (Z) that spins it and gets the forward of that, what you'll want to do for an auto sprint is just grab that and lock it to the last input of the control rotation
i'll write it up for you if you can write it into your bp yourself
Think these nodes are always available.
i just realiste i have to randomise the time and not the value
Do it before the timeline π
You have the "Set New Time" input that can be called and a value.
a ok thanks
I should be able to manage yeah. I'd greatly appreciate that man π
can you rename the file exaction
Not sure, I've not used these nodes. Give it a try.
so im making a mod for a game and i only have default engine blueprints butt what i need to do is somehow download a file run and execute bc it will need to be hooked into the game but make it so that the use will not need to do anything
Does anybody know if there is a way to get an animation asset or animation sequence variable and convert it into a useable animation pose in an anim bp?
if you are referring to animations used in the anim graph, you can make a Bind (more specifically expose pin) so it can set as a variable input
this is an interface, right?
Oh okay
that looks like an interface as far as i can tell
i worry about the question though, perhaps learning about them might help you see how to work with them for your needs
i knew it was one, i'm just not really sure how it works that well
do you know a good place to learn about them?
What I meant was having like an animation sequence as a weapon's base-pose and being able to dynamically switch poses when swapping weapons with a reference to that animation sequence variable
https://www.youtube.com/watch?v=EM_HYqQdToE hot from the pins @trim matrix
i think still the same as what im saying
Okay I did that, I added those as functions in the InventoryComponent, in the Toggle Inventory Function I put the Save Inventory and Retrieve inventory functions but it still doesn't save my items in the next level what could be wrong
Whats the toggle inventory function?
and its called in the thirdpersoncharacter event graph with Tab, thats what creates the inventory window
Does anybody know of a free first person animation kit or something that I can use? I really don't want to make my own animations lol
You only want to save the inventory when moving between levels and load it when loading into a new level.
Game Instance will also not persist between game sessions - it's not an actual save system, just a means of storing data between levels.
Hello everyone! Somebody can help me...
I found animation, create animmontage from it, and set-up custom anim slot. In animation blueprint I add this slot. And in blueprint class I call "play animation montage", but in game, when I press 1 it doesn't work. Somebody know, what I do not right? May be I forgot about something?
ask in #fab and check the marketplace
Alright
why does the add instanced static mesh function produce incorrect normals?
before(manually adding in the instanced static mesh component) and after(adding the component through bp)
Hey guys, this forum is mega thick so i dont know exactly if im asking this in the right place, but, here goes- im using Ue4 to make a test game. I have a circle reticle which reflects the current bullet spread- a fired bullet will always land within this circle (ive been following "advanced shotgun Spread" from Rieds Channel).
Do you folk have any ideas how i might create some sort of aim float like in mount and blade warband? you know how you hold down the aim or something and your aim gets tighter, and you zone in? thats what im going for
Question on saving key mapping - I'm using the save key mapping, but it only works in the play in editor, not in packaged. Is there something else I should be calling as well?
I restarted unreal and it fixed itself π€¨
You can use a timeline to output a float which control both the displayed reticle size and bulletspread. Input mousebutton to play the timeline
Thanks, i was mucking about with an Finterp To node, but a timeline might do better.
I want that smoothness
why not both?
I may do that haha
im getting a 'variable is not in scope'. does anybody see anything wrong with this blueprint? maybe the cast? or do i need to go make a getter function? variable seems to be passed along just fine up until that node
Maybe one of those fancy "isvalid" nodes. Theyre never a bad thing off a blue pin #NotaDoctor
there is one, but i actually dont think thats needed since the success output for a cast is the same thing essentially
i put it there because i want to make sure the item that was double clicked has the 'inventory component'. its checking to see if the item is a container.
the BP_ItemObject_Container is a child of another class that does not have that component
yeah, i dont think it would hurt, but yeah
does not have the component? shouldn't it?
i added the component to the child class
the parent is a base class for any item that can be added to the player's inventory
the child is for items that are also containers with their own inventory
maybe i need an interface to get the component??
then it sounds like it doesnt exist at the parent level which is what it's cast to
couldn't you just make this component variable in the parent for the children to use?
I'm trying to pare down a larger enum to something simpler. I came up with a solution but it seems clunky and just curious if there's a better way to do this that I don't know about:
just by looking at this, im not sure what you are trying to do, but would a select serve better than a switch?
I looked at the select but i didn't see how that could work. Could have just missed something. Basically, we're using the Advanced Locomotion System which is what that ALS_OverlayState enum is. I'm updating some reticles and I just wanted to simplify that large overlay enum to something more manageable for me to work with which is just a "Held Weapon" enum. So just remapping that larger enum to the simplified 3 state enum that has unarmed, pistol, rifle.
yeah i guess this way works...
oh shit
doesn't look that bad once you get use to it π
i just saw how select works once i connected the links lol
pretty cool right?
it lets me pick the outgoing enum from the selection.
maybe it works for you
its casting to the child
Heck yeah hah. Sorry for the language. At first I missed that
itll still be kinda.... noodly
yeah - this is total hack/quick and dirty for now.
oh! my confusion
no worries
Can you provide a screenshot of the entire left side (show the components & variables) of this class. Example provided as well.
certainly
Thats your ItemWidget class. What about the BP_ItemObject_Container
this is my BP_ItemObject_Container
it is a child of this BP_ItemObject
and its set to something right?
the inventory component i mean? like there's something there to define it or set by code
You added it just as a variable, not as a component to the object?
... I think I get it... Your base class is an object.
Objects can't have actor components added to them.
BP_ItemObject is the parent and BP_ItemObject_Container is the child which does have the component
oh thats a good point π
explains the not in scope part at least
oooooooooooo
And why he's getting None as he's probably not setting the value.
im not getting none anymore
wait no the base class is not an object
its not an actor
strange that it lets the component even be added....
o wait yeah it is
It's not added. It's only a variable in the class.
no its added as a component
It's not.
