#blueprint

1 messages Ā· Page 363 of 1

dark drum
#

What makes up the struct?

hard charm
#

id, names, description, class Aactor, vector3d etc

#

for examples

dark drum
hard charm
#

I also save it as a texture2d for icons.

#

But ultimately, it's a memory pointer.

dark drum
hard charm
#

yes

#

as class

dark drum
#

But yea, your overthinking it. Load what you need when you need it. The only time I would suggest trying to keep specific things loaded is if the process of loading/unloading them is affecting performance.

If you reference a datatable, the whole table would stay in memory anyway. Adding to that, fetching a row is handled in C++ which would be a lot faster than anything you'd be able to setup in BP.

hard charm
#

Okay, thanks for the recommendation.

#

šŸ™‚

last peak
#

Does anyone know of a cheaper way to load armor and weapons that i currently have ?

I have
A crafting station(smithy) with a datatable on it, in the datatable i have hard references to all craftable weapons and armors, when the player crafts one it gets spawned

Is there a cheaper way of handling things ?

last peak
#

So right now whenever the player opens the smithing screen this and the armor datatable gets loaded, right now i dont have a lot of entries and the items are rather light but i would assume if i have hundreds of items in there it would start draining performance atleast for older hardware

#

I just dont know another more performant way

dark drum
last peak
#

A little bit like in skyrim

dark drum
last peak
#

ive just read trought the docs for them
They allow me to load assets dynamically on runtime ?

dark drum
# last peak 0 - 100+ They would be in subcategories like Bows, one hander, 2 hander, Helm...

This is an example of a function I have. The 'GetPrimaryAssetIdList' gets all the relevant data assets (as defined in the asset manager) and then I create an object for them to use in a list view. The widget entry then loads the data asset when it needs to be displayed.

So you could create groups in the asset manager for your different cats so you can just fetch the relevant ones when needed. You can also have a specific folder it checks as well.

last peak
#

Sounds too good to be true šŸ˜„

dark drum
white parrot
# last peak

Agree with what pattym said about using DA's, also how are you searching through in your DT? i noticed you have Name as 'Iron Shortsword' and RowName as 'IronShortsword', might consider opting for using GameplayTags instead of Name and RowName as it will make naming more consistent (and avoid typos).

last peak
white parrot
ebon nova
#

Hi, could a kind soul help me out please? I'm trying to make a multiplayer racing game, but I'm struggling with setting up the player rankings.

Right now, I'm using a spline and checking which player is the furthest along it. Then I want to store that information in an array so I can sort it and display the rankings in real-time.

Here's the code I've made so far — it doesn't really work yet, but I feel like I'm on the right track. This function runs in a loop after I've gathered all the players (array called Cars).

crimson briar
last peak
ebon nova
crimson briar
#

As to the code... it is too broken right now to give much constructive feedback. But you can't use the default sort like sort float array - since you lose association which car had which index.

eager thicket
#

Lets say I have a car, when it hits a wall... I need an opposite force to propel it backwards.

It can't be done with a physics material because changing those settings negatively impacts the steering and acceleration of the car itself.

Anyone know how I can do this? I need a blueprint based approach

white parrot
# last peak

So instead of editing the string every time you want to retrieve the data, it's ready out of the box - that's what i meant

crimson briar
#

I always have a Name and a DisplayName (that is a text actually) in my datatables. And the Name is exactly the same as the RowName. On occasions where I save the row as a variable on something it is nice to have the Name in the same structure. Especially if later I want for example to save or pass only the name and not the entire row.
Sure it is annoying to write the same name twice in the datatable but it is more convenient to use IMO.

white parrot
sharp sparrow
#

Would it make more sense to keep each resource in a separate Data Table? For example;
Stone, wood, gold, iron should be in DT_Resource. However, when we add things like swords, shields, weapons, and guns, would it be more correct to have them all in one place, in other words, in DT_Items?

eager thicket
#

Is there a way to detect what force a physics object hits a wall?

#

I'm wondering if there's an easy node for this

crimson briar
# sharp sparrow Would it make more sense to keep each resource in a separate Data Table? For exa...

I often do one general table for things that are related - for example, all things that can be inside the inventory, go to the DT Items.
If some group of items need more stats than other, I make a second DT. For example DT Equipment because swords need stats or DT Containers for data specific to containers (like what they can hold, how much etc)

I think there was some way to use inheritance in storing stuff in datatable structures... but I don't remember how it was called and maybe it was C++ based

#

One thing I would definitely avoid - adding fields to the datatable that are not used by most of the items in it. Because they will take memory space anyway. So putting ArmorValue inside a general item datatable would be not ideal since Bread doesn't have armor for example

sharp sparrow
crimson briar
#

It depends how many different types you will have. If a lot - maybe it would not be an ideal solution and there is probably a better way. Managing tens of datatables would get annoying very fast

sharp sparrow
#

I plan to use it under 3 diffrent headings. If there are more and they are compatible with the others, ı can probably add them in the same revelant DT

#

DT_Resources, DT_consumables, DT_wearables.. Should things like ā€œcan be soldā€ or ā€œcan be purchasedā€ be under a separate heading? in maybe DT_collectiebles?

dark drum
#

Personally, I wouldn't use a DT if your wanting complex items. It sounds like you need hierarchy that could lend its self better to custom uobjects instead.

#

<@&213101288538374145>

faint pasture
#

Say I wanted to enumerate all BP subclasses of SomeClass, can I do that?

sand shore
# faint pasture Say I wanted to enumerate all BP subclasses of SomeClass, can I do that?

Sure, anything that’s loaded.

Primary Data Assets are a construct that the engine provides so that the asset manager has something to hint at what classification an asset is before loading it.

If you know you always put your equipment items in a specific directory and ONLY your equipment items there, you might be able to load assets from those paths when you want all equipment loaded.

proven swan
#

Hello, I've created a reference to a component as shown in the screenshot. Initially, when I run the game, the object is considered valid. However, if I modify the object's variables through the editor, the object becomes invalid and the event no longer fires. Why is that?

rugged ridge
#

The yellow box in the picture is a box collision component attached to my character. For some reason, my OnComponentEndOverlap event is not firing when I jump, even though the box obviously stops overlapping the static mesh below it. The box collision component is set to Generate Overlap Events and is using the OverlapAll collision preset. Any ideas as to why the box collision might not be recognizing end overlap?

faint pasture
#

show settings for teh capsule

rugged ridge
#

Actually, It is the floor that I need to check. All the floors. And you are right that these are not set to generate overlap events. Nor do I probably want them to do so. šŸ™ I may need to take a different approach.

I'm trying to address an issue where my landing animation seems to play too late. The capsule hits the ground and the downward momentum stops kind of mid-air for a brief moment with the character is still playing its falling animation (which is raised off the ground a bit). Then the landing animation will play. Instead of a smooth transition from the air to the ground, there is this little hitch that is annoying the heck out of me. I thought that if I could get the animation to play before hitting the ground this might solve things. Ideally, the animation would be timed for the feet to hit the ground the same moment the capsule does. That's what the box collision is about, but I don't think I want to switch to having every floor static mesh generate overlap events.

Maybe a visibility channel trace from the bottom of the capsule would be better? I was worried about it needing to run every tick, but that's probably no worse that what all my floors generating overlap events would be.

Or maybe I'm going about all of this the wrong way.

Thoughts?

lost hemlock
#

this crashes my engine, so on the load of the game i wanna bring back and add all these things that i had in my inventory in the previous save... why does it crash my engine...

leaden pumice
#

is there a way to add in a delay when debugging? In VS you can add in a hitcount that will only trigger the breakpoint after a certain amount of time has passed. I'd like to know if something similar exists for blueprints as well

#

I'm having to do this via other hacky ways, such as pressing a key to set a bool which then leads to a breakpoint. It seems like there's a better way I might not know about

maiden wadi
lost hemlock
frosty heron
#

@maiden wadi sorry about the ping, but I think you are the person for this.

I've been getting different values, but never 0 - 1 for the X and Y.

How can I get the mouse position in 0 - 1 for the two axis where 0,0 is the top left and 1,0 is the top right.
The idea is just to give my widget a default position that respect ratio.

maiden wadi
#

I know I've had issues with the playercontroller version of mouse position getter. I've always used the GetMousePositionOnViewport or Platform

frosty heron
#

I will try.

#

@maiden wadi You are right, that's it :D. Thx as always.

maiden wadi
#

🄳

lost hemlock
#

Hi I have a question. How would I save multiple or unspecified amounts of arrays of content?

#

So my game is kinda like minecraft. All your progress is secured and saved inside of chests, so it's up to you how many chests you're gonna have in your game, how many, where they're gonna be placed, or what kind of things they're gonna have inside of them...

#

All my chests have an inventory system component similar to my Character... literally the same one

#

and now I need to save/load them... but the problem is I can't save an array inside of an array, because it's already an array.

#

so this is what it looks like inside of my character.

frosty heron
#

@lost hemlock you certainly can have nested arrays.

lost hemlock
#

I can save only one chest easily... But what if I place too many chests ?

#

array inside of array?

frosty heron
#

What is InventorySystem? is it an actor component?

#

can't see the data structure clearly from the screen shoots alone, but you can have an Array of Content.
Each content representing a chest.

frosty heron
#

so if you have 4 chest, you do have an array of 4 content.

#

You can wrap it inside another struct.

lost hemlock
frosty heron
#

Create a new struct, the data type can be an array of Content.

lost hemlock
#

based on that, wouldn't it be easier to just save/load those inventory system components inside of an array?

#

inventory system array

#

because everything needed should be inside of that

#

character has an inv_sys

#

chest has an inv_sys

frosty heron
#

I am not deep into saving yet, but I don't think you can save object reference in blueprint.

lost hemlock
#

if I ever have an NPC that has his own items ... then I'd probably give him his own Inventory_System component too.

frosty heron
#

they have to be resolved upon load, I think there's easy trick in cpp but again, i'm not there yet.

lost hemlock
#

im saving in an instance

frosty heron
#

I'm talking about using BP vs CPP

#

if you are coding solely with blueprint, then I reckon your only choice is to wrap the arrray in a struct.

lost hemlock
#

should I put that struct in my save game instance bp?

#

probably...

frosty heron
#

Game instance is just an object that exist at the start of the application and get destroyed at the time you exit the application.

#

how to handle save, is unique to each project.

#

But at the end of the day, you just need to have the data readily available and store them in your save game object.

#

Game instance sometime can be a temporary place holder, e.g if you want to travel between maps which will destroy the instances from the old map, but you want to retain that value for the duration of the game without commiting to saving.

#

Example.

Player click Save.
Get all actor of Chest.
For each chest -> Make the struct data -> Add it to the struct.
Save the struct.

Exit the game.

Play again

Get save game file -> Load -> Get the array of the struct.
For each struct -> Spawn chest at X location, Get the struct, -> Fill the Chest inventory comp data with the data from the struct.

midnight cradle
#

Context: The player selects 3 point after selecting the 3 points the player moves from A to B, B to C by pressing "Enter".
Problem: And I don't want the player to move unless it reach from A to B. However, it moves from B to C instead of A to B if i press Enter basically the location target changes.

