#blueprint
402296 messages ยท Page 581 of 403
So if I want that it displays a game over screen when the ball hits a surface with high velocity, basically, like you said, it "does stuff", right ? Or should I consider it doesn't ? Finally, I'm not sure to understand what the Hit Event does exactly... ๐ค
It looks like a simple Event On Overlap to me...
If your ball is a physically simulated object, and "generate hit events" is enabled, the Hit event will fire every time the physics simulation detects your ball impacting something
How do I lerp an exp slider on the HUD?
oh, so it's more like an Event On Overlap but with physics, somehow
Yeah, it's similar to an overlap but provides some more info (e.g. impact)
yeah I get it
@tight schooner Ok thanks to your very clear explanations. I'm gonna try it again ๐
@minor galleon idk if there's an optimal way, but you can always lerp update the bar on tick
Sorry, didnt mean to interrupt anything. I have my exp slider set up to add exp, level up, carry over etc... I just want it to smoothly lerp from current exp to new exp or zero to new but everything Ive tried has broken it.
Is that going to affect performance? Been told to try and stay away from event tick if I can help it...
tried connecting it to a timeline in BP_player on exp event
If you're spawning dozens of ticking actors then yeah, it could affect performance, but it's ok for one widget. You can also adjust the tick rate, enable/disable tick (Set Actor Tick Enable node) so that it only runs during XP gain, or use a looping timer event (Set Timer By Event node). Not sure if Timelines are available in widgets, but if they are then that's another way.
ah fair enough. Seems when I lerp current exp from 0 to 1 it makes the current exp jump, and at a lower exp gain than set.
Huh. Well, you can try an FInterpToConstant (IIRC)
and that'll make the value move toward a target at a constant rate
might do. Thanks for the help, @tight schooner
help i have a horse following a spline how do i drive my blendspace to make it goto idle at the end
@north void have your blend space driven by speed
how do i get the speed
Ok, I have done this very basic setup for my ball actor. I have also checked "Simulation Generates Hit Events" into the Collision pannel of my Static Mesh Component. But it does not work. The print string does not appear when the ball hits a surface. Though, it works without the Get Velocity. So the issue is with the Get Velocity but I don't know what it is :
Is there a way to get the default parameters of a material in a BP?
@trim matrix it returns false, x is not greater than 0, try to print out the velocity of X see what it actually is
Anyone here have a good understanding of running character animations off of root motion?
Whats wrong with this blueprint for a level streamer? I've taken it from Unreal's example docs. I've used my own mesh to define the collision boundaries as just a box or sphere wouldn't be suitable. What happens is that as soon as I walk into the collision to load the level, it immediately unloads the level. Just using it to load the level, it works, but that's just one way and not suitable. Whats the big secret to getting this to work the way as described.
sounds like you're triggering it twice
try debugging
might be two components overlapping on your player actor
I've just tested it with a simple box, and it works smoothly as expected. It doesn't like my custom mesh I'm using as a collision. The thing is a box won;t fit the space I need it for.
then... don't use a custom box as collision?
I am not sure to understand. Where should I print out ? I printed here but it prints still nothing when my ball hits a surface :
put it on a event tick to keep printing it out
the answer seems obvious. This 'custom mesh' was originally a Level Streaming Volume, brushed into a custom size, and it worked as expected as a level streaming trigger, but after being converted to a static mesh, and then pulled into a blueprint to be used as the level streamer, it has failed. Why have custom collision meshes if they aren't going to work, boxes and spheres are restrictive.
the surface needs to have generate hit events ticked as well
which it probably doesn't
@covert kestrel lmao I mean you basically had it working and the decided "no I want this as a static mesh" and then wonder why it doesn't work
no I wanted it as a blueprint
custom collision is complex and expensive, and 99 out of 100% of the time completely unnecessary
the level streaming volume could not be pulled into the blueprint as is
I would like the blueprint, to add a delay to the unload
so back to using it solely for streaming the level in, without the blueprint. I'll just have to make the volume a bit larger for my needs
you really just need a volume at every choke point
you don't need to cover the entire level in it lmao
its a room within a floorplate dude, whats with the attitude, are you 15yrs old?. I've got about 2 weeks experience with blueprints
20 yrs as a visualiser
if it's a room with a floor plate, why can't you use a square volume?
not everything is square , and the door entrance to it is in the corner, so go in, level stays on, leave, level switches off
so... cover the door entrance?
I mean you're asking to have your cake and eat it too currently
ok, and what happens when I walk around the room, I have to pass through the volume, no?
if you do set it up on a event tick, best practice is to shut off print to log, and set duration to 0, the event tick will print it every frame.
sure. just unload the level on the condition that it is loaded. or load the level on the condition that it is unloaded
point me in the directon of a node
When using OpenLevel, the previous level I am on closes right?
open level is a server travel to the level you mention, so yes
Just making my level loading system, so for a single player game, using OpenLevel is fine. I seem to be having a issue with showing my dang HMD loading screen when transfering for some bloody reason
I'm not streaming any levels though, just going from one, then Opening another
that was a reply to someone else
here I go
thanks
I thnk you tagged the wrong guy maybe
@orchid garden Thank you but I don't understand where @rough jay wants I put the Event Tick. I don't understand what do you want to see. Should I replace the Event Hit ?
sure
your hit event doesn't work on walls because you need to enable Generates Hit Events on the wall
collision is a two way street
both objects collide with each other
both objects need the correct setup
good
are both blocking each other in the collision settings?
also for your ball (which I assume is the player), did you change the collision on the root sphere/capsule or on the mesh?
Make sure your Object Type is the correct type you are trying to collide with too eh. @trim matrix
I did not change anything in the collisions, except click on Simulate Generates Hit Event and Simulate Physics
I'm gonna check the settings you are talking
it should be set to both query and physics
But if I put a print string here, I can see it : https://gyazo.com/f97e87daeb44ea74b847c1ce6af20d9b
So I assume the collisions are good, aren't it ? ๐ค
well yeah
Hello 1 (the first Print String) appears. Though, Hello 2 (the second Print String) does not appears.
anytime you hit something it's going to zero out your velocity
hey guys! needing some help here with the wheeled vehicle anim, specifically the WheelHandler! I've set it all up, but somehow the wheels don't turn and rotate. I've got the Anim BP correctly setup, and my vehicle is a child of Wheeled Vehicle. Do you have any idea what may be causing the issue?
If I uderstand well, the Event Hit works good but the Get Velocity does not
So I presume the issue is not the collisions but the Get Velocity
in this case yes, but what I said applies to anything you want to collide with and generate hit events
ok, I take note of it
Alright, should be a easy problem to solve but somehow it's not. So I am making a VR game. I need loading screens. UE4 comes with nodes seen in pic below. I figured, I should add said nodes to the game instance because it's persistant. So I cast and call ShowLoadingScreen_GI when I am about to OpenLevel, then I HideLoadingScreen_GI inside the level bp (I put it after BeginPlay and a 5 sec delay to simulate a longish loading screen). When I do, it flashes for a second, then I can see my level, but can't move then after 5 seconds I get my hands and move. What gives?
First pic is inside the game instance, second pic is in the main menu level bp
My Game Mode also has None for Default Pawn
I spawn in my pawn to be used after the loading screen drops
loading screens is one of the few things you really need cpp to handle
along with saving/loading
Agreed, if it was traditional game, loading screens are a breeze, but for some reason this node is bugged out, the SetLoadingScreen
That or ShowLoadingScreen is mucked up
Thing is, it was working fine when I was doing level streaming, this morning I switched to using OpenLevel so I could have fresh levels at start
like it wasn't a choice lol
I feel like using Open Level node some how nukes it even though I am using it inside the Game Instance, or calling from it rather
Which is persistant
open level is server travel
for which you will need to dive into cpp to make a loading screen for
Gotcha
So then, I'm cool with level streaming method, but I need to know how to reset a level on LoadStreamedLevel
it's like 1 function in cpp too
not difficult
and it's all well documented on the wiki
Aye, I have 0 knowledge in Cpp haha
flush and restream
Flush and restream you say?!?!??!
This dude here?
"Flushes level streaming in blocking fashion and returns when all sub-levels are loaded / visible / hidden" Define "blocking fashion" haha
freezes game until done
aka when you'd deploy a loading screen
or, perhaps more fittingly, a technical difficulties screen
LOL
So pop up the loading screen, run the flush if I want a streamed level to be reset
I really think that's a negative, I mean, it would be cool if there was Load, unload and reset/load
you can unload though
I feel like when I use it, if I make a change in the level, unload then load back in streamed level, the shit's the same inside the level as I left it
Might be wrong
Yes, I was using that fine this morning. I am familiar with that system, like I said, I don't have a problem with it, just resetting a level seemed to be my issue. Maybe I need to try again
and you're back to square one
best thing you can do is just do everything in cpp
most of the good stuff isn't exposed to BP for good reason
And also just took me 3-4 hours of my life to figure out OpenLevel somehow does not work with the loading screen thingy
For sure
I wouldn't even know where to put any code in order. I'd need atleast a week of study to even get that far
Thanks for bouncing some ideas @odd ember
Overview In this tutorial I'll show you how to properly setup a self-contained Loading Screen System for your game - which will allow you to safely play movie files, audio clips or load a widget to...
literally explains everything
Indeed it does! Thanks man. I'll fav this page
Whew. Broke down and went C++ with some of my gamejam stuff, but I'm pretty happy with my 95% blueprint project!
@gusty shuttle Just curious, have you done any sort of scripting or coding besides blueprint?
what would i need to look at if i want to say add a widget to the screen when a player is looking at a object that they can interact with?
should i just use a trace? or ... is there a better thing to use for that?
Probably best just to use a single trace from the player. Or if it's not FPS/TPS, collect all actors in the radius of interaction and sort them by however you like, like closest one, closest one in front of actor, etc.
Traces are incredibly cheap though. The debug line draw in them is the killer, but that's disabled on shipping packaged games.
yeah its tp/fp
Probably just a line, or small sphere trace. Makes it even easier if you're using interfaces. You can use multiple or specialized widgets by having the object itself add the widget to the screen with it's own stats.
depends on if you use triggers or not
Hi, could someone help me with an error I get when I try to open my project? Basically, I switched to 2.26 and now, when I try to build the project and plugins it says that there are modules missing
it's very old blueprints from the age before time
Yeah I only saw that on older posts of answer.unreal lol
Another question, is there a way to extract from a class and destroy whatever the (pawn) is?
I know it's going to be a pawn class, but I need to destroy a specific one. Maybe a ==
name
that's your unique identifier
Which pawn are you trying to destroy exactly? What's the use case on it?
The scenario: When I use my wrist widget to head back to main menu, I need to kill the pawn I am using so when I stream in the new map, my character will be there
Using level streaming, my main grub is I don't want to fall through the world
So I need to destroy on load and spawn at loc/rot on stream load
So from Level 2 to MainMenu. Both are level streamed
So a new pawn is spawned for the player after the new level is streamed?
yes
In theory, if the level gets unloaded, then my old pawn should go with it, but it seems to not
then agian, its been a long day and im in "making silly mistakes" mode
Wouldn't it work if you called destroy on the player's pawn before calling the level stream function?
Like yesterday, I thought I lost my persistant level and all the sublevels. Turns out I was looking at the outliner, not the levels tab. That's the time to shut r down hah
That's what I am doing
I call the loading screen, destroy the char, then load stream main menu
I'm a bit confused then? I thought the issue was referencing the correct pawn to destroy?
Indeed, that is the issue. So in my game instance, I SET which pawn to spawn. it's a purple wire. Can't specify which pawn it is and destory it from my wrist menu haha
Right, but if the player's controller is currently possessing it, can't you just use GetPlayerPawn?
Duhhhhhh, there you go
That's all I needed man. Okay im gonna set this up and sign off before I can't even tie my own shoes haha
Thanks a bunch @maiden wadi
I shoulda figured that one out
Haha. I feel you. Still a little loopy after submitting my final GameJam copy.
I'm happy with my first entry ever. Theme was "It's been a long time, but we're not done yet."
๐ That's cool. Good luck with your submission dude! Hope it does well!
Haha, thanks. We'll see how much the judges appreciate my arcade style niagara particle mess.
Hello. I need help again. I'm trying to create a task system for levels.
There should be a base Task class and more precise tasks (for example, to go somewhere, kill something). I want my level designer to be able to attach as many tasks as he wants to Gamemode. But I have no idea how could I make it possible to configure these tasks in editor.
What I would like to have is an array to which designer can add a new entry, set its Task class there and set variables for this class (for example, in task where it's necessary kill someone there would be a public variable of target class). I can make this array of type BaseTask class, but then I'm not able to set config. I can make it of type BaseTask object, but then I have to provide object in editor which is not possible. I can make a struct which holds BaseTask class to set and config, but this config will have to be a generic one and have properties for all the possible Task classes. Does anyone know what could I do to make it possible to set a Task class type and config specific to this task (i.e. set its exposed variables)?
@daring thistle you can rather create an object blueprint
Not an actor, but an object.
An object can holds blueprint however does not have a transform value
You can create a BaseTask blueprint and create a function inside of it
Then you can create child tasks and override that function
And so there will be a uniform way of calling a task
(by calling the default function)
Yeah, I want to do it this way. But the trouble is that I want to be able to define these tasks for level before the game starts. So I would like to set exposed variables values of tasks in array of tasks
For example something like this but besides the class I want to be able to define its configuration
@orchid garden @odd ember Now it works. Finally, no need to add array or timer or whatever... UE4 has planned everything ! ๐
@tight schooner ๐
then whats the easier way?
depends on what you want to do
kinda figured the picture was self explaining on that part
it's not a given
Hey, anyone here know how to make 100% sure overlap events happen even when you spawn a character inside of a collision volume?
maybe you would want the player to fill in their own quick slots for instance
its not a given that im trying to put all the quickslots into a array for refrence?
right now spawning a character inside of a box or sphere collider does not result in overlap event
why not have them in the array by default?
am I missing something? or why not use a loop to fill the array with quickslots if you have to do it that way
how does that work in blueprints?
... a loop?
the widgets aren't created on the fly
so this is inside a widget
@orchid garden if the array is empty at the start, you can use a Make Array node and set the variable
yeah I mean that's one way
but I think I'm not understanding your setup. you're putting UI widgets into an array... for what reason?
ty seanny thats simpler
I could understand if this was the backend
where you'd want an array for your items called "quickslots"
but for your front end you don't even need that
Yo. I don't know where exactly to ask this, so I'll take a shot in the dark. I have made an insanely simplistic Battery in blender I would like to use in my game, where do I even start to make a custom material to make it look like a battery? Maybe a youtube playlist or something, I'd just like to be pointed in the right direction
like this @tight schooner ?
thanks
So apparently you can't make a whole game with Blueprint?
If that's the case when do I use C++?
Says who? You definitely can, I wouldn't recommend anything major with it, but simple to mid size games definitely can. It's all about the resources needed, whether or not you really need the performance improvement, or lastly if you are doing something too complex for blueprints to handle
BP and C++ are not directly made for different tasks, but they are more for people with different skills and roles.
anyone know what "find look at rotation" would look like without using it and instead using math and all that?
its just TargetLoc - MyLoc turned into a rotator
So I asked a while ago about how I could do replication on a script and i was linked a video and stuff, i've learned about it and watched the tutorials and tried to make my code with what i learned but i'm having an issue i'm stuck on
this is my code
my problem is
well the goal of this script is
a button
that if you stand on a specific place and press E activates a shield
so for the host of the game it works as intended
for the client, however, nothing happens when they do it
however if the client stands in the activation area and the host (even if far away) presses E, the shield is activated
anyone here who's experienced with blueprints help me rq?
maybe share what you need first so we can decide on whether one can help you or not.
I have tried to make a character reference based on a bp interface but it fails with access node error all the time. Maybe someone knows what the problem is?
This is the interface function inside the zombie character.
Here i'm trying to destroy the actor when i hit it with a linetrace.
Blueprint Runtime Error: "Accessed None trying to read property CallFunc_ZombieRef_ZombieRef". Blueprint: FPS_Character Function: Execute Ubergraph FPS Character Graph: EventGraph Node: DestroyActor
I'd put an IsValid check after that ZombieRef call just to make sure you're getting something back that is indeed valid before trying to destroy it. Apart from that, getting Player Character 0 doesn't seem like the appropriate reference - you want the target actor that was hit with the linetrace.
bump
Thanks for the input, get player character seems to have been the problem, it works now.
add movement input takes a pawn as argument but only works if the pawn is a character, appearently?
can someone confirm or tell me what I'm doing wrong?
I see a hasAuthority there
@olive sedge yes, a character can be used for the add movement input node. This here works for me on one of my characters:
@dawn gazelle does this work for you if it is a pawn instead of a character as base class?
because it breaks for me if the base is pawn instead of character
but it takes a pawn as target so that's weird.
You mean the camera moving around?
hm, yes. as soon as I inherit from that, it automatically has controls
wasd/freelook if any of the mouse buttons are pressed
I'd prefer it if it just made add movement / add yaw and pitch input available
Then create a child blueprint of the default pawn class, then just create override events for the mouse input axes
Ex: in my game I have inputs bound for the mouse like this on my character:
If you overwrite these events, then the controls from the parent class won't fire.
So your mouse movements shouldn't move the camera around.
yes- the tutorial said to do that, is it wrong?
depends on what you want to do
since you ask if whoever is doing the thing you want to do has authority, the client won't do it
probably best if you fire that event onto the server?
and then the server decides if the client is allowed or no
everyone should be allowed to use the shield, the problem i had before is that the shield wouldn't sync (only the person who activated it would see it) if it's not too much to ask, could you show me how you'd do it?
so what the code's supposed to do is like
if its on server it executes the shield up on all
if it's on client then it executes a process on server that calls the process that executes on all
@scenic scroll Your issue is ownership.
can you elaborate a bit if that's alright?
Here's what I think @scenic scroll
- Your character pressing E should make a call to a "run on server" event, no need for the "has authority" call.
- Your new "run on server" event should then make a call to a "multicast" event.
- All logic pertaining to the shield turning on or off, should be done within said multicast event, not the onrep function you have where it's looking for all copies of the shield in the game, as that function would only run locally on clients after they've received a replicated copy of the boolean you're using, and will not effect their appearance or effect on gameplay on the server.
@scenic scroll If you want an actor that is server owned to be accessible by all, you need an interface usually. What you'll do is have an event in your Controller or Pawn that can pass along a reference to the server. When you enter the triggerbox, you'll enable input LOCALLY, not on server. This allows the local player controller to press E in their game. But then that local object on the client will call an RPC that is actually in the controller or Pawn. Because it's in the controller or pawn, this allows you to ServerRPC, since you can only contact the server through a client owned actor. Then you can pass self from the object, through the server RPC and let the SERVER version of the client's controller/pawn run the interface code. That can then turn the shield on or off.
i'm trying this right now because i can't do your idea @maiden wadi since this is a mod and i dont have access to the pawn or controller code (i can only reference them by get player controller and get controlled pawn)
hopefully Datura's answer does the trick :c
Still an ownership issue.
do you know any way i could fix the ownership issue without editing the pawn or controller code directly?
In short, if you want your client to affect the game at all, it has to ServerRPC to get from their machine to the server machine. This can only ever be done through ServerRPC, ServerRPC can only ever happen from client owned actors. Client owned actors by default is the client's Controller, and the pawn that it possesses. To give something else that control you would have to set that actor's "Owner" Actor variable to the client's Server version of their controller or Pawn usually.
maybe i can make a code like get player controller > set owner of self?
It's possible. I'm not used to modding, so I'm not sure how they normally handle stuff like that. I'd be shocked if the game already has multiplayer and it doesn't have some form of server rpc interface event in the pawn or controller to hook into that you could use from your actor.
Is it just so you can't open the classes for the Controller or Pawn and edit them, or you cannot cast to the classes at all?
i cannot access or edit the code of any vanilla class, this game has no SDK nor is it open source
basically all i can do is throw new code in by including it in my maps
so the open/close shield blueprint has to always be owned by every player?
Hmm. I wonder if it'd be possible to dynamically add a new replicated actor component.
I mean you could make it so that the latest one to enter the field, or closest person could own the actor. But that's going to feel kind of 'eh' for players most likely if they're fighting over control of it. Cause an actor can only ever have a single owner at a time.
@scenic scroll sorry, can't help you there. this is beyond me
is there syntactic sugar for this? conditional parameters?
I could save this in a variable but that would pollute my namespace
or get it from a function but that seems overkill
wait if an actor can only have one owner, who is supposed to own the blueprint? is there supposed to be a copy for every actor?
its fine thanks for trying
@olive sedge Possibly a Select.
for my thing, would something like this do the trick?
You have to set ownership on the server. So you'd want to set ownership to the overlapping pawn.
What game is this for by the way?
Sort of. All Input is client side. So you'll want to branch your logic. What might be best is to just do the Owner setting on the overlap and then call a ClientRPC to set the input to PlayerController0. Cause right now that'll set input on the Lisenserver's controller or the first person to join the game's controller. Edit: Too early.
I have three questions:
First:
Is deadmau5, the real one, actually in this server?
Second:
Do you work on brick rigs?
bruh
find that out for yourself bud
Okay, so I have a problem
with cubes
I made the character a pawn for more freedom
But I canโt use the jump function because of that
Is there a way to detect floor without messing with the code of every single thing the cube can step on
No
okay
wdym by that?
I know there is an onLand function, but it is exclusive to characters
would there be a way for the overlap to check if the overlapping actor is a player and get its player controller ID?
Is there some other way to detect land?
?
Thanks, merry Christmas to you too, lol
yes
this might help, although a little outdated
But itโs unity
yes
@nimble talon The Character's CMC(Character Movement Component) that handles it's movement handles the OnLanded event via collision. If the character is flying and it hits something, it has a function to check if the hit can be used as ground, if so it allows it to fire the OnLanded and change the IsInAir boolean.
LIE
The problem is that I am using a pawn, not a character
For more freedom
Since my game is physics based
I didnโt want capsule collision, I wanted box collision
What
yes?
Uhhhh
Someone missed their morning dose of Xanax.
here, this is a good tutorial `https://youtu.be/VIpmkeqJhmQ
In this tutorial, we learn the basics of Scratch. You will learn how to make your character move around and draw.
For more tutorials visit: http://mrteacherkevin.com/
should help
Thatโs Scratch
@nimble talon Do you already have the launch set up for your pawn, to make it jump?
potato and pitato are clearly different
no
Do you want it to bounce on landing, or just stop?
I want it to bounce
๐
I donโt care if it bounces or not
you needa choose one
The jumping system is supposed to be physics related
bounce or no bounce
Letโs hope so
If you don't want it to, use EventHit, and on a hit, check if the hit was both from the negative up vector direction and if the hit surface normal is mostly facing upwards, IE could be stood on. If both apply, you could stop velocity and place the actor at that location. That's mostly what the Character's CMC does for it's landing.
@trim matrix Can you just stop?
Can you show me an example of that, please? Iโm not really good at blueprints yet
no, also bullying is against tos
Thatโs not really bullying, though
start from scratch with a template, it's much easier
Template level?
@maiden wadi sorry if you saw but just in case, i asked if this might work, sorry if my ping is a bother
Iโve already been building the lobby and the characterโs input
Welcome in third part of Character tutorial. We will take care of physics and interactions with meshes. We also create collisions for punches, find a way to turn off collisions for body to not interact with elements but still won't able to walk through, attach elements to body and sockets, messing around with collision presets and checking other...
this can work for you
@scenic scroll I'm not sure what the OtherBodyIndex returns.
Oh, thanks
well, i'd assume it returns the index of the overlapping component, if it was a player, the player index
@scenic scroll You might test that to be sure with some prints. But you should also branch the SetOwner and only do that on Server.
i dont quite underestand what you mean branch it and do it only on server- i'll test this for now and if it doesn't work and you can explain i'll try that next!
also sorry for my lack of knowledge on the engine and all
Use SwitchHasAuthority from the hit event. Use the Authority side to set the Owner.
Is this game a Listenserver setup, or dedicated servers?
I asked in #packaging as well, as this happens only in packaged projects, but it's BP related so I'm crossposting
So I have a function inside my BP that is causing my fatal error. I have a log before, inside and after.
The function has been modified so it's literally, function node -> print -> return node.
the before & inside prints, get logged. but then I get the Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x00000000 error so my after log never get's called.
I know it's this function, cuz if I either skip it or not connect to it, I don't get an error.
Why is the `Return node causing this issue?
i think it's listenserver- pretty sure it is (people keep asking for dedicated server support in the game's discord so it must be)
@wind void I'm going to give a "dumb" and dissatisfying suggestion โ have you tried deleting the function and remaking a functionally similar replacement?
Sometimes BPs are cursed and I'm not technical enough to dig into why
No. idk y I'd do that. But at this point I'll try anything so might as well ๐คทโโ๏ธ
It sometimes works. You can also try a process of elimination โ adding inputs/outputs until the function breaks (assuming it will)
Maybe you'll discover a genuine bug that you can replicate in an empty project and submit to Epic.
I've done that a good number of times
Just tried that, real quick. Shortened it's name down to legit: ShortenName and still failed ๐คทโโ๏ธ
I'm doing seanny's suggestion, but not copy/pasting anything just in case smt is
cursed
make sure your return node names don't conflict with internal names in the engine as well, i had a function failing because a return node was empty but it conflicted with a internal name, after renaming the return node problem went away.
can I somehow handle trigger events in the player controller?
or at least in the game mode?
@maiden wadi it didnt work- could something like this be a possibility?
@olive sedge How do you mean?
I have a trigger in my level and I would like to fire the overlap event in the player controller
instead of the level
because this will be in every level
or even better would be in the game mode
@scenic scroll I can't set anything up since I'm currently reinstalling 4.26. But start with just that cast to character, then a Switch Has Authority, on the Authority side set the owner do the character.
maybe underscores videos on replication might help you KV? https://youtu.be/a8ukx6nPub0
An introduction to multiplayer replication in Unreal Engine 4. In this video, learn some basic techniques to effectively produce multiplayer mechanics involving server and client logic. Topics covered: Blueprint scripting, level blueprints, RPCs (Remote Procedure Calls).
LINKS:
Part 2 - https://youtu.be/TuyLaN3FJGo
UE4 Network Compendium - htt...
@olive sedge Multiplayer?
@orchid garden Unfortunately he's modding, so he doesn't have normal access to classes. So he's trying to work around it without being able to touch the Controller or Pawn classes. Kinda brutal.
OML, you did it :D
I had an input and a output node both named Level on the same function ๐คฆ
:triangular_flag_on_post: Kiwi#3757 received strike 1. As a result, they were muted for 10 minutes.
@maiden wadi r yeah but he does show some methods of overlap events for mp using replication that may give him idea's on how to overcome his issue
was Manny sleeping on the job? lol ๐
abit delayed there
that's literally the video i watched as a tutorial
followed it to the letter
glad you found the problem ๐
and i got the "only host can use the button" issue
@maiden wadi yes. I trigger in the trigger blueprint now and get the controller from the pawn
Are you running the overlaps on the server or clients? If it's Server, you could just GetGameMode. Otherwise you need your client's local overlapping thing to get the local player controller to ServerRPC to get the server version of that client's controller. Then you can GetGameMode, or whatever.
@scenic scroll Does that game have a melee button? I feel like this could be solved easily by making it into a large button that can be meleed. Then everyone can just hit it whenever with no ownership issues. Haha.
im abit confused on why your using the auth and just don't do:
that'd be wonderful, but it does not have melee, also it's useful for me to learn how to do this because while this particular issue could be solved that way, i'm modding this game long term so i'll probably need to do actual inputs in the future anyway, when i figure out how to do it i can reuse it a lot in future scripts
its what he did in the tutorial- also i did try the other way (the way you pointed out) and it didn't work either
what did it do when you did that?
it looks right, you'd be calling the multicast to the clients the person triggering it being the target, then the onhost i saw you had to multicast so its excuting it on server & clients as the player switching the var, then the rep notify should handle the shield toggling on / off
You can't multicast from a client. And Input is client side. So not server RPCing from a client wouldn't work.
then that would be the problem
cause he's hitting a multicast for the onhost from the client.
i was under the assumption the problem was how i was getting the imput to trigger all this, not the replication itself anymore
because like i said only host could use it BUT when the host did it replicated just fine
@scenic scroll Actually, I'm dumb, I just realized something you could do. You can create Actors. Create a new actor that's replicated. Create it on the server, one for each PlayerController when they join. Make the PlayerController the owner of that actor, and use that actor for your ServerRPCs. It'd be like an extention of the Player Controller without actually using the player controller.
i'll attempt to do that right after i test this current version!
thanks! :)
try a setup like this for the replication on the server & client:
my double jump routine just needs to pass the velocity to all the clients, so, it calls serverdblejump that then calls a multicast to all clients and the clients excute the launch of the player who called it
I'm getting an information overload (little of which i underestand, remember i'm mostly new to this and haven't ever dealt with replication) i really appreciate the help a lot (i'd still be stuck without it) but i have to go trying the suggestions one by one or i'll get badly mixed up
sorry if i sound like a boomer lol
no worries KV ๐ i understand completely
best of luck time for me to head out
i'll give one more example of a simple replication:
set speed is just a routine that sets preset speed settings to the character movement depending on 2 booleans. this sets the speed for both standalone / dedicated for the player at hand.
im gone ๐ happy coding!
so you probably wont believe me (i find it hard to either lol) but this i sent before?
it worked perfectly
everyone can use it and its synced to both the client and the host :)))
at least with two people it works great! it's still largely untested but i haven't seen any issues
thank you all for helping me and guiding me through this :D
@scenic scroll That'll generally work, but it will be a little buggy. For example, if anyone leaves the trigger area, even the latest owner won't be able to trigger it I don't think.
huh? he went in and used it and it worked, then i went in and it worked too, then he tried again and it worked again, we went in and out of the area multiple times and that didn't happen- i think??
unless i misunderestood
The latest person to enter the trigger should own it. So if one person enters, then a second person enters, the second person owns it at that moment. If the first person then leaves the trigger, it should disable the second person's ability to use it.
wouldnt it be as simple as getting out and in again then?
plus the trigger area is like the front of a little terminal i dont even know if there's space for 2 people
It should be that simple, yeah. Just depends on how you want to use it.
well- if when we play with this version i see any big issues chances are you'll see me back here xD
thanks a lot for the help
and goodnight! (i go to bed)
I have a race condition here that I don't know how to handle:
on the server, I spawn a unit. after spawn, I assign a team to it, then I trigger an event (initialize)
sometimes, the team variable hasn't yet replicated to the client when the event triggers
how can I avoid this? Can I observe the variable somehow?
Whatever variable is storing the team value can be set to repnotify which then creates a function that is called when the replication takes place.
You can then call your initialize from that function.
Or, set up your team variable as an instance editable variable that is exposed on spawn, so you can set the team value while spawning the unit.
Hi!, why my widget component is shown like this?
Or, set up your team variable as an instance editable variable that is exposed on spawn, so you can set the team value while spawning the unit.
this does not work with spawn AI from class tho?
@stable fjord There is a option you can click that says "twosided" or "bothsided"
@dawn gazelle RepNotify seems to be just what I needed, thanks!
@stable fjord Can you show me the viewport of the character
so.. I fire an event on the server to create an AI unit. Who should own that? the player controller of the calling client, I guess?
@olive sedge Are you spawn actor from class or casting?
spawn ai from class
@olive sedge Spawn actor from class should fix the problem if the actor is the ai with the code attached
well, but still.. who should in the end own that character?
it's controllable by a player
and there can be multiple of it
@olive sedge Not sure about that sorry
ok
the reason I'm asking is this: LogNet: Warning: UNetDriver::ProcessRemoteFunction: No owning connection for actor bp_Manny_C_0. Function execHit will not be processed
yes but what exactly?
Is there a class to the widget
And you have size set? @stable fjord
of the widget?
On the character
@stable fjord
one moment
i have null ptr
thats why i am getting an error
connected with invisibility
Are you coding with blueprints?
no no, I know where is the problem and what to do to solve it
but I have never see it before
So you know how to fix it?
Oh ok
and something like this
but I found that I have a nullptr so there is not possibility to have a widget component set up correctly
to make sure
I have following settings checked
@stable fjord Maybe change the draw size but thats good
how do you get the player controller of whoever calls an event on the server?
It should work without checking IsTwoSided's checkbox
and works
thanks @spring hare and have a good day
@stable fjord No problem and you too
@olive sedge If you're calling the event on the player controller blueprint, you can just pass it a reference to self and it should work.
ie. Player instigates a call to a "run on server" event on the player controller BP, server should be able to call self and it'll know which playercontroller it is talking about. Otherwise, you could pass in the value of self through the event as well by adding an input node on it.
@dawn gazelle I'll try
server should be able to call self and it'll know which playercontroller it is talking about.
that's how I handled it so far but it seems I'm having some issues with it
Hi guys, I want to know, how can i version every release game and display it during game launch?
@spring hare ehh sorry that I am bothering u too much but I dont see this widget within gameplay
from cpp side is everything correctly
every time I look up in internet i get VersionControl, with Git or SVN
god dammit
@stable fjord Is your widget attached to the capsule?
what the fuck is going on
If I clicked F8
I see this widget
XDD
my dear god
@spring hare could I share my screen at #Support channel? Just stay muted, I would like to show this very weirdly behaviour
I dont know how to name it
Sorry ive got go if im back and your still having the problem ill come help @stable fjord
@marble violet You mean just having a version # displayed in a widget somewhere? There's a value for Version in the project settings, and there's a free plugin on the marketplace called "Low Entry Extended Library" that gives you an easy "Get Project Version" function that calls that value.
@dawn gazelle I see... yeah, cause sometimes I don't remember what version was the compile, and when play in multiplayer it actually can cause problem, but okay, I will check it out thanks for the help ๐๐ผ
UE says a variable I want to delete is in use
find references comes up empty tho?
unfortunately the name is "team"
I've been through the entire project by hand and can't find anything
Recompile and Ctrl+Shift+S to save all a couple of times and try it again.
ok, I've had another variable with the same issue and it clearly wasn't in use
so I deleted both now
next time Ii will do what you said
Ctrl l+ Shift + S is save all, yes?
Is there a compile all?
There is a CompileAllBlueprints thingy
But I never looked at it outside of some automation tools
kinda sounds like "Crash the editor button"
To be honest, I've never noticed it. I compile and SaveAll so often that it's like breathing. I don't even think about it.
The "CompileAllBlueprints" stuff?
yeah, freezes occasionally just doing a BP wide search
Well, it's not a crash button. It's actually super useful
We have a local script before commiting stuff
And Jenkins also runs it
Makes sure to find things where UE4 didn't adjust a pin or so really easy
Sometimes you rename a variable and some god forsaken child BP didn't update and you only notice if it gets loaded
So the CompileAllBlueprint stuff helps not having people run into issues later on.
Yeah
The script catches it a bit early
Which is faster, because we would fail lots of builds
Now it only fails the Compile step
And we can fix it before it destroys all upcoming builds
It's probably not. We had issues. I wasn't the one fixing them.
I know you can do that via the Test in the Editor, which probably is not a good idea.
But you can also do it via command line
that makes sense now
I think it's just -run=CompileAllBlueprints -unattended or so
+- -IgnoreFolder=/XYZ,/X/Y/Z
I see
I'm trying to make a HUD with a character icon that changes based on a button pressed in my main menu. I've tried creating an event dispatcher on that button but I do not know how to get my HUD blueprint to recognize the result of a button press in my MainMenu blue print
Any suggestions as to where I should start? I apologize if I'm missing something, am fairly new
you can easily access HUD directly from any widget
Hey, i recently migrated my project to 4.26. Inside my playercontroller i create a widget (OnBeginPlay) However, suddenly it wont show up, and gives a error on addToViewport:
So, is it even common to create UMG inside playerControllers?
GetOwningPlayer from Widget returns the local PlayerController, GetHUD from there gives you the HUD Actor, Cast it to your specific type and you're good @slow valley
just need to connect the PC to OwningPlayer pin when you instantiate widgets
@twilit heath, aint work for me in 4.26
Hhm yeah, that should work..
It is in my player controller yeah
i use a AHUD subclass for that kinda thing
reason: Its always local, no need to check local, etc
should try it ๐
literally use it as a UMG container for the HUD
Hhm right so, in theory my blueprint above 'should' work right?
it should yes
Thats so weird
its not the pawn
its the player, which is odd
Widgets get attached to the viewport
which is via LocalPlayer
Player != pawn
Ah, right yeah..
apparently there is no Player
So when is the player being constructed?
clearly after beginplay
for some reason :/
well
attached
what happens if you put a delay
before you call it?
does it work?
i honestly recommend moving that logic to AHUD tho
it makes so much more sense
and will take you 1min max
So, AHUD is like a actor placeholder? How does it work?
make your own AHUD
bp
in your game mode, set it to use that new AHUD
then in begin play of that hud bp
create your widgets
dont even need to check local
HUD is always local
However, its a widget for Chat, and needs to Replicate
you cant replicate widgets
widgets are local only
they can't hold replicated properties either
nor can they do RPC's, etc
Right, so all my code just works in AHUD then?
HUD is also not replicable
PlayerController only replicates to owning client
so with that in mind, you might need to rethink your chat.
You probably want to make a delegate in game state so when the chat updates, it'll notify your chat widget
If chat is global you can have the chat data be repnotify and whenever a message is added you'll know so you can do all the updating.
when i try to scale -2, it show like this
should i set material to two side? or something else
but when i do in editor, it works fine, at runtime it looks like this
thanks, so the issue is but when i do in editor, it works fine, at runtime it looks like this
@worthy frost
@worthy frost so, created a AHUD blueprint, creating widget OnBeginPlay, however its not visible:
I did changed the HUD class in my gamemode
its probably offscreen
btw AHUD has a proper function to get the player controller, i advise using that, but did you break point
to make sure the nodes hit
set alignment and anchor both to 0,5 0,5
other options is
you either did some c++ overrides and forgot to call super
or you mismatched GameMode with GameStateBase or the other way around
so BeginPlay never gets called on any of your Actors
Code runs, now using the proper player controller function
changing alignment wont fix it to
Is it maybe i still use other widgets that got created inside my player pawn?
Hey, i'm trying to create event when my mouse hover one of my BP, is there anything more to do than making this ? Cause it's not working at the moment
@neat mulch Enable Mouse Over Events in the PlayerController class.
This might be very bad, but I'm just trying out whatever I can to see if I make any progress:
I'm trying to have a button press in my main menu draw/change the player icon of my HUD. But it seems to be failing to cast to the HUD
@worthy frost @twilit heath So yeah, it was because i created the main widget in my pawn, works now
Any way to disable these pesky bubbles that give me no new information and are only visually intrusive?
just select the comment and set it in details @calm cargo
Thanks
reminds me of a problem someone else was having with a static mesh appearing / disappearing on them, did you try adjusting the bounds limit under rendering?
https://cdn.discordapp.com/attachments/668631454569463838/786629453752827924/unknown.png
i have pawn sensing on.. it senses my player pawn but not other characters.. any ideas?
@olive sedge select your pawn sense component, and try to disable this
godlike!
thank you!
Is Character>Pawn or Pawn>Character in hierarchy?
Thanks, i will try it
@gusty shuttle actor -> pawn -> character
Reallllly? SO when I'm trying to off my player, I should GetPlayerPawn instead of GetPlayerCharacter
I ask because I have a Character AND Pawn I can use
btw pawnsensing is not that good
And I just want to use pawn
best to use Perception
or write your own homebrew
hey guys, i have a character with 2 weapons attached to a socket in each hand, but when i simulate physics the hands go crazy like if they are colliding with the weapons despite the weapons having all collision turned off
does any 1 know how to fix this?
Hello ๐ Is there a way to use the SpectatorMode and states and still be able to allow the player to attach/follow other Pawns?
a simple AttachActorToActor isn't working
Hello, do you have already have this problem and solved it ? (spline)
https://i.gyazo.com/716f0f8dce5a0a43efd002410057686e.png
@lucid dove Hmm not sure ive seen that before! but if your working on tanks id very much like to talk to you as i am making some for a project i am working on ๐
Question for people, how do i rotate these vectors (the yellow ones) so they line up with the bounding bos
Is there a way to (automatically) convert a level into a Blueprint? (Possibly with Child Actors?)
@latent arch we'll need more info to give you any pointers. How are you determining those yellow vectors?
I can't tell what's going on by the viewport screenshot alone
generally speaking, for any static mesh you can Get Bounding Box. It'll return a localspace bounding box
and you can fiddle with the vectors to get the four corners in localspace, and then apply the actor's transform to it to make it worldspace if necessary
("compose transforms" might be the node to use for that)
This is how my editor inventory grid is generated for my editor inventory UI. Im trying to figure out how to get a reference from this so that my drag and drop operation will work. I know there is a missspelling but it has since been fixed after this screenshot was taken.
This is where the reference needs to be made so it selects the correct item to be dragged and dropped into my hotbar but Im having a brain fart and have been stuck
This is the function for how each grid is filled.
This is to show that my mouse is detected over the slots but again a brain fart on how to reference the specific slot for the drag and drop operation to my hotbar
Can't you set the Dragged Item as a reference to self?
It does allow me to do that without any compiler or bug errors when I close the level. But from what I can tell it looks like I cant actually drag and drop any of the buttons from the grid panel to my hotbar. Maybe I am missing something?
Are you overriding the OnDrop function?
Yes. I was following the UMG Live Tutorial series and stopped near the end of video 2 because of how I setup my grid panel to generate only as many buttons as there are names present in the data table. The videos method uses a set number of inventory slots not generated by a data table.
Is your concern that you're not seeing the drag take place? You're not setting a visual, if that's the case.
Anyone notice that with 4.26 it makes delay nodes not work when you pause the game? same with "Unload stream level" nodes
@exotic cradle Are you sure the OnDrag is even being called? Perhaps do a print string on the function to see?
Your set up looks similar to what I have in my project.
Thinking perhaps there's a setting on the widget's button preventing the mouse being detected
Maybe. But the button changes color when clicked or when mouse is hovering over it and each section I have like in the short video I posted atleast confirms that when the mouse is over a slot in the hotbar or the inventory it is detected.
Im going to rewatch a couple videos to see if I didnt maybe miss something
Yeah Im definitely missing something. Also added a few images to even see if an image would load along with the buttons themselves based on the data table and that doesnt work as well. So I think at this point what I need to do is probably redo some of this system like from the tutorial than go back and edit it the way I want it after it is fully functional.
I'm guessing that the "inventory image" is valid isn't returning true, so the drag is never happening.
Yeahh because I dont think I set the image to the button as it comes from a data table i beleive
Or atleast the icon for it is shown in the data table
anyone know how to clamp a vector within another vector?
im trying to use the left and right values of a vector along with the actors location to limit how far the player can move something
Split the struct for the vector
i did it by splitting it before but my approach only worked for a single camera view in game
hoping you can see this well but i did something like this for both left and right and up. I dont have the left and right one anymore to show but
click the blueprints dropdown in the main menu, it at least has an option to convert selected meshs to an actor/bp, so worst case is you have to select everything
Don't know why, but didn't work
maybe it didn't work because I had selected the folders instead of the objects inside them
@tight schooner ahh thanks man ill have a play with the transforms of the actor and see if i can get it to line up ๐
Hey - I'm trying to spawn two niagara systems (of the same blueprint type) with keypress so it emits when i hold a key and reduces to zero when i release.
This works in the emission however if I press two keys (emitting both systems) the previous system keeps emitting and stops updating the decrease // why is this happening?
Is it something to do with cache handling - as they both should be updating simultaneously. (or if you have a link to something i could read up on that would be great too)
@tranquil canyon do you have a reference to both systems or just one reference?
You're probably overriding the ref with the 2nd system therefore losing your ref to the 1st one.
I have two containers of the same blueprint in the scene
thanks! will have a look at referencing / wasn't sure what to research
@tranquil canyon what variable is the target of that "set niagara variable" node?
@faint pasture that's a niagara system component
Yeah but which one? You're dealing with 2 right?
Hello, i got a quick question...
so I made a Landscape everythings fine but i want the player to be able to pick up Objects but it wont work and I dont know why i followed several YT tutorials etc. but still nothing, so I finally got here. Anybody out here who can help me?
@sterile pagoda That doesn't exactly narrow it down. Start with trying to make a keypress do something, literally anything.
well i placed 3 Object and they should be able to be picked up with "E"
and they should be droppable as well
by pressing "E" again
thats what i got so far so it should work technically but I somehow cant manage the objects to be pickable
No one can read that.
@sterile pagoda If you tighten the nodes up a little, using WindowsKey+Shift+S is the easiest way to take a screen.
But other than that, that looks fine. Can you print the HitActor and make sure it's hitting the correct thing?
It's possible that your pickupables aren't blocking the Visibility channel in their collision.
and how do I fix that / check if they are blocking the Visibility channel?
First try this on your trace. See if the hit component prints anything, and if it prints the correct component class type.
If it prints nothing, you're not hitting anything.
Turn on the debug draw. Use ForDuration. It should show you a red and green line where your trace is for five seconds.
On the LineTrace node.
Red square dot thing at the end of the red line?
yes
And that's hitting the thing you mean to pick up?
yes
But the Print from the HitComponent isn't printing the component's name?
nope its not
That's.. Odd. Try switching that to HitActor instead of Component.
oh -.-
I know why ^^ i didnยดt change the GetWorldLocation to Get Display Name xD
okay now it prints the name obviously
Let me check something really quick.
@sterile pagoda Hmm. I set up a quick test, and I can't seem to get a sphere to be grabbed by that physics handle.
so somethings wrong with the physics handle?
I guess so. I've never personally used it, but from doing some general testing, I can't make it grab an object whether it's simulating physics or not.
Might require some form of black magic.
^^ thats kinda sad -.- but if not with a physics handle how should i make object pickupable?
@maiden wadi hey buddy hows it goin? you got a few minutes to look at some vector math? ๐
@sterile pagoda what sort of actors are you trying to gram? static mesh actors? Skeletal Mesh actors?
Grab*
Ah, the audio stuff. I completely spaced that.
https://gyazo.com/26684ff8c164be5286d5dfccd6c1cb68 I want to set the firstpersoncamera as the main spawn camera but it spawns using the camera named camera instead
hey no worries man tis all good, not in any rush for anything just more pet projects / experiments ehehe
If I understood right, you are more or less trying to lower the sound based on things in the pathway?
but my vector math is crap lol
Finished my gamejam project day before yesterday. Still frazzled after the week.
to simplify it yes, but the idea is to try and generate those paths and then clone the sound around the edges of the object
haha no worries dude i figured yyoud been busy on that
how did it go? happy with your project? ๐
I know it has something to do with the override function On Key Char
Fairly. Technically it's my first real software developed. It's just a little top down arcade style game. Survive asteroids and use particles to search for wormholes to go through. https://itch.io/jam/2020-epic-megajam/rate/850017
ah cool ๐
@trim matrix What kind of UI, like inventory window sort of thing?
So a quick one to see if i can figure it out myself. Ive got the SM Actors bounding box from a line trace, and ive done alittle math to get its vertexes from its bounds. How can i now rotate / line up those vertexes with the objects rotation? :)
@trim matrix Input is normally in the player controller or controlled Pawn. So I'd just bind the input there. It's a slightly tricky question though, because of best practice. Normally you would construct a widget if it doesn't exist yet, and if you already created it, you'd store that one in a pointer somewhere like the HUD class and just add it back to screen when you want to use it again.
I have a SpawnWidget
I'm using the default first person controller for this as well, not sure if that makes any difference
@latent arch Hmm. I sort of thought of that, but my concern with using bounds is what if you have a really tall object? The bounds would be huge and make it seem like it's very wide too.
I mean if all objects in the level are cubic, that would solve that immediately, but oddly shaped objects skew that badly.
yeah i did wonder that too, but then i dont think it would matter too much for just emulating sound passing around it cause i can fudge the attenuations i guess
right now im just trying to get my vertex vectors to rotate corectly to line up with it ehehe, then im going to try get closest point on a line between each of them and join the dots for paths (i guess)
I wonder how many traces are too much. I mean I've heard of people using thousands of them a second in C++.
yeah lol
well im only planning on generating a path if its shorter than the sound attenuation
and also if there is a pathway, so like i wond go under or over something if there is another object in the way to sorta check for the floor and ceiling
also probably only do 5 times a second at most
can allways interpolate it a little
Like. I'm wondering if you could trace from the sound point to the player, if it hits the player, full sound.. if it hits an object, you could basically draw spherical points around the hit object and trace towards the player. Of course you'd align this from the closeset point to the player, and the first one to hit the player could provide the best placement, and you could use it to do a slight reduction if the trace is straight from the sound to the second point to the player, or a major one if it needs multiple points between.
hmm thats an interesting idea
Theoretically it should provide near enough results for something like that and it should work in 3d with differently shaped objects.
the only thing i liked about this method was that it gives you the option of having sound come from above bellow and either side if all the tangent points are within audible range
luckily with wwise you can clone a sound emitter for this and it wont take up any more resources
its just the traces generating the pathways thats the sticky bit
I fugyred bounding box was the simplest 3d geometry to try as even simple collision can be more vertexes
Sets vs arrays? When should I use one over the other?
@rough blade Sets avoid duplicates. Sets are to throw things like a list of objects in to avoid getting two pointers to the same object. Arrays allow two of the same value.
Hey Guys, So I am trying to store the position and information about some actors to allow me to spawn them in the exact same location with certain variables being the same as the were before. Whats the best way to do this? The main issue is that different actors have different variables so I can't just store them in a singular type.
@maiden wadi perfect, thank you
@rough blade Sets are also good for comparing. So you can see if two sets contain similar members or get the differences between the two, where Arrays you can only do something similar by iterating through them with loops and doing a lot of comparisons.
@dawn gazelle Thank you for the heads up!
Hey guys, I'm not sure if this is a question to ask here but in C++ I've created variables that are available to the editor, however I can't actually set it (Even though the editor acknolwedges what Im looking for)
Then when I select BoundaryBoxOne, it just goes back to saying "None" in the editor
i wonder how to rotate the vectors of a box extent from an actors bounds?
im always getting world space location without rotation
@latent arch The BoxExtent should always be from the Origin to the top front upper corner in Unreal, usually.
@wind rose What kind of variable is it?
You're trying to set it to something that exists in the level?
Yes
Hmm. It shouldn't null out like that. Are you positive you're not setting it somewhere like OnConstruction or the BP Construction script to null?
Let me check one sec @maiden wadi
So in my header I got this:
Then in my constructor I insert that variable somewhere else
but I feel like in the header that should still show up even if i commented out my constructor thingy
@maiden wadi hmm ok, so how would i match the box extent location vector to the actual objects rotation then? cause in the screen they are on sepparate rotations
Why does my characters mouse controls move like this? https://gyazo.com/f089fc19eb919c80272a909a16a0528a https://gyazo.com/c3632897dc03cabe869d29d200785303
this seems like some #cpp stuff
@odd ember No idea, my issue seems to be with the editor actually setting a variable so I was hoping maybe someone had an idea here, I'll def give it a shot over there too
@mortal wharf are you hoping for a FPS style camera where it just moves around your weapon and you're not seeing your character?
i mean the problem is that when i look down / up only the mesh actually goes down / up i want the camera to do too
@wind rose stop using std::vector and std::pair,
@dawn gazelle
@worthy frost its a map
no idea lol the implementation on geeksforgeeks did that
Its for a data structures class, need to implement a structure
guys
stop using stuff like that
what do i use
Hey guys! I package two different versions of my AR project. Android and IOS. But for some reason, only the Android version can scan QR codes and Images. The IOS version can sometimes scan QR codes but never images. I'm pretty sure that the processes for image tracking work are the same... So I really don't know why IOS devices can't scan images but can scan QR codes. It just doesn't make sense.
you screwed you camera pivot
How do i fix it?
reset your camera if you can from a backup
Reset it's position, rotation and scale?
my thought is that it's probably a child of some other component that isn't root
and that's what's causing it
but I can't say for sure
@latent arch I had to double check, but this pretty much. Use the component's local bounds and transform that into world space.
I'm out for the night though. Well past midnight here!
can some one tell me which node is better to get a reference of a door for my actor? should I use get actor of class or get all actors of class?
neither
@maiden wadi ok thanks buddy no worries GN ๐

