#blueprint
402296 messages Β· Page 939 of 403
I see why I was having trouble find that, I can't use the spawn actor of class in the construction script. Gonna keep looking....
Not mine, but im all for the instanced meshes!
You can
If you really want to
Just toss it in a function
and call the function from construction script
(unless they fixed that)
you can also make editor functions
callable from editor
there's some "gotchas" with that method tho
like moving the owning actor would make it clear its array of references
Is anyone able to help? I'm trying to make a ricochet effect using physics based bullets. But everything I do it does this
Reupping, is there any way to search a level for actors with a specific component? Or even just get the components directly?
Like, in BP at runtime
Hmm, interesting. I'll see what I can come up with. Thanx. π
If you don't find a straightforward way, I can think of a more convoluted way... If it's a custom component, have it add an actor tag to the host actor. Then you can get all actors with tag.
Or if not, have the parent actor class do that on construction
Hmm now I gotta weigh this against the hack I was thinking of... which is to have every component of this class (it is custom) add themselves to a list in my GameMode or something on BeginPlay, and then just call to get the list.
Which is probably more efficient now that I think about it, no traces or overlap tests
This FEELS a little hacky to me lol
yeah it's a custom component that makes any object interactable and exposes an "OnUsed" event. Also handles things like on-focus prompts and highlights.
And you dont want overlap?
Overlap?
To register nearby interactables
Well like I said the problem is any object can be interactable, if it has this component.
So I can't look for objects by class or whatever
No but this component
Can add a collision component to the owning actor
Which it uses to register to the player?
If thats not usable then your method seem fine^^
Maybe but that seems like more of a hack than what I'm doing. Probably more expensive too this just iterating a short list once
Anything at that point is a hack , is it not
Yeah, but some things are more hacks than others π
my interaction component does exactly what i suggested π
Was rather pleased with it, but now that you've made me aware that it feels hacky.. . perhaps it does feel hacky
Also the trick is I'm doing this on tick so efficiency matters a lot. What I'm working on right now is a sorta "scanner pulse" that highlights objects in an expanding sphere
I also kinda don't like the pattern of modifying the parent actor, if I can help it. These can be put on ANYTHING, even like static mesh actors in level.
sorry i was reading and got lost, what is it that you want to do?
Dont worry, I'm good here π
@flat coral well... did using the dot product help?
You need to change the projectile motion to increase bounciness
Well... not directly, but the "get distance between two vector locations" function MIGHT be using the dot product behind the scenes?
If theres many objects, you might benefit from using squared distance ^^
Or generally c++ and then squared :p
I dunno, when I start optimizing this project, I think I've got way lower fruit than this
Shit like "I don't know what level streaming is, and at this point, I'm too afraid to ask"
I'll give it a go
And what do you mean by projectile motion?
how do you shoot?
I get the tank shoot arrow and use projectilemovement
Let me know when you ask, so i can spy on the answers
i have a static mesh in a blueprint actor pawn and it is not in the middle
where it is right now is the place I want it to be in the game but when they overlap with the coin it doesnt trigger an event
(print string)
Assign a hitbox to the coin
Also does it trigger at all?
Show me the bp
how
Can anyone shed some light as to why Call To Parent Function is not available for this event?
This is a child class of another blueprint, its a health pickup child of general pickups. I just need this one to check the player's health before continuing with the rest of the pickup functionality, but I can't seem to return the blueprints flow to the parent class functions
Its a delegate
@gentle urchin Got the dominos working. Thanx for the help. π
Well done ! Did you take a big hit in performance i wonder
Hey guys, I'm having issues replicating a mesh's movement, I've ticked the 'Replicate Movement' tick box in the meshes settings but still isn't syncing for all players? Could it possibly be because I have placed it in the level as apposed to having it spawn in after a set number of seconds (via say a gamemode bp). Any ideas?
is it possible to add a row to a datatable from a text box?
ok thankyou
UE5.0.2
Trying to setup EOS but always fails on Create Advanced Session
It pops up the web browser to log me in, but then it fails.
if i wanted to make a var that doesnt get deleted when i close the editor where would the best place be
in the cache
im assuming ill have to use a save game obj
Nope. All good so far.
Still haven't found a solution to this. The character seems to do this when you hold down W or S and then instantly release that key and press A or D
Here is my Code
i wonder, why can i create a child of a static mesh component but not of a procedural mesh component
Probably because creating a child of primitive component implies you need to implement rendering and/or collision which is not really a blueprint thing
hmm, so time to think around corners
is there an enum variable type that is just Horizontal/Vertical or do I have to make my own?
Boolean or just make your own
Why are you doing all this, this is gross.
You already are handling the input elsewhere
Convert from your velocity to a direction (int or enum)
then select a flipbook based on that
If velocity is under some number, just don't change direction
If it's above that number, choose direction
Make a rotator from X vector, then get its yaw, that'll be a single number representing the orientation. Divide by 90, round, and you got your int
is there anyone that wants to have a 1 on 1 with me about blueprints ?
@bleak swift
does this look solid or did i create an abomination?
its logic for flag capture in a CTF game
Why is it all spaghet
Are there many teams or just 2?
for now i just made 2 but i will make it dynamic i guess
for unlimited ammount of teams
I wouldn't do the fancy looping, just loop through and add to score if teams match
no need to early bail out on a 5 iteration loop lmao
haha ok xD
Also I would break out a TeamScored event
passing over team
then you can update score and do stuff like multicast events and sounds and FX etc
is Game Gamestate?
i did this now
Game is an actor which basically spawns and handles the game
its not really a gamemode
Sounds like Gamemode or Gamestate but you do you
i want it to be spawnable inside the actual gamemode
Component then
but if it works it works
I'd break out an Event Team Scored though
Then you could use it for other ways of scoring later
Game -> Call TeamScored
done
Just remember to keep logic where it lives. The goal doesn't adjust score, it just tells the game controller that someone scored and the Game actor handles it from there and does stuff
my current setup is like this
i have game actor which spawns a flag and team base actors
the flag itself handles the pickup logic
and the base handles the scoring logic
and game handles the initial spawning and respawn of flag
If I have a timeline in a variable how do you get the output?
if i pass a struct reference to an actor like this, is it actually a reference or will it make its own instance of that struct?
Structs are pass by value
I'm pretty sure
just pass the team name over if that's how you're indexing teams
the flag or goal has a team name string right?
the goal and players have
K
guess ive set this up in a very dumb way
So
Overlap -> if Player.TeamName == Self.TeamName -> Game.TeamScored(Self.TeamName)
why didnt i just make everything components of Game actor lol
REEEEEEEEEEEEEEEEEEEE
ohh wait can i just add the flag and bases as child actors?
@limber parcel yes and actor components are also limited in what they can do
in which way?
For instance they cannot hold primitive components
Or other specific classes like a camera
they can hold entire actors
what do i add to a character for it to be able to be casted to as a character?
Should work
What's the warning says about it?
he is casting to the same class...
it doesnt inherit character
Should work still
ik why
did you even make the character class the base of your class?
What's the parent class of PlayerCharacter?
you intentionally trying to be confusing? lol
Also try Get Player Pawn
How do I do this but with multiple widgets in the one reference?
My pause screen has multiple widgets depending on what buttons are pressed and if I press 'P' to close the pause screen but the other widgets are open they stay on screen.
???
Um maybe make it an Array and then use add
That'll be something for your pause menu widget to handle
create widget ui bp and drag them in
if i understand you correctly
Is there a way to nest widgets within widgets?
@vivid inlet yes
Just put the user widget inside your user widget hierarchy
You can also tab widgets
itll be here
I forget what it is called but in a widget container you can have multiple sub widgets to pick from
Ooooh I've been doing it all wrong. XD Okay, thank you guys! :)
np gl
ty! :)
now my code looks alot less cancerous
but i had to add a cast
child actors are gross
if I run this my unreal crashes
You should just have an event on Game to handle score
Although IDK why your game controller has children actors, that's weird
well this way i dont have to pass the game reference to the base
Flag
Begin Play -> Get actor of class (MYGAMECONTROLLER) -> set variable
Later
Overlap -> LOGIC -> Get GameController -> CallSomething
is the player character even loaded in when you are using the get all actors of class at beginplay in the level blueprint?
thats what i did at first
it looks like trying to possess the player character at all is crashing the game
This sentence is just not making sense
Also show the crash callstack
LoginId:36c270444227ab3e806b4c9294c95206
EpicAccountId:d346b317fb7f44a39fe0f81c37226c46
Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x0000000000000000
UnrealEditor_SequencerScripting
UnrealEditor_SequencerScripting
UnrealEditor_CoreUObject
UnrealEditor_CoreUObject
UnrealEditor_CoreUObject
UnrealEditor_CoreUObject
UnrealEditor_CoreUObject
UnrealEditor_CoreUObject
UnrealEditor_CoreUObject
UnrealEditor_CoreUObject
UnrealEditor_CoreUObject
UnrealEditor_Engine
UnrealEditor_Engine
UnrealEditor_Engine
UnrealEditor_Engine
UnrealEditor_Engine
UnrealEditor_Engine
UnrealEditor_Engine
UnrealEditor_UnrealEd
UnrealEditor_UnrealEd
UnrealEditor_UnrealEd
UnrealEditor_UnrealEd
UnrealEditor_UnrealEd
UnrealEditor_UnrealEd
UnrealEditor_UnrealEd
UnrealEditor_UnrealEd
UnrealEditor
UnrealEditor
UnrealEditor
UnrealEditor
UnrealEditor
UnrealEditor
kernel32
ntdll
why are u even doing this?
for I can use the character
Also this setup seem to be super jank. Get All Actors of Class then get at 0?
i never had to do this to use my character, it seems weird
there's only 1 actor? arrays start at 0
because it is in the level blueprint