I figure it's due to "simple move to location" but I tried using AI move to or move to location/actor but it didn't work. (Maybe it's suppose to work only in AIController not player controller.)

gaunt oracle
#

you can make this logic in the tick function

heady stratus
#

Hello fellow unreal programmers, and time sweeney followers.....

#

Do you guys know is there is a blueprint " module " or whtvr to translate the numbers of nowadays to roman numbers ?

#

Ex.

#

10 -> X

#

1 -> I

#

5 -> V

#

111 CXI ? well idk if good

#

Is there ?

midnight cradle
#

I want to first select 3 points then trigger the movement in sequence.

#

But i might try and see. Can't really say anything u know

gentle urchin
heady stratus
#

Got this

#

Thanks

heady stratus
crimson briar
# midnight cradle

The problem seems to be that you are following the added location.
You need to detach these two things.
One event adds a location.
Another event chooses a location to follow from the array and moves to it.

It would most likely include a timer of some sort or some additional code based on the result of AIMove.
For example, after adding the location, call Follow without any inputs. The Follow event itself will have some bool or do once to not retrigger when it is still running. Then When the follow is triggered, it takes the first location from the array and tries to AiMove to it. When it is completed, you do a check if the location was reached (something else could block it before). If not, retry movement. If yes, remove the first locaiton from the array - then open the block and go back to the beginning to check again if there is another point to move to in the array

mild sonnet
#

Drag And Drop Widget UI to Open Door

#

if anybody would wanna give me hand I’d love it!

spring tundra
#

what does it mean if a latent node hits the same BP breakpoint twice on that node, like Wait Gameplay Event, it doesn't mean the code path is run second time, all it means is the node event received, right?

last peak
mild sonnet
#

Basically, I want to have it so the character picks up some items, they go into their inventory, then they go over to a door and a menu shows up. They drag the items from their inventory into slots on a menu, and if they put the items in the correct slots the door opens.

last peak
mild sonnet
#

With the way my systems are currently set up, I can pick up the items but I am having a hard time representing them in the menu, and I am also unaware of how I can make the door open from having the items in the correct slots.

gusty crypt
#

hey, quick question. I got alot of different actors with the same interface. All of them have a Bool with the same name that i need to check. How can i do this ?

last peak
spark steppe
#

then you implement that in the blueprints and return the value from their variable

gusty crypt
#

do you have an example? dont know if i understand that correctly :S

#

nvm i think i got it

midnight cradle
gusty crypt
#

i added another function into my interface "GetCompleted", this function has and input and an output, just to be sure im missing nothing. Now inside the actors with that interface, i build a function "new function" > "getcompleted" put my bool into it > return node. After my bool is set ingame, it calls the "new function". But something doesnt add up, what im missing here :/?

spark steppe
#

show what you implemented so far

gusty crypt
#

sec

errant snow
gusty crypt
spark steppe
#

ok, that's not your interface function

#

in the function list, there's a dropdown, where you should already see IsCompleted, pick that one to implement the actual interface function

#

the interface part is correct, your implementation in the blueprint is just wrong

crimson briar
#

But since it looked like you had the movement logic already working (but to the wrong point) you should be able to use that and only fix the choosing a point part

gusty crypt
#

ooooh damn, never knew about this. lets see if this works, thanks man!

spring tundra
errant snow
#

Right, but there’s also the allocate call. And you may want to add a code breakpoint to that after hitting the blueprint breakpoint once. But it’s not super helpful for pure blueprint dev.

fallen glade
#

I have a data asset with an array of soft references inside. Why are they still showing as hard references in the reference viewer and the size map is still huge?

midnight cradle
errant snow
serene marten
#

guys please help, my stepsound doesnt works

crimson briar
mild jacinth
#

in blueprints, how can I make a function that returns something other than void? (without using output pins, that is)
similar to how you can declare in cpp int32 SomeFunc();

errant snow
violet wagon
#

After i activate a CommonActivatableWidget, all of my mouse inputs require me to double click for them to go through. how do i make my mouse behave normally after adding CommonActivatableWidget?

white parrot
queen vault
#

I'm working on something that allows the car to go through objects. I made a new object type called PhantomObstacle that the default response is ignore, unless if it's on my floor preset in which it is block so the car and player can still walk on the ground. I was successful in doing this with my player with the capsule collision component, but the car doesn't have a collision component, so I tried the mesh for the car and the wheels, but it doesn't go through the objects. Any idea why?

#

My guess is the physic asset still having collision, but idk how to change the physic asset to change the collision object type channel

mild jacinth
#

but it returns an FReply

#

this is why I thought maybe blueprints have a way to replace void with another return value just like cpp has

gusty crypt
#

Need help again, somehow im so confused whats happening. So basicly i got a manager that holds all actors i want to randomly activate, only one each time. But for whatever reason, the string with the actors name never match up with the one who gets activated, sometimes more get activated. am i missing something ?! I tried to play around with the array stuff, i mean get random integer in range, only random like in the picture, or with length. Duno what im not understanding.

maiden wadi
crimson briar
simple berry
#

Does anyone know a good way to get an actors location on a camera or a a scenecapture 2d component? its specifically not the player, but i cant seem to find anything that works correctly

mild jacinth
crimson briar
#

Drag from it and type "event" in search box. You can look through what events can be passed

#

In a lot of cases you just use Handled/Unhandled

errant snow
# mild jacinth I have this function that isnt blueprint native event, it has no output created ...

Yeah, I don't know where that return is coming from. If it's your function, all the inputs/outputs should be in that details panel. If you were overriding it, they should still be there and inaccessible. I've never seen that happen before unless you copy/pasted a return node from another function. You might see what happens if you place a return node using the right-click menu.
I would hope that if you connected that up, you'd get a blueprint compile error because that function isn't supposed to return anything.

mild jacinth
#

I mean I can add it to the cpp obviously but i was wondering what kind of sorcery is there

#

literally no outputs

crimson briar
#

It is not something you return - I mean, it is passed not to your code, but to the engine to decide what if anything to do with the input after this event

mild jacinth
#

I can add a new output pin and it functions as 2nd output pin but as u can see 1st one isnt visible, and function is self-created by developer its not engine function lol

white parrot
errant snow
#

I think someone messed up the blueprint. That's not what the return node of that function (details panel with no outputs) should look like.
But if you're converting to C++ and you want a function that returns that type, you had it right in your original message (sort of): FEventReply ProcessMouseDown();
and then you write the body that returns one of those structures.

serene marten
mild jacinth
# serene marten help me pls

change draw debug type to For Duration to see where it linetraces. it should be - 130 not 130 because it needs to shoot down not up

#

-130Z would shoot down

mild jacinth
serene marten
# mild jacinth

im newbie i dont understand everything that you showed 🄶

mild jacinth
#

that - is minus/subtract

crimson briar
# serene marten guys please help, my stepsound doesnt works

First do some work yourself and determine what is not working - is not not hitting anything? Is the sound not playing even though the execution reaches it?
Draw the trace for duration.
Use a print after each possible branch or add breakpoints to any important nodes

gusty crypt
crimson briar
gusty crypt
#

so showing execution pins wont change anything at all like he said?

#

sry if this may sound dumb, but im not into this kind of stuff

crimson briar
#

I'm not sure since I never used this method, I always make a variable. But if it works in a standard way it should fix the names not matching in editor.

gusty crypt
#

well, still not working, stored it into a variable, called the interface message form it and printed it, also it activates sometimes 2 actors. thats weird

crimson briar
#

Then the problem is somewhere else, you didn't show much of the code. And yes, I tested it, showing exec pins makes the output static for the current execution. So it won't change between the steps

gusty crypt
#

i cant imagine where the problem could be, its weird. How can more then 1 actors get called if it only picks one šŸ™

crimson briar
#

There could be many possibilities. Some actors start with a different value, you have two of the same triggers working instead of one, a loop count somewhere is off, you handle duplicates incorrectly etc etc
Start form the beginning, use prints and breakpoints to slowly debug step by step what is going on

gusty crypt
#

ok wait, it works, at least the part where it shows its name. Still more then one gets activated sometimes

#

well all actors are different, no child classes. Every actors are using the same interface. My manager, where im using the random selection, has the actors stored inside through exposing. So there istn a loop call. weird

#

lol its so weird. Even the prints that are inside the actors print messages from other actors. for example: the light gets triggered > text printed "lights triggered" but in reality the radio is activated. im 100% sure there no error with false placement or same text inside another actor

#

fuck me and my life.... i got it....1 actors was just rotated the wrong way, so it seemed to trigger 2 actors sometimes...

clear panther
#

guys is there any IO utility in 4.27?
like read write to a text file

brisk iris
#

I'm making an RPG and i have all of my inventory logic in the inventory widget. Is that a bad practice? It works well but i feel like it should be in the player character somehow

last peak
#

The widget is only responsible for displaying and widget controls
eg drag and drop

All the inventory logic belongs into a component

thin panther
# brisk iris I'm making an RPG and i have all of my inventory logic in the inventory widget. ...

as said already, yes.
now if you're singleplayer it will work, which is the important bit (it will completely cease to function in any other context though)

that being said, if this is something for a portfolio, or you're just generally interested in learning Best Practicesā„¢ or learning more scalable design, you should really design UI being a layer on top that subscribes and activates already built elements. Everything should work without that there.

Say for example, without a widget ever existing, you should be able to call AddItem, or whatever via a trigger, a console command, anything. Your UI is just the visual representation of the existing, functional system. Take a main menu for example. You can set sound settings wherever, you can update graphics settings wherever, you can call open level wherever. The UI is just a layer that sits on top to be the visual representation for those existing, functional events.

red heath
#

hi ,Are there any tutorials, videos, or people selling a Minecraft-style auto-pickup inventory system?
I haven’t seen any. I’m making a game similar to Minecraft, but I couldn’t find any videos or sellers offering this type of inventory system.

last peak
#

You can use this one minus the pickup logic
https://www.youtube.com/watch?v=b2atcZWYi3E

šŸ‘‰ Learn To Make Games In Unreal Engine In Weeks : https://www.unreal-university.io/?video=b2atcZWYi3E
šŸ‘‰Get My Free Unreal Engine Beginner Course : https://unreal-university.io/freecourse?video=b2atcZWYi3E

šŸ‘‰Model Assets : https://bit.ly/3SdQKcs

Timestamps:
Intro 0:00
Creating The Inventory Widgets 1:06
Creating The Inventory Bluepr...

ā–¶ Play video
red heath
#

I'm stuck here haha.

I want to place and break blocks by selecting them from the inventory, because my current breaking and placing system is independent from the inventory, and I know I will have problems with this later.

last peak
#

Or do you want to place items / blocks from inventory into the world ?

red heath
#

i want use block

#

in inventory

last peak
#

These need to be widgets then picture 1
In the widget you add logic
If widget gets clicked - get player character - cast to player - Execute drop
In the player
execute drop - do linetrace (start your characters head - end should be 2 - 3k units infront of the head) - spawn actor from class (The block from your inventory)

red heath
#

this is item

#

not block

lapis saddle
#

Hi maybe a silly ask but is there a way i can use the bp graph say on a pawn hook stuff up with placeholder inputs and recieve the resulting c++ for that native or via plugin. Small example would be onplay = the init called from where ever needed then a function containing a timer based loop that printed ā€œhello iv been running for x time y minutes since i last outputā€ with the logic in bps. Then output that as a c++ called ā€œperiodic nudgeā€ cpp&h files? Somewhat like a crude wysiwyg code maker i can then rename and refactor internal logic of nodes as needed?

crimson briar
# red heath I'm stuck here haha. I want to place and break blocks by selecting them from th...

You just need some way of saving what is selected, a variable in the inventory (or the quickbar, depending if they are separate).
When clicking on a slot in inventory, set the variable "SelectedSlot" to this one.
Then inside the logic where you decide what to place where - get the SelectedSlot from the inventory component, check if there is anything valid to place there, and place it if yes.
That is a general concept, not sure which part of it you have a problem with

mint basalt
obsidian tundra
#

I want to add given properties of ultra dynamic sky into my custom ui widget specially the weather one ... if possible i want to add and control all the properties as shown in first image.. It would be great if anyone can help with that.. : ) thanks in advance.

austere orchid
#

I do believe there are some functions for setting weather and time

normal raft
#

not sure who else was having this problem but i appear to have ran into it now

austere orchid
normal raft
# normal raft

opos figured it .. PCG spawned them with the same transform as the grass no wonder šŸ˜‚

obsidian tundra
mental bobcat
#

Hi. I am trying to create a save system and came to this issue. I have a savegame ref in the gameinstance and loadinggame from slot in the first level but doesnt populate in the second level. When I call load game from slot in the second level it populates the changes correctly. Im using open level by name node. Is this a comman issue, or does somebody know what is going on here?

crimson briar
#

Hard to tell much more without seeing how and where you save/load

obsidian tundra
obsidian tundra
visual spoke
#

