Start with this
https://www.youtube.com/watch?v=4w8vSss4YiI
Try my C++ Survival Game Course:
http://bit.ly/unrealsurvival
Discord:
https://discord.gg/meFRZfm
Business Email: contact@reubs.io
402296 messages · Page 868 of 403
Start with this
https://www.youtube.com/watch?v=4w8vSss4YiI
Try my C++ Survival Game Course:
http://bit.ly/unrealsurvival
Discord:
https://discord.gg/meFRZfm
Business Email: contact@reubs.io
okay, This is the only part of my movement that technically doesn't work. I've done a playtest with my friend who lives in a different state and they seemed to be fine
I actually haven't tested with lag though. Let me try that real quick
How are you doing sprinting?
So I do a lot of random stuff to get this to work. Here are the screenshots in order of the flow
don't know why I over-complicate it but it works
so sprinting isn't predicted? I'm suprised it works but if it works it works. I'd expect some crazy jitter at the sprint activation with any sort of lag.
I know right. It's so odd
I also have wall jumping, sprint jumping, and slide jumping. And they all have just a tiny jitter as well on 40-50 ping with anything below that being almost none. They are just a server ran Launch Character
I am just going to use a temporary fix because I'm only playing with my friends until I learn more about the engine.
thank you for your help
Pretty new to game dev is blueprints gonna cause any performance issues in my games is it better to use coding?
Blueprints is definitely less performant, really a mix of c++ and blueprints is good
Hey guys,
I got a little tank arena game in the making and strugeling to find an optimal way for custom movement replication.
This is the system i currently have in place.
Basically I start a timed function on an input action, that moves the player locally for everybody, when the input action is released the timer stops and the location gets updated with the server location.
I had no luck yet getting some sort of smoothing system on top of that to work, and I already tried to add some more server location updates regulary but without smoothing its stuttering a lot & i dont wanna send to often over the server.
I am also not sure if rpc calls are the way to go here or if maybe some sort of repnotify event would be better, or if c++ is the only realistic way to go about custom movement replication. Sadly I just now a bit of python xD
Maybe try #multiplayer
In terms of movement replication, from what i hear c++ is the best for it though
i mean for what is c++ not the best ^^ at some point i would definetly try to do it in c++ but that would probably take me a while, so I'm just tryin to get a basic system to work for the first couple of prototypes that are more focused on the other gameplay aspects 🙂
C++ is not the best for rapidly prototyping gameplay, or making minor gameplay elements
Complex systems, and tick based systems can really benefit thoigh
E.g. custom movement
Yeah i meant when it comes to a performance point, but ofcourse you‘re right blueprints are definetly awesome for rapid prototyping and can even work pretty well in final products especially with blueprint nativization
Would anyone mind sharing example uses cases for Maps and Sets? I'm trying to understand them enough to remember to use them when the opportunities come up, but I need a few more real examples, :). Thanks in advance!
Sets I can't really give you an example on, but Maps are super powerful. They're just a mapping of a data type to another data type.
Say you wanted a sparse grid, and a way to check if anything is there.
Map their position (Integer vector) to an actor reference.
Then it's simple to check if a position is occupied, and you don't need a huge amount of mostly empty entries.
Say you wanted some input to activate some ability, and your inputs are enums and your abilities are actors
You'd have a map of Enum to Actor, and can easily get the Actor corrosponding to an input Enum. This also solves the collision problem, as an input can only activate one actor.
Is implementing a horse that moves in the direction of its movement and ignores camera rotation the same as a car controller?
You mean rotates in the direction of its movement?
like it's always facing the direction it's going?
That's already built into the CMC
now whether or not a capsule is a good collider for a horse is another matter
I have a bad combo of inherit on the camera or something is controlling something
well what do you want?
Right now forward and right strafes instead of moves in a circle
Just turn on orient to movement in the CMC
and make sure your movement inputs are in local forward and local right, not camera/controlrotation forward/right
The camera settings for free look on rmb held are built in also right? Right now it rotates the character, what setting is that?
Having a tough time explaining what pieces are broken.. you have the root of the horse which has Pawn info like use controller pitch, yaw, roll. Then you have character movement which has the use controller desired rot, orient rotation to movement, then you have spring arm camera settings for use pawn control rotation, inherit pitch,yaw, roll
right now the horse always rotates towards the camera forward
im sure all the input and flags are completely wrong by now after trying 100 different combos
No
i got it backing up and moving but the camera should free look, not control the yaw rotation
ook.. works, no idea why.. slowly backing away 😄
The camera isn't controlling anything, you need to start from the top down. The camera is probably using the control rotation which can also be used by a lot of things.
What are you using control rotation for in your setup?
I ended up turning on use controller rotation yaw and feeding the controller my MoveRight input
if it works.. it ships, right?
maybe 5 birds, maybe 12 birds 🤷♂️
@haughty meadowWhy are you going int to name tho
if Ao A is angle of attack, I'd just make a couple curves
well, data tables for some weird reason have a row id thats is a name instead of an integer 🤷♂️
CoL_Delta
CoL_Swept
CoL_Straight etc
curves are a pain to edit. spread sheets are simple to edit, now add 17 more curves vs adding more columns to a spreadsheet
It's not a weird reason. It's not the 90s. People don't use plain integers to label data anymore.
so, the question is how slow is that conversion because to my mind it seems like it migh be slow
Guys, I have such a question. Is it possible to compare two arrays not by elements, but in general by whether they are the same variable?
rounding and casting is super fast.
320 rows, ever 0.25 of a degree from -5 to 75
ok, so if its not going to be slow then all is good in my world 😃
How are you generating the data?
just do that on the fly IMO unless it's some super complex function
I don't quite understand what you mean😅
I have two items and need to know if they are in the same array or not
Whether turns out to me at first it will be necessary to check up it is in the first array. If not, then check the second array for False. Still need to apply this for two items
hello, I need to create a border and when I use constant for corner radius, it doesn't work like scalar parameter. Is there any difference between them ? For visually same effect, I need to give 0.001 constant value. Can I say if constant gives zero it does not work like zero it is a null value ?
@still rain YT, Unreal engine main channel have heaps of Blueprint tutorial
Does anyone know how to get a precise location of a widget regardless of Viewport size and location?
I tried get cached geometry but it's not accurate
Did you try Force Layout Prepass -> Widget -> Slot As Canvas Slot -> Get Position ?
I am trying that now, and I tried that too before If I can recall. When you re-size the window it went all over the place
I created a draggable windows system. I can send you that bp. it contains resize and movement functions. you can look at them
Cheers
I'm testing get position now
Hmmm get position moved my overlay widget to the top left. I think it's checking the position of the widget on it's local space, not where it is based on the viewport
I will try local to viewport
if target main canvas is not 1920 x 1080 and not positioned to 0.0, use this to get X and Y multiplier
👀
and multiply get position values with them also add main widget's position
why are we dividing by 1080p tho, my game has to support both 16:9 and 16:10 monitors
Thanks for sharing btw
well I guess I can divide it with the current resolution
Precise location compared to what? The viewport?
Well about anything
When viewport is resized, when screen is moved, etc
Im trying to spawn a tool tip widget
Like when u hover over a skill for example
Why not just use the binding?
What to bind?
my widgets are created dynamically, with dynamic ammount of buttons depending on the character
Also I would need to know precise location of UI for many other things
Wait, by skill do you mean something in game, or another UI element?
I will post a screen shoot but it's not about having a skill or anything, it;s about finding a widget precise location on the player screen
I'm asking because if you're talking about a tooltip when you hover over another widget, there's a binding for that. It runs once when mouse enters widget and once when mouse leaves widget, attaches tooltip to the mouse, and keeps it inside of the viewport. Makes tooltip widget creation very easy.
When I minimize the viewport
im using local to viewport atm, clearly not the node I need
This node fires when I hover over the button
and destroyed when im unhover
what I need now is to move the tool tip, precisely where my widget is
I would personally recommend the binding. But to solve your direct problem, you have to convert your widget's location into the canvas you want it to set position in.
So Slot as canvas slot? I've done that too >_>
Tooltip Widget.
Yeah thanks that will solve my temporary problem, but my games has plenty of mini games that I need to know how to go beyond just placing a tool tip. Eg Rhytm game
hence I need to know how to get location of the widget
What I meant by above is that you're converting the widget's local geometry into viewport space. Not the space of the canvas you're setting it's position on.
this?
Thanks!! I will try that
Get child's absolute. Convert it into the canvas's space by absolute to local
Right on, these whole thing still a bit confusing to me. I will try the example you gave me. 
@maiden wadi it totally work... now I know that I need the entire canvas panel to be accounted for at least I get some idea
thank you for your help! Appreciate it
is it expected that things grabbed with the physics handle component do not have collisions?
They'll have whatever collision profile you give them
but it does not collide with walls even if it does
Show how you're grabbing it
@crimson saffron what happens if you don't mess with the collision?
Are you saying an object that hits walls suddenly just ignores walls once you grab it? You're not attaching it, right?
I am not attaching it to the walls
Are you attaching it to anything or doing anything beyond grabbing it?
Is there any way to make the crouch and un-crouch gradual like MoveComponentTo?
yes I am setting its collision to ignore pawn
and resetting it on release
If you don't do that does it still ignore walls?
yes
How about mesh or floors?
Probably not for the state but you can make the animation gradual
maybe it's ur collision profile?
Do you 100% know for sure that it hits walls before grabbing?
Crouching is a state you enter rather than a new camera position, I'm not sure what even to animate tbh
Are you talking about using the built in crouch in Character or doing your own?
built in
A bool can't be half true but you can use a transition in your animation state machine to make it gradual
I'm thinking of making a component that serves as the camera's end position and making the actual camera gradually follow
shouldnt the camera manager handle it ?
first time I hear about it, might be the thing I need
Hey! Would anyone happen to know the reason my left/right mouse camera is going up and down diagonally instead of left to right? Up/down works fine but left/right drifts to the corners for some reason
I no longer have the default thirdpersonbp for reference 
input axis turn must be affecting add controller pitch input
screenshot the blueprint pls
btw how do I use the camera manager?
what about the pitch input?
Is there any way to reimport the starter content? I'd like to look at the default thirdpersonbp to see how it's set up. I modified mine already and it has the same issue
I'll check it
HAHA i think that's it
lmao. thanks 
forgot to add mouse Y...
nono it should be just mouse Y for mouse up/down
here's mine and it works like it should
does it work now?
maybe you gotta accept something to make it effective? save and compile everything
oke
It's something with the way up/down and left/right are interacting with each other. When I disable pitch control to test, left/right works fine
Hey guys I have A problem with my spawn NBC system the ai isn't moving after spawn and it auto posses to spawn or placed in world can any one send my screen shot of spawning system please ?
@dreamy marsh have you tried adding breakpoints and see what it actually output?
its probably something like YourClass_C_0 since is instanced
do you have a nav mesh?
Wait, what? I've just created a new blank third person template to see where I went wrong, and it's behaving the same way. Am I just crazy? Maybe it's the way I move my mouse and pitching down is normal? It feels super weird
what are you having trouble with?
When I turn my camera left/right, it veers up and down
This is literally the default project and it does that. is it supposed to?
it feels so strange
I thought my game was broken, but the template has it as well
join me in a vc and let me see your input settings and bp
thats just the default thirdperson template
do you mean that its reverse or moving too fat?
check the gif, that's just me moving my mouse left and right as straight as humanly possible, and eventually it goes down to the floor or sky
default project, nothing changed
in UE5
it shouldnt even be getting closer or further away though
your characters spring arm length should prevent that
can you screenshot your third person bp?
you may have accidently changed the engines Third person bp
When I'm actually playing the template tho the camera doesn't bother me 
so it is working fine on template or its the same
It's the same on the template
its possible you accidently changed the default 3rd person character template try first person
imma check one sec
probably not
ok i think i got you figured out
make a map where each class is represented by a specific string
Just checked 1st person. Nah bro.. I think it's just me all along.... When I move my mouse left/right I must be steering it up also creating this pitch that feels like a bug for some reason. Also, the 1st person template is actually kinda fun
what are you trying to do exactly?
ok one sec
yea
will this like what you mean? @dreamy marsh
right now I'm using this to tilt the camera slightly in the direction you're heading, is there a way to do this through camera manager instead?
wym? like rotate it to face the direction youre heading?
its ok, could you do a DM VC?
for example it rolls to the left/right if you go left/right, just a vanity thing that I think looks neat
im just wondering what youre overall goal is and i wont be i will be heading to work in about an hour and half, anyway we could mute our mics so no noise its just easier to see live i think
have you tried making a timeline and adding rotation to camera but clamping it to a certain value?
is it better than using Move Component To?
i can after work later if you still need help if its too early. i get off around 3 pm your time
i mean ive never used move component to node so i cant really say, but at least get your current camera rotation and lerp it to the desired rotation for smoother rotating would possibly help
do you have an example video of what youre trying to accomplish?
what's lerping?
short for linear interpolating
like smooth movement to a new location?
wdym?
the set node before the move component to node what is that?
oh nvm, I was setting the rotation it should interpolate into and immediately getting it
I got rid of it
after each of your (x 1) and (x-1) nodes try multiplying by 45 for each rot @white elbow
and maybe check ease in and ease out for smoother rot
but it already rotates quite smoothly, these bools just make it very slow
Guys, im making a speedrunner game for Android and i did a BP of my map and a box trigger at the end to call the same map again and put the char movement on event tick to always run. Is there a better way of doing the map logic?
Hey guys, Im setting my explosions up so that if the player is behind cover, the explosion wont kill the player.
This is what I have right now:
The trace begins when the player overlaps an explosion radius actor. It then fires a line trace towards the player from the center, and if something is in the way of the line trace it wont deal damage. However, a piece of soap could be in the way of the trace and it would still stop the player from taking explosion damage. Any takes on how to improve this? 🙂
you have them all on same bp?
try to just put the rotation to be slightly more then because as of how you currently have it set up it only rot 1 degree
Instead of one LineTrace, you could add more; two or even 3 Points to check against (Head, Torso, Feet). If atleast one is true, it'll deal damage.
I know, I need just a slight rotation
ok so whats not working though?
I was asking if something similar could be done through camera manager, since I've no idea how to work with it at all
you should maybe try applying it to the spring arm instead if youre on 3rd person character
rn I have a component specifically for this rotation
do you not have a control arm?
uhh no, what's that?
I'm doing first person
oh then nvrmnd
this camera tilting would look so weird in third person haha
still, what's control arm?
you could use ik to player head if you plan on using a full body first person mesh but idk about the cam rot... a spring arm sorry
wdym "speedrunner" game? Game made for speedrunners to beat as fast as possible?
Or just a misunderstanding for endless runner?
i think they mean endless runner
Hmm, I guess these linetraces should originate from different locations around the explosion radius then, but then you could be hit from odd angles aswell? Or would the player get hit from odd angles then, compared to the blast. Hmm 🤔
use sphere trace instead
I do speedrunning part time, and watch speedrun videos, so I don't get the gist of the proposed gameplay at first
oh honestly didnt know speed runner was a thing
I was wondering if someone could point me in the right direction with this blueprint, It works for the first player but not the 2nd player. Here is an image of all the variables in the player, an image of the health and energy connected to the progress bar as well, but for some reason, when the energy and health is impacted, it doesn't decrease the progress bar for the 2nd player on controller. If you guys have a fix I would greatly appreciate it!
Why doing the binding tho 🤔
How do you mean
Was that a reply to my issue? If so I tried that, but it still collides with small objects thats in the way 🙂
Oh I see, I thought that was the way to do it? It worked for the first player so Im not too sure
Wouldn't it be better if you just use interfaces (or events to tell the widget to read the value) to update only the moment the character receive any form of damage (even healing ones)?
In the event graph? I suppose, would you happen to have any sources that I could look at to get an idea on how to construct the blueprints?
Ohh, my bad! It just seemed like a possible solution aswell hahaha! 😆
@mild pine sorry got confused yes that was for you
Thats my issue, linked to it ^
Oh 😆 The SphereTraceByChannel still collides with small obstacles in the way though, like signs and such. I gotta find a way to prevent players from figuring out that if you just hide behind a cardboard box you wont get killed by a missile strike 😅
have them set to a custom collision profile
Depends on how you setup the damage receive events, but with Unreal damage interface, the gist of it is to tell valid HUD widget to update the value it reads when the character receive damage.
and have your trace ignore that type of collision
Hmmm, I guess it would indeed need that extra layer. So every small object would need this custom collision profile in that case
I see, I thought I did it the right way by making functions, Ill try and see if I can figure out another way
Well, bind events and the way you set it up isn't that reliable to begin with.
yeah but wouldnt be too hard to accomplish, i just dont know of another way unless you do everything else that you want it to hit instead have the custom collision
Alrighty, Ill take a gander online at another way, thanks for the help!
Yeah, it does sound like a good approach imo. I'll try it! 🙂
ok, imma head to work soon, ill be home later this afternoon, DM me and lmk if it worked and when i get home later we can work on it somemore if youre still having issues
So Im setting the default response to Block here, changing the LineTrace to that profile, and then making the static meshes not block it? Or I got it the wrong way around? 😄
Not sure if a SphereTrace actually cuts off after hitting a wall, thats why i suggest multiple LineTraces there as well. Or you set the collision object of others to custom collisions so it won't hit the player
It worked perfectly!
But with this method it's still likely, that a prop could eventually block the LineTraces
cool
I made the use of a single line trace from the center of the blast, and Im setting objects that shouldnt give cover to not block the trace 🙂
(Test object being that colum of metal in the middle of the screen)
Is there any known limit of variables that i shouldn't exceed when using a bp? hahaha
@mild pine game looks amazing!
Thanks for the help guys! 🙂
never heard of one but idk
theres a guy named groundhog in the voice channel right now, he would know, hes very knowledgable
Its just a demo map and an assetpack, but thanks! I'm customizing the crap out of it atm 😆 Got it connected to Steam API and can play it online now 😄
make a decentegration bullet and have it turn hit players to sand from impact point lol
https://gyazo.com/6813d4444b524a084d6c5f7060a6793b Working in practice 😅
Hey all, I've been trying to set up a basic checkpoint system for my current project and it works halfway. (player is reset to checkpoint but I need certain objects to be set to locations as well) Effectively what's happening is the object does trigger my killbox, SetActorLocation triggers, returns true and checking the coords of the object after it triggers it says they are at the new location (meanwhile the object hasnt moved whatsoever) Any ideas? 😅
Its a endlessrunner sorry
Is it possible to reuse EventGraph logic between different Animation Blueprints (ABP)?
if so. Whats the best way?
how do I change the camera's FOV?
anyone know why I can't see the Line trace with these settings?
Is there any good tutorial of make a ready asset car to rotate its wheels ? I got a low poly car asset (which got ready skeleton) and am looking for a tutorial of how to animate its wheels when its moving ..
Greetings, everyone!
How to reflect (bounce) projectile depends on platform movement in 2D plane?
For example, if a platform is moving in the right direction,
then reflect a projectile also in the right direction
depends on platform movement. Same for left direction.
So, anyone know what i need to Know if Using my Skel Mesh and Sockets, because When i try to attach Lights etc, on an Socket, Looks like they rotating, Crazy, anyone know how to avoid that?
Hey I have an actor which is using projectile movement and rotation movement and as soon as they spawn in world they are rotating and moving but I want when i equip them and fire them then only they should move any suggestions plz help
Hi, I have a blueprint that is supposed to rotate a rock 120 degrees every time E is pressed. This works, but when I add a timeline to smooth it's motion, it spins wildly, as shown in the video. Any ideas?
You're updating starting rotation every time you rotate it
It seems the idea is to lerp between start and start + 120, so if you keep updating start to a new value, it might do something weird like this
you're the man!
Your first code looks fine, but your second code, you are essentially setting the variable to empty. You need to just use a "GetCurrentStand" node and use that as the target for SetActorHiddenInGame
Is there a way to somehow change an existing function so it accepts a float value via Blueprints? I'd rather not rewrite the function via C++ if possible!
I am setting the recording frame rate using Take Recorder, but by default it only accepts integers, but in Sequencer I am using 23.976, so the ideal is being able to feed the Numerator value a float somehow.
My checkpoint sets player location just fine but wont set my defined object to its correct location. (it returns true and states that its coordinates have changed but the object hasnt moved)
Nope. Functions take whatever arguments they were designed to take... So you would need to convert your float framerate value into a numerator and denominator
hey guys, I have this BP to make books quicker, and I've made them HISMs, but it doesn't seem to be saving on draw calls at all. Here I have 1300 draw calls, if I delete the books I have 190.
There are 4 book meshes, 4 variation MI's with 4 textures using per instance random in the MM. I have no clue why this isn't reducing draw calls.
not to mention how they light/shade weirdly too
How do you add a tooltip to an actor component? Like the whole component, not just a variable.
How to do animation hitstop when hit enemy like in God of War 4? Any link to tutorials would be appreciated
is there an easy way to move components down from a BP parent class to a child class? UnitCardBP is the parent and I'd like to move all three components down to FullUnitCardBP
HISM puts its instances into clusters so it won't be cutting out all the draw calls
You can try copypaste but YMMV sometimes it just fucks everything up
heh figures
@regal pebble Also, unreal auto instances static meshes by default - the real benefit of HISM these days has to do with culling. If players will be seeing all the books at the same time then a HISM won't be of too much benefit.
hmm okay, so it turned out the root was set to movable, meaning it was probably messing something out, in that same area I took pice before, I now get 500 draws which is much better.
Would you suggest just calling regular SMs instead of instances then? My biggest issue with that is, the 'perinstancerandom' node in my material doesn't work this way
4.26
yeah everything should be getting auto instanced by default there, unless you have something in your material that prevents it from happening
also keep in mind that editor selection uses its own draw calls (the orange outlines)
hmm okay, so this all seems how you would expect then?
Is there a way to make a null terminated string in blueprints
Why?
Because I am parsing data from a JSON file and it doesn't give me a null terminated string
I'm not sure if I follow... JSON strings are inside " " double quotes
null terminated strings is generally just a weird C thing which you don't need to care about in other languages
strings are terminated!?
you need null termination in a char array, but not for a string
how do i get it so that my images arent stretched?
thers a vertical box that contains the title and the buttons and i dont want it to be that big, but idk if i should be using size boxes as this widget will go inside another one on a parent widget
Thanks for confirming. That's what I thought, but in my case I do need to set the framerate to a float value in Sequencer. It's just part of a tool that is designed to automate writing a file to Sequencer to a setting most commonly used by a team. (23.976)
I was looking into the variable being used, struct FFrameRate, and was considering making a new struct where I copy the code and make the values float instead of int, but not being that familiar with the source files, I imagine it could end up getting more involved than changing the function to take a custom variable.
like ive got this but idk what widget i need that will resize the content according to how much available space there is
current stand is an actor you can try and get its skeletal mesh first
standSkeleton in ur case
CurrentStand>StandSkeleton>PlayAnimation
hohoho
do you set current stand somewhere?
if you set it as starplatinum
you can first cast to starplatinum
then get its skeletal mesh
but i guess ur current stand is just an empty actor var
if currentstand is a starplatinum before you use it
it will work
try cast to starplatinum from currentstand
yes last one
both options is star platinum?
if they will differ then ur method is most likely impossible
i never did it like that
select a class
Iam moving the car with spline but the wheels are not, whats the best way of moving the car with the wheels ?
idk bos im very bad at understanding other ppl intentions
How can I get a reference to my player blueprint (BP_Player) from within its animation blueprint? (ABP_Player)?
Trying to access variables from the player blueprint but this wont work
do you like spawn an actor with a single animation and it vanishes after?
like afterimage?
It wont let me access variables from the BP_Player Character REF? Do they need to be public within the BP_Player blueprint?
Dragging out from the Character REF variable that was created
im thinking that if your current stand var is impermanent all you can do is try to cast
cast to skeletal mesh
it holds an actor?
in both cases
hohoho
so try casting to skeletal mesh
Public does not work, here is the whole thing for context
ye cast to skeletalmesh and than you can play animation
but its not a fact that it will work
check if cast fails
Just a fyi/heads up, I've gone through hours of bp via youtube for spline mesh, all good in totality, but this https://www.youtube.com/watch?v=kJyWSzfwEk8 , whew, got a good one , works great and is simpler and a lot less promoting to variable, thought for reference I'd let others know 🙂
This guide is about the spline component and the spline mesh component. I find this useful and one of the most important components you can find in Unreal Engine 4.
Another guide worth to check: https://www.youtube.com/watch?v=Vxmh7-XPb_E
Check our community Discord channel: https://discord.gg/SQ6JEkQ
Follow me on twitter: https://twitter.com/T...
Its from 2016, but working great , so happy its finally working ;0-0
Hi, I'm looking up some animation data in the asset registry. In order to find the animation clip by name I need to cast the found asset to type animation. I can't seem to find it in the blueprint editor. Animation Composite is available to cast to but not just the animation type.
Does anyone know how to cast to an animation type?
Your variable "Character REF" is currently of type "Character" so it cannot access the "BP_Player" variables. Change the type of the variable to "BP_Player" then it should work.
Thank you!
Ayo, i have a problem with how to interact with actors in a certain order. i have the BP already done with the interaction but i would like to make it only interactable from the first to second to third to fourth per example. Also wondering how to put specific number on actors. Found out that i could use enum or array but couldn't understand how to make it work. Thanks in advance 🙏
Is there a good substitute to the Launch Character node? It doesn't seem to be working right for some reason.
Try add impulse
https://gyazo.com/5c1ece292b07ef820cda792468031e97
cant use the buttons when this screens comes up if i play my game from the begging. But if i play it from half through, the buttons can be pressed
It's not clear what you're asking here. Do you mean that you want actors of the same class to trigger events in a specific order? Sounds like a level BP thing to me
Did you change your input mode to "UI" at runtime and not change it back?
Why would you not make those skeletal meshes actors?
Sure, but what's up with that variable that you're trying to plug in? You're storing a reference to a component and trying to use it where an actor reference is needed
Oh, I had it backwards then. Just read the error when you try to connect it. You have an actor and you need a reference to a skeletal mesh, so you would just get that component from the actor reference
Playing montages in whatever BP this is definitely isn't the best way to animate, by the way
State-based in an anim BP is more or less the best way to handle 80% of an actor's animation
Is there a way to turn InputAction into a continuous event that does something every tick?
So you don't ever want to do an idle animation, or walk/run? Setting up an animation blueprint is the best way to handle that
Well either way, the "Play Animation" node says that it needs a reference to a static mesh component. A reference to the actor of the needed class will contain that, as will a character BP iirc
Thank you!
No problem
yeah it fixed it thanks
Input Axes work like that, I'm pretty sure, otherwise you could try something using the pressed/released events on a regular input action
Inpus axis is executed on tick ^
never mind it didnt fix
this is were the screen pops up
i set the input to ui
this is where the player gets out the screen
If you are still having the same issue, read the message you responded to again. You're trying to plug an actor reference into a node that needs a skeletal mesh reference. You need to call the actor's skeletal mesh component
So yeah you should use an animation BP for this
how do I make a custom movement in CMC?
? Just use the value that you promoted after spawning the actor
You're already trying to use it in that screenshot, but you just need to get its skeletal mesh
nevermind
So you're promoting the value as you should, but it's being stored as a generic actor reference because the class is being defined by an input (you're not doing anything wrong with that part, it's just the weird way the node works). Cast the output value to the class of your actor before promoting it. Then you can just call that actor's skeletal mesh component after calling the variable the reference is stored in
Is that the one whose skeletal mesh you're trying to reference?
Then yeah
If you use an input node for the class rather than setting it in the drop-down on the Spawn Actor node, its return value will be an actor reference
Hover over the blue output pin on the Spawn node and you'll see
Yes, Spawn Actor returns a reference to the actor it just created
No, because not all actors have skeletons
It's not super relevant in this case, but you could probably do it with just a character reference
You cast the actor reference to see if it's able to be converted to a reference of your desired class
"cast to." with the class you need
Casting basically means that you're checking if the input object also belongs to another class, and it the best way to convert reference types
For example, if you were to spawn an actor that inherits from the character class, you'd have to cast it to character or a class below that to access thing inherent to the character class, like the character movement component
Cast to the class of the actor
You'll also have to change your variable type if you want to save the new value to reference later
how do I make sockets?
Open the skeletal mesh asset, view the skeleton tree, right click a bone and hit add socket. If I remember correctly
What are you trying to store in it?
Yeah lmao
I understand it
Firstly, those are the same class
And secondly, you could make all of those inherit from the same base actor, if you're trying to access common things
Let's just get 1 class working for the moment, though
No idea what medium or IP these characters are being pulled from btw
So you would make all of your actors inherit from the same class, and you would store common functionality or values in the parent
Again, just get it working with one (1) actor for the moment
Which is fine, yeah. Just make it a reference to the parent character's class and set it up so that anything that would need to be shared is stored there, rather than in the children of it
can someone tell me why these values aren't equal ????????? (in my screenshot it looks like the code is "stopped", it's because I had to stop holding a slider to take the screenshot, but when it runs it's the same) nevermind, using a "nearly equal" and a "not" node seems to work...
I've always ran into the node just returning an actor reference in that case, is that not how it works anymore?
As long as you feed in a typed class variable, then the return value will be of the object of the appropriate type.
In my experience it treats it like a generic actor
@round basin Floating point values usually don't equal exactly. Use "nearly equals" instead
You need to drag off of the return value, not the execution pin.
yeah I just tried and a nearly equal + "not" is working, thank you!
Does anyone know why this value returns 1 or 0 ?
Ok, right now your node is returning an actor class. Hover your mouse over your "Selected Class" variable.
How can I make it so when the button is being hovered over by the mouse it shows this image on the right of the character
they are separate images
would i have to use a variable for every image i need to hide/show or can i reference them somehow?
That's setting the value of the variable. What I'm saying is change the type of the variable.
if i'm using a level bp will i be able to implement let's say, four times the same bp actor and force them to have a specific order when interacting with them ?
Drag off from the set, and recreate your select node.
You make sure everything is a child of StarPlatinum
Yeah, that's probably the best way if it shouldn't be map-independent
Rename it if you want, but everything that is similar should inherit from the same class if you want to do it this way.
https://gyazo.com/725b0db5366b4be564617bfba62152d2
made a compass and im trying to add an marker on the compass for the player to know where the enemy is. However, its only displaying the marker for one enemy not all.
alright thanks 🙏 i'll look into it
Is the "get bone mass" node supposed to always give 0 or 1?
It seems to be supposed to return it in kg's... have you checked that the bones actually have mass that isn't 1 or 0?
maybe untick scale mass?
how would I do that? the physics asset is not 1 or 0
is there a way to get the physics asset in use?
just to make sure
that does nothing sadly
welp I'm out of ideas
btw it's spelled Analyze... Analize might mean something else 
seems to print 1 for the larger and 0 for smaller
oaaa nooo
lol
It seems I always find something no one has stumbled on before. How is that even possible
It works on meshes not being master pose, it's probably that
Any Idea on how to make animation blueprint work on an already spawned character ? I have a character with a Skeletal Mesh (Empty) and Empty AnimClass, when I spawn it and set both the AnimClass and mesh, the animation bp dsnt work, Only works when I pre set all this stuff before spawning
Anybody else experienced SetActorLocation not working (setting actor coordinates but actor not actually moving)
Not really, no
well damn. Whats weirder is it works for the player pawn but not the other object i need to move
is it moveable?
aye its a dynamic object
the SetActorLocation node even prints true after being called
thats the thing, I checked the object's coordinates after setactorlocation is called and it says that the new location is equal to the one i set.
teleporting
but the actual thing isnt
sure you dont have two things?
its directly referenced in a checkpoint blueprint then the variable from the checkpoint blueprint is fed into the setlocation
So hard referenced in editor, yes?
i believe so
gimme a minute ill get you a gif
so the suspicion for duplicate object is real
image to show the objects in question (CP-Checkpoint Obj - Object to teleport Ns - New spawn location) The ball should move to the NS point when it hits the green stuff below
This is what happens https://i.gyazo.com/12da81b7b15b5049e30f6ab18a0c1a6f.gif
show bp code?
sry for messy wires
The thing I really dont understand is that it says the teleport was successful and that the new coordinates are where they should be yet the object itself doesnt appear there
its probably because of the physics simulation
the "actor" might actually be there, but the physics for the ball are simulating the mesh somewhere else..
respawning and set actor location are going to be different
I bet if you stop physics on the ball actor right before the teleport
it will work
what im saying is i used set actor location for the character too
are you sure he simulates physics? im not just talking capsule gravity
ill give that a go
if you go to Window > Developer Tools > output log, there may even be warning message about trying to teleport an object simulating physics
goddamn it
there wasnt a log for it but youre right thank you so much
been banging my head against that wall for hours
😛 sorry, its happened to me before when i tried to do the same for a vehicle
it feels like something that should just work so i didnt even consider the physics toggle was an issue
yea, when you are simulating physics on a component from an actor, it kind of like runs away from the actor a bit, i doesnt really follow attachment rules at that point
well, that just made my life alot easier, thank again
np
Apparently the get bone size node requires collision (physics) enabled
@earnest tangle
oh that's interesting
some of them do need something like that, or you can get the same info via some other method
makes no sense (to me)
I suppose it would have to do with why does it need mass if it's not simulating physics?
I mean, it's just a number
True, but why store the number if it won't be used.
In my case I'm using that number to see which bone is the largest
no need for collision
so it worked when it had no physics to begin with and i triggered it, but now i toggle the physics simulation before the setlocation and its not moving again 😂
now it just stops stock still, the actor still teleports without the rest of the object and the physics are never turned back on
Maybe its best it we break down exactly how your system is setup. What is the ball actor. What does it contain?
And whats your code for turning physics on and off right now
The actor contains the Root, a Collision sphere around the ball that isnt simulating physics and a sphere primitive
ok, so when it wasnt working the first time, you had Simulate Physics checked off for the sphere primitive i guess?
checked on****
aye
this is the new code (casting to the sphere pole so i can access the sphere's physics status)
it disables the physics right at the start after overlapping but then doesnt to the movement like expected and as such since it never leaves the overlap the physics never return
try a couple things
try adding a delay before the teleport of 0.0 seconds
just curious
ok, then try unchecking teleport from the set actor location nodes
likewise
whats the target you are plugging into the simulate physics node
the sphere component of the sphereopole BP
the only thing in it that simulates physics
Also just did another test
disabled its physics and placed it in the volume, triggered it by jumping in
it spawns where it should and then begins simulating physics again
so i have either half but not the whole picture
haha, well if im being honest. Your code is a little hard to read which means also a little hard to test stuff
yeah sorry about that 🥲
Like im guessing this is the trigger blueprint. And you want to trigger blueprint to do different things depending on what "triggers" it
right?
yeah, if the player falls in i want both the player and the object to be moved, if the object falls in i want the object alone to be moved
You should try to encapsulate the logic inside of each respective blueprint. So you arent directly modifying object components from a blueprint that doesnt own them, it just makes things super messy
So in this situation you have 3 blueprints. Trigger, Player, Ball?
four but the fourth one only provides the locations to teleport to
and the player experiences no issues
Hello all o7. I have a quick question about my math usage in this BP. This is a simple currency deduction upon activation. It actually works and deducts currency accurately, but once it reaches the bottom, it stops taking currency and just spawns a new tower. What I want it to do is just not work unless I have enough currency.
Right. Are you familiar with functions? You should give Ball a function called "Reset" And that function should take in a location parameter. Then you can handle everything related to Ball inside Ball.
yeah ive got some knowledge about implementing functions, probably got a bit carried away with this BP (and i dont like hopping between windows for bugfixes :'))
So ResetBall function does the following -> Simulate physics off > Set Actor location to the location from the function parameter > Simulate physics back on
So trigger should only be responsible for deciding what outside functions to call
Yea i hear you, its just really hard to debug in the current state
You might even have to add a node to like zero out the relative location of the ball?
nah you're right, it makes more sense to break it into functions
game dev has a ton of hacks, sometimes you have to do like 30 things in a frame to get something done lol
Well, I see nothing off in that code
Just one thing to point out: with the conditional you're using, if the cost of the tower is equal to the amount of coins, it will say that the player doesn't have enough coins. Is that what you want to have happen?
I think so, assuming it actually stops at 0. So if I have 25, and the cost is 25 I can still do it, I will just have 0 afterwards.
Then use >, yeah
what you've shown here doesnt seem to be the code that actually spawns the tower though. You need to find that and implement the conditional check there
i created a blueprint class but when i try to add it to the first person character components it doesn't show up. how can i fix that?
im brand new trying to transition from unity lol
You are right. I was checking in the wrong place. doh!
@jolly ingot only components can be added to actors. There is a component called child actor, which will let you specify an actor as a component
You probably want to reparent your Parkour Movement component to Actor Component, assuming you want it to work like something like the character movement component that already lives in the character class
Also I should clarify that you can still attach actors to other actors, it usually just has to be done either through code or in the world outliner in a level. It cant be done in the components panel (unless its a child actor component) but I find those buggy and tend to avoid them.
if i have multiple characters, how do i make a reference for the current character that the player is using?
from the player controller > get controlled pawn
do i still need to cast or is that it?
you do need to cast if you want to access specific stuff about your character
or even if you want to access stuff specific to a character (not a pawn)
mk, i'll have to try it, thank you
It will not, because if it's equal, it will output true, which will follow your branch into your print string. Like the other guy said, you could use > instead
Yeah, you would use a multi line trace for objects
probably gonna wind up for today considering is half 11 at night but im sorry to say that the function, while working better than the script alone, still doesnt send the object along with its actor
@vernal lake damn, well keep trying. Its weird that you are saying the character hitting the trigger sends the ball back, but the ball hitting the trigger doesnt send the ball back... i do think it was something related to the physics. But maybe you could try a "set relative location" for the ball component to be 0, so ithat it will snap back to where the actor is...
that might be a shout
@bright sleet if its set up exactly like you have it in your screenshot, you dont have anything set up to actually bind the event, you need something executing the bind event node
you madman
you absolute madman
it worked
though setting it to 0 doesnt, i have to input the same vector as the spawn point even though... nevermind it worked 😂
Yea i mean thats the root of the problem. The component location is offset from the actor. Maybe you want to simulate physics on the actor instead of the component? Im not really sure. You can try to use event tick and "DrawDebugPoint" to print the exact location of the actor vs the component at all times, then youll have a better sense of what's happening maybe.
I cannot compare <= with floats anymore... yesterday it worked fine.
anyone knows any solution? 😕
have a c++ project... also did rebuild the solution
lol... did make a float variable in the blueprint class. with that it works fine...
What node would I need to add?
And so the issue lies in the first screenshot in the CAC level blueprint
Hi everyone. I have a few npcs successfully patrolling a map and they are not hostile towards you. I only want them to engage that behavior tree behaviours when the level game alert is set to a certain number. But I am having trouble figuring out how to either cast or use a blueprint interface for this. Im unsure what the target or object can be.
It's a bug with UE5 preview 2 right now that'll hopefully be fixed in the next preview. You can right click the pin on the less than node and convert it to a float. You should be able to connect it then
sadly right click does not work for me. but if I make a new float variable inside the blueprint and pull a lessEqual out of that, it does it the right way... from there I just reuse that lessEqual and delete the variable I made again
thanks for your answer and confirming this is a known bug... 🙂
The issue is that UE5 is switching to double precision floats, but there's still a lot of things which use single precision. They had called double precision floats "Real" in preview 1, but changed the name back to "Float" I guess to prevent confusion. That change might've broken some things
It says preview sometimes if you haven't built lights
say I have multiple actors, a bunch of models I've imported, and I'd like to control them from one blueprint... how would I do this? I've tried several classes and I can't drag the reference in. I can only create a blueprint that inherits one actor at a time. The level blueprint seems to be doing what I want though.... I can drag anything in and it creates the reference for me. I'm already doing a bunch of stuff in the level blueprint... is there another way?
The level blueprint will not provide any real solutions
Provide more info on what Exactly you’re trying to do
With pictures of the code
what isn't clear from above description?
Is there a way to rotate a charecter model and animations to face the opposite direction if imported facing the wrong way.
Yes, put them as components in an actor and rotate the components in the viewport window
Maybe you want an actor object array variable, with instance editable turned on
Then find the variable on the object and click the plus button to add new references
ok yeah that maybe is what I want... i'm importing models and want to bind a unique key for each model to show/hide. If I do this in the level blueprint I'd be copy/pasting the same code a bunch of times which is probably bad design
I only seem to be able to get the references in the level blueprint which is the main thing i'm wondering about
Some of the language you are using is slightly inaccurate which makes it hard to determine exactly what you're trying to do, you should post some pictures.
Generally, you will need to vastly improve your understanding of how references work, such as how to get references to thing without using the level blueprint. For instance, you can use GETALLACTORSOFCLASS node, or the spawning actor can keep track of everything he spawns, there are dozens of ways to get references to things.
All that being said, it seems like your goal might simply be to change the Mesh of a static mesh component when you press a button
That logic is different and pretty simple, you'll just use a SET STATIC MESH node within the actor that is getting changed.
yep, that part is clear
since I'm using a unique key for each model I'm not sure there's a better way to do it than this
I think I know what to look into for now, thank you
So for logic like this.....it should probably just be running on the Player Controller.
Each of the Star objects, when it does BEGINPLAY, can GETPLAYERCONTROLLER ---> CasttoyourSpecificController, and from there it can send a reference to itself up to the player controller, preferrably in an array or Map (SizetoFit)
Then, the player controller handles all the key inputs
With a function that just points to a specific index in the array (or key in the map)
you can DM me for a more specific rundown
but I think this calls for the Registration philosophy, where objects register themselves with some central object (like the player controller) so the references are achieved that way
Can't seem to figure out how to change to this HUD type when a player hits a special key.
I've been searching the BluePrint API in the PlayerController but can only find "AddWidget" and this is not a widget...
Thanks for the reply! This is exactly what I was hoping for. The Enum to Actor, to handle abilities, is really interesting. I'd love to hear other elegant ways you (or anyone else) has used Maps.
@late shuttle HUD is a bit of a legacy class. You specify what HUD to use inside of the GameMode itself. Theres a section for HUD. Hud BP has some functions you can overwrite but i think its more common to use Widgets these days.
Nowadays people use HUD to serve as "data secretary" for the widgets
@grand valve Thank you, Sir. I think I'm following an old tutorial.
I'll convert the code to (UMG?) Widget
Yes. Or Slate, if you want a little masochist about it
Is there any use for a Hud at this point? I know that there's a "Hide Hud" value in the controller or something, but I'm not sure how functional that is
You can still use it. I didnt really think of it in the way Makoto said, as like a place to hold player controller information for any widgets to access, but that's pretty good idea
its just kind of this class that is auto managed by the engine so it was good for convenience, but might have been a bit of a pain to implement different HUDs for different character types or stuff like that
I personally always just put it to None and setup a quick base level canvas widget, takes like 2 minutes and from there its probably better in the long run..
Hmmm... never used a Canvas, honestly. Always went straight to Player Controller -> Create HUD Widget
Looks like I've been accidentally using default HUD from UE4
poking around there does seem to still be this
which kind of answers your original question
Client set HUD. Saw that and thought it was reserved for some type of multiplayer component.
THANK YOU, @grand valve
So i've been working on a character selection/customization system for my game and there's some stuff that i'm totally unable to sort out. Each time i make some progress and i feel that i'm close, i don't see the proper way to do it. I would appreciate some guidance from anyone with more experience (not hard since i'm basically a noob lol).
I have a menu level for the main menu and the character selection. The default pawn class in this level is just a pawn with a camera that contains some functions for the widget and logic to dinamically change its transform based on the clicked buttons.
1- After starting a new game (single or multiplayer) i want two steps for the player to select the character. The first one is the CLADE which determines a spawn location and the characters available to select for their customization. The second one is the SPECIES selection/customization based on that clade. I've managed to create the logic to change the spawn location for each clade and the movement from the level pawn player start to each clade spawn, but i can't set up the way to filter the characters and make some available while the others aren't. I've tried with structures and data tables but i'm kinda lost using them for this.
2- A friend of mine created the color picker logic and the species selection switch buttons, but he made it so the customization is applied directly to the in-game character classes (maybe i'm wrong but i think this has a conflict with the menu pawn); also spawning the in-game characters in the menu level causes some issues due to all their logic. I've tried using player starts to spawn an actor BP as placeholder, with some logic to change the skeletal mesh based on the character selected but it doesn't really work. And also i don't know how to save that customization data and apply it to the in-game characters once the player confirms and goes to the game level.
Some screenshots i've taken so it's easier to see what i want.
Thanks in advance.
So on the first question about making some available and others unavailable, do you mean that the UI should be greyed out, or that the option shouldn't be available at all? If it's the first one, you could probably just have a bool for "is available" somewhere, and you'd check that when creating the UI and when your click event fires
well the idea is that they shouldn't be available at all, like pressing the switches only spawns the creatures from the selected clade. There's going to be a lot of playables so would be kinda annoying if like 80% aren't available but you need to keep pressing the arrow
I guess that doesn't really answer my question. Do you not want them to appear on the UI or something?
the thing is if there's a way to assign the species (characters) to those clades, and then gettign them from a row or something, that's what i've been trying cause otherwise if i need to use a bool to set up each species to each clade ticking the avilable ones, well... there are 10 clades and around 80 species, that would be nightmare 😂
i don't want them to appear on the UI at all
and i don't want them to be avilable to be played ofc
I guess I don't get the question, then. If you don't want it to do something, don't create that functionality
wait, i'll post a video, maybe gives a better idea
Yeah, so you're picking different menu options and the position changes based on that. I don't get what question you're trying to convey, though
well the first one. Each of those options should determine which characters are available for the player to select, multiple characters per option
but since all the characters are children of the same master character, when i assign that master character to spawn, no matter the option i selected, all the children characters are available to select from every option
What are you doing to spawn the character of the chosen class?
i get the characters from a structure that contains the children character blueprint and the name that should show on the UI
that's what my friend made to select the character using those switch buttons
Well, DT sounds perfect for this situation, no?
Each clade can be the row name and it contains the creatures in the clade to show
Preferably soft class references
That should work fine, I guess. It's still not clear what the actual issue is. If you want to prevent something from being selected, just create a boolean for it that's checked before it fires its event
i've tried creating a structure for each clade that sets the data on the character info structure, but didn't work, and i also tried using DT but as i said, i'm kinda lost using them for this, i guess i need to take the index to get each species from each clade row but i do something wrong (or i don't do what i need to do in the end)
i did exactly that, worked fine for the clade index and name, but didn't know how to get the species after
Wdym, the class itself is the species
You don't need to use the parent as the class, use the child
ah but i didn't used soft class, never worked with them tbh
Only difference is that you load them as needed instead of all creatures being always loaded from the list
It sounds like he's spawning them as desired, so a soft reference shouldn't change much
Yeah, if they're already present in the world, won't change much anyways
You can even have in case an array struct in the DT that contains infos of that clade
nah they don't spawn when i use DT, like you can see on that video, i get the clade name and index, but doesn't change the species
Is that in Multiplayer or not?
but how do i use the child, i mean if each row is the clade, then i need to get the exact reference for the characters assigned to that row
that's the idea
Not really
You can just tell it to spawn the returning class
It doesn't care what the class is
You just care about getting the class in there
Cause the spawning class ref is Actor
alright, i'll try that tomorrow then
i know there's something missing or wrong when i use DT, idk what tho
And not entirely sure if the Widget will let you actually spawn something locally in a Multiplayer scenario, never tried, lol
If you mean non-replicated, yeah, but otherwise you need to call it from somewhere that is replicated
Widgets don't replicate, so you'd need to get the owner or something and run an rpc from there
Yeh, probs will work just for a local preview and that's it in case
well, me neither, but that will be an issue for the future i guess, for now i'll be happy if i fianlly get the correct characters for customization lol
That's pretty much it, yeah. Locally spawned things are more or less just cosmetic
well actually the only thing that needs to be replicated are the colors selected for the character mesh
Override "Find Player Start" in the GameMode for a better solution
And he's right, you're getting index 0 of an array when there might be a better way to handle your logic there
i've tested it on the game map and that works, the character selection screen should be just a preview to pick the colors and stuff and then apply them to the character after
It works if there's only 1 PlayerStart with that tag ever
It will always spawn you at the first one if you have 100 for example
i get that spawn tag variable from here (second pic)
there's only one player start with each tag, just assigned for more than one clade
I'm not wrong in thinking that he should just override AGameMode's function for it, right?
i don't say you are at all lol
well i'll do that to then
Go ahead and do that, because it could call that variable from the controller or wherever you have it stored
I think the function takes a player controller input?
So you could just cast that value, get that name variable from it, and then use that
I'm on the phone but I could figure it out real quick
I think Choose Player Start has the PC as a pin
Maybe. There are 2 functions that almost do the same thing
Turn off context sensitivity and find the node called "Find Player Start" and then hover over its name to see its description
It's whichever of the two that says it calls the other
in which blueprint?
You can call it from anywhere by turning off context sensitivity and searching for it
"return the specific player start actor that should be used for the next spawn. This will either use a previously saved start actor, or calls "chooseplayerstart"
grr.. After some tinkering I got the Sound System from a YouTube Lesson video from Epic to play some music. Problem now is that the Stop Function doesn't work. I call upon it, and the music starts, but I call upon the Stop function and it keeps going. I tried Destroying the Music Control Actor and the song still keeps playing.
that's what it says that node
Yeah
Yeah, that's the one to override. Do you know how to do that?
i would say no lol
Seems like it's a Pure function too 🤔
it is
I guess if you don't want to override and use it only for certain spawns
An override basically means that you're turning off the default functionality of a function and using your own logic for it
that was just to test how to spawn something for the customization
cause that's part of my second problem
So it's in the "add function" area of a game mode blueprint, whatever that section of the screen is actually called. There's a drop-down that says "override" iirc
which actually could fix part of the first one
I mean, as long as there's only 1 type of spawn and you only need it for local cosmetics, theoretically you can keep that in Widget too for the Preview
But the actual spawning can't happen from there
When you are about to play
It just seems to be non future proof
Well, you could still do it if it would make sense to store it in a widget. Actors that don't need to replicate can be spawned from wherever
This seems to be a preview type thing, so it's either happening in single player anyway or it's something only the client should see
Yeah, but imagine if in a future he wants 3 types of spawn of the same type, if the uses a random index for example, it will no be in sync with the server spawning
The location
That's true, but I'm getting the impression that his use is explicitly for something cosmetic on the client
wait maybe this explains something, there's a player start for the main menu pawn (just a pawn with a camera), the other player starts (with tag) were to spawn actors for the customization preview
Yeah, as long as they're not actual spawns, then should be fine
If they're actual spawns for the player when they play, it can be hella confusing spawning in a different spot
that's just cosmetic and client side
If they are actual PlayerStarts and you don't want theplayers to actually spawn there, you must change the PlayerStart logic
the function for the spawn for the game itself, openening the game level after selecting the character and customize is in the gamemode
I can't remember how I did it without looking, but I overrode the function I was talking about, and would compare the tag on a player start before spawning a player there. Basically it was because there were specific player starts I places that were only to spawn pickup items
Since the override would be in your game mode, couldn't you just have one for your menu/do you do that already?
Unless your menu and gameplay are supposed to be seamless
in the beggining there was just one player start for the menu, i added other 3 with tags to test if it would work to spawn actors instead of the character, cause it makes no sense to spawn the "real character" the one you use to play in the main menu level to customize it
Well you could spawn the character, in theory, but make it so the player controller doesn't have possession of it
it doesn't
But to show the actual character, you need to use the real character :D
Unless it's a dummy actor
That's my thing. I'd try to save work by just spawning the player character without any ability to interact with it
well you don't use the character in the main menu, you don't move it or play with it, it was just to change the linear color from its textures, my friend did that "wrong" or at least not as i expected
is there any way to do that?
spawning the character but getting rid of all its functionality like abilities, attributes, etc?
Yeah, I think the way you're doing it is somewhat correct, with the pawn with no inputs, basically, and then you just use spawn actor to put the character where you want it
Just don't have the controller possess it
I think if it's not possessed even without AI Controller, it "freezes"
that's what i've been doing, but it still give me issues
What issues?
I know I used Characters for previews and a friend of mine did too with no problem
i can't move them ofc cause the player controller is for the main menu pawn, but for example characters have a morph target and functionality to change their scale, a timeline gives the values for that morph target and the scale, that shouldn't happen in the main menu
I believe it would be as simple as a boolean that's exposed on spawn, and that bool would just represent if the character should do those specific things
actually there's a slider on the character selection hud to control that morph target just to see a preview of the changes, so when i move the slider it doesn't matter, the character keeps getting the value from the timeline
hmm damn, i didn't think about that
So when it's spawned through the level BP or wherever you decide to put it, just use that exposed value to control those things that you don't want to happen
Booleans and branches are basically free to use and check, even if it's fairly often
I mean, it's a timer, it's very free to not just call the timer if the bool is false
i was totally convinced that the best way would be using an empty actor and change its skeletal mesh for the preview of each character, then store and send the customization data to the character after spawning in the game level lol
That sounds overly complicated tbf
I believe that the way we're talking about is the lowest effort overall
You can ofc create fake dummies
hahah ye lol that's usally me when i try to do something that i've never done
But you would need to map them to the real thing
You know how to use the "Expose on Spawn" parameter for variables, right?
I only found out about it kind of recently
not really, i've ticked it in some variables following a tutorial, but i ain't sure of what that does
On the "Spawn Actor" node, there are the input pins for the transform and a couple other things. It just makes that variable an input when spawning an actor of that class
It basically means you can set a value before the actor exists
damn that's proly exaclty what i need for the morph target too, and some other variables
i'll take a look on what could use it
Yeah, it's a pretty big deal and I only found out about it after a year or so
One unrelated idea that comes to mind would be the weapon type for an enemy to have, rather than setting it at runtime or making multiple classes for each version
Or maybe a mesh/material difference. Minecraft comes to mind, where some mobs have a couple variations of the same texture
applied on what? just asking to be sure that i follow you
It would be any variable that's contained within the actor you're spawning
That's what you were asking, right?
could be
i mean, what i want to do is pretty similar to that, the weapon type and mesh/material changes
but still so much different (for me at least), that i don't really get to the point i'm looking for but anyway, i'll try everything you two told me
Reminder that there's controlled checks that you can use too for logic
In the Character
so to summarize, data table to get the available characters and spawn them for customization, i keep the character class for that customization using a bool to stop the logic instead of using dummy actors, and then about the player starts
now i think that's been giving issues, so what's the best way to be sure that the spawns for the character doesn't affect the player start for the main menu pawn?
how does that work?
aaaaaah those ones
If you don't want the main menu ones to actually be spawns but just preview places
well the characters aren't player controlled in the main menu that's for sure
just preview, only to see the character that i'm selecting, aka its mesh, change the linear color from its material tints and the morph target preview
Then yeah, specialized Actor is better
sounds like what i wanted to do but didn't know how lol
Keep it on theme with the Dino Billboard 👍
Literally create a new actor and just give it the tags
Then in the GetActorsOfClass use this Actor instead
alright and what would be the logic to see the character selection and color changes using those tags?
getting the transform?
Yep
yeah makes sense, i mean it's exactly what i did to change the main menu pawn transform
using cameras in that case
Since you are not really using the PlayerStarts to actually spawn stuff on them but getting the transforms
At this point a specialized Actor is better for the Preview
So it avoids issues
but didn't think about spawning the character like that (don't ask why lol)
yeah yeah that's perfect
thanks for all, i'll try all this as soon as i can and see what happens
prolly the way to get the corresponding character from the data table will be wrong or something but i'll try it
i'll let you know anyway, thanks again!
I can make a fast example
Struct with the base type
DT with the Clades
Actual selection
A way to match the Selection Row Name to the DT is just exactly matching the Text content with the Row Name of the Clade and use that based on what's pressed
For Example if I flick the Button with Theropoda, that can be my Row Name
So just have the button click call the logic passing the Text content too
For the DT
Guys, I have a question. Which method is more correct in order to get the array in which the item is located, given that WeaponsArray is calculated only for items with the Weapons tag, and ItemsArray for Items
it really doesn't seem like it matters. If you're already using arrays for those objects, I'd say to go with that method
How much less performant is blueprint compared to c++? If I make my whole game in blueprint how much worse is that going to be on my performance
10% to 10,000%
Can't answer that directly without knowing the game type and intended implementations. Some stuff goes never noticed in blueprint. Some stuff just can't be done.
people say something like twice as long to perform actions. TBH it shouldn't matter a whole lot. Just follow good practice and you might not even notice a difference
Is this a jaded I don't like blueprint response cause it seems like if it was this bad no one would use blueprint
BP is generally faster to build in, easier to visualize, can compile without having to reload the engine, but is slower than C++ by some indeterminate amount. That's just kind of the tradeoff
How to determine whether or not you should be using Blueprints or C++.
I knew it was slower I just didn't know if anyone knew how much slower. I'm very new to this.
there's no exact value
The heck is a profiler?
Tells you what is eating your performance.
a common thing that I hear is that BP is as little as half as fast for some actions, but for others it just doesn't make a difference
If you are too new - this is literally something you don't need to worry about. Use BP.
I don't know a lot about C++, so BP is a good way to just start learning without needing too much knowledge of syntax
that's the point, really. BP is partly made for people who want to learn an engine but don't have a background in coding or one specific language
It's worth noting that my answer was in no way jaded. I love blueprint. I use it as often as I can. But I'm also largely a UI programmer and there are a ton of things you just can't get away with in blueprint in a larger project. There's too much data to sort through sometimes.
Yeah I know absolutely nothing about coding so I wanted to make sure blueprint was a reasonable option
Blueprints is coding
That makes sense that's why I asked
What's the alternative, not learning UE? BP is fine
BP is more than adequate for many many types of games.
A good case. I was messing around with a minimap last night in a personal project. I threw it together in blueprint first. I had a loop running through some objects and passing them to a niagara emitter. Took several milliseconds on my gamethread time. I dropped the same thing into a C++ subclass with identical logic, and the same simple math dropped to 100 microseconds.
Especially at your stage.
Well it's more so hey do I dive all my hours into c++ cause it's an inevitability as your project grows blue print becomes obsolete or blue print works 95 percent of the time and 5 percent you'll need c++
also something that I see a lot is people wanting to learn the engine to make "their game", rather than doing it for fun/to learn. Just move from one thing that interests you to another and you'll have a much better time @edgy stone
also no, just stick to BP because there functionally isn't a difference
the difference is literally not being able to use the engine until you learn C++, or using something that's a little bit slower (Blueprint)
Oh yeah I'm not making any dream next big game or anything by any means. Ultimately I want to get into a studio but that's a whole other topic
It really depends on what you're doing. If you're making a simple UI and a basic game. Blueprint is perfectly fine. Can even make basic multiplayer games with blueprint only.
Right now I just want to make fun titan fall type movement that's my current project
I do see a lot of people who seem to have an idea/gimmick for a game, but they literally don't know anything about how to develop, and they end up limiting their ability to use the engine because they only want things to work for their specific use case, and don't really care to learn how they actually function
good movement in games is always fun. You can do almost anything in modern game engines, and I think it's a shame when most games just have sprint + slide and maybe a gimmicky wall run
I still think titan fall had some of the best movement I've ever played in a game I think it's one of the most underrated games in general but that's just me
Yeah I'm just doing random projects to get familiar with it right now
Also in regards to coding. I wouldn't be so afraid of it. C++ channel will tell you to go learn basic C++ for five years. I didn't know anything about C++ a year and a half ago. Still have a lot to learn, but it really opens up options in the engine. And basic C++ is going to be a hardcore requirement if you're looking to get into a studio as a programmer. Definitely recommend it after you're comfortable with blueprints and general engine functionality.
pretty much what I'm doing, yeah. I'd check out these playlists if you're still pretty new
https://www.youtube.com/watch?v=ApEtWpAialg&list=PLSlkDq2rO1t7eEyfF8eiTsGGGtFOBz1vb
https://www.youtube.com/watch?v=PBkzwD31lKE&list=PLSlkDq2rO1t7vAQxmhRfEdDTjygDf1D7H
MVP (Minimum Viable Product) Series showing you a basic introduction to Unreal Engine 4 covering most of the Editor and Engine itself.
In this video we will be going over the project and having a look at what we will be making. This will be a basic introduction to Unreal Engine 4 covering various things such as the Interface, Creating a Level, ...
MVP (Minimum Viable Product) Series showing how to create the basic prototype for a FPS (First Person Shooter) from scratch in Unreal Engine 4.
In this video we will be going over the project and having a look at what we will be making. This will be a basic prototype of a FPS game and we will be starting from scratch using a blank project. We w...
This is my biggest thing is most people have the idea that you have to be an expert in c++ to be competent in unreal at all and that seems like so much work for it not being my main goal
Thank you I'll look into them
What is your main goal when you join a studio?
Environment art mainly but it seems like you have to have a pretty decent general knowledge in things even if you want to go into something specific
Ah. Yeah. C++ won't be a thing for you then. I thought you were looking at gameplay programming. 😄
No I want to learn enough to be dangerous and know what I'm talking about but I don't need to know enough to dive really deep into complex coding of anything
Yeah. You'll be fine with blueprint only probably. Most studios won't have a requirement for a level designer to know coding. Anything they need done that has to be performant or engine tools get delegated to a fulltime programmer usually.
That makes sense
I've got a helmet that I'm spawning and then attaching to an ak component which is a child of the camera I then use a timeline to add an offset to the helmet to make it come down over the player view but every time I play it in game the final position changes, it's either too low, too high or at the perfect placement any ideas what might be causing this?
Word💯
You won't. There are a few others who don't share the couple week sentiment.
But at least we can all agree one does not simply learn all C++ basics overnight.
for sure. But it doesn't always take reading entire books on the subject to get around 😛
say I have an enemy that is a collection of physics bodies and constraints, how would I make it fall apart after being defeated?
Probably just decouple the constraints I think. Haven't tested that one personally.
what's the object reference when I cast to an unpossessed character, get player character/pawn isn't working
There isn't one. Depending on what you're doing, you may need framework for it. What is your use case for needing that character?
i figured it out, i used get all actors of class, got a copy, then put that as the object for my character
I wouldn't use that in an end product. It's fine for prototyping, but a framework would make stuff easier.
i'll look into that
There are two exec pins coming out from the cast node
If the print node isn't printing, it means it's taking the other pin
Sounds like the actor you have that in doesn't have input enabled, or your contol inputs are set to UI only, or you have a widget overriding your E key and returning handled.
What actor is this in?
Just needs told to EnableInput from the local player controller
Can probably do it at spawn and attachment. Would be cleanest.
But you still have all of the data there. The actor that spawns and follows. If the follow target IsLocallyControlled then GetController, CastToPlayerController, EnableInput on spawned after.
Not really. It sounds like an anim blueprint per skeleton. Some follower classes that have them specified by default. And some extra default data and a list of those classes to randomly spawn.
Singleplayer game?
Is this spawned in the player's pawn?
Class, not in world.
Are these nodes inside of the Player's Pawn class?
GetController->CastToPlayerController
Before you call EnableInput. GetController gets you a reference to the controller actor. CastToPlayerController casts it to a PlayerController type you can use to enable input.
Not from the spawned actor. From the blueprint you're in. Right click the background.
Depends. No real need for a Pawn if it's attached. If you don't need AI behavior, possession or character movement, pawns are kinda pointless.
Hey guys, is it possible to make a random number generator BUT it has a higher chance to select a smaller number than a higher one?
Like a graph with a curved line in commonallity?
Alright, so I'll do that then
Currently have this hotfix atm
when you say smaller number, can you elaborate?
As in, it has a higher chance to select something like "Int64 100" rather than "Int64 1000"
And it gets progressively more and more rare for higher numbers to be selected
for the second part you'll need diminishing returns
for the first part, you could keep lowering the maximum value
So what blueprints can apply those aspects?
or just multiply the result by a scale value between 0 and 1. or subtract a constant value
you'll have to make the logic yourself
Yea I just mean, what building blocks could be possible to apply the logic
KK
I believe google would know
well if you have concrete problems you can ask them here. but it's not a place to get recommendations for anything beyond fundamental blueprint understanding
Can I print a string in the details panel of an actor blueprint that the unreal editor user can’t change?
You could try making a VisibleAnywhere string in C++ I guess, but not sure how those get displayed in the details panel. Otherwise you would probably need a custom details panel thing which is also C++ territory
Ugh… ok, thanks
Alright so I have a decent representation of how the commonality would be done, its a simple x^3 = y graph
Oh wait
need it to be reversed
Better
Or, no
Ok gimme a sec
ALRIGHT, think I got it
that's not a concrete problem. if you have issues with performance that could be something you can get help with. but building a system from the ground up requires much more experience, and I doubt anyone wants to go through a hand holding process over the next days with you for that
(x - 1)^2 = y, something like that.
horizontal line represents the number, the vertical line represents the commonality
Urg maths hurt
Hmm… I followed a tutorial for PerInstanceRandom material, but when I use SpawnActor they all come out the same color…
probably better to ask in #graphics since it's a material node?
Right, but two different tutorials on YouTube has the material node working, so I have to wonder if it’s due to my blueprint actor setup…
right but you're asking about the material node specifically.
if you have a blueprint problem I'd suggest reframing your question to aim at that
The question is if SpawnActor doesn’t create instances in the same way, that for example people paint foliage on landscapes…
sounds like you'll have to find out how the material node works. again, this sounds like a #graphics question