Thank you
which node can is better does anyone knwo?
they both do the same thng
ok im gonna try the other one, if I have more then 1 door I should use get all actors of class or does it matter?
depends entirely on what you are trying to do
generally you should never use GetAllActorsOfClass or GetActorOfClass
it's symptomatic of that you haven't thought out your system well
whatever it may be
I need to use an event dispatacher on my event begin play so I can open door the door after the player passes the mini game
I have more then one door on the map
or maybe I should use a cast node? but what wild card could I use for the cast?
I am working on a multiplayer coop where the player comes to a door and needs to hack it, after they hack it the door needs to open
so on the on sucess it binds to the open door activate of the door
you should handle the logic for opening the door inside the door blueprint
otherwise a) you'll have problems when you spawn more than one door
and b) you'll have to copy your logic constantly
at least as far as I can see
read up on blueprint communication
it looks like you're trying to hack things together basically
yeah but if its not a pawn it has problems sending RPCs
which isn't a problem
the player does not own the door.
do you know how to resize the windows for testing multiplayer I cant rememvber where the option was to size them perfectly together
What would be the best way to go about editing an image of my HUD widget based on the button press on my mainMenu widget?
@slow valley I'd save information like that in the game instance
If you plan to have a lot of settings like that I'd make a struct called HudSettings in the game instance
Ah, it would only be one spot that I do that in. I'm having the player click their preferred mascot in the main menu (a cougar or a husky) and eventually when the menu closes and I run the level I want the hud to either display a cougar or a husky icon. I tried binding an image texture in my HUD but have had no luck in accessing what button was pressed
(this is probably horrendously bad but this was me just experimenting with what this button could even access)
in the MainMenu cougarSelectButton have it set a variable on either gamemode/gameinstance/playercontroller that it's selected cougar. Than on the Hud's pre-construct event, have it access that variable and then draw the image if it's set right.
@wind void Thanks for the tip, I'll take a look into that
Hi guys i am learning about blueprints in unreal, i created a button UI widget and want to display text when clicked
but this does not display anything on the screen
Thanks in advance
First off, the print, isn't being ran. Second if the print was ran, you'd need to check every tick to see whether it is "being pressed"
It's much easier todo all this in the widget's built in blueprint:
In the event pre-construct have the text's visibility set to collapse
Then in the onButtonClicked event, have it put the text's visbility to visible
Also make a get player controller from id and attach it to owning player on the create Sample UI Widget