Added a c++ class to unreal engine and chose blueprints when creating the project. I have a month of progress there with blueprints, but wanted to get the GAS System. I already have visual studios 2022 and rider, but whenever I try to load my project now, it says the same mistake "The following modules are missing or built with a different engine version: TheStrings Would you like to rebuild them now?" and if I click yes it says "MyProject2 could not be compiled. Try rebuilding from source manually." I have tried a lot already, and the option "Generate Visual Studio project files" doesn't appear when I click on the .uproject. I have tried everything already and any help can rescue me, thanks in advance

crimson briar
# visual spoke Added a c++ class to unreal engine and chose blueprints when creating the projec...

This shows up when there is a compilation error - either due to your code or some dependency missing.
Recompilation generates log files, look for them inside the saved folder (I believe it was there) and look for any errors - I recommend looking from the bottom, there is usually a few insignificant errors at the top related to random stuff. The one that caused the compilation to stop is usually near the end.

visual spoke
# crimson briar This shows up when there is a compilation error - either due to your code or som...

the only thing I mostly see is LogWindows: Failed to load 'aqProf.dll' (GetLastError=126)
LogWindows: File 'aqProf.dll' does not exist
LogProfilingDebugging: Loading WinPixEventRuntime.dll for PIX profiling (from ../../../Engine/Binaries/ThirdParty/Windows/WinPixEventRuntime/x64).
LogWindows: Failed to load 'VtuneApi.dll' (GetLastError=126)
LogWindows: File 'VtuneApi.dll' does not exist
LogWindows: Failed to load 'VtuneApi32e.dll' (GetLastError=126)

autumn pulsar
#

Is there much reason to do stuff like input in the player controller vs the pawn itself?

#

I was wanting to make a game where you swap between a top down building phase and an action phase where you control a character

#

Wasn't sure what might be the best approach for that

sand shore
# autumn pulsar Is there much reason to do stuff like input in the player controller vs the pawn...

A somewhat common pattern is to put all the common input bindings in the controller, since you generally won't change it as often as you change pawns. Things like summoning the pause menu, for instance. Then you can have all the things common to a specific pawn type be handled in the pawn, like the input to jump over a ledge.

However, if you have the same camera controls, and both phases have very similar UI (for instance, if the game is like an RTS) then there's a lot fewer pawn-specific controls - or, rather you're eseentially always controlling one pawn, the disembodied camera commander flying drone thing.

#

You can do input in both, or in just one or the other - technically you can register input from arbitrary actors too.

autumn pulsar
#

That sounds solid. Would I just spawn the player pawn then possess it?

sand shore
#

That sounds right to me

autumn pulsar
#

Cool I’ll look into that

#

I guess the top-down Camera would also be a pawn

#

Unreal has render targets right? I was wanting to sort of ā€œscreenshotā€ the entire map and then cache it to a texture for use as a minimap

#

I guess I’ll figure that out later

autumn pulsar
#

Which runs first, the level blueprint or the gamemode?

pure gyro
autumn pulsar
#

Was figuring out how best to do per map settings

pure gyro
#

i normally do it in the gamemode i never use level blueprint

autumn pulsar
pure gyro
sand shore
autumn pulsar
tame flame
#

Hey people! Im not quite sure where to post this question. Im trying to prototype something, and im getting on stuck on this issue im having. I want the player to take off when going over the crest of this hill when sliding along the ground. But the chracter just sort of sticks to the ground. Its probably just a dumb setting i'm overlooking. Any ideas?

sand shore
#

But there's a lot of ways to do things, and "best" depends on the project and your tolerance for abstraction. Singleplayer games can throw a ton on the Game Mode and be done with it.

crude dew
#

Hi, Can someone help me with an issue I want the character to face the direction they are running in i get the Direction value in the Animation blueprint ie...-45, -90, 180 etc but when I use Orient Rotation to Movement the character rotates like a tank , I did try to force the actor rotation to the value of Direction ie.. 90, -45 etc but it causes issues, How would i got about doing this please?

Movement Logic.

#

Its a top down view so If they are running left i want the character to rotate and face left, Not rotate from their previous running angle to left.

#

I also tested this out on the tick event for testing purpose, But it causes the character to spin around wildly and not have a fixed rotation even though the character is not moving. As you can see the arrow component is directly in front so findlookatrotation to that component surely means she should always be facing in that direction towards the arrow?

maiden wadi
tame flame
maiden wadi
# tame flame It did help, but introduces some other weird kinks! Thank you very much. šŸ™ Migh...

Found a note that someone apparently did a "dynamic step height". Where they set the step height based on velocity. I assume on tick, but it isn't mentioned.
I set up a dynamic step height based on my current forward velocity (45/CurrentVelocity) and used a Clamp to make sure the value never went below 5. This ensured that my step height was always at an acceptable level while walking but was low enough at high speeds to get me to fly off jumps.

tame flame
#

Tysm!

blissful grail
# autumn pulsar Was figuring out how best to do per map settings

Per map or per gamemode? Because World Settings exists for a per map settings thing. Unable to create one in BP unfortunately, but it is very easy to do in C++. Just inherit from AWorldSettings and then in your project settings, search for the world settings class and change it to your new custom one.

whole shoal
#

Hello I notice when I put a break point the game does not stop if the break point is inside an Actor

#

is there a way I can set to stop inside the actor node ?

autumn pulsar
blissful grail
#

Just a little bit of C++

autumn pulsar
#

Is there a modmail for bots and scams?

tropic wolf
#

It not having a BP representation in Pick Parent Class is wild

#

I can imagine once you make the boilerplate in C++ you could also just immediately go to BP

primal hare
#

How to Sphere Trace a Spline? Or a BP which makes a SplineMesh?

spark steppe
#

you could also add custom settings as AssetUserData to the level

#

smth like this

#

that way you don't need to extend the world settings class etc.

primal hare
#

Since apparently a spline can't be detected in a sphere trace, I'm sphere tracing for a physical material on a spline mesh (BP).

For testing, I'm sphere tracing and printing the "Phys Mat" from Hit Result.
However, it is printing only "DefaultPhysicsMaterial" and not the correct name of the physical material on the object.
Is this a bug?

errant mason
#

How do ue5 pro devs go about implementing missions?

#

rn for me this is what i do: in the lvl blueprint i have event beging play that starts a widget with objectives after like 5 mins. but thats all i have right now. is that what pros do? setup missions in the lvl blueprint

spark steppe
#

no

crimson briar
# errant mason rn for me this is what i do: in the lvl blueprint i have event beging play that ...

Usually some very abstract UObject with parameters and corresponding data.
Doing it through a level blueprint is a bad idea though, since you can't easly share level blueprint code between levels. And triggering events from it is annoying to do.
The basic approach you could start with is to have a separate actor manager that will manage quests. And a structure or UObject representing each quest with the data related to it.
Widgets would just poll this actor to get what they are supposed to display without any logic inside them.

pure gyro
dark drum
# errant mason How do ue5 pro devs go about implementing missions?

Look at creating a quest system. This is a system whose only job is to track whats happening in the world based on active quests. It should sit on top of everything else and be almost invisible to other blueprints.

To make something scalable you'll need to understand about actor components, custom uobjects, hierarchy and event dispatchers. (to name a few)

narrow pulsar
#

I decided to make a Box Collision(with everything turned off, it's just meant to be the layout of the region) which was meant to be the "zone" where the AI would spawn inside of, I got all of it working, I select the number of AI to spawn, and everything works. The issue I'm having right now is that I don't have any "real" way to select exact spawn locations, right now they're all simply being spawned near the center of the Box collision.

This is fine if I simply add 1 mob per region, I can just make the region tiny but I feel like it defeats a bit the purpose of what I was trying to make. Has anyone tried anything similar before?

crimson briar
narrow pulsar
#

think thats what i was missing exactly

crimson briar
#

Project point to navigation is there to make sure the point you got from the box is on the navmesh - if you use navmesh ofc

narrow pulsar
#

I assume there's no realistic way where I can actually set spawn location manually right? I thought about spawning child actor components (based on how many mobs i was gonna spawn) inside the box collision, but unfortunately you can't move components around inside a parent component/actor

crimson briar
#

I'm not sure I understand what you are attempting to do. You can make the box an actor and add more components to the actor

#

If you want to specify locations for this instance of the actor - I would make it a vector array inside the actor. Check the instance editible, show 3d widget boxes. And in the level you can add vectors to the array and position them. The on begin play do whatever you want with them - spawn a spawner or use for anything erlse - keep in mind they will be relative locations to the root.

narrow pulsar
# crimson briar I'm not sure I understand what you are attempting to do. You can make the box an...

So ideally this is the workflow I wanted / tried to replicate:

  • Region Spawner (Box collision, draw a region / area of my map / select mob types to spawn inside / choose how many monsters to spawn inside)
  • After choosing how many monsters I wanted to spawn, the editor would spawn child components (example, 1 box collision per monster) which would allow me to reposition them inside the parent Box collision to set those as the monster spawn location.

Issue is you can't really edit the location of child components so this isn't really possible, i'm just wondering if there's another way to do things or i'll just have to settle with randomized spawn points

crimson briar
narrow pulsar
#

Well, the box was just a simpler workflow so i didn't have to set everything up for each individual mob but yea

crimson briar
narrow pulsar
#

ooh I see what you mean

#

that will work

#

yea I think thats exactly what i wanted

crimson briar
#

You can move the points in the array with gizmos

#

But hm, the construct is nto a good idea for this xd

#

Because the construct is run with each change to the actor, so if you want to position them manually it would reset everything after you move a single point

narrow pulsar
#

it only resets if u move the parent no?

crimson briar
#

You would need to manualy add the the entires into the array in the details

crimson briar
narrow pulsar
#

oh damn

crimson briar
#

This is why you sometimes get lags when working on an actor with heavy construciton script

#

Because the editor reruns it over and over

narrow pulsar
#

well guess I'll just settle with random spawn + doing single spawns if i want them in specific spots

#

Should be fine just more work but its all good

random egret
crimson briar
dark drum
shut blaze
#

uhhh got a problem with the camera shake
so when I posses other pawns the camera shake is still active on the possesed pawn when it should only be for the one I tell it too
now I think it's because the camera manager is for all the cameras in the level, how do I switch this to only affect one pawn?

dark drum
shut blaze
#

ah thanks

jaunty solstice
#

One of the great advantages of Packed Level Blueprints is that you can make updates and have the changes immediately propagate to any existing actors based on it.
Does anyone know how to accomplish the same thing with Blueprint Actors?
ie I have dozens of existing Blueprint Actors in my level .
I want to be able to make a property change just once in the actual Blueprint and have the change reflected in all my actors in my Level without having to drag a new instance of the Actor Blueprint to the Level.

dark drum
fading sentinel
#

Hello, I'm trying to implement an alternative AI car overtaking logic since I haven't succeeded with machine learning. So, I'm trying another approach using a behavior tree to ensure that vehicles only overtake within designated overtaking zones defined by collision boxes. Overtaking can be done on the left or right by applying an offset to the path's spline (for example, -200/200 in Y).

Do you think this could work?

Regards

lunar sleet
hollow pond
#

there's a paper out there by Valve about the AI movement in left 4 dead (2?), where they use an interesting, well-optimised system to get a coarse path for the AI agents to follow, but then the agents have collision boxes that allow them to avoid walls or each other, so the coarse path is realised as a fine detailed path with smart collision avoidance.

you might find that you want your AI cars to follow the splines for the most part, but use a basic avoidance technique to keep away from the player car

#

so instead of having collision boxes where the AI is allowed to start and end an overtake, you'd have an avoidance shape that the AI tries to stay out of. the shape of that avoidance shape might be a diamond or hexagon that the player's car fits comfortably inside, with extra distance in front and behind

#

if the AI starts to enter the avoidance shape, then you apply correction to change its direction and/or speed

#

just spitballing here. I'm not sure what actual driving/racing games do. modern stuff is sometimes using neural networks, but not always - Gran Turismo 7 only supports neural network drivers on certain tracks that the neural net has been trained on. I don't know how the more naĆÆve drivers work

sand shore
#

<@&213101288538374145>

brisk iris
#

If i need to send data from the actor component to the player character, do i need to use an interface?

crimson briar
# brisk iris If i need to send data from the actor component to the player character, do i ne...

You can.
You can also GetOwner -> Cast if you want to, but if the component can be on different classes this will be problematic.
My standard solution it to have dispatchers on everything that the component needs to communicate. Then the actor binds these dispatchers to events on itself in BeginPlay, or when the component is added. It is slightly more work than just casting, but it is cleaner than interfaces IMO.

brisk iris
crimson briar
#

I mean they work better in one to many scenarios than interfaces but there is nothing stopping you from having only one actor subscribed to it

mild jacinth
#

yo there was a eject button in 4.27 but i cant find it in 5

#

wtf happened to it even

crimson briar
#

It terms of overhead it will be probably close enough to an interface.
The thing about using dispatchers for one to many is about not using interfaces in such case, not the other way around. Because to call an interface on 100 actors you need to iterate through them in a loop and also hold references to them somewhere. Looping adds overhead (not big with smaller loops) and managing an array of references is bothersome.
But for one to one it doesn't matter that much which one you choose, it it more about preference I think.
With interfaces you have to manage a separate blueprint with the interface and remember to implement it.
With dispatchers you need to bind the dispatcher and make a corresponding event on the actor. And at least one side has to have a hard ref to the other, so they know the signatures

dark drum
#

I rarely use interfaces to be honest. Interfaces are more for when you have different classes that don't share a common parent but they need to have/implement the same set of functions.

Interfaces can have their uses when making plugin as well but personally, I would use them as a last resort.

I lean towards actor components, custom uobjects, class hierarchy and function only parents. This way I can cast away and utilize event dispatchers without worrying to much about hard refs.

odd compass
#

Does anyone know how I can end a smart object behavior but still keep the occupied slot as claimed/occupied? I know it gets released by default when calling end behavior

idle crescent
#

Was there a function or something to get projectile component drop based on distance and travel speed? I could have swore there was.

wheat citrus
#

I'm working on a project where you create vehicles in an editor and then you fight with them. I'm trying to figure out what the better way is to go about attaching weapons. There may be many weapons per vehicle. The two options in consideration are:

  1. Creating weapon actors that are attached to the vehicle actor in the editor. The group of actors is then saved as the built vehicle and when the player enters a game the weapons are loaded in their corresponding positions attached to the vehicle actor.
  • āœ… Allows scripts on the weapon child classes that run per weapon and dont need to be generalized in the vehicle class (better modularity and maintainability and allows for outlier functionality)
  • āœ… Each weapon can have its own sockets that can be referenced easily
  • āŒ Each weapon needs to be transformed by UE when the parent actor (vehicle moves) and each weapon has its own mesh instance, creating more overhead especially with multiple vehicles in multiplayer.
  1. The vehicle and weapon meshes are combined once the vehicle is saved and one actor uses this mesh.
  • āœ… More performant when a large number of weapons is attached or many vehicles are close by
  • āœ… Easier to represent in the save file for the vehicle
  • āŒ Sockets belong to one mesh and would have to be indexed with some scheme which makes the project less modular and maintainable
  • āŒ All weapon functionality needs to be handeled by the vehicle actor

I'm looking for some advice on how this might be tackled in a commercial multiplayer game / if there is an outright better method or if its just a design choice based on if you value performance or modularity more. There is probably also a better method than the two I've described above or an approach between the two that combines the best of both worlds so any advice in that regard would be appreciated.

#

^ As some extra context, the main logic for the weapon firing is curretly handeled by an actor component on the vehicle anyway but the weapon actors in option 1) could have individual logic that also executes when the weapon actor component fires it and it would alow for some nice visuals where the weaponns rotate towards the target for example