It is the problem.
this weird add posessable must be the issue
all characters should be posessable out of the box
well I am just a floating pawn when I load the game
I can't rationalise with this anymore, sorry 
sounds like u didnt set the default player character in your gamemode
yeah
whatever ure trying to do, add posessable is wrong
Why even using Get (All) Actors of Class for possessing character is just beyond my sane thinking
because casting it normally wasnt working
This is truly peak XY Problem syndrome
so rude for no reason
just leave
instead of solving my problem you just try to shit on my day
Okay, how about this, can you just say how your game mechanic is supposed to work?
Whatever, it's your project, not mine π€·
How can I get a reference to a static mesh actor from a line trace? Thank you!
Break the hit result, and cast the hit actor as StaticMeshActor (or Static Mesh Component if you detect for components)
Also Static Mesh Actor is really just a regular Actor with Static Mesh Component
What exactly do you want me to replace?
Step once
it might be an unknown class because it hasn't been set yet
idk
ohh i found my issue nvm
The whole way you're choosing a flipbook
bake velocity down into a direction, then select based on that
Velocity -> yaw -> int -> select your enum or flipbook directly
Thank you a ton. Problem is, I'm trying to go from Hit actor to "Static Mesh Object Reference", which I tried by casting to StaticMeshActor, and then to Static Mesh, however a warning pops up.
The error tells you the problem
A static mesh actor is NOT a static mesh
it HAS a static mesh
rather, a static mesh component, which has a static mesh
So all of this
ya
That makes a lot of sense. Thank you
Yup
VelocityVector -> Yaw -> Divide by 90 -> Round -> select
So every select should be replaced with this method?
That will reduce it to the -2 to 2 range, or maybe the 0 to 4 range, not sure which
You can select down to an enum then use the enum going forward
select enum on int, then from there on you use the enum to select stuff
or use the int directly
but calculate it only once per frame
There's 5 options because -2 and 2 are the same rotation
just like how -180 and 180 are
But you can select enum from the int, then just use the 4 enums later. The first and last option would select the same enum
Wait so is each Option a reference to a flipbook?
Choose LastMoveDirection based on the int you calculate
then the rest of your code should work as is
Select LastMoveDirection based on Round(Yaw(Velocity)/90)
Not based on that boolean rat's nest you have right now
Then all your animation stuff can select Flipbook on LastMoveDirection
Yes
@bleak swift
You might have to do some math to get int to map to 0-4 but you get the picture
my enum is construction mode but you get it
First print the integer that spits out to see if its the -2 to 2 range or 0 to 4 range
you'll have to add 2 if it's the former
or add 180 before dividing, either way
Structs are weird, you gotta save it back in
Read, modify, write
so i have to set the struct to the output of set members thing?
I'm pretty sure anyway, I know structs are weird in BP
The print string shows it increasing by 2 every score?
I did this and Left and Up work but Right and Down still play the up flipbook
Can you show the whole function
guess i have to give it the score from break instead of from the add
yeah that worked
Print the output of that round
does it go down to -2 or 0?
try all directions
Yeah because itβs reading the score after you add it and then adding another
Only Left says -2
Every other direction says 0
Left Print's 180 and all other directions print 0
dafuq
Does velocity seem to be printing the correct values?
Try GetRotationfromXVector and break out its yaw, maybe that GetYawPitchFromVector isn't working.
RotationFromXVector?
@faint pasture Well I tried that and the same thing still happens where only left reports 180 and other directions are 0
I can tell by you saying "dafuq" that this isn't supposed to be happening
Are you moving in X/Y or X/Z or what
My character moves in X/Z
lmao
that's the problem
Rotations break down in X/Z as pitch can't loop over. Why'd you pick Z?
Anyways, you can work around it by rotating the velocity vector before getting its yaw.
Roll it 90 degrees and it should work
Anyone know the difference with interfaces in Blueprint in UE5? I had an issue converting a UE4.27 project so I'm having to rebuild from scratch with copy/pasta and interfaces don't seem to allow you to make a function anymore? I had interfaces with input pins, but the default event style now doesn't allow for that. Am I missing something?
Figured it out. Didn't have the inputs and outputs set in the Interface itself. It's been a while since I set these up new, forgot about that part.
Is there anyway to sprint while swimming?
The same way you sprint when walking
Thanks. Super helpful.
hi, is there a way for one-sided physical interaction between two physical actors? Lets say hitting actorX with actorY will make actorX fly away, while hitting actorY with actorX will result in actorX bouncing off (as if actorY mobility was static), I am trying to solve problem that I am having hard time finding solution and this could be a way, but never saw anything like this done before myself
It works except I can't seem to get the Down animation to play no matter what order I put these in
Anyways I'm not sure what this was for but the primary issue still exists
You need to make sure the range is 0-4
if it's -2 to 2, then add 2
I'm new to meta sounds, are you able to call blueprint events with meta sounds?
Looks like it
https://docs.unrealengine.com/5.0/en-US/metasounds-the-next-generation-sound-sources-in-unreal-engine/
Fixed. Anyways so what was all this for?
It hasn't seemed to fix the issue in the video
Off the wall idea but make one actor's mass huge? Or have some BP logic disable physics sim in the event a collision with the 2nd actor occurs. Idk how well either of those will work.
Or thirdly, if it fits within your design, animate the other actor without physics sim at all β just math-based movement
Are you following what this is doing or just copying along? You have a velocity, you want 1 of 4 direction enums.
Convert velocity to a yaw or compass heading, divide that by 90 and round to get your north/south/east/west/up/down/left/right
Start with the first bit, make sure that the float output is giving a distinct number for all 4 directions you're moving it.
It's complicated by the fact that you're moving in X/Z and not X/Y
No No I understand that I'm just wondering what difference this is doing then my other way
Oh it looks like meta sounds can implement interfaces, thanks for the article
The difference is your other way breaks down as it prioritizes some inputs over others and doesn't really respond to the actual state of the character, which is the last direction it was moving in
that's why you were having your bugs
Using physics or?
Uh what are you trying to do?
like
pow pow pow ......................... pow pow pow?
Probably a timer and some function for iterations and random time range
well it's decimal...
Do you HAVE to fire the event 5x or can the event have a loop count parameter?
Wait a second, if you hit this 5x will it create 5 timers?
Nope
I tried it
Hacky trick - just having a sequence node with 5 outputs
Not the cleanest, but works until I decide to rewrite it properly.
Make sure your hack doesnt make it to the final.build
What is sprint beyond increasing speed
does anyone know how to get the file path of a packaged game? It seems like I can get every directory besides the one I want
the ProjectDir does not seem to work in a packaged game
Hello everyone. Can you please tell me how to animate the texture depending on the speed of the object? This is necessary to animate the tank tracks. To get something like this: https://youtu.be/KpeUaKUeuPs
The FV215b (183) is a British tier 10 tank destroyer.
βΊ Send your replays at: SendBlitz@gmail.com
FV215b 183 WoT Blitz Gameplay: 9711 damage, 5 kills
Map: Yamato Harbor, supremacy
Server: NA
Video upload schedule: 12:00 (GMT+3)
β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬
Move Out by MK2 is part of the YouTube Audio Library
β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬
Hi, Iβm trying to read text from a file in a packaged game but am having some problems with FPaths. In my plugin, I am returning a string for the file location, It works perfectly in the editor but not in the packaged game and the other functions of the BP Plugin work fine. FString UBPPluginBPLibrary::GetCSVSaveLocation() { return FPath...
this is exactly the problem I am having
How can I get the world location of vertices in a static mesh?
Better asked in #cpp
I am using blueprint, but the functionality should be the same
blueprint does expose the FPaths
I'm not sure why GameDir no longer exists, it used to in UE4
I originally thought ProjectDir was its replacement but since that doesnt seem to work when packaged I am at a loss
nevermind, it seems to be working now
must have been a weird thing on my first couple packages, oh well
Hey there, I am trying to change the walk speed of a character depending on their scale and made an excel sheet for that.
https://gyazo.com/231ecedc2c6be5df37937951d38fafe8
I have been trying to do it in bp in this way:
https://gyazo.com/53ff3c05d9631fa9fe87a743187e5d34
the function is: y =829,93e^0,1201x
x is the scale of the character and y is the speed I would like to get from that point on the axis.
What am I approaching wrong? Help is greatly appreciated!
Well, it could work too, but how do I get the value at a random point for lets say x=17,5 from the graph as a float/string popped out?
(.5 * point[17]) + (.5 * point[18]) works if there's no supported method to do so
It looks like an interpolationor am I wrong :>?
Yeah, going off two distinct steps if that's all you can access
Is there a way to viszualize the function in unreal and search for the point on the curve based on the variable for scale? Lets say input "5.0" should give me a string message of 1550 then?
you can do a print string on it , as you're doing
make a custom event
make it editor callable
add a parameter to test with
there's also the float graph thing that murphy just talked about
hm... it gives me an "inf" value when I use the value 5 for x. I am using the node setup on the picture before.
but that's for a short timespan
Split the problem up.
- figure out how to animate the material by feeding it a number.
- figure out how to calculate the number by speed
- hook them up together.
You trying to change movement speed or animation speed?
Do you want them to move faster or take slower steps?
Just the movement speed value at this point. I think once I can grab a value from a curve I will be able to sync that to the animation too
Well, that is what I got working so far. But the issue is that I have an exponential increase in speed :D
Sorry, I downloaded UE a couple of days ago - I don't know how to do it yet. While it turns out only to animate the car
Why? It's not THAT exponential, why not just make it linear?
How did you generate those numbers in Excel?
Yes, but below the value 5 it seems to bring my walk speed into negative values. SO I am thinking my node setup is just wrong or I have lacking knowledge about functions
I set defined them by myself and abstracted the function from excel
I mean are you super attached to the really gradual exponential curve or is a linear one good enough?
Well, A linear could work too, I think I just need to know for now how to get a value from the graph depending on what scale is there inputted.
Then just use the same equation
But you're making this way more complicated than it has to be. Start with
Speed = 200 * Scale + 400
and tune to taste
or just make a curve
^
Actually, yea. That sounds like a much easier approach.
Alright, tried, thank you very much!
I'd actually prolly make it a curve asset tho, then you can just fine tune it graphically and make it any shape you want
If I do make a curve asset, I would need to convert the timeline into a float range right? I mean thats what my intuition tells me....
someone have a tutorial or some approach of how to achieve a road following curve in unreal? like blender with nurbs curves
Content examples spline mesh road
Are you using a timeline right now?
No, was just a guess IF I wanted to use a curve asset. I would need to somehow convert the time range to a float range. Not sure if my guess is correct though
Can someone advice please: I construct a set of trees in a construction script in a blueprint. Pretty simple, I spawn them with the "Add Child Actor Component" node. It looks good in the editor, but during runtime, the child actors are gone. Any ideas?
Oki thanks :)
Is there any specific reason you're doing any of that?
Do you need stuff done at construction script time?
What are you trying to do?
I am trying to create a wood from individual tree actors
I construct the wood, it looks fine in the editor. The trees won't appear at runtime, even if I put the init into beginplay, though
This is my blueprint
I cannot spawn actors at construction time afaik
the node is also not availble in the construction script. And those actors will then not be grouped
That means, I might be able to remove the wood, but the trees will remain π
They won't if they are child actor components. Delete the wood and the trees delete too.
but if I use the spawn actor node, they won't be child actors, will they?
they will just be regular actors of the scene
Child actor component is just a component that spawns an actor and manages its lifetime. The actor lifetime is tied to the components.
wonder why it won't work at runtime, though
Idk, it's your code. It should. Child actor component is still gross though.
Well, I am not doing much
Why do you need them to spawn on construct?
You want them to spawn on beginplay, thats where it matters
For testing / visual / editor stuff you can just expose an event to the editor
Mark it editor callable
I found the problem, I had "Is Editor only actor" checked π
Sorry to bother you with my errors
but thanks for taking the time π
We'd still suggest moving away from cac :p
Is there any node or way to tell the distance to another player?
Find distance to is a node
well, I'd use foliage but the sprites are billboarded. The materials suck because shadows won't be correct when I billboard via material
Thus I billboard in a blueprint
How would I reference another player?
and UE5 can't do actor foliage
Would I just reference this Character BP and it'd ignore its self?
Nope.
Use ISM π
It just grabs the distance to itself
You need some way of finding out who you wanna compare to
Well I wanna find the distance of the closest player
Yes
Theres trouble up that road π
Without a firm grip on regular concepts like blueprint communication.. friendly warning/advice
Any Slight idea where I should start with this idea
Let me sorta explain it
I disabled Player Collision and instead of you just walking over other players. When walking through them their character's sprite fades away for you
You can still have overlaps without blocking
I mean I set my collision to custom and set Pawn to Overlap
Didn't disable everything
Morning, I've setup a way to handle fov settings in my game instance. A slider in a widget control this, let's say I set it to 50 in this context. Works good 'til the point i die -> respawn. The value is then reset to 90 upon spawn. When I aim down sight and stop aiming down sight, the value is back to 50. Am I missing something? I've called the fov setting upon begin play of my character. Seems to be briefly overwritten because of something I'm not regarding. Perhaps lack of coffee on my end π
Beginplay on char calls load FOV?
Yes
FOV retains, once spawning fov resets.
So you actually respawn the char
Yes
I tried to call "load fov" on spawn but the same behavior takes place
If the latter, you must explicitly set the fov again likely because of new camera
Hmmm. Thanks. Let me try this once again. Bit odd it does it ... Probably not enough coffee on my end or something (overlooking the obvious) π
Try to load fov on the char beginplay instead
oh god why, unreal engine, are you google?
(this is global search which is for some reason case insensitive)
is this "right way" to make players able to pickup/destroy objects with sound effect, it works but can i do it better? just asking cuz im new to ue
"DenaOtettu" means Snus taken or something if you are wondering
I don't know about correctness, but your life would be easier if you followed naming conventions. Name object variables with comprehensible object name (how can an entity be called "SNUSCOMPLETE"?)
well i should learn to name things correctly cuz i can imagine how hard its to understand anything if i were to make big game π
Lookslike the bool is wasted aswell
I have just came back from vacation i have this error to the same project i was working and i dont know how to proceed. any idea?
"already added key"
yeah it might be, but without it i had bug that made the sound play like 3 times before that gameobject was deleted
but now somehow it seems to be working
Since you're never resetting it you'd save yourself a variable and a couple nodes with a "do once" instead
Whats the best way to do a aimoffset in a sidescroller?
hey is there any way I can check to which plugin a specific bp node belongs to or is from?
Chatouille posted on the forums
In Visual Studio you can press Ctrl+, or Ctrl+T to search for symbols or filenames.
Most of the time, blueprint nodes call an underlying C++ function of the same name. So press Ctrl+T and type the name of the node without spaces (eg. βProjectWorldToScreenβ) and you should find results very quickly.
If you are out of luck and get no result, that means the node was given a different name via the UFunction meta DisplayName="β¦". In that case you can launch a full search (Ctrl+Shift+F) for the node name and you should find it.
If you already have editor open, another solution is to copy the node and paste it in text editor. There you can easily find information about the function reference
the server runs the code but it doesnt seem to replicate the multicast to clients
and i dont understand why it doesnt
I want to ccreate a simple destructible rock which is destructible with a bomb , how can i do with fracture ue5?
there is no destructible components
the what?
The destructible component is the Listener?
π
I want to put a destructible mesh in a blueprint to control when it explode
as a component
well then create a new mesh component and add it
oh ok !
not posdsible as a static mesh
possible*
ah its a geometry collection
my bad
I've tried multiple solutions, but all of them give odd numbers. Some of the solutions I tried could work, but there's probably a simpler option that I missed.
I have been thinking, how costly are scene components?
Like letβs say moving 100 of them as attached components, is that costly?
You might remember the ships and how the performance dipped as soon as they moved. Each wall has 2 triangles , those triangles have one scene component each that serves as a access key to the mesh data
i guess its cheaper than moving them on their own
i will try using sockets instead
Sockets are much better for that
on it chief
damn, cant create sockets at runtime
i will just use the location as a key
The answer to this question relies on how many of the moving actors you have. 1k moving actors with 5 components is probably about the same as 10 moving actors with 500 components. It's the same number of movement calls mostly.
looking for some assistance; any help would be appreciated. https://forums.unrealengine.com/t/help-requested-character-does-not-rotate-while-standing-on-a-platform-that-is-currently-rotating/585568
Hello, I am currently working on a third-person perspective action game. My end-game intention is to use directional gravity so that the playerβs character can walk on a sphere. I will be having this sphere rotate. I apologize in advance if any of what I type in this appears aggressive. (Emphasizing points by ALL CAPS to pinpoint non-negotiable...
300
i dont see any problem with my new method, instead of using a actual component as a key i rely on the location and just transform it with the ships transform to get the actual location
hrmm
Are the frames dynamic too, or are they single static meshes
all procedural mesh
it turns this into a wireframe structure
adds wall and flooring and if sockets are available can even outfit it with modules
oh you meant the movement type
they are movable when attached
i could change that after i figured out how to less explode my ship
I wonder how does it compare with UE5's proc mesh tools 
Do you have directional gravity working with the CMC?
oh i fixed that, generating it is not the issue, the issue was that i created all in one go. now i am using a foreach with delay inbuilt
now this is weird. green is where floor actor is spawned, yellow is where procedrual mesh component of floor actor is located and purple is the vertice data that is created. they all fit perfectly, yet the actual flooring is offset like this
vector math yay
rotating the generation causes this
I ment the component was not very performant
Not slow at generating, but slow in general uses aswell
I may recall incorrectly tho
now thats interesting, after replacing the scene component with a simple vector the performance of 12 ships is still below 30 during collision
Hi! I'm trying to play a sequence but I want to do it from my Game Instance and not from the level blueprint. But I can't drag and drop the sequence from the level into the game instance, what am I doing wrong?
given the walls still dont work cause of some vector math fuckery but this seems to be great progress
i dont know and i havent tried but maybe sequence is not supported in what you are trying to drop it in
its like being unable to use delay in a function
well I figured that but is it possible to cast to anything to get that particular sequence or something?
*cast to the level blueprint or something
from the Game Instance
or I could just do it in reverse
but that's a bit annoying
Theres some runtime procedural mesh component that i think is better performing
is it possible to have lets say i got one mesh. I made two git repos. One got mobile port version and another got pc port version. Main gameplay mechanics is in primary or other repo. In this way, can i support multiple repos?
yea but thats no longer getting updated
so thats not an option, frankly i dont think the procedural aspect is the issue here
how can you check if a key or button (on game pad) is tapped or held down?
Pressed?
Yep I have directional gravity working with the character movement component.
Is it possible to have an impostor moving. If i combine the impostor plugin with the flipbook?
I guess those two functions do work however the idea is that I want to have different behaviours if I lightly tap a button vs press it and hold down...
Any ideas?
Cant you use the actual input event for that?
Put a delayed branch to it
Its just a branch
With a delay in front of it
Well
How exavtly do you want it to behave ?
Just to make sure
Should the variable action happen on release ?
Or when pressed long enough / released fast enough?
That's not what casting is
@gentle urchin I have a ball and if I light tap I want it to bounce but if I hard press I want to ground pound
On pressed -> set bHeld(false) -> delay -> set bHeld(true)
On released -> branch(bHeld) -> true if it was held for duration, false otherwise
Your branch outputs is where you do logic
This assumes actions happen on release
If you want it to happen during hoold then you must alter a few things
On pressed -> set held to false -> delay -> set held true -> ground pound
On released -> branch on held -> false -> try bounce
Is it better to do zooming in by changing the camera's FOV or by moving it forward? Or is there some smarter way to do it?
Those accomplish different things
A zoom is a change in FOV
Do both at the same time for a dolly zoom
For the classic aim down scope, that's a FOV change
Yeah ADS is pretty much what I'm going for
I have this kind of fascinations with dolly zoom, makes a scene looked more unreal engine
Can you use both anim blueprint and anim montage on a single skeletal mesh? For example,, to have an anim montage a node in an anim blueprint?
Yes, see Slots
The Slots is where the anim montage will be played in the anim instance. If your anim graph didn't make use of it, nothing will happen
A slot takes an input pose, and returns that pose OR the montage, depending on if a montage is playing in the slot
so it's like a conditional override of the pose
Thanks
There's blending stuff too, like you can only play the upper body part of a montage or whatever, so you can punch while running etc
I looked into montages because I needed to be able to immediately play an animation in my ABP in a specific state machine. And someone told me anim montages are the way to go.
Hello. Can you tell me where is this '--' node in UE5? They changed it
Yeah, There are many YouTube tuts on this, but unfortunately not on other aspects of the anim montage, such as logic.
nice!
Maybe try remove the context sensitive option to see if it blocks it
the what?
ah no its not there
I don't use UE5 so can't suggest you anything further... Good luck!
π
Hi again! Is it possible to move "Player Start" somehow whilst in-game? Using blueprints I mean
Or do I have to make a custom spawn system
FWIW I don't even have "player start" in my level, I just handle spawning otherwise
Well that's tutorials for you.
You can spawn a pawn wherever the heck you want, and then just possess it
yeah that's what I guessed
Ah possess was the one I was thinking of! Then it isn't too bad I don't think
Thank you
But I just want to use anim montages in my abp. For example, to have one state playing a reloading anim montage.
is it possible to convert a bp project to a cpp project?
Correct me if I'm wrong guys, but I think when you pick CPP or BP project you're just picking which version of the base content UE should generate
If you took all the BPs in a BP project and converted them all to CPP, then it's a CPP project I think
Anyone recall what murphy uses in his blueprints to give him draggable "handles" for adjustments directly in the scene?
https://blueprintue.com/blueprint/z09lk7z2/
I'm making this BP Actor that Gets all actors of NPC class, then I did a For Each Loop and tried getting setting the NPCs var values into a character struct, my game instance has an array of character structs so i tried plugging it in there, then putting print string to check if it printed the id and name of the NPCs. The id of NPCs is set manually by me before entering the game, which works, but the NPC display name is generated by the NPC's BP on Begin Play but it's not working in saving that data because it just returns None when I try to print string it
I tried putting the display name generation in the construction script of the NPC bp, which makes it print a display name in the WriteNPCDetails actor's BP from the NPC BP, but it doesn't match the display name of the NPC (when I click on the NPC ingame i made a script to print its display name)
Is this multiplayer at all?
It sounds like you have a basic timing problem
When does this forloop run
Try making the forloop run a few seconds after the game starts?
see if that fixes it
no, sp
i tried it, put a delay of 0.2 seconds before anything fired in that BP. didnt work
even when i put the npc bp to generate random details from the construction script instead of on begin play the Detail collecting actor will store something instead of none, but itll be a different display name than the actual one on the npc. makes no sense at all
I thought that maybe im not casting/setting it properly to Array of character structs inside the game instance, but if that was the case how come it properly stores the idβs of each NPC? the only difference between id and display name is that the idβs default value is manually set by me in the editor beforehand
Ohh okay you were right, I set it to 1 second of delay this time and it worked!
Thank you^
For something like a laser sight on a weapon, I know how to do a beam with niagara, but how would you actually add the laser sight dot to the world where it touches?
Maybe like a super emissive decal or something?
Either decal or a very small but long spot light
Or light probe near the hit location, but not exactly on it as to prevent clipping (add by multiplied hit normal vector)
oh now that's an interesting idea. I wanna at least play with that and see how it looks!
whats the deal with these OnRep functions it generates?
Hey, what's a better alternative to structs that's also replicated, I've seen that plain Objects could do the work, but these are not replicated
I've come across Components but are these reliable with a lot of data?
Or are there better solutions
What type can we put in a struct to accept both Material and Material instances ?
Matrial Interface, thanks !
Unexpected issue with the spot light approach, it leaves this weird trail when moving
@flat coral probably temporal anti-aliasing. If the dot isn't a physical moving object with an opaque material then it probably doesn't generate motion vectors, which can produce ghosting trails when combined with temporal post-processing
I'm mystified. My actor has a Collision Box, that has these settings, but in the game itself it is still intangible. What might be the cause of this?
Step 1 is look at the collision settings of what you're trying to hit it with
If that's the case (try turning off TAA to see) then #graphics might have better suggestions on what to do. TAA has some parameters you can tune @flat coral
It's the player, so nothing suspicious here, I think?
make it dynamic instead of static?
Is calling "Play Animation" the ideal way to do a specific animation? then do I have to reset back to the animation blue print after its done?
It already is
no, animation montage all the way
Can you elaborate?
if you go to an animation, right click, hover over "create" and than make a montage, an animation montage will play and than instantly revert back to the animation blueprint or blendspace
ah, so you don't have to time each animation
and set back to your animation blueprint
after set amount of time?
Thing is, this is another actor. It inherits from the same parent class as the problematic one, this box collider is inherited from the parent class. And it collides with the player just fine despite having identical settings with the problematic one (to be more precise, it had, before I switched it to "custom" to begin checking what's wrong with the it).
maybe u need to change some settings in the root idk
This is the settings of the root.
I'm calling Play Anim Montage but it doesn't play. Is there something else which needs to be done?
When I call PlayAnimation it works fine, but not on Montage.
did you link the mesh to target?
Ah, little shit, I got why it was not working. Apparently it doesn't work with negative numbers for SetBoxExtend. Once I put Abs node in here, it began colliding again. =_=
Hello can anyone help me with my camera issue because I don't get what is happening.
I remember having this in a diff project, try messing around with the Yaw
of the camera
no in the camera component
You need to clamp the resulting camera pitch rotation between 89 and -89, IIRC
Or 0 and 179, I don't remember
Though do remember that the values that InputAxis gives are additive, so clamping them won't work.
Hello Everyone, I'm relatively new to Unreal and I'm having some issues. So I've created a function that makes the player characters sprinting speed double with the use of a item. However it does not go back to its original sprinting speed. How exactly would I accomplish this?
I guess item gives off temporary boost? So Add new custom event node, place a delay node with desirable time length, and after it put function that will return sprint speed to default amount (you'd need to write it in a variable before that). Then just call that event from the function that activates on the item pickup\use
tf is this? never ever had this issue
How would I call that function?
Like any other function you've created? LMB on the node space and type in its name?
This is annoying as f. Been fighting it since I got an RTX3060ti a few months ago. Haven't found a fix.....
oh so I am not the only one
Yea, it's a known issue for both Epic and Nvidia
is it not possible to overwrite save games? Ive set up a save system for customisation which works completely fine but saving the same one twice doesnt update it
even tried deleting and recreating the save, for some reason just messes everything up
Nice, I'll give it a go. Though this looks like a much older driver than the one I have....
yeah I noticed, please let me know when you do if it fixes the crashes, someone recommended this to me but it'll take a very long time to download
ok I fixed it @daring vapor
the issue was RTSS
RivaTuner Statistics Server
Nice!
Turned out it was just two splines working in tandem
I need to debug a hydraulic network simulation, so I'd like to render some 3D debug lines for it.
What would be a easy way to draw debug lines, visible in VR and without being occluded by other geometry, i.e. like the move gizmo?
How are you saving it...?
just the normal save game slot thing based on a name the player will put in
I can easily just disable saving over an existing one and tell people to rename it for a new save, but overwriting would be nice though
Well if all else fails, just delete it before saving again?
thats what I tried, still the same result, or not saving properly
Show some code i guess..
its like it doesnt realise its deleted
idk what to show tbh because it becomes such a mess that I cant even get my head around it myself sometimes
but it does work other than that
Got a feeling you're doing it wrong, thats all
So I'm putting together a Choose Your Own Adventure style project (with video files), and when I reach the end of a sequence, I'll have a GUI pop up with the options available to the player (clicking will result in a new sequence being played), but until they make their choice, I wanted the current sequence to loop between the time the GUI pops up, and when the sequence ends. What would be the best way to go about doing that?
If this isn't the right channel for this question, lemme know and I'll move it
I assume so, but I was kinda asking in case overwriting actually isnt possible at all
but no why wouldnt it be
I even tried not changing anything because all it does is save into a slot name using the name you put in, so if you dont change the name, itll just save to the same slot, why is that a problem? god knows
hello, i'm having a weird issue.
I've got a widget ui, that has a function, which receives an array of structs. π³οΈ
It loops over the array, gets a copy of the struct from the array, generates another widget, that has a function to receive that struct. βΏ
That widget tries to break that struct and pull information from it, for example to update an image, or a text component.
HOWEVER, it logs out errors when doing that. Saying it is accessing "None" from the given struct. 
FURTHERMORE, I have prints that use those fields from the structs that print out the actual correct values AFTER the above happens, π
so what gives?!
I've been stuck on this for awhile, at first I thought it was an issue passing the structs from server to client, or the for loop scope being destroyed, but then the prints shouldn't work, right?
maybe the above problem is resulted because I'm creating a local variable in a function with that essentially filters a bigger array of structs.
Is there a limited lifetime cycle for local variables sent out as outputs? that sounds like that shouldn't be an issue
The local variables as output is fine.
You really shouldn't be doing all that in the widgets themselves
They're really only meant to display information
arrays of structs are cancer
What are you talking about?
Got a logistics question about where to store some data.
So currently I have about 20 pawns planned that a player can take control of - 4 at a time. I am currently storing the variables for ALL these characters in my Player Controller, so I can go grab the pawn information from the data stored there. However, I don't really NEED the data about all the other characters until I hit the player select spots in the game.
When I get out of character select, I don't need to load all the other animinstance data etc. while i'm playing with a squad of 4 characters.
Could a Secondary Player Controller just for the player select work for this purpose?
Have that be the one to load all the data when I go into player select, pass the information I need to the other player controller through the game instance?
You wanna look up soft references
Data table with soft refs
Awesome, that's how I'm loading them up already.
So basically when I create a variable for any object types, make them "Soft Object" types?
Some of the variables are structs, not sure if i can make them soft references?
Hi everyone. Is possible to create procedural mesh component from a static mesh component at runtime? Thanks.
I mean it depends
if they are hard refs then they'll all have to be loaded all the time
whether or not that's a problem depends
Start with hard refs and make them soft later if needed IMO
As of this moment the characters speed does change from the boost to regular. however the change only happens after the sprinting key has been let go and toggled again. how would I make it happen without this?
Make a CalculateMovementSpeed function
call it every time anything that would change movement speed is activated OR deactivated.
Is it possible to record just my VR movement and input in UE when playing in the level, save it as a file, then playback in the same level so it operates the VR character, i.e. if when replaying, it's replicating my input, picking up items and using levers?
That way if I have a table with tools and devices, I can have a recording of their assembly, so when I update my blueprint or C++ code, I can retest the assemblies functionality with the recording.
Maybe but difficult
it'd be much easier to record the state of the world
and load that
so you could not record the actions that built the thing, but the finished product
The topology of all your connections should be a struct anyway, just save it to a savegame and it's done
That's what I do in my vehicle game to save/load vehicles
Array Parts
Array Connections
Initialize()
Done
Is there a way to get the button associated with an input tag? I am trying to show it in the UI from a Gameplay Ability
I've looked online through a couple of UE tools, but dunno if they could help:
-Take recorder - makes sequencer clips of added actors
-DemoNetDriver - logging replication messages to a replay, like the ones used in MP games.
hello, is there a way to add spline mesh component outside of construction script?
in a call in editor function.
this node gives warning if not placed in construction script and does nothing
what is the warning and do you even set the mesh and start and end?
I made a the same thing, but updating in a function I call in runtime when adding points
Hi! I'm using the Enhanced input system and when I play on network/client 2 player mode my mouse input for looking around works only for the server and not for the client. All of the other input functionality works on both characters. Below is how I have my input setup on my player character.
What about having repNotify variables set by input, then in the repNotify function, run the code that the input originally did.
Recording my character with DemoNetDriver as a replay and running it somehow in the level?
The added component outside of construction script is always deleted after compile or editor restart. How to stop them from resetting?
Update: After some search I found AddInstanceComponent(UActorComponent* Component) does the job. Surprisingly this function is not exposed to blueprint as an option. Or maybe it's somewhere but I didn't see.
I mean maybe but one little error and it's a mess. Might be doable but I wouldn't guess it's worth the work vs just saving/loading the state of everything
Im setting a boolean called Stored? to true when the game stores details of an npc. problem is when i switch levels the boolean resets, how do i make it so that the boolean of the npc is constant as long as the game is open?
distance to opponent value is not consistantly reading. I even have it chained to the event tick. It just doesnt want to work. Anyone know what i can do?
How can I open Pause Menu and close it with action mappings when input is set to UI only? Or is there another way?
Hey, is there any way to quickly check if all items in a boolean array are true, or do I have to check each one?
"Contains" and check for false maybe
I found out that there is a node called "Listen for Input Action". So when opening Pause Menu I disable input for player and in Event Construct of pause menu I listen for the input action but nothing is working.. How so?
I have an array of structs. an array of character_details struct basically. I want to make a script that finds IF ANY of those structs in the array contain a certain text in the first index of the array (which is a string) to fire a boolean
how do i do that?
Say if any of the character structs in the array contain "bob" in the name field, then fire boolean
@echo mist that event doesnt work when the game is paused ue supports normal input actions in widgets now though
*note that might only be for enhancedinput i dont remember but i know its possible now
Im storing the details of my NPCs by adding structs inside an array of structs, i dont want it to keep adding more than one struct for the same NPC though. so i want it to be able to find if that NPC's id/name is found in ANY of the elements inside that array of structs, to return a boolean, then i can branch it and make it not add another struct if its true/struct with the same id already exists
I'm not pausing the game only showing Pause Menu and trying to disable players input but allow them to operate Pause Menu with keyboard too. I was googling for a quite some time now and I wasn't able to find one solution that would work
you can just have input in your widget now
no need ofr the listen
listen for input action also doesnt work if in ui only mode
That was the first thing I tried but it still doesn't work, don't know If I'm doing some stupid mistake or why it's not working, tried both input action as well as key event
Also tried both UI only mode and Game&UI with disabling Player Controller input
add a input action but first call enable input on the widget
i think at least
i only played with it when they added it
This is the only options I can see in User Widget
How can I check if a variable exists inside a structure?
GameInstance
All properties of the structure exist. What are you trying to do?
I have a structure for an npc, i dont care about all the other variables i just want to check what is the name/id variable
and if it contains a name im looking for i want to do operations on it
Check if it's equal to whatever you're looking for
the name/id variable is the first listed variable in the struct if that helps
If NPCStruct.Name = whatever, do thing
yeah but the thing is i want to see if that variable exists in an array of those structs
Does chaos work well the city sample project? I keep crashing when trying to generate the chaos mesh
Not just one struct
For each loop
The variable always exists
That's like asking if X exists in a vector
It always does. There's no such thing as it not existing. You want to check if it's equal to some value
Thing is that's what i tried doing, i have for each loop for all NPCs that can be in a scene, then inside that loop element im running another for each to check all the elements/structures in the npc structure array, for each npc. If npc has a matching id name with ANY of the structures inside a loop, i want to return a bool
what i made is, if the id is matching it says its already stored it so it breaks loop. If it doesnt find a matching id it stores it/adds to struct array, then breaks loop. The problem is, is that the FIRST item it finds to not match, it runs the store script. I need it to check ALL items FIRST, AND THEN if no matching is found, run the store script. not just if the first or next immediate item in the loop doesn't contain it
@faint pasture
for each doesnt work, it needs to look at all of them first, not just sequentially because then it starts adding to the struct array the next immediate sequential item that doesn't match it.
See something like this DOESNT work (see image), It'll loop for sequentially through all the elements in the struct array starting from 0. Say I have 5 structure elements in this array, and ONE OF those struc elements is named "Bob", it's just going to check if element #0 is named Bob, if its not, then itll store it << I DONT WANT THAT. I need it to check every element in the structure FIRST to see if any of them is called "Bob" not just the next element in sequence, because then it starts firing when it shouldn't.
If the 4th element is named Bob, it's going to run through 0, 1, 2, 3 and fire "Bob does not exist, im going to create a struct named Bob then" for 0, 1, 2, 3. Instead of checking all the elements first to see if any of them are named Bob before creating the struct. With that faulty method its going to create a bunch of Bob structs first before reaching the index that already contains it.
@faint pasture
Why not use "contains"
Because 'contains' force checks all those other useless values, i dont care if the other values are matching or not, only the id
I dunno If the issue is because you split the structure in the for loop but try to break it outside
it doesnt matter, it's still going to check for each sequentially instead all of them first.
The screenshot you provided before should work
So you don't want it sequentially?
Make a concatenated string and search it then
No. It doesn't. I tried it. Sequentially fucks everything up, because If I have 5 Npcs, and the 4th NPC is ID'd/named Bob, I dont want it to record another Bob because there already is a Bob, what sequentially/for each does itll check if the first NPC is named Bob, and since the first one isnt, itll create a duplicate record of Bob, and so on until it reaches the 4th. If I add a 'break' in there as soon as the record is made, itll still fuck it up and make a duplicate until it reaches the 4th index. just less duplicates than if not using a break, but still totally broken/useless
That's an example, in a scene I have dynamic varying numbers of NPCs, and Bob could be in literally any index number
Sounds like the issue is your order of operations
Why make it create then?
Run the loop as a function with a bool output
If false when completed then add
Like run the loop and based on presence create or dont
At the end of it all
what i had planned was if i have NPC bob, and he doesnt already exist in the records (records = array of npc struct), make a record for him (a npc struct)
Use datatables?
Make a copy of that instead?
Or like I said use a concatenated string
so make it run through the whole loop and see if a Bob exists after that?
what's that?
You have Bob Billy and joe
Bobbillyjoe
Search string for joe
If true do nothing
If false add Joe and add him to the string
So instead of searching a struct array you search a single string
Same thing
But different
i dont understand how concatenated string will help, a concatenated string is 2 strings into 1
So how do I make it so that if completed, and that Exists bool is still false, THEN do something?
Reset bool
where do i put the reset
This is for multiple NPCs
At the end if it is true
This for loop is inside another for loop
It's inside the for loop for how many actors of class NPC there are
It's running that for each NPC
Should be fine, maybe make it a function
oh okay, ill reset it at the point once the loop is already complete if it was ticked on (since it's off by default)
Thanks.. I'll try your suggestions
How can i make a geometry collection component explode when taking damage?
Thank you so much!!! it works!!
didnt really understand how to use that completed function in operations, now i know
Hello, I am using "Distance Matching" which is contained in the "Animation Locomotion Library" plugin. The issue that I am facing is every time I close and re open the project, I have to refresh this node to compile successfully. I am not sure what could be the reason behind this. Any help appreciated, thanks
Also, I get these errors when I re open project!
If inside a function, calling return inside the loop body effectively does the same in any kind of loop!
Trying to initiate the Dialogue Tree without approaching the NPC
Tried this as well, didnt work
You could have a global event bus for this π
I have yet to try it, but it sounds like a very usable thing for remotely activating events without fetching direct references to them
Also, as a note to your current test, if you ivalidate thenobject by settingnit to null first, surely nothing will be pointed to by it
You're setting the dialogue component to null
You simply want to "get" the component
I bought an asset the other day for this that works nicely.
https://www.unrealengine.com/marketplace/en-US/item/30288ecc7abb458ea13813f92f3c6ebe
https://gyazo.com/5e1e6e9d05853a947366813e6d31392b
So now my Movement System still seems to be a bit buggy. This time it only glitches when you walk down and then walk left
Same Code
Hey I have a question
I made a variable of animation montage, but it always be invalid even though it is substituted by a montage
How to solve it??
Of course animation is not invalid, it's a completely good animation
this is more in the realm of #animation #multiplayer
why does this compile but the other doesnt?
it worked yesterday but now it gives me compile error lol
Replace the node.
It's not even remotely correct with that error message. It's fubar somehow.
How would you guys handle two UIs that have the same logic/functionality but one is designed for mobile and the other for desktop/tablets? I can't seem to find a decent solution and having 2 versions means double the work, bugs & fixes every time I touch them. Any ideas on how to divorce all widget logic from design/layout?
i wouldnt design games for mobile
it's not a game, but we both know that's besides the point π
lol that's disturbing
Hello fellow pedant! π
why dont u just move the logic out of the widgets and use variables instead?
That's the point - question is, where to move the logic and how would that translate into a uniform framework
idk i would move it to gamemode or whatever
yea, "whatever" won't do actually...
you could also try game instance
gameinstance is full - hardly compiling - but I need something similar to gameinstance, i need it to survive level travel and singletons won't do either since they can't contain async nodes
make an actor with save/load functionality xD
or a subsystem
@gentle urchinfinally, you got into it π tell me more...
crap
oh... ya π
lol
Didnt know they couldnt do async stuff π
What's wrong with gameinstance exactly?
there's to much stuff there already
Have you seen ACharacter or the CMC?
If you want it to be less "busy" start putting stuff in sub-objects.
it's full of stuff already - it's an older app/software and the guys used two, three versions of UI - I can't do that, I just... can't. It's too distressing for me π
sounds like u need to save/load stuff
sub objects sound appropriate really
that's done too with singletons as much as it was reasonable, we can't re-design the whole product, it's fkin huge
then you dont need to compile untouched stuff whenever you mess around in the GI
How is that going to fix anything when you need async (I assume) actions to be happening between levels?
thats what she said
ouf, sounds like you got your hands full with this app tbh
When you say you can't do async nodes on singletons, you mean blueprints, right?
I got into a team that has been slowly working while learning so older code is bad AF
Because you totally can with c++ and if your project is this big, you should probably be using c++ for some of it anyway.
Given that you can have its lifetime similar to the gameinstance aswell, I felt it was a good fit
some stuff needs redesign, and I rly want to find a way out of multiple UI implementations.
You can implement the base elements and just arrange them differently?
parent widgets with the overall implementations ?
I was thinking more 2 layout implementations, but having the widgets themselves unchanged.
honestly just spitballing, because i got no clue what logic you're actually doing and how different they may be
2 layouts sound reasonable
thats what he wanted to achieve by moving the logic out of it I assume
Ok, the only option I've thought of was making a layout-empty widget class for the functionality and have the two layout designs (mobile + desktop/tablet) rely on the parent's functionality - basically just drag functions around and feed them with what they need (button, wrapbox, textbox etc).
I'm not sure you're getting what I'm saying, but you'll figure it out!
So whether its a parent widget, or a different implementation class, the result would be mostly the same as i see it
I read after I stopped typing π but yes, It's what I kind of want - base elements are the same, arranged differently. How? π
yes, but parent widget fixes the requirement for extra comms + makes sure refs are always there when required