knotty current
#

this code runs fine on the host of the server but not the clients
it doesnt run as listen server tho, it runs as "client", which is supposed to start a dedicated server

#

so why does the code only work for the person who made the dedicated server. for all others, it prints false under the starting code

jovial steeple
# wheat citrus I'm working on a project where you create vehicles in an editor and then you fig...

If you ever asking about performance, it’s usually irrelevant which method performs better if each method would fit well into your performance budget. If they both fit well into the budget, then just do what makes life easier.

On what scale are these vehicles used?

Is there supposed to be hundreds of them? With tons if parts each? In some open world map that’s also demanding on performance, Maybe there could be a performance concern then?

Is each player supposed to just have one vehicle? It’s a 1v1 kinda game? A .01 fps gain doesn’t matter then, just do what is easiest first you in the future.

wheat citrus
# jovial steeple If you ever asking about performance, it’s usually irrelevant which method perfo...

There would probably be a maximum of 24 players, def no more than 50 and each has one vehicle. Each vehicle could have up to 20 total weapons attached to it. So at most the upper limit there would be 50 player pawns and 1000 attached actors (usually much lower). I'm not sure whether that is a number that would be easy for UE to handle. Also I am keeping in mind that in the future there might be a want for weapon attachments so the number of attachmed actors could scale higher in that case.

#

The 24 player limit would be the maximum for the standard team vs team mode in a limited area and the 50 players would be for a potential extraction type mode in a more open map.

knotty current
#

if client 1 starts the dedicated server using advanced sessions, code will work smooth for client 1. if client 2 starts it, code works for client 2.

crimson briar
# knotty current

Um, how are you creating the widgets? Are you creating them on client side for each player?

knotty current
#

need help. i made a custom game state using the template as "GameState", it is for a multiplayer game. but now, my character cannot move or anything. why?

maiden wadi
idle crescent
#

I just need the angle based on distance and speed, than anything else.

junior prairie
#

I'm trying to make an equivalent to genji dash from Overwatch or Black Panther dash from Marvel Rivals. What I've tried so far is lerping the player's position using a timeline and Set Actor Location, but's pretty janky and sometimes just fails. Is there a better method to do this that's also multiplayer compatible?

maiden wadi
#

Disable some of the correction settings on the CMC temporarily during the dash and put them back after.

#

Could even disable the CMC entirely for this since you're setting location directly.

jovial steeple
# wheat citrus There would probably be a maximum of 24 players, def no more than 50 and each ha...

Sounds like you have a large but manageable scope. It may be a good idea to think about the performance of the player characters so it doesn't get out of hand tho.

You may not need to go as far as making a combined skeletal mesh in order to keep the characters lighter. Even just making each weapon a component on the actor would be fine. Components are a bit lighter then full actors in a few different ways. Just make sure tick is disabled on each component.

junior prairie
#

can't figure out what causes it to fail

tiny sigil
#

hello i want to use DDCvar.MMDatabaseLOD this console command in animation blueprint but it was not showing any results and after writing in the console command it was there also not showing any presence of it and yaa i want to use it for motion matching any one know about this

spiral meadow
#

Hey, does anybody know how to break or stop loop of flickering light, I am using retrievable delay node in this in bp and with construction script too

surreal peak
sacred canyon
gusty crypt
#

I hate to ask for help all the time, but how do i control another Player character and keep the current camera active? Basicly my Player should control a remote car, which is the other Player character and should look at it. Is there some kind of tutorial for that i didnt find?

dark drum
gusty crypt
#

Thats what im currently trying. But it wont recieve any Inputs

dark drum
gusty crypt
#

One sec. No i dont

#

gimp loading so slow. give me a sec

#

there you go

dark drum
# gusty crypt there you go

How do you set the ref for the ToyTankRef in your player character? (also theres no need to cast as the ref type is already of the toy car)

gusty crypt
#

Level blueprint

dark drum
gusty crypt
#

Sec im on the balcony Smoking. Basicly " at begin play, cast to this and Set ref, and cast to the other and Set ref" also i selected the characters inside the viewport, added them into the Level blueprint via rightclick

#

i also played around with player index and input priority, but that didnt seem to work as intended

dark drum
# gusty crypt there

Those casts aren't needed which is why they have the blue node. Casts are just a type check.

'Is this object actually this type of object?' If true, it returns and updated ref type.

Anywya, does the enable input ever get called? You can either add a print string or use break points to confirm.

gusty crypt
#

well it disables my controls for the main character, thats for sure. but the tank wont recieve any input

dark drum
gusty crypt
#

tried that already. i assume if i deactive it, i have no choice but to possess the car right ?

#

possessing works, but then it will get its own camera, thats not what i want

dark drum
gusty crypt
#

ye this works somewhat

#

thanks for the time and help man

narrow pulsar
#

What's the recommended way to attribute stats to different AI types? I was doing 1 Data Asset for each AI which is then loaded on begin play of each AI Character BP, not sure if that's the best way to do it

#

Also need a way to keep both things binded together so I can somehow load them together in my spawn manager

dark drum
lost hemlock
#

hi im trying to train doing mutplayer systems...

#

Im doing a trace & destroy on any actor that my actor sees

#

I also made a new empty small test level so that I can completelly focus & laern from zero on how to do multiplayer & then maybe implement it into my main project.

#

this is how im doingit

#

but the walls are still there...

#

so as you can see, on the left window I destroyed the walls

spiral meadow
#

Is this Fucniton Right?, I just used the Branch in Flicker Start Event coz it didn't stop running and in loop

#

And how to make the point light as it removes the circle in the wall while its turn on or will i add the light material

sacred canyon
narrow pulsar
crude dew
#

Hi does anyone know how I would use this pool for widgets please? I am creating a bunch of UMG Widgets to store for repeated use but then how do i use these in the enemy as the Widget Component expects a class and not an actual Widget Object I am dynamically passing the textual values to display when I retrieve a Widget from the pool

#

Pool retrieval function

dark drum
# crude dew Hi does anyone know how I would use this pool for widgets please? I am creating ...

There's a function called 'Set Widget' which you can call on a widget component to directly set the widget that should be used.

Also, for the widget pooling, instead of having a variable on the widget itself, it might be better to have two arrays. One for available widgets and one for those in use. When you use one, you claim it which moves it to the in use array and when done, you release it which moves it back into the available array. This would allow the pool system to work more easily with different widgets in the future if needed. (just a suggestion)

crude dew
#

@dark drum Thanks I found that! abd thats a good idea! thank you !

narrow pulsar
# dark drum I'm not sure what you mean.

So for example, this is an AI Spawner I created, I select number of mobs to spawn + soft class (can insert multiple) + radius (this is for turning AI OFF/ON by checking distance to players)

#

Then I iterate the soft class array (in case I insert more than 1 type of Mob/AI). However, when spawning actor it also asks me for the DA (Stats Definition) and I'm not sure how I can make sure to get the right data asset for whatever soft class is being iterated

dark drum
eager thicket
#

What code do I need to do to get an external camera or actor to point at another actor (without them being attached)?

sacred canyon
#

find look at rotation

sacred canyon
#

works perfectly for all these straight ones, but the big curved one completely breaks, I try to attach at half way and it teleports to the end, or just straight up throws me out the map, I have no idea whats going on

#

anyone know anything about ziplines that can be grabbed at any point along it? thats literally all I need

craggy mantle
#

Is there a node in the Anime Blueprint (Anim Graph) for creating blending conditions? For example, Blend Anim Node A with B if... otherwise Anim Node A is the output

sacred canyon
#

wait isnt that just blend by bool anyway

dark drum
#

<@&213101288538374145>

craggy mantle
sacred canyon
#

ah yeah big servers seem to have channels hidden by default now and you have to manually choose which you want

sacred canyon
sacred canyon
#
inner warren
#

Trying to set up a start/stop timer bp be like

sacred canyon
#

jesus, is this really that complex?? how many games must have already done this? and yet I cant get anywhere

#

I know of 90s games that have done this, its basically the same as the railgrind you see in skating games isnt it

inner warren
sacred canyon
#

oh you just

#

added your thing

#

so now it looks like I was talking about that

barren tangle
#

Hi

#

i use that node to attack an actor to a socket

#

but i don't find how to detach the actor??

#

i tryied like that but doesn't work

#

ha i found: it was detach from actor

tired blaze
#

I have found a bug/problem in the UE5 Default VR template. Whenever you're in a server with players, and you open your 3d widget menu (came with the template), the UI doesn't work when you click on it and it repeats "on hovered mouse events" more than usual (i have put sound in the button to see the bug better). I have not modified the template, has anybody expierenced this? I use this menu system in my personal VR game, and still have this bug. Does anybody have a fix for it? I have attached a video of this bug in action.

lofty rapids
# lost hemlock

i'm thinking follow cam is the local camera on each client ?

#

send the start and end through the multicast

#

or

#

make the walls replicated, spawned on server

#

and remove them on the server

#

i think i would do it that way

#

wrather then trace on all clients

#

just remove on server

#

and have it replicate

crimson briar
#

Hmmm, I have a question about ISM and their collision detection.

My setup looks like this:

  1. Character has a Bulding Component. This building component works on Furniture that is picked up, tracing forward with Visibility channel and positioning the selected furniture.
  2. Furniture is built form a bunch of Static Meshes usually. For example my Table Actor consists of 4 chairs and a table
    Now, it works great. But then I wanted to add a Crate Stack. A single actor, representing a stack of crates that will contain ~20 of them. Using ISM seemed like the best idea, since there will be 0-20 identical meshes in one place.

But this caused my building trace to freak out. When picking up the CrateStack, the furniture doesn't move along the floor, but zooms right towards the camera, flickering wildly.
It looks like the ISM is blocking the Visibility trace, even though the Ignore Self is set to true on the Building Component's trace.

Collisions are exactly the same between the ISM and the table and chairs on other Furniture actors - but the problem doesn't happen with the other ones, only with the ISM.

I could disable the visibility block on the ISM, but I'm using this channel to also add a border around a mesh that the player can interact with. Using another, separate channel for building and for border is a possibility but I wonder if I could avoid it.
Are the ISM instances just handled differently by the engine that they don't count as "self" in the traces while being a part of the same actor?

surreal peak
# crimson briar Hmmm, I have a question about ISM and their collision detection. My setup looks...

Not 100% sure what part you are referring to with "self". "Self" is usually equivalent to "this" in C++ and would point to the instance that uses the keyword at that very moment.

The Trace of your Building Component specifying IgnoreSelf isn't really relevant to the mesh component you are tracing, unless I misunderstood the way your system is set up. If you want to ignore the actor you are moving, you would need to actively pass that actor into the IgnoredActors array. "Self" just refers to whatever has the Trace node in it I would assume.

surreal peak
#

This sounds like the Menu is spawning more than once on the server. Which hints at them spawning it loosely on BeginPlay. Which further means it's not coded for multiplayer to begin with.

crimson briar
surreal peak
crimson briar
#

I see it groups all of the meshes and changes two things about them when picking up - changing the collision with the pawn and changing the material to a transparent one. Does a transparent material make it so the visibility trace is never blocked?
I don't see any other changes to the meshes

#

Maaaan it will be a pain to include ISM in this code whycry

#

Or... I will hide the ISM when the furniture is picked up. Hm.

tired blaze
# surreal peak Are you sure that VR template supports Multiplayer?

I don't think it supports Multiplayer but what I wanna do, for my use case is that I want the player to open the menu client-side only. I just don't understand how the bug affects other players in a Session. Maybe the menu detects multiple widget interaction references? I really don't know.

wanton goblet
#

I'm encountering a very strange issue with my 3rd person character Camera Boom Socket Offset. Initially it is set to an offset of 104.820643, to align it to the default position for combat gameplay. I have a system to shift the camera boom socket offset when combat is not active, but when the socket is being updated, it glitches and refuses to stay at it's new offset, snapping back to the default socket offset. It's jittering during the move, like it's encountering collision, but none of the character components have camera collision activated, and there's nothing in the level that could be causing the collision. I've checked and the camera boom is not being updated anywhere else in the character while this is happening. Happens with DoCollisionTest and UsePawnControlRotation both on and off

harsh nebula
wanton goblet
#

@harsh nebula Checking that now, how functionally would that differ from the lerp?

knotty current
#

need major help with multiplayer

#

it requires dms

#

if anyone is good with this please dm me

#

@harsh nebula are you an expert that could potentially hghelp

#

its fairly simple, im js dumb and dont have any odea hwat to do

harsh nebula
harsh nebula
wanton goblet
#

@harsh nebula Lol, turns out the CameraBoomSocketOffset can't be updated at runtime, at least not via BP. Just straight up moving the CameraBoom relative location actually works fine with the lerp 🤪

harsh nebula
wanton goblet
#

The FInterp gave the same problem

#

I'll look into it, is it just delta time/interp speed = seconds to get world seconds of the tranisition?

harsh nebula
wanton goblet
#

Cool, I'll test something with that. Thanks!

knotty current
#

The game has two player roles: frontliners and trackers.
Each player has a PlayerState containing a suspicion map, with keys of all other player states attached to a bool tracking which other players they find suspicious, true = sus.

The suspicion system works like this:

When a player opens the accusation UI widget, it dynamically lists all other players (not themselves).

Each entry has a toggle button to increase or decrease suspicion toward that player.

The suspicion data is stored in a TMap<APlayerState, bool>* (or similar) inside each PlayerState.

The Problem
For some reason, unless the player is the host, the map doesn't sync basically.

When a player reopens the UI, the suspicion toggles reset because the map isn’t stored or replicated correctly. (it does work for the host, the logic is supposed to get the owning player of widget, cast to the player state, get the map, check if the corresponding OTHER player is suspicious according to the owner, if so, the button will toggle on, if not, then toggle off.) for clients this doesnt work. it always defaults to off.

with the help of print strings, i find that the ui blueprint cannot FIND the other player target inside the map, it returns false

#

The system only works when the host (listen server) is the frontliner.

When clients are frontliners:

Their toggles reset every time the widget opens.

The UI can’t find values in the suspicion map (returns ā€œnot foundā€ or false).

The suspicion map logic fails to update properly across the network.

Details / Current Setup
The suspicion map is stored in BP_PlayerState.

Each entry widget in the UI references a target player’s PlayerState, but not the owner’s.

When the suspicion buttons are pressed:

It gets the owning player’s PlayerState.

Casts to the custom BP_PlayerState.

Attempts to add or update a value in the suspicion map for the target player.

On reopening the widget, the UI rebuilds from the PlayerState’s suspicion map, but it always returns default or empty values.

The suspicion count variable (a replicated int) also doesn’t show the right values for clients.

Networking Context
Currently tested using ā€œOpen Level by Nameā€ with ā€œlistenā€ as the options → Listen Server setup.

On listen servers, the host’s version of suspicion works.

On clients, suspicion states reset and maps don’t sync.

You can’t replicate maps directly, so a different structure or system is needed.

#

This is my issue

#

Can anyone plz help

#

Able to potentially pay if you can fully fix the issue quickly maybe

surreal peak
surreal peak
surreal peak
knotty current
#

Since I need it to store both a player state and one bool corresponding to that player state

surreal peak
#

Or put the bool into the PlayerState to begin with

jovial bramble
#

i got a small question, why isn't my event called.
i checked the input, and the varraible is the good one for the BP where i do this

sacred canyon
#

right well

#

thanks anyway guys I guess

jovial bramble
#

???????????????

sacred canyon
#

wasnt to you

harsh nebula
# sacred canyon right well

It is luck of the draw with some problems. It's totally dependent if someone who knows your problem well can, will or has time to help. Unfortunately there's no guarantees.

Best thing to do is ask once every 4 or 5 hours or so depending on how buried you initial question becomes.

sacred canyon
#

I guess so, but this always seems to be the way every time, I just dont know what to do whenever I get stuck with anything because this is just all there is

brisk lintel
#

Hey all, not sure if anyone has experience with PCG or PCGex but hoping someone can point me in the right direction. I have a PCG creating a floor layout and it seems the bounds or something with the asset spawning is messed up. When I spawn the asset it extends it way up and down and the bounding box (shown in pink) is also too large but if I manually adjust it with modify bounds the mesh still extends all the way.

harsh nebula
harsh nebula
brisk lintel
harsh nebula
jovial bramble
#

got a small question, why isn't my event called.
i checked the input, and the varriable is the good one for the BP where i do this
Thanks

harsh nebula
# jovial bramble got a small question, why isn't my event called. i checked the input, and the va...

Assuming your player character is calling the Interface, then all you need to do is make sure that "Parent Ground Unit Ref" Blueprint has the Interface added and that the event that you're firing is also in the event graph of "Parent Ground Unit Ref". The interface doesn't need to be added to your player character.

When you call an interface like in your screenshot the Target will be the blueprint where the event will fire.

dark drum
jovial bramble
dark drum
jovial bramble
#

ooooooooooh, okay thak you

#

just set the var of the ref then it's all good ?

dark drum
jovial bramble
#

like this ?

dark drum
#

You need to get a reference to the instance of the unit and store it in the var.

dark drum
# jovial bramble how do i get that

That can depend. With you mentioning it's an RTS I'd imagine you have a separate event that triggers from a mouse click to select a unit. This event would do a line trace into the world (under the cursor) and would return the actor it hits. You can then store this ref in your var ready to use.

There are other methods but this seems most applicable.

jovial bramble
tired blaze
tired blaze
# tired blaze That actually wasn't the case as you can see here. This is a log when I was repe...

I tried making a new menu system from this youtube video. https://www.youtube.com/watch?v=x9fKx7hjq9g I am still experiencing this bug even with the new system.

Here is the ONLY WIDGET TUTORIAL You WIll Need For Your Experience!

Please, leave a like and a comment under this one, since I am giving out premium material here for free)

Got Questions? Join Discord Community!

ā–ŗ Patreon: https://www....

ā–¶ Play video
tired blaze
icy gust
#

So Im having a weird issue, my key press input is registering on one blueprint but not another where the setup is exactly the same. I set a break point on the input and it never activates. Anyone have any ideas?

#

nvm fixed it

#

forgot to set "auto receive input"

hybrid iris
#

Android full touch screen is not working on android devices
only working lower screen area
swipe up and down function is working full screen of android but switchland or CheckXTouch is working only left corner area.

surreal peak
surreal peak
crimson briar
# surreal peak Visibility has nothing to do with the actual trace channel. They are purely name...

I fixed it as you suggested, by adding the picked up Furniture actor itself to the ignore list on traces.
But I'm still confused why it happened - it worked with standard meshes but not with ISM, all of them with the same BlockAllDynamic preset. Even though the only things the component is doing with static meshes is changing the material and the response to Pawn channel.
The only other collision related thing is Setting Actor Enable Collision to true/false on the Furniture actor.

So I dunno. Fixed but still weird.

crimson briar
#

Huh. After some more tests - seems like SetActorEnableCollision affects normal SM Components inside the actor but not the ISM. This seems to be the root of the problem.

dark drum
lost hemlock
#

Hi, im trying to create a slot system for my saving and loading system

#

So for example these are my save-variables

#

and im trying to convert this structure into a slot....

#

so i wanna put these variables into a slot structure/array or something like that... But apparently I cant

steep oyster
#

What is bro programming

dark drum
steep oyster
crimson briar
lost hemlock
#

typo

dark drum
# lost hemlock So for example these are my save-variables

Personally, I wouldn't put all your saved data into a single SGO.

When saving/loading data, you can use folders by using a / in the slot name. This can allow you to have different SGO and have them saved into a specific folder for the current save. (Game 1, Game 2 etc...)

lost hemlock
#

LogBlueprint: Warning: Struct 'UserDefinedStruct /Game/Str_Slots.Str_Slots' Property 'Slots_3_2DDE95B440B4B29FF076E09F7657F36F' Error ( Recursion: Recursion: Struct cannot have itself or a nested struct member referencing itself as a member variable. Struct 'UserDefinedStruct /Game/FirstPerson/Blueprints/save-load-system/Str_Gave_Save.Str_Gave_Save', recursive parent 'UserDefinedStruct /Game/FirstPerson/Blueprints/save-load-system/Str_Gave_Save.Str_Gave_Save' )

white parrot
lost hemlock
#

I got this error by trying to convert it..

dark drum
steep oyster
dark drum
#

As an FYI, you don't need to even make a structure for save game stuff. Just add the variables to the SGO and set them directly.

lost hemlock
steep oyster
#

if (b=true)

b = true

else
b=false

lost hemlock
#

now that I think about it, it sounds very wrong

steep oyster
dark drum
# lost hemlock hm... but each game should have its own SGO, right?

No, unless youre making a very small game, putting everything in a single SGO is a bad idea.

You can have 100 SGO's saved in a folder 'Game01' and then another 100 SGO's saved in another folder 'Game02'. When ever you go to save/load, you just prefix the active game slot. (Game01/Game02) This way it'll search the relevant folder for the SGO needed.

steep oyster
#

Grandfather paradox crying

lost hemlock
dark drum
# lost hemlock Is there a tutorial on this or something? I don't know how to do that... Sounds ...

Setting up saving/loading can be a lengthy process and vary wildly depending on the game. I've not come across any tutorials specifically that cover using folders in the slot names but I do sort of go over it a little in the saving section of my inventory tutorial. (4 parts) Pt11 of the series might give you some ideas though.

https://youtu.be/Z1wVW2iV5Oo?si=kmjQpHwuB34MllDD

Welcome to this tutorial on how to create an inventory system in Unreal Engine 5! In this video, we'll go over the concepts of setting up an inventory system using Unreal Engine's powerful Blueprint visual scripting language.

In part eleven, we continue setting up the required logic for saving our item data. So whether you're a beginner to Unre...

ā–¶ Play video
narrow pulsar
#

So I'm having an issue, I have aborts both when "TargetActor" is set in the right side of the BT, however, even though my perception is updating the targetactor and "setting" it, the Wait task still goes through before the AI targets me

dark drum
narrow pulsar
#

Shouldn't be because it's set as None from the get go, that should be treated as "is not set" no?

dark drum
tight pollen
#

Is there another way to get the particle position more efficient? At 500 particles the FPS drops

narrow pulsar
#

Wait I figured out the issue, I added a Tick Interval of 0.1s to AIPerception component, while also having 100 AI next to each other for stress testing so it's updating the target perception for those 100 AI ebfore it reaches my "turn"
which explains the second/2 second delay before targetting me

lost hemlock
crimson briar
#

In bigger games it makes sense to fragment the data so for example you don't need to save level data when you only want to save changes to the player

dark drum
narrow pulsar
# dark drum Glad you figured it out.

Just a shame that it seems like it cant be fixed through blueprints since I can't change the affiliation through blueprints as far as I know so the whole target neutral/enemy/friendly only works if done through c++

#

I'll look into changing it with c++ tho

odd compass
#

Does anyone know how I can get the Anim BP to not override rotation using GASP? I'm trying to attach the character to a component but it's not rotating at all. I've been trying to fix it for hours with no lead

#

This is my attach code, and what I've tried most recently in the anim bp to stop rotation

junior prairie
#

I'm trying to make an equivalent to genji dash from Overwatch or Black Panther dash from Marvel Rivals. What I've tried so far is lerping the player's position using a timeline and Set Actor Location, but's pretty janky and sometimes just fails. Is there a better method to do this that's also multiplayer compatible?

The issue that I'm running into is seemingly randomly, the position lerping won't make it to the end position, it'll fail midway through the timeline and the finished pin doesn't execute, so I'm left both not at the correct end destination and stuck not moving

ocean cloak
#

Hello everyone, I need some help with an Unreal Engine 5 Blueprint issue.

I already have a fully functional light switch logic inside my BP_LightSwitch Actor. The core logic for toggling the lights is driven by a Custom Event named "Event BP_Interaction".

My current problem:

I need to correctly wire the logic so that the player can call this "Event BP_Interaction" ONLY when the following two conditions are met:

The player is overlapping (inside) a Collision Box near the switch.

The player presses the E Key (Input).

Could someone please share a screenshot of the correct Blueprint nodes that connect the Overlap Events (Begin/End) with a Boolean variable and the E Key Input to trigger my Custom Event?

junior prairie
# ocean cloak Hello everyone, I need some help with an Unreal Engine 5 Blueprint issue. I alr...

On the player character blueprint, you can use the on overlap event of the capsule component, take the reference to the actor that got overlapped and save it as a variable called "Overlapped Actor" or something. Then on end overlap make sure to clear the variable. Finally, when the player presses E, all you have to do is check if Overlapped Actor has a stored actor in it, then check if it has the interaction interface, and if it does, call the interaction event

opaque pond
steady night
#

hey i just noticed when im using the editor my "widows taskbas" is still visible

#

is that a settings in editor or in windows anyone know :/ ?=

brisk lintel
#

Shift+F11 makes you go fullscreen if thats what you mean

steady night
#

ah thansk

crimson briar
# opaque pond

If you change the location to Keep World on the DetachFromActor, will it still disappear?

opaque pond
#

Love šŸ™Œ

#

@crimson briar Can you also please explain the error at "add impulse"?

crimson briar
crimson briar
opaque pond
#

Now the error is gone

#

But I'm sure I didn't add the other heldby variable

#

I'm dumbbb

#

@crimson briar one more thing

#

When i play as client I'm not able to pickup or drop the object

crimson briar
#

I can't tell at a glance, I would need to experiment with the code, I'm not that good with replication.
In my project I had some problems making attachments work. I ended up using a repnotify variable for the attached actor then changing attachment, collisions and physics locally OnRep

opaque pond
#

I just downloaded unreal engine a week ago to build a multi-player fun game

#

But this is not easy. I don't even know what I'm doing lol

crimson briar
#

I definitely wouldn't recommend making your first project a multiplayer one. Replication doubles (at least) the complexity of the designs

#

Just my opinion though, looks like you got a decent enough understanding if this is only after a week so maybe you'll be able to handle it with some more experience

opaque pond
#

just picking up and dropping objects

crimson briar
#

But usually in a situation like this you start debugging step by step. First check if the interaction event is reached. Then check if the event on the server is triggered. Then if the correct branches are reached. Etc etc.
You do it by using breaknodes (F9 or F8 when a node is selected, I never remember) or byu adding prints in important places.
But debugging with multiplayer makes it more confusing, since you get double prints because the editor is both the client and the server

opaque pond
#

but i can do many things from it

tropic torrent
#

I'm getting a pending kill or garbage error with a spawn projectile, anything obvious I may be missing?

#

Going to log into discord on the school computer to get screenshots

#

wow surprised I didn't get IP checked

wet rain
#

So im trying to get a vfx effect to always lock on to an object simillar to the physics gun in garrys mod. I have an endpoint for the effect but i can't seem to get the endpoint to change to the object being picked up consistently after dropping it and moving to another object

lost hemlock
dark drum
tropic torrent
#

Blueprint Runtime Error: "Attempted to access BP_Ability_Projectile_C_1 via property Ability2, but BP_Ability_Projectile_C_1 is not valid (pending kill or garbage)". Node: StartAbility Graph: EventGraph Function: Execute Ubergraph BP Character Test Blueprint: BP_CharacterTest

#

comes with

#

Blueprint Runtime Error: "Attempted to access BP_Ability_Projectile_C_1 via property Ability2, but BP_Ability_Projectile_C_1 is not valid (pending kill or garbage)". Node: Stop Ability Graph: EventGraph Function: Execute Ubergraph BP Character Test Blueprint: BP_CharacterTest

#

if im understanding it correctly, stop ability is happening too early for the projectile to exist

lost hemlock
#

the 2nd struct will be an array

foggy whale
#

I have a bit of a gameplay programming question here. What is the "right" way to make sure the player can't clip the camera into the mesh when setting up your gameplay cameras? For context, I'm building a 3rd person shooter game that is fairly high movement and some of th elevel designs can be a bit claustrophobic.

I've been looking at what other games do. Some do nothing, they just let the clip happen, some hide the mesh or try to do like ghosting effect on the mesh. The "best" solution is to just design your levels around it I'm guessing.

What feels the best based you guy's experience?

broken wadi
foggy whale
#

There are still scenarios where you can force it to when there's no other way to resolve camera position. 99% of the time yeah that's a fine solution.

#

Granted, to force this, you have to do some pretty janky stuff in a pretty constrainted space

broken wadi
#

could always hide a secret texture in there so its like an easter egg

ornate trail
foggy whale
#

Transparent material is something I'm implementing as we speak. Pushing the camera offset to further over the shoulder so it can't clip is also an interesting solution. Thanks.

broken wadi
#

hidden placeholder ad space for your next title

ornate trail
#

from what I remember lyra handles this pretty well if you haven't already taken a look

foggy whale
#

It's been a while, I'll have to check it out as well.

eager thicket
#

how do i hide custom variables from the details pane in bp view?

ornate trail
#

private maybe

eager thicket
#

private didnt work?

next hollow
#

I don't think BP can hide BP?

strong fulcrum
#

Hi all! quick question dose anyone have an idea why server dose not want to get the key from a player? but when i multicast to "cast to bp_survivor" it shows Client: yes Server: no

tidal ridge
#

hey guys can you tell me what Construction scripts are used for in unreal, like what are they used for in Blueprints?

hardy merlin
full badge
#

is anyway to bring back pawn actions in ue5
i upgrade my project to ue5 and my ai stopped working cuz it seems that they removed pawn actions

novel goblet
#

I am encountering a weird bug while designing a drag drop inventory

If I have two objects of the same type in my inventory sometimes if I move my mouse over the other object while dragging if I drop it to a spot next to it or anywhere else for that matter it just seems to trigger from dragging over the existing one.

It will instead of moving the one I'm dragging move the one that I went over.

To further bizarre this, if I attempt to move the one I was trying to move again anywhere else, even while trying to avoid hovering over the other item icon.

It will still move the other one. Anyone seen this before?

crimson briar
crimson briar
brisk glade
gentle urchin
dark drum
# tidal ridge hey guys can you tell me what Construction scripts are used for in unreal, like ...

The construction script is called when an actor is first constructed. There is also additional logic for having it rerun when properties are modified on the actor. Note however, any pre-placed actors won't have their construction script rerun in a build as they were already run at editor time and the results saved out.

This is useful as it can allow you to call functions at editor time to setup/modify the actor. This can be used for spawning in meshes, pre-calculating variables, setting materials etc... so that they are visible at editor time.

Some example are things like a fence actor that spawns posts along a spline at set intervals with the relevant beams in-between or an actor that automatically snaps to the surface below it. Updating the mesh/material of a door based on the type of door specified in a property etc...

copper dust
#

just make sure it's deterministic

strong fulcrum
hard charm
#

Guys, I have a question. I want to create a mechanic where I cast a raycast and I want to get the first skeletal mesh it encounters. Because I'm creating a mechanic where I have several overlapping skeletal meshes, I need to accurately determine which skeletal actor I'm getting.

next hollow
#

Do I perhaps miss-understand?
The ray cast will have a ref to what actor, component, etc it hits.
So, just use that.
No weird way, or special way.

hard charm
#

There isn't one. I want a system where the pawn has several skeletal meshes layered on top that act as clothing, and I want to remove the clothing that's first being hit by the beam. I'm having a bug where it always removes the lowest layer instead of the top one; its bound colliders are causing a conflict.

next hollow
#

Sounds like the base/ lowest model has a larger collision then expected.

So, given the collider conflict.
Either make them smaller/ correctly sized or similar.

Or, you'd need to manually keep track of the clothing, and get the one closest to the impact location.
So, it'd be pretty manual

dark drum
#

Yea the line trace just returns the first one it hits so if its getting a different one than expected its a collision issue. For skeletal meshes, they use a physics assets so this is what you would need to check.

steep oyster
untold shale
#

Hi,
I would like to access the border (Brd_Item) of the TileView entry to programmatically change its color when I select it.
The Event on selection item only works when clicking on the TV
Clear selection is not working.
What should I do?

thin panther
#

more specifically in editor, it gets backed into the package and doesn't run again

fallow umbra
#

Any idea how can I make the wildcard be a, well, wildcard and return any value?
Macro output variable (UeValue) type is wildcard

ornate trail
fallow umbra
#

I just wanted an easy node to convert from the struct LuaValue to any type needed. Currently there are helper functions for each type and it works fine

This was more of a funny thing / brain exercise, but I figured it's impossible since I tried all possible ways to make it work and all of them failed. The type seems to be assigned to the first type assigned to the wildcard

ornate trail
fallow umbra
#

Anyway, it seems to be impossible to have a macro node with a single output that will convert the wildcard to any type

ornate trail
#

yeah that seems fine now you just need to parse out the output. Say for example all those values represent character attributes. make a attrib stuct and just populate is with those values

#

Then when you need the type pull out the type when you need the bool pull out the bool etc

#

you could also use the entire struct OR just the lua output as an argument inside a function then read the different elements of it

eager thicket
white parrot
hardy merlin
eager thicket
#

ahhh interesting

#

i have some renaming ahead of me

#

i swear like 50 of my variables end with ???

hardy merlin
#

I mean, it doesn't matter in blueprint. Just going to make programmers uncomfortable.

hardy merlin
crimson briar
#

I think starting bools with b is more like a leftover from old days. It is still kept in C++ for consistency but you don't need to follow it. I personally never do.
But I wouldn't use anything else than letters, numbers and _ in variable names, just in case something somewhere doesn't like a certain sign
And the name "IsLocked" doesn't need to have the b in front or a question sign at the end to indicate what it means and that it is a bool. IMO of course.

hard charm
#

One question: Does "Use Complex as Simple" only work for static meshes? It doesn't work for SkeletalMesh collisions, right?

maiden linden
#

I can't get my player controller execute this function. works fine when it is called in my actor, but in this case I need it to be called in my player controller so that the moves will be replicated from client to server

#

Event FwdOne is not executing any ideas why

hardy merlin
# maiden linden

Owning Actor Ref is null? or does not implement the interface?

next hollow
#

Thats what me thinks to.
Why do you need a variable of it, when you have the direct function for it.
Adds extra steps of potential issue.

maiden linden
#

I believe I added its so that it only performs the function on the clicked actor as their are many duplicates of that actor in the level it is set when the UI widget is added to the viewport

#

I think you just pointed me to where my problem is though

next hollow
#

In the case of using a player controller.
The widget has a direct reference to the controller at all times.
So, there no need for manual input, or caring about multiple, cuz its the controller

maiden linden
#

the reference is to the actor that is being clicked not the player controller. I guess you think of it as like im trying to click on a chest

next hollow
#

I thought you said it was through the player controller.
Cuz, if it is going to a chest or whatever, then the issue makes perfect sense.
The client likely doesn't own the object, thus can't run on server, it.

#

But, the setup of the pictures does look like its going through the player controller.
Given the target on your 2nd pic says Strategy Player Controller

violet moth
#

hey all
is anyone here decent with vr or blueprints? im making a yugioh vr game in ue5.6 and im trying to make my cards snap into my hand via a line trace and grip function

hardy merlin
#

First question is how you want multiple cards to be arranged. Some kind of arc?

violet moth
#

Dm me

#

I added you

#

To talk over this in th3 morning as its like 1am

neat sundial
#

Hi everyone. totally beginner on unreal engine. anyone can help or guide me animate the hook to go up and down using blueprint? i have cable and physics constraint for the boom arm connected to the hook.. i also have a custom event to control the hook up and down but when simulating it goes all over the screen. Any help is appreciated!

unreal gulch
dry monolith
#

How could I make rotator A relative to the Look At rotation of point A to point B?

I have a character at point A, facing a camera (point B). When they are looking directly at the camera, I want the rotator to be 0,0,0 for pitch, roll and yaw. But if they look 90 degrees to the right for example, it should be 90, 0,0.

I hope this makes sense?

hardy merlin
#

Not entirely sure what you're hoping to do.

#

Can you illustrate?

crimson briar
dry monolith
dry monolith
ocean cloak
#

Hi everyone,
I've successfully created the BP_LightSwitch functionality (light on/off, switch movement).
I now need to implement the player input logic. I need a tutorial on how to set up an Interaction System (using a Sphere/Box Overlap or Line Trace) so that the player can press the 'E' Key to trigger the switch only when they are close to the actor.
What are the best video tutorials you recommend for setting up this kind of Actor Interaction Interface in Unreal Engine?

Thanks!

ornate trail
dark drum
modest monolith
#

Guys I have a bug that is breaking my game and causing many refunds. Apparently while people are playing the game, after 1 hour or so, they can't run anymore. This happens also after the 2 time they launch the game. How the hell is possible?

lofty rapids
lofty rapids
#

it's not an event

#

events are in red

#

you probably wanted to put the clear and invalidate on the same as stop sprint ?

#

promote the return value to a variable

#

and use that instead of connecting it like you have

lofty rapids
# modest monolith

also is there anywhere you actually shut can sprint off ? set it to false ?

modest monolith
#

maybe it is a problem of saved settings?

modest monolith
lofty rapids
lofty rapids
modest monolith
#

It's a super weird bug.. never had it. fun thing is that it happens without touching settings, key bindings or using gamepad

#

that's what they reported me

#

I've never managed to witness it myself

surreal peak
#

tbh, you probably have to figure out how to repro this to actually debug it.

lofty rapids
surreal peak
#

reproduce

modest monolith
modest monolith
# surreal peak reproduce

that's tough. I just had someone download it yesterday and it didn't happen in 2 hours of gameplay 😭

surreal peak
#

Yeah, but that's part of it. If you can't repro it, you will have a hard time understanding what is going on. Gamers might also report things without giving proper information

modest monolith
#

or that happens after a few hours

#

but it's crazy

#

there must be a trigger

lofty rapids
#

debugging is essential

#

if you don't understand the way it works, your pretty much out of luck

lofty rapids
ocean cloak
#

I need help fixing the Blueprint logic shown in the attached video. I'm following the Interaction System Tutorial (Part 2).
My BP_ThirdPersonCharacter has issues with the BPI call setup (specifically the For Loop/Trace logic), and the BP_Door needs the FlipFlop added to the Event Interact to properly open/close the door via the Timeline.
Could someone please apply the correct nodes (FlipFlop, correct BPI call) and record a SHORT VIDEO CLIP of the working Blueprints (showing the nodes and the connections) and send it to me?
I'm having difficulty visualizing and implementing the solution from written advice. A video would be much clearer. Thank you for the direct help!

crimson briar
#

I can't see on the video where is the pivot of the door mesh, dunno if it is so far outside the screen or invisible for a different reason. So check the pivot too - opening the mesh itself from the content browser

shell lichen
#

I’m trying to use the Min of Int Array node to create a leaderboard. I’m starting with an array of all 0s, and for some reason each time I play two player names are getting overwritten rather than one. I added a ā€œdo onceā€ before replacing the minimum value in my array of scores but it didn’t help. Any thoughts?

#

For more context this is happening inside the Game Over widget. When the player enters their name, that's when I want to update the arrays containing top 5 scores and player names. I do the sorting of scores elsewhere so I'm not worried about that. Just want to see if the current score is higher than the lowest on the scores array and replace the lowest with the current score if it is.

dark drum
shell lichen
#

I go back to where the leaderboard is displayed on the start menu and it will have overwritten two of the player names

#

I also tried a print string to see the leaderboard before going back to start and that’s what it’s doing at that step but I don’t know why

dark drum
shell lichen
#

Yeah it looks weird, that’s what happened when I copied the blueprints into discord. It’s Min of Int Array, the outputs are the index of the minimum value and the minimum value itself

dark drum
shell lichen
#

It’s just so weird that it’s overwriting a second player name but not a second score

shell lichen
#

Okay so this would go in the game instance, and then on text committed in my game over widget I’d set the current score and current player name?

dark drum
lost hemlock
#

Hi, I have a problem with my saving& loading mechanism for my inventory.... Everything was working perfectly before... But now I just added 4 new slots of saves.....

Loading game from Slot 1 gives me my inventory back like normal....
Loading game from Slot 2 gives me duplicates....
Loading game from Slot 3 gives me my inventory back multiplied 3 times....
Loading game from Slot 4 gives me my inventory back quadrupled....

shell lichen
lost hemlock
dark drum
shell lichen
# dark drum

This is working perfectly and so much more efficient than what I had, thank you!!!!

pine steeple
#

Can I somehow access and change the skeletal mesh's physics constrain property from simulated to kinematic during runtime?

Just one specific constrain, leaving every other as it was. I want to use it as a handle/grip.

lost hemlock
#

This is the Save

#

This is the Game Instance

#

(Im not using that S_Game_Save_List anymore btw)

dark drum
# lost hemlock This is the Load

There's a lot to unpack here but the issue is most likely because you have 4 of the data struct in you're SGO and then do some stuff for saving to different slots.

Having 4 properties on the SGO for the different slots isn't required if you're saving to a different slot name.

dark drum
lost hemlock
dark drum
#

This is unnecessary. It's effectively creating slots within slots

dark drum
dark drum
lost hemlock
dark drum
lost hemlock
#

I also didn't like his video at all, but I had no option because of the limited quality youtube tutorials that there were about this

dark drum
# lost hemlock what specifically is bad, and what would you do differently? I don't need it to...

He uses a single save game object for everything, loads it in the game instance, uses a save/load interface unnecessarily (in my opinion) are a few things I noticed from a quick skim.

The whole setup whilst it looks simple at first is actually pretty convoluted it also moves ownership of data to a single place which can introduce a single point of failure. If that save struct goes corrupt (can be pretty common for BP structs when edited frequently) you'll end up spending a few days to fix it.

dark drum
dark drum
ornate trail
sand shore
#

The other thing is, are you loading these in order? slot1, then slot2, eventually slot4?

What happens if you start a fresh game, save it to all 4 slots, then load slot4, slot3, slot2 and finally slot1?

pine steeple
ornate trail
pine steeple
ornate trail
#

also this node if you want more control

pine steeple
#

@ornate trail I have this now. It turns off, but it kind of snaps to the original rig position rather than simply stopping where it is at the frame.

Do you know how to access explicit constrain position? I could Get Position, Stop Simulation, Set Position when it is Kinematic all in the same tick.

ornate trail
craggy mantle
#

Hey, i cant find out how i can disable controller input during landing animation ? This doesn't work i dont know why. Anyone have an idea ?

pine steeple
#

Though more info on the internet shows it doesn't support physics, and you need to have anim BP to drive skeletal mesh component individual bones via BP.

ocean cloak
#

I am having trouble with a door interaction blueprint in Unreal Engine 5 (Third Person Template). The goal is to open a door using the "E" key and a Line Trace.

white parrot
ocean cloak
#

I'm still stuck on the door interaction despite fixing the Line Trace vectors (Start/End) and confirming that the Tag, Timeline, and Mobility settings are correct.
Could someone please share a clear image of their final, working Blueprint setup for both:

prime stump
prime stump
#

Hi, i'm having an issue with my widgets.. my interactable actors have an overlap that displays a widget when entered and fades out the widget when exiting, works absolutely fine and as expected.. however if I enter the overlap so the widget gets displayed and then turn the camera enough so that the widget is now off-screen and then exit the overlap, despite it correctly calling to have the widget faded out, it doesn't actually fade out until the player turns to face the actor again so its on-screen to which it then fades out..

The widget component is being created on BeginPlay of an actor component that sits on the character, its widget space is set to screen and I've set 'Tick when Offscreen' to true but it still doesn't seem to fade out (despite the code being called) until its back on-screen again, any ideas how I can make it fade out correctly when off-screen?

steady night
#

Hi, just switched to another PC

#

but i cant build the project anymore :/ ?

#

ideas ?

surreal peak
steady night
surreal peak
steady night
#

but ill check the Vs its probably something i missed

surreal peak
#

You def have something wrong set up/downloaded on the VS Installer

steady night
#

hm https://www.youtube.com/watch?v=C0q1HoHnbYQ im watching this and i have everything correctly settup based on this ./

#

found 1 missing componnet

#

hoping thats it

steady night
lofty rapids
steady night
#

on a new PC just fetched the project from my github

#

i did before yes

lofty rapids
#

well it looks like you don't have the project properties matching the project

#

like you migrated a level or something

#

and your project settings are different

steady night
#

hm

lofty rapids
#

like you mentioned it could be the problem

steady night
#

there is only one 5.4 version right :/

#

it must be related to this ?

lofty rapids
steady night
#

aye ill try there

distant grotto
#

would it be inefficient if I used an actor component blueprint for consumeable items?

since the consumables ive got planned will have various different behaiviours e.g: healing, grenade, buff etc. Im thinking off just making an component blueprint that I can plug into the item dataasset I use, and whenever and item is used it spawns the component, runs it, then destroys it once its done

dark drum
surreal peak
#

Yop. +1

distant grotto
surreal peak
#

Yes and no. Items and buffs are different systems in theory

#

Your items should be able to grant buffs if you coded a buff system that supports that. That buff system should do ticking fwiw.

dark drum
surreal peak
#

Your Items can tick too but the tick would come from whatever manager class they are in.

#

Can't type that fast on phone -_-

distant grotto
#

wouldnt I need different logic for items that do use tick and dont then? because im thinking if I keep it in a class that does have its own ticks, I can use the same exact blueprint to use any item, everything is self contained within the item blueprint

surreal peak
#

It really really really depends.

#

You can create this stuff in a lot of ways.

#

You can have a base Item UObject that your more specific items inherit from.

#

That base can have a tick function and maybe a Boolean to control if it wants to tick.

dark drum
#

Inheritance is important when building systems.

surreal peak
#

The inventory component or manager etc, can then place the Item into one of two arrays.

#

The one for ticking objects can get looped on the components tick where it calls the fake tick on the item objects

#

But that's just one of many ways to do this.

#

It's important that you know the requirements of your system and plan a bit what you would need before deciding.

#

+- some refactors along the way of course

distant grotto
#

yeah i dont really know that yet so maybe ill just do it the most straightforward way for now and redo it once thats clearer

#

does actor component have a lot of overhead then or is there another reason to avoid it?

dark drum
surreal peak
#

You can also make it way more complicated... But it's more important that you don't use the wrong setup entirely. Components are mostly meant to organize code, make it reusable and use it on Actors to build them up in a modular way.

Now I would be lying if components can't be abused for modular items. I know of an inventory system that defines its items via a DataAsset. And that DA has an array of "Fragments". Those add modular features to the item. Each item gets spawned as an actual actor when equipped. Each Fragment spawns a component on the actor then. Gets a bit more complicated than this, but that's just another possible way of handling this

surreal peak
#

At least in terms of having to worry about it. You are using Blueprints I assume, so performance is kinda out of the window pretty quickly anyway

#

There will be more pressing performance things that you might encounter before having to worry about the slight overhead of a component I guess

distant grotto
#

yeah

#

guess ill add it t the pile of things to worry abouut when they become a problem for now then 🤣

lost hemlock
sand shore
#

It's way easier to not worry about async loading/saving in BP

lost hemlock
# dark drum This is also how I then load the data for the NPC's which is setup in an NPC man...

oh so do you think I can put my slots into 4 save game objects? Because right now somehow Unreal seems to convolute my 4 inventories into one somehow even tho I seperate them into either 4 save structs, or 1 array of 4 elements.... which is weird, in the end it always ends up turning my 100 inventory slots into 400 slots.... or sometimes I might see 500 slots, or 800 slots or more....

lost hemlock
#

which one should I stick with async or regular?

lost hemlock
errant mason
#

how would i make a simple mission system like do i have all missions setup in one blueprint and if the first mission is complete (like move this object to this location) does that set a boolean to true and it activates the second mission all in the same blueprint?

#

i need something very very simple for a small horror game like fears to fathom home alone

thin panther
errant mason
#

is there a vid i can watch for your system

sand shore
#

I'd say you probably want regular.

#

@lost hemlock The way you have it set up right now, each one of your save game objects (or maybe your game instance) has data for each of your four slots. But, you save games to different slots, based on which slot number you're trying to save, yeah? So you have 16 different "banks" of save data.

Outside of the slot name, the string, get rid of anything that has a concept of a save slot. Your game instance only deals with the currently loaded save, or it can only save a single game.

Then, if you want to support multiple slots, it's as easy as generating a string name. "PlayerSave_01" is the name for the first save. "PlayerSave_02" is the name for the second save.

#

Your widget, it should know the generated name that you WOULD give a particular slot. If there isn't a save game on that slot, then the widget knows that there's no save for that slot, and it can display the slot for that save as like "New Game"

#

When players want to save their game you can ask them what slot to use, or you can save a game to the most recently chosen save slot

thin panther
# errant mason im not really familiar with your way. what im really trying to work out is the '...

In the industry you'd almost definitely be using c++ for this and making some kind of editor using something like flow graph to do quests, which would allow things like quest steps triggering things in the world to be handled easier

As far as I know there is no video on what im describing, though plenty of videos on quest systems exist.

Generally speaking the method you would want would have some manager of quests, including the active quest, individual items having some way of notifying the quest manager that something has happened, and some way to define a quest asset or struct that defines what a quest is made up of, what it rewards, what happens at the end of the quest, etc.

errant mason
thin panther
#

As a beginner I wouldn't be concerning myself with the industry standard

#

I'd be just learning how to make things, with keeping an open mind, being open to relearning, and keeping an eye out to not fall into bad practice pitfalls where possible

#

I absolutely reccomend learning C++, but probably not if you're brand new. The language on its own? sure, get some syntax practice in if it interests you, but get familiar with the engine before you try and use a more complex language in it.

errant mason
thin panther
#

Don't concern yourself with that too much. You get better with those things with experience, it's not necessarily something you learn by seeking out, it's something you learn by overcoming day to day challenges, happening across information that challenges an idea or assumption you made, as well as figuring stuff out

#

An industry standard system is all well and good, but if you spend a year making a system perfect from the beginning, that's a year of trial and improvement, learning and figuring out you've missed

#

Get it working to your requirements. You'll soon figure out if it's not optimal if you're not hitting performance targets, or it's taking 3 months to write a new quest, or you have to stick it in a single monolith blueprint.

Corners are cut all the time in games, the only time to worry is if cutting that corner impacts the outcome too much.

#

If something more scalable appeals to you, start dissecting how other people made their systems. Not necessarily going to be the industry standard, or possibly even good, but seeing different approaches to a problem might help you spot improvements or different ways of thinking.

It's also going to heavily depend on your requirements. A quest system for something like daily objectives where it's "kill X amount of Y" "Pick up X amount of Y" is a lot more simple, algorithmic and easy to automate than something than say, GTA's contact missions, which while they are still quests, require a lot of thorough making and planning, as dialogue needs to be triggered in specific places, people need to spawn, events need to happen at certain times, etc.

midnight field
#

I'm trying to do root motion animation with Mover 2.0, using the Make Layered Move Anim Root Motion node, but it only works for one tick. Am I supposed to queue a layered move every frame or something?

lost hemlock
lost hemlock
#

Im now creating 4 game saves objects instead of 4 slots... What do you think about it?

I tried to test it but on the save it says that my Cast to BP_SGO_children isn't working...

#

Or I could also do it like this

#

if it's not valid then from here I can say... if not valid... then create that SGO

thin panther
#

I am tardy to the party so to speak, but by keeping the slot name the same your save slots overwrite each other now

sand shore
#

You should have a single SaveGame object type

#

literally the only thing that changes is the slot name you specify

lost hemlock
#

but the reason why Im changing that is because I had this problem

sand shore
sand shore
#

I suspect between moving to a simpler setup for multiple save slots, and thinking hard about the logic you use to load any specific slot, that you can fix your bug.

sand shore
#

ah nice

lost hemlock
#

So this is how im doing it right now...

#

I also made a function like that here...

#

This will be inside of the BP_SGOs....

#

Ive added these variables & functions inside of my SGOs

lunar sleet
#

What are you showing here, invalid refs?

crimson briar
#

I didn't follow the entire discussion but this loading logic seems completely wrong to me. You can't use the same name for different slots, unless you put them in subfolders.
SlotName at the end of the day is the name of the physical file on disc

sand shore
#

Another thing is that you don’t need each savegame slot to be its own class, assuming these are equivalent save slots.

Like zelda or pokemon game saves, or multiple autosaves, or that kind of ā€œtop level saveā€ could be implemented with a single savegame class, regardless of how many slots there are.

#

Now you absolutely CAN use multiple savegame classes, for example a ā€œplayer progressionā€ save game class (which is used to store unlocks, current map, current stats) and a ā€œgame settingsā€ save game class (which is used to store settings)

#

But if you’re implementing multiple savegame slots for a single purpose, like having 4 different slots for ā€œplayer progressionā€ saved games, you don’t need 4 individual savegame classes

#

It just makes it more complicated

sand shore
sand shore
#

Because each game saved to the slot will silently replace the last, regardless of the type

#

I would consider making a whole new project (so you can come back to this one later) and following that Ryan Lalely tutorial playlist I linked earlier.

crimson briar
# lost hemlock So this is how im doing it right now...

This is how an example save/load with slots could look like. Ofc it is not fnished, just a quick "sketch". You only need to change the input index which in turn changes the name of the slot and loads a different file from the disc.
Also when testing SaveGame systems remember to clear files from the save folder when debugging, because older version of files can cause you problems and they persist on the disc until you yourself delete them or overwrite them.
Save files in editor time are in ProjectName/Saved/Save or smth like that

lost hemlock
#

so now im creating slots like this...

#

idk why the 4th one didn't generate but anyways..., it still have problems & still doesn't work for some reason.. This is my load with the different named based on index

#

and im doing this here too on the save..defaultslot0, defaultslot1, defaultslot2, and defaultslot3

surreal peak
surreal peak
#

Cause the Switch is starting at 0, and the variable name (you should really use the description field and not the variable name for stuff like that) talks about 1 to 4.

#

You are doing a bit of double work here by splitting things into 4 everywhere. Can the user load multiple savegames at once?

lost hemlock
#

I've also made a function to bring me the variables that I need.... it's probably the most over-engineered function I made thus far, but I couldn't have done it any other way because all the other ways I tried wouldn't give me the structure data of the object that I needed from the 4 save game objects....

surreal peak
#

And are the 4 SaveGames actually different in terms of what they can save?

#

Like, your whole setup splits almost everything into 4 paths that you need to handle, but there is really no need for this.

lost hemlock
#

these are the save game objects

#

so this is the function that I made to bring me those variables...

surreal peak
#

Yeah okay, but are those 4 child objects actually different to the parent?

lost hemlock
#

but the data im getting is empty

surreal peak
#

@lost hemlock Please answer questions you are asked instead of posting so many images.

lost hemlock
#

hold on, im still reading, 2 minutes

surreal peak
#

You really don't need to split this all into 4 everywhere. You aren't "over engineering" things, you are mainly duplicating (or quadruplicating?) your code for no reaosn.

lost hemlock
lost hemlock
#

all are different types of variables... and I'd love to put them inside of a select... but that didn't work

#

actually it did work

#

but it didn't return me their variables when I did... "get structure" out of that object....

#

because the object was too generic, and it didn't GET any variable

surreal peak
crimson briar
surreal peak
#

This is all you need.

#

If the child save game classes aren't different, then there is no need to have them in the first place.

#

They are classes, not instances.

lost hemlock
surreal peak
#

This loads all 4 save games and puts them into an array. Obviously not super useful, cause who would want that, but they all use the same BP_SaveGame class as a base, so why would you need 4 child classes?

#

All of your code where you split the exec path into 4 is totally redundant.

lost hemlock
#

I thought I'd do that instead of creating 4 parent save games...

#

I always thought that it is a good idea for size optimization to use instances instead of creating too many parent classes unecessarily

dark drum
lost hemlock
crimson briar
#

A Blueprint/class is like a well.. blueprint. You only need one and can create infinite numbers of instances of it. The custom data itself is not stored in the blueprint, but in the specific instance.

lost hemlock
lost hemlock
crimson briar
graceful mauve
#

Hi how to deal with the problem that blueprint function library doesn't show up in blueprint whose parent class is object? Any other way to create a true global static function?

crimson briar
graceful mauve
#

Haven't thought of creating a compatible base class. I know why it can't but just don't know how to work around

graceful mauve
#

Can you do it without modifying the parent class

crimson briar
#

I think you can sort of do a hack around it by having a reference to an actor in the Object, and using the Library functions through it... but I never tried

graceful mauve
#

The discussion is pretty recent

dark drum
graceful mauve
#

Don't remember dragging from an actor reference will show the function or not maybe not

full badge
graceful mauve
#

Really?

full badge
#

yeah