#ue4-general

1 messages ยท Page 157 of 1

distant river
#

Hey guys, anyone like the Breath of the Wild chemistry system?

#

It seems it's a state machine with two main things: elements (fire, water, etc.) and materials (wood, stone, etc.)

  1. Elements can change the state of materials
  2. Elements can change the state of other elements
  3. Materials can't change the state of materials

I was wondering how to approach making it. Use an interface or something?

wary wave
#

components, perhaps

bright wave
#

hi, my pugb is crashing sometimes and i want to analyze the crash-dmp files

#

someone knows how i can open/analyse them?

cloud cobalt
#

@bright wave Visual Studio + source code for the game + engine used to build the game + build artifacts for that release

#

Long story short, you can't do shit as a regular user

#

You should definitely send the crash report to the dev team though

bright wave
#

ok^^

#

i am installing windows software develepment kit

#

but if i need game engine and soruce, then i let it be ๐Ÿ˜ƒ

cloud cobalt
#

And the build artifacts

#

Specifically the .pdb file tied to the binary

#

Basically you need to be one of the developpers

bright wave
#

i can open the .dmp with the windows develepment kit

#

with the windbg

#

but it only shows little text

#

but it seems that the crashs come from Ntdll.dll

cloud cobalt
#

To debug a .dmp, you need to open it with Visual Studio, and provide the .pdb to map it to source code - you have neither the pdb or source code

bright wave
#

kk

#

what is a .pdb?

cloud cobalt
#

program database

#

Basically a map of which symbols reside at which address in memory

#

So that if you have a segfault at 0x14689425, you know this is actually AMyPlayerClass::DoStuff, line 55

bright wave
#

(1b94.1758): Access violation - code c0000005 (first/second chance not available)
ntdll!NtGetContextThread+0x14:
00007ff9`4958dcf4 c3 ret

#

does that help anything?

cloud cobalt
#

No

#

The only helpful thing would be to send the .dmp file to the developer team

#

They just have to double click the file and they'll get all the information they need to fix the bug

#

You can't do that on your computer, by design

bright wave
#

ok thx ๐Ÿ˜ƒ

cloud cobalt
#

As a developer, just send the file, really. I wish every user would do that

bright wave
#

ok i will send it

#

๐Ÿ˜ƒ

#

my problem is, i have an overclocked 8700K

cloud cobalt
#

UE4 has built-in support to send it automatically, but only to Epic Games, which also can't use it because it's the game developer that has the info

bright wave
#

and i want to know if its unstable system or game bug

cloud cobalt
#

Run a stress test on your CPU

bright wave
#

i did

#

it seems to be stable

cloud cobalt
#

Then it's not your system

bright wave
#

y i think its bug

cloud cobalt
#

It's not like that game is known for being stable

bright wave
#

๐Ÿ˜ƒ

plush yew
#

How do I make far away objects still cast shadows? I really need help

wary wave
#

shadows should be cast based on screen space, not distance

#

it's a config setting somewhere

#

TIL: Blueprint comment boxes handle colour differently for the box and the title

#

the main comment box is clamped to 1 for all components, but the top title box isn't

#

how bizarre

#

use the custom stencil and post process

#

how much mileage you'll get out of that, I'm not sure, but it's a good starting point

#

to do per-pixel you'd probably need an entire custom buffer

frank escarp
#

stencil can actually be any bit

wary wave
#

but yeah, to my knowledge, without making changes to the buffers, you won't get a per-pixel buffer that you can input stuff to

frank escarp
#

yup, pretty much that

#

you create an scencil for "hot, medium, and cool" objects

#

and thats about it, really

#

sadly you cant encode much more of that

#

as you have very limited bits, and might need them for other stuff

#

but given how most games are, that could be enough

wary wave
#

you could probably combine depth with a bit to get a decent gradient

#

tbh, I think that would work quite well

thorn topaz
#

Anyone have experience saving a Level at runtime?

wide sorrel
#

hello guys, where should I ask questions about Steam App ID integration? I'm not sure where that belongs?

safe rose
#

@thorn topaz ?

#

just save what you want

#

Or just buy one of the many save systems on the MP

#

that make it pretty easy to do

wary wave
#

the BP save object nodes work pretty well for naive saving / loading or custom systems

thorn topaz
#

That's not what I'm talking about, sorry

safe rose
#

then explain

thorn topaz
#

Say you delete a bunch of actors from the level at runtime. I want to save that so the actors no longer exist in the level when play stops

cloud cobalt
#

That's not going to be possible like that

#

All content from the game is read-only (and generally all data is, especially on consoles but on Windows too)

#

For that to be possible, you need to create a new object type for "removeable" objects, and then store in a save file which objects have been removed

#

That has plenty of implications, like on the lighting (needs to be dynamic)

#

You need to have a concept of spawning/removing objects in a level and storing the information in a save, rather than "saving a level".

thorn topaz
#

Lighting is a perfect example of why that's not possible. Plus, it is only going to be done once in the lifetime of the level

cloud cobalt
#

Then you need to make the removeable objects dynamic, save a list of object names that have to be deleted, store that information in your game save, and re-delete the objects on loading the save - and ensure the lighting works when the object is removed

#

What's certain is, you can't save a level at runtime. UE4 doesn't let you do it, and if it did, you'd get a Windows UAC warning, and you just couldn't do it on most other platorms.

rocky portal
#

why would you even do that ๐Ÿ˜ฎ

#

unless you're making a game about game developing

#

where you make levels while you're playing

#

but you still wouldn't do that

thorn topaz
#

by runtime, it's in editor runtime not once it's packaged and shipped

rocky portal
#

it's probably not all that different...

cloud cobalt
#

Uh, so it's not at runtime ?

#

It's an editor tool ?

thorn topaz
#

I mean theoretically, it's still while the game is running

cloud cobalt
#

So it's an editor tool ?

thorn topaz
#

yes

cloud cobalt
#

Then yeah, you can probably do whatever you want on that front. You'll need to write an editor plugin and plug into the editor tools

#

That's fairly not documented though

thorn topaz
#

Is anything? ๐Ÿ˜„

cloud cobalt
#

The editor has exactly zero doc, so it's even less than the rest

rocky portal
#

why is it necessary for you to make some changes during runtime

#

and save those to your level?

#

just to remove actors

thorn topaz
#

It's swapping static mesh actors to HISM

rocky portal
#

what are those for?

cloud cobalt
#

You should look at the individual actions you want to do - convert an actor, save, etc by looking up the source code for the Slate widgets, and then try putting it all together

thorn topaz
#

Why slate widgets?

#

@rocky portal What are HISM's for?

rocky portal
#

yeah i dont use them

#

yet

#

cant you just change the Actors in their blueprint?

#

to use HISM instead of StaticMesh

thorn topaz
#

They're not Actors, they're StaticMeshActors

rocky portal
#

ok

thorn topaz
#

HISM are ISM with per instance LOD

#

and some other optimizations I believe

rocky portal
#

so you dragged StaticMesh into the level and editor creates a StaticMeshActor to represent that

#

so why don't you just make Actors that already have an HISM instead of a StaticMesh

#

and use those

thorn topaz
#

Because there's already several thousand static mesh actors in the scene

rocky portal
#

oh so you already designed loads of stuff

#

with the wrong approach

#

and are looking for a fast way to fix it

thorn topaz
#

exactly

rocky portal
#

yikes

thorn topaz
#

then I can tell the artists how to do it the correct way

rocky portal
#

Does UE4 have any quick way of swapping them? I can't recall

thorn topaz
#

Not that I know of, that's why I was trying this

#

I have the swapping programmed and it works, I just need a way to save it and it's done

rocky portal
#

that's a tough one because editor probably sees each one of them as their own individual thing

#

unrelated to eachother

thorn topaz
#

yea

rocky portal
#

so you cant just change a blueprint

#

andif u turn one into a blueprint..it will only be that one

thorn topaz
#

There is no blueprint

rocky portal
#

yeah

thorn topaz
#

right

rocky portal
#

but there should be i would think

#

To give the artists some pieces to work with or whatever

#

either way I don't envy you bc that sounds like a tedious pain in the ass to fix

thorn topaz
#

Yea, I'll probably end up having to do it manually

#

Saving the spawned in ones is easy, then just have to manually delete the old ones

rocky portal
#

How do you get into the game dev industry when you have no professional experience in game dev

#

I have a B.S. in Computer Science and my career is a Business Analyst atm

#

so it's not really related

thorn topaz
#

Find a project to work on/ create your own

rocky portal
#

I've only done hobby work coding mechanics for fun, but never shipped anything

#

I think it's mechanically pretty good, but it's quite ugly since I'm not great in the art department

#

still very early

grim ore
#

do what you are doing there, then do another part, then another. repeat until you have a game. repeat that until you have another game. congrats you are in the game dev industry.

thorn topaz
#

^^^

surreal viper
#

any idea if there is a way to make the TArray element copy deep copy?

#

only the UObject pointers are copied which is exactly what I don't want

#

I mean in editor, right click on element index, copy

#

also is it safe to copy uobject pointers like that?

opal ocean
#

no delays in for loops? (BP)

#

nope. oh well.

tawdry quail
#

do I need a mac to package for iOS?

grim ore
#

you need access to a macOS machine yes. You can build from a windows machine but it wants to talk to a macOS system to compile

tawdry quail
#

thanks

safe rose
#

@opal ocean create one

plush yew
#

How do I make a single material spread out over an entire landscape instead of it looping?

wary wave
#

it's called tiling

#

and you usually don't

plush yew
#

Oh, but I need a texture/material to spread an entire landscape

wary wave
#

what for?

#

I mean, it is possible, but you'd need to know your scales / resolutions and do the math manually

plush yew
#

I'm making a Moon landscape

wary wave
#

that's not really answering the question?

plush yew
#

Oh, for fun

wary wave
#

well, I need to know what the texture / material is for before I can answer that question

plush yew
#

thats a gigantic mag, wrong scaling hehe

rocky portal
#

lol..

plush yew
#

For what? It's a normal Moon texture

#

For whatever you do with Moon textures

#

I think I'm misunderstanding something

#

that was a scaled socket for whatever reason

rocky portal
#

for weapon swapping...how do you handle the time delay that should exist for actions like Deploy, UnDeploy, Reload

#

in the code if this stuff happens instantly...then it won't line up with the animations

#

and you would be able to do things like Shoot the gun prematurely while it should be Deploying

#

do you code in Delays and make sure they match the animation duration?

plush yew
#

my UE 4.18 download is stuck at verifying for 2 days now

#

what up with that

grim ore
#

sounds like it broke ๐Ÿ˜ฆ

plush yew
#

oh no i can't afford to download again D:

rocky portal
#

When do you use AnimBP StateMachine and when should you call Animation Montages?

plush yew
faint cedar
#

Does anyone know if it's possible to exclude objects that have custom depth rendering turned on from a camera?

#

from a post process material that is

#

I suppose not since PP is screen-space..

novel schooner
#

Guys how do you iterate on Source text after it was localized?
When I change Source text, regenerate key and compile to test in Standalone mode Localized text does not show up. Yes, I switched language to target one.
Game just continues to use Source text which is weird. Really weird

sage stag
#

anyone know how I can deal with characters dying in mid-air? A death animation plays currently and they're set as "has died" in a bool, and it spawns a new character with that value set, takes velocity of previous character during the jump and puts that into the launch velocity of a new character that has spawned. for some reason though he just freezes in the air in the death animation ๐Ÿ˜ฆ anybody have any ideas?

misty perch
#

Help

long garnet
#

@plush yew are u making unturned 2? ๐Ÿ˜„

plush yew
#

No

#

Nelson remaking unturned in ue4

safe rose
#

Where is nelson at?

#

Is he on here yet?

plush yew
#

Idk

#

But he has rocks and cool af guns

#

I will link the devlog

safe rose
#

He'll make a killing in his conversion

#

over to UE4

cinder iron
#

you really want to put a lifespan on those mags

plush yew
#

There are 3 devlogs and 2 or 3 videos in each

safe rose
#

aye

#

I wonder if he's doing this from scratch or not

#

Using existing frameworks from marketplace

#

That's a lot of stuff to learn in a short time

#

But maybe he's a super genius

plush yew
#

The grass is just token from somewhere

#

On devlog 3

safe rose
#

hm

#

Talking mainly gameplay

#

I read what he's trying to do

#

Local co-op is definitely a lot easier than MP

#

But he's doing Dedicated also

#

which is strange

plush yew
#

The freelook tho

safe rose
#

Well, looks like co-op mp

#

also

plush yew
#

I hope new physics for cars

safe rose
#

I'm just wondering if he learned everything on his own

#

Or if he got tutored

#

Or using frameworks

#

I know I couldn't do an MP game (as a new UE4 dev) solo in 6 months from scratch. But I had a million other things going on.

plush yew
#

The car physics now are like they are wooden toy cars

safe rose
#

I suppose if he was able to fully devote to it, he could do it

mint scroll
#

quick question I just upgraded to 4.18 and for the life of me I can't get custom collision meshs from blender to import
anyone else having the same problem?

sage stag
#

@mint scroll i have never used custom collision meshes but found that using convex hull for generating mesh for physics was helpful.

mint scroll
#

Sorry quick update I sorted it

sage stag
#

nice!

#

anyone might know why a ragdoll character goes flying when another character walks into him?

mint scroll
#

It turns out you have to click on simple collsion to see your custom mesh

sage stag
#

^ahhhh

mint scroll
#

Make sure the collision of the ragdoll mesh is set to ignore Pawn collision.

#

oh hold on would that work?

#

Try it and come back to me

sage stag
#

i don't mind them colliding, it's just that they are very over-reactive and instead of being slightly nudged they go flying off. i may do that though just to ignore the whole affair, and i will look into that

#

pawn is not set, i think i changed around the collider type of the mesh. Whole thing is though they just go flying. It's lunacy, I may look into trying to do physics per bone/limb, but if anyone knows how I might be able to fix that let me know.

lunar blaze
#

Hello everyone, I'm new on Discord.

safe rose
#

hmm

#

Soooo, just because I'm a devil's advocate (pun?), I would like to suggest you change your avatar image

#

@lunar blaze

lunar blaze
#

damn, sorry it was from last channel.

#

changing

safe rose
#

It's funny because Time Devil has been typing this whole time as well

lunar blaze
#

done, sorry for this fkap

safe rose
#

rofl

#

that's a nice one

raven cedar
#

My lord and savior, purple bear! Glory be!

languid panther
#

I just started a new empty C++ project, but I got a compile error https://pastebin.com/fr9J5KHG Anyone knows how to fix that? I've been googling, but I have the windows sdk installed. I do not have a bin folder in the Windows Kits->8.1 though. I just reinstalled the windows sdk, but it still isn't there. Creating a new C++ project worked fine a few weeks ago, but now I just get errors like that.

novel prairie
#

Hey everyone! I'm new to unreal and started a tumblr and something I'm working on. Feel free to check it out! At the end, I ask if anyone else is interested in joining me on something like that. https://www.tumblr.com/blog/rynbernsz . I'm a computer science major that mostly focused on programming but am new unreal and learning blueprints and how unreal works. Anyway, just glad to see an awesome discord like this one!

plush yew
#

I put some asset from market place to my project. Now when I loaded my project it started a demo map. Took all assets away that I just bought from market place. Now my project starts blank. What to do?

#

tried setting game mode to my origina game mode and load my map but nothing happens.

grim ore
#

how did you put the assets into your project?

plush yew
#

import from unreal launcher

#

sure last time i ever do that

#

never cant start project because some stupid shit happens like this

#

i guess i really have to back up every minute

#

@plush yew Did you move any files in windows explorer and not in the engine?

#

unreal launcher put all the bought stuff to project

#

loaded project and started in some stupid demo mode

#

deleted everything in demomode inside engine

#

everything i mean the assets i just bought

#

and then started again the project and everything doesnt load

#

but all my projectfiles are intact

#

What did you buy and are importing?

#

What's this demo mode? Can you provide a screenshot of the demo mode and a shot of what's wrong?

#

demo mode just shows some stupid map how the blueprint works

#

some random map

#

dont want to tell what i bought

#

I can start from beginning

raven cedar
#

Well that's not very cool for the community because we could at least tell the author of the product to fix it so it doesn't screw somebody else up in the future

#

Just some food for thought

plush yew
#

Agree^

worn granite
#

Also unless you can tell us exactly what's wrong without naming the pack, just save us all some time and name the pack

#

Cause like, if I don't help you the person who does will need to know what you're dealing with

plush yew
#

I told you exactly whats wrong

worn granite
#

Yeah you've told me the symptoms but that doesn't help me suggest anything

plush yew
#

It creates .project file along your project in the project folder

languid panther
#

@languid panther Nevermind fixed the compile error

plush yew
#

So from what I understand, it loads into "some stupid demo mode." that shows how the blueprint works.
I guess he deletes everything inside that level, then "everything doesn't load"?

#

I don't know exactly what he's deleting and what "everything" that isn't loading is

#

to quote what i just wrote

#

" deleted everything in demomode inside engine
everything i mean the assets i just bought"

#

and again "deleted everything in demomode inside engine
everything i mean the assets i just bought"

#

Maybe i put it just in case fourth time and maybe you will get it?

#

Your english is far too broken for me to understand, no matter how many times you repeat it.

#

yeah sorry that u are so fool

#

You're also not explaining exactly what's wrong. Everything is very general.

#

:DDDDD

#

:DDDDDDD

#

Hate being that guy, but this attitude really isn't accepted in this community.

#

Not many people will want to help out

safe rose
#

Fool not cool

#

you tool

#

Don't forget to toggle that bool

#

Get that sheep's wool

plush yew
#

To make everything COHERENT for you. I bought one blueprint from the market place. I injected that blueprint from the marketplace. I opened my project and to my astonishment I was in a weird level, that showed the blueprint. So, being scared of losing my progress in the project, I decided to get rid of the newbought afore mentioned blueprint from the market place inside the unreal engine. Then I quit the project and came back. I start from darkness and the level is default. Basically nothing was loaded but all my content was there as it was normally in that project before the acquisition of my blueprint.

#

You're in a blank level. Just open whatever one you're working in from the content browser

#

You can also set a default level to launch into in the project settings under maps

#

ORLY I AM IN BLANK LEVEL?

#

yes and I did that

#

to quote my self earlier "tried setting game mode to my origina game mode and load my map but nothing happens."

#

nothing happened

#

it wouldnt even load it

#

Load it in engine or in game?

#

.........

#

did it

#

nothing happens ffs

#

I mean im wasting more time telling 3 times what i've already told

#

i can just start over

#

no biggie

safe rose
#

@plush yew Just stop...lol

plush yew
#

No need. I doubt you're gonna get more help

#

i tried to stop

#

but then baah baah the community sob sob

#

When there's a language barrier, a screenshot goes a long way, my man.

#

what you want

#

a screen shot from default blank level?

#

wow

#

that'll help ya

#

Yes it will

safe rose
#

Hmm, it's not just a language barrier. We have devs on here with worse Engligh and can state their issues better (more respectfully)

plush yew
#

Trying to be PC ๐Ÿ˜‚

#

xDDD

#

I put every piece of data of my problem neutrally as I could

plush yew
#

But I guess if you can get butthurt from that It is no wonder that this world is suffering from professional victimizing

#

yeah that was not data

#

of my problem

#

so stop the bullshit

#

fucking idiot

lunar blaze
#

damn this shit storm, for nothing ;D

#

welcome sweet internet

plush yew
#

just basic not even a shitstorm

#

Do you have a waiting list of people wanting to be your friend? And how do I get on this list
alex

gleaming karma
#

Animation Retargeting (Different Skeletons) is a feature that allows animations to be reused between characters that do not share the same Skeleton asset, unlike Animation Retargeting which involves retargeting animations between characters that share the same Skeleton asset. Is it me or is that line not making sense?

glossy flame
#

The wording's a little clunky to be honest, but the most important part is the "(Different Skeletons)"

#

That's what differentiates it as a different feature

#

I see where the confusion comes from though, as they both share the same base, where in one of them the base name is the whole name, haha

plush yew
#

It honestly should be compiled into one tool, imo.

#

Auto-detect if they're the same skeletan

gleaming karma
#

@glossy flame the part that comes off weird is : unlike Animation Retargeting

#

the line before that says Animation retargeting allows animations to be reused between characters

glossy flame
#

Well, the active part in that comparison is whether or not the tools can be used on characters which share the same skeleton

#

The line refers to "Animation Retargeting (Different Skeletons)" and "Animation Retargeting" as completely different tools, which like I said, I can see the confusion in

gleaming karma
#

ah

#

didnt know they were different tools

glossy flame
#

Well, I don't believe they are completely separateโ€”that's just how the line refers to them ยฏ_(ใƒ„)_/ยฏ

#

I'm just trying to explain it haha, like I said, it is kinda clunky

gleaming karma
#

They should call it something like Animation Meta-Retargeting or something then

#

but it's cool thanks

raven cedar
#

Well that's certainly got ugly

ornate hamlet
#

that forums post is from 2015 so just wondering if anything has changed in almost 3 years

flint rose
tawdry quail
#

sup guys do you know if I need to pay for a dev account even to fool around with my ipad and Unreal?

#

I'd just like to be able to test my levels and stuff, having it connected or whatever is needed

#

using the official unreal wiki guide apple redirects me to the payment page for enrolling as apple developer

cedar grove
#

Do you need to be on paid account to do that? There is a free version when you just sign up with Apple ID afair

tawdry quail
#

yeah, I am looking for a guide for that, relatively new to mobile development altogether, 100% new to ios development

#

I setup xcode, got my apple id, logged in, created a certificate, now I gotta figure out how to make a provision

faint cedar
#

Guys, just to double check - are crash reports in released builds saved in the same Saved/Crashes folder?

#

Or is there a different place?

tawdry quail
#

could be in saved-logs

left pelican
#

Guys im putting together a team to create a Video Game. With Unreal Engine 4. Anyone wanna join me?

bitter iris
#

Are there any tutorials on tree cutting then adding resources from the tree to inventory?

brisk osprey
#

Any1 noticed in 4.18.2, terrain is a bit laggy ? Imported the same height map i used in 4.17 and its giving me some sick fps drops

plush yew
#

hey I need to export a pipe model from blender to unreal. I need the collision data to be really precise? How would you do it?

ashen brook
#

this should be fun

hoary brook
#

@plush yew Is there a problem?

plush yew
#

no

#

got it

frigid nexus
#

Hi,

#

question: How to set completely white World/Environment color?

simple flare
#

Hey peeps

cloud cobalt
#

@frigid nexus Use an "unlit" material with solid white and use it on a skysphere ?

frigid nexus
#

@cloud cobalt yup? i want the whole background become white background, do not showing the sky and cloud

cloud cobalt
#

Then do what I suggested

quasi lake
#

Anyone knows why this fire would look way more reder than it should be in my scene?

#

I tried to close all my light sources it doesnt change

#

OK I got it

#

It's because of the postprocessvolume

vale osprey
#

@full comet

  1. If you have no knowledge of UE4, how you can judge if one or another course fits you or not?
quasi lake
#

How to prevent my particle from effecting by the postprocessvolumn?

simple flare
#

@vale osprey Its not that I have totally no knowledge of UE4

#

I worked with it before back in ARK survival evolved days to make mods

#

I've been stuck at visual scripting learning back then, but I thought that visual scripting was all I needed to make everything in my game

#

So I didn't see why I had to learn c++

vale osprey
#

there is a tons of books and course on c++, can start with that

#

but UE4 c++ is not the same

wary wave
#

carrying on from the other channel - it doesn't really work like that. You can make a small game first, but you should be aware that very code will port over to a multiplayer game, most of the gameplay code would need to be rewritten from scratch with networking in mind

vale osprey
#

UE4 c++ it's much easier in some way and depends heavily on how much you know about framework

simple flare
#

So long story short is that UE4 C++ is much easier than visual scripting?

cursive dirge
#

no, nothing like that

#

BP's are really simple in comparison

#

whole point of visual scripting is that it is simple

#

so that people who are not programmers can use it

simple flare
#

Also, @wary wave How come? I mean I would just need to transfer the data and rewrite some stuff from scratch, not MOST, isn't that it? I think it depends on your game doesnt it?

#

And thats why I dont get why I need C++ @cursive dirge

vale osprey
#

not doing a simple game as your first game is maybe the most common mistake

wary wave
#

code has to be structured differently

#

multiplayer considerations dramatically changes the structure of gameplay code

cursive dirge
#

logic itself is pretty similar tho, some code flow things do differently but logic stays the same

simple flare
#

I see

cursive dirge
#

if you start with UE4, start with blueprints

wary wave
#

having had to retrofit a singleplayer game in the past, you'd be surprised at how much has to change, hehe

cursive dirge
#

in other words, learn how to use the engine first, blueprints kinda handhold you there

#

with c++ you kinda jump in the other end of pool

#

without knowing how to swim

wary wave
#

but yeah, start small

simple flare
#

Still, it shouldn't be way too hard to change an SP into an MP game other than the servers and money needed yeah? @wary wave

vale osprey
#

ffs

wary wave
#

no, it's a huge amount of work

vale osprey
#

๐Ÿ˜„

cursive dirge
#

๐Ÿ˜„

#

I'm pretty sure this is on troll mode now

simple flare
#

o.O

cursive dirge
#

but no, don't make your first game with UE4 a multiplayer

#

learn the engine first

#

make simpler projects

wary wave
#

first game would be something like a very small arcade game

#

next game something slightly bigger

simple flare
#

Forget about MP now ok? lmao

cursive dirge
#

yes

wary wave
#

once you've done that, maybe try a very small multiplayer arcade game

simple flare
#

I plan on that @wary wave

#

But

vale osprey
#

how much time do you think it will take you to make a single player bomberman game?

simple flare
#

Where to get started?

wary wave
#

only once you're past those hurdles, start thinking about making something on more of a scale

cursive dirge
#

let me guess, that MP is also a RPG MMO?

#

I mean, why wouldn't it be

simple flare
#

Hmm?

#

Well when I asked where to start I was told udemey's UE4 C++ course...

#

But that thing is... 195$ like seriously

cursive dirge
#

it's $10

#

it's always on sale

#

for 10-20

simple flare
#

Oh ._.

frank escarp
#

ts a fake price

#

the real price is 10-20

simple flare
#

But do I really need that course?

frank escarp
#

its a good course

wary wave
#

I dislike Udemy because their sales strategy is illegal and they use twitter bots / fake accounts to promote their shit

frank escarp
#

but udemy is like the shadiest thing you can imagine

#

they are LITERALLY ILLEGAL with those sales

simple flare
#

I mean I'm going into BPs and visual scripting so.. C++?

cursive dirge
frank escarp
#

and yeah, twitter bots as ambershee says

simple flare
#

o.o

frank escarp
#

btw, that course was kickstarted

#

for 200.000 dollars

quasi lake
#

Anyone knows how to prevent a material from effecting by the postprocessvolumn?

vale osprey
#

if you are starting out you need literally everything

cursive dirge
#

shows 15โ‚ฌ here, only 2 DAYS LEFT

quasi lake
#

It's already unlit

cursive dirge
#

but yeah, it's always on sale

simple flare
#

Ehhhhh

cloud cobalt
#

The UE4 multiplayer course on Udemy is pretty decent, for what it's worth.

simple flare
#

I need literally everything huh

frank escarp
#

the sale ends

#

and then the next day they appear again on sale

cursive dirge
#

pretty much yeah

#

I don't believe I've seen that course to not be on sale so far

simple flare
#

Ok so say I finished that course, whats the next step?

wary wave
#

worry about that after you've completed the course, but the next step would be to apply said knowledge to the smallest viable project you can imagine

#

@vale osprey 's example of a bomberman clone is probably a good example

vale osprey
#

@simple flare forget about anything larger than a small game for next few years. It takes huge amount of time to make even simplest game

simple flare
#

Fair enough, I guess.

wary wave
#

I'm a very experienced developer, and I'd estimate putting 3-4 months into a basic bomberman clone

cloud cobalt
#

@simple flare About MMOs, one thing you should plan for is having 2-3 players at all times playing your game, if you're successful. This is basically the level of sales you're probably going to see.

frank escarp
#

thats why you dont make an mmo

#

look at once thing i saw. The xenoblade chronicles saga is almost "kind of" like an mmo in a few aspects

#

tab target combat for example

#

but you just run around with AI companions

simple flare
#

Meh as mentioned again I'm forgetting about MMOs and MPs for quite a while.

frank escarp
#

one tank, other supports, maybe you attack

#

that kind of thing

simple flare
#

Guess I'm gonna go ahead and buy the udemey course...

frank escarp
#

doing something like that is a good first step

#

becouse if people like that

#

then you can do a "2" version, where those companions can actually be real players

simple flare
#

Btw peeps, I found this online

#

Anyone have any thoughts about it?

cloud cobalt
#

@simple flare The best thing you can do is spend 3 months doing a very simple game. Like, Tetris level.

#

You're alreayd talking about spending years in dev - 3 months is nothing.

simple flare
#

Ikr

plush yew
#

I wouldn't pay for a course unless it was like $5-10

#

You can do and learn a lot from the free resources currently available

vale osprey
#

in case of UE4 - yes

simple flare
#

I see..

#

Well, guess me spending over 10 years in UE4, starts now.

cloud cobalt
#

Also, since you asked this @simple flare, I'll answer seriously - you can't make a single-player game multiplayer.

#

It's basically a full rewriting of the entire game.

#

(Unless it was really well planned first and you were already well versed into MP games, but that's not the case)

simple flare
#

Ehhh

#

I mean, would even the level design (maps and stuff) be differently coded?

#

o.o

cloud cobalt
#

Yes

simple flare
#

Wow RIP

cloud cobalt
#

Level design is vastly different in MP and SP

simple flare
#

I see

cloud cobalt
#

Look at games that have both SP & MP components - not the same levels.

exotic lion
molten tusk
#

@simple flare I started my first game as a multiplayer fps and that was 3 years ago. I hugely regret not doing something smaller and single player in scope. My multiplayer game has grown beyond what i intended for it and working so long on my first 3D game has been hard. I haven't seen an fruits for my labor execpt seeing friends having fun playing it.

Its only after 3 years of being a persistant idiot the full shape of it is truly visible for my friends and family. It's alot more too learn and alot more time it takes then I foresaw and proberly everyone starting out think it is.

I would NOT recommend it for your first game.

exotic lion
#

That will help you understand the ins and outs of MP.

cloud cobalt
#

Also, only a small subset of single-player game elements can work in multiplayer. MP generally requires balance, some level of symmetry, it has to make sure players won't be abused, etc.

#

It's literally a different ballpark entirely, and MP is generally considered to be 2x / 5x more difficult, costly, time-consuming

#

I also started gamedev with a MP game. Also don't recommend.

exotic lion
rocky iron
#

What channel would I use for building problems?

#

or packaging problems

cloud cobalt
#

This one is fine

rocky iron
#

So, got a bit of a problem

#

Our builds were going just fine

#

But all of the sudden, our build isnt building anymore, and even when I roll back to previous builds, it still doesnt work

#

And as an error its just giving a "Failed to produce .exe"

cloud cobalt
#

Put the full log on pastebin

rocky iron
#

Gimme a sec, its too big for pastebin :p

#

Cut some off the top off

cloud cobalt
#

Sounds like your Windows SDK has issues

#

C:\Program Files (x86)\Windows Kits\10\include\10.0.14393.0\ucrt\corecrt_terminate.h(33): error C2872: 'terminate_handler': ambiguous symbol

rocky iron
#

Well, we've been trying to build it on several PCs

cloud cobalt
#

From this bug report, this is a circular dependency issue in your code

#

These are A) random, B) hard to detect

rocky iron
#

Ye, saw that thread, but it built before, so thats whats confusing

#

Like, we've built on a previous commit, and when we roll back to that now, it doesnt work anymore

cloud cobalt
#

UE4 glues together source files

#

aka unity build

#

That process is, to the best of my understanding, pretty random and unpredictable

#

We were plagued for months by random build errors, where errors were always exactly the same - an include was missing (for real).

#

It was just working by accident because unity build had the source file merged with another that did had that include

#

One day it decided to merge differently because of a minute change in some data, and voila

rocky iron
#

well

#

shit

cloud cobalt
#

So you can troubleshoot it

rocky iron
#

I know in what commit its going wrong atleast

cloud cobalt
#

(It probably was wrong way before - it just appeared to work)

#

Set bUnityBuild and bUsePCHFiles to false, try rebuilding locally

#

You should see the same issue while building on your dev computer

rocky iron
#

I'll give that a try

cloud cobalt
#

Then make sure to not #include stuff in headers, especially other project headers.

#

Forward declare everything you can

rocky iron
#

That should already be the case, hopefully

cloud cobalt
#

I'd also suggest trying to build a basic project template on a machine where the build fails

rocky iron
#

Can you eleborate on that?

#

Like, just an empty project?

#

Cause if so, tried that, that builds

cloud cobalt
#

A C++ template from UE4 like vehicle template or something

rocky iron
#

Ye, did that, that builds

cloud cobalt
#

If it works, then it's reassuring, means it really is a tricky include issue in your project and you can fix it ๐Ÿ˜ƒ

#

"issue" meaning "UE4 didn't like it"

#

most likely

rocky iron
#

Yeeeee

#

I like Unreal, but boy, sometimes its frustrating to work with

#

Anyway, time to start my quest for the circular dependency

#

Thanks for the help @cloud cobalt I appreciate it

molten tusk
#

Anyone got experiance with teaming up with people in the Looking for Talent channel ? Mainly looking for someone that do free work doing 2-3 concept art based on some greybox images with a describing text for the style i'm looking for. Possibly payd work.

simple flare
#

Great, just decided my life in 1 hour, I'm gonna pay for Udemey's UE4 C++ course, with designing a huge SP game and selling it as my dream.

#

But I forgot to ask about one important thing, say, if my "dream" game was based off an anime

#

With everything as a copy paste from the anime onto a game

#

Would that violate any copyrights or something?

cloud cobalt
#

Yes

#

You can't do that

simple flare
#

$HIT

#

Sry

#

But

#

Gj @cloud cobalt

#

You just ruined someone's dream in 2 secs

#

Why can't I do that tho...

cloud cobalt
#

Better ruin it now that let you work on it for years and have a lawyer take you to court later on

simple flare
#

I guess.

cloud cobalt
#

Here's how it works - when you create something, you have every right to it. Write a story about a character named Solaris who goes on a game dev mission ? No one can take your story and character and reuse them without your consent.

#

There is no legal loophole or registration or anything, that's just it

#

So if you want to write a game about a hobbit going on a mission to throw a Ring in a fire under a mountain, that's also a no go, and the same goes for anime, TV shows, other games, etc.

#

TL;DR : tell your own stories.

simple flare
#

Wow, then by what rights do the anime makers have a lawyer taking me to cour if there is no legal forms or registration or whatever?

cloud cobalt
#

Copy right

#

That's the legal term

simple flare
#

And you get that with no legal forms?

#

It works just like you said?

#

Create something and u have every right to it?

#

So say what if I had no idea that the idea of my game has been done somewhere?

#

Am I supposed to look up for months to make sure that no one made it?

#

No, it would take years browsing through every TV show or anime or game

wary wave
#

Copyright is automatic

cloud cobalt
#

Depends a bit on the country, and I am not a lawyer, but yeah, copyright is generally automatic.

wary wave
#

if you didn't make it, it isn't yours

cloud cobalt
#

Game ideas are different, and not subject to copyright

wary wave
#

well, specifically game rules

simple flare
#

Again, so what if my idea was done somewhere without me knowing?

wary wave
#

aspects of art, and all aspects of story are subject to copyright

cloud cobalt
#

Game ideas are generally free to copy, unless they are patented, which generally isn't an issue

wary wave
#

you'd be hard pressed to copy something that already exists by accident

simple flare
#

Say there was an anime that had the same story or idea as mibe

#

My game*

cloud cobalt
#

If you do a RTS, there isn't copyright on the concept of RTS. There is copyright on specific RTS art and story.

#

If you do an anime fight game that looks a bit like Dragon Ball Z, it's okay. If you do an anime fight game with Sangoku fighting, then you're infringing.

simple flare
#

I see

#

Makes fair sense

cloud cobalt
#

Characters, story specifics, art, names, are generally considered subject to copyright.

#

If you do a story about slaying a dragon, that's okay

#

If the dragon is called Smaug and your character is a dwarf-like character named Bilbo, errrr, wrong, can't do that

simple flare
#

I'm shaken now, great. I was way too excited to make a Sword Art Online game where you play the story of the whole anime including the movie

#

But now the idea has to say goodbye

cloud cobalt
#

That would also be the 500th SOA game project

simple flare
#

No one has done the real thing tho.

wary wave
#

I'm curious as to why you think you'd actually be allowed to make and sell an SOA game

#

if anyone could do that, imagine how many people would be selling knockoff Mario games

simple flare
#

Wasn't interested in selling, just spreading it around.

inner mountain
#

@simple flare hey! I've seen your initial post about learning UE4/gamedev/making mmo etc... Sent you a PM, I'm in the same boat ๐Ÿ˜ƒ

frosty bloom
#

Why are all your ideas based on other peoples work? Doesn't sound like you are in the right business

simple flare
#

Lol I only had one idea and that was SAO @frosty bloom

#

And I had no idea that there was 500 projects of it already

#

I've seen the ones that are already there but they are crap and have no relation to the real story

#

So thought I could make it

cloud cobalt
#

It all boils down to good faith and common sense. If you feel like your project is derivative from something else, you are in trouble, or you could be. Don't engage into work that could be illegal, work that a lawyer would order you to destroy overnight some day.

#

As someone with a few multi-year projects under the belt, I can tell you, you don't want that to happen

#

You want all your content to be exclusively yours.

simple flare
#

I had another idea, but meh, it's way more suitable for an anime rather than a game.

#

Simply, don't think I have any other ideas for a ganr

#

Game*

cloud cobalt
#

@simple flare It's very common for people to want to start gamedev based on something they like. The key is to understand what you love about it, and creating your own universe based on that.

#

Like, I really love Lord of the Rings and surrounding lore. What I do is look at what I actually enjoy in these works, and see if that's something that could be another story

wary wave
#

A good question to consider also is, is there actually any value in copying something else?

#

If what you're making is just a copy, why would people want to look at the copy instead of the original?

simple flare
#

Because there is no original?

#

There is the anime, and some games, but no real game that walks you through the story

wary wave
#

but the story already exists

#

what value is there in a game that 'walks you through the story'?

simple flare
#

There is like, tons, of Dragon Ball games, they are like, the SAME story of the anime exactly

wary wave
#

the story has been told already

simple flare
#

With different graphics and skills thats it.

cloud cobalt
#

@simple flare But would you want to be the one to do the shitty adaptation of a prized work into another media ?

simple flare
#

Look at the success DB games gained.

cloud cobalt
#

Like all these shitty movies done from great books

#

I'd never want to be known as the one who did the His Dark Materials movie, for example

#

Hell, I wouldn't want to have worked on The Hobbit.

#

Anyway, that's a theological discussion here. You can't do it, don't do it. What you can do is think about the anime, other work you like, and see if there's a story you'd like to tell.

#

If there isn't a story, maybe what you want is a game focused on a mechanic from that anime.

wary wave
#

tbh, I'd forget the story

#

focusing on story is a good way to create bad games

#

focus on atmosphere, feeling and the game rules themselves

simple flare
#

Heh, so I can simply make a game where you get trapped in a world where you have to defeat every single monster to be able to go back to the real world

#

An RPG single player game

#

That shouldn't violate any rights would it?

#

Done what Stranger said ._. thats the abstract idea of the anime, so I can make a game like that

cloud cobalt
#

I'm pretty sure SOA is far from the only work to have that core concept

#

I mean that's basically the plot for Jumanji

simple flare
#

Guess so, btw its kinda annoying to have SAO mis-spelled

#

๐Ÿ˜›

rocky iron
#

I'm not an anime guy, but I believe there's another anime with that setting

cloud cobalt
#

Yeah, SAO

plush yew
#

Log Horizon

simple flare
#

Well we're getting kinda off topic here now

cloud cobalt
#

Even The Matrix comes to mind on some level

simple flare
#

So the point is, I can make a game with that core idea

#

And not violate any rights

#

Yeah?

cloud cobalt
#

If you just use that idea, then yeah

#

Meaning, don't use the characters, or story specifics, and don't say your game is "inspired by SAO"

simple flare
#

Mhm

cloud cobalt
#

@simple flare From Wikipedia : "Copyright does not cover ideas and information themselves, only the form or manner in which they are expressed."

#

(Do mind that ideas can be patented, which is another can of worms, and not generally applicable to art)

#

The idea of stealing a jewel from a dragon isn't copyrighted

#

Bilbo the Hobbit the character, his story, the "The Hobbit" phrase, are copyrighted

wild kestrel
vale osprey
#

@simple flare games are not the best media to re-tell film/cartoon stories

#

there are not so many people who enjoy interactive movies either

#

and DB is a bad example as movie itself is like an endless Mortal Kombat game lets play

#

"new character appears, blurbs some backstory and beats shit out of some main character"

#

"character that lost goes through recuperation ark"

#

"challenges offender and dispite all ods wins fight against him"

#

repeat over 9000 times ๐Ÿ˜„

#

now that I think about it, EA could make an awesome Transformers game based on cartoons

#

and you will have to buy each new transformer separately

#

cartoon was based completely around introducing and marketing new toys

#

this is like god send material for a game based on microtransactions

stuck chasm
#

Why are my animations blank when coming from Blender?

wary wave
#

@vale osprey - Toys to life, in summary

#

cheap bit of tat with an RF chip and a byte of data

#

unlock small item in game!

vale osprey
#

is it a new thing?

#

ahhh, I know what you mean ๐Ÿ˜„

wary wave
#

it's a thing that came and went, haha

vale osprey
#

like Splatoon did

wary wave
#

Skylanders, Lego Worlds, Disney's whatever thingy

#

Disney Infinity? Can't recall

cloud cobalt
#

Amiibos

wary wave
#

Amiibos is a classic example, except they're worse than the others because the game content is so incredibly vapid

#

at least in the others you get some characters and levels etc to play with

#

Amiibos? Nah, just give the player a powerup.

cloud cobalt
#

Though arguably, a power up in every Nintendo game, rather than one specific

wary wave
#

sure, but there's no actual content there

stuck chasm
#

Can someone help me with something?

wary wave
#

the games just read a quick string off the RF, and drop the powerup in

cloud cobalt
#

Sure

stuck chasm
#

Why whenever I am importing animations from blender to UE4 they come blank?

wary wave
#

your export will be wrong, but that is all I can tell you

stuck chasm
#

ok

viscid sky
#

Hey everyone, when I try to package the game for Android, it says 'missing required files to package this platform'. I have installed Android sdk as given in documentation. Also have set up my phone in usb debugging mode. What am I missing?

#

Haven't found anything over the unreal forum

stuck chasm
#

have you checked yt?

#

sometimes that works

#

3/10

grim ore
#

any other errors besides missing required files? usually the log will give more info

plush yew
#

Did you check Android when you were installing the engine?

wary wave
#

my guess is that it's an incorrect installation of the Android SDK - caused by something like not having the correct version required for the engine features you are using

#

FYI, this is a PITA to fix, because the documentation for UE4 is often wrong in this regard and will cite wrong versions numbers etc

fathom heath
#

Hey, I'm looking for someone who is well versed with roleplaying game structure in Unreal engine. Dm, please.

safe rose
#

Ah, seems this guy wants professional 1on1 consultations for free

#

ยฏ_(ใƒ„)_/ยฏ

#

RPG systems are a pretty easy, plenty of examples online for them

#

Even if they are not all UE4-centric, the base systems can be rebuilt in UE4 rather easily.

fathom heath
#

Alright, I want to be more specific

frank escarp
#

then pay

#

to get a professional to talk with you for a couple hours

fathom heath
#

Is there an effective stratgy for managing objects in Unreal

#

I'm not looking for consulting, but tips

cloud cobalt
#

What do you mean, managing objects ?

fathom heath
#

So, like a specific bucket or bow, how do I sort them and give them unique ids through blueprint

#

That I can then access

cloud cobalt
#

What we did to manage ingame items is create a DataAsset for each item

#

Based on a simple C++ struct

#

Each of them has an "identifier" field, and some data fields

#

We use UE4's asset manager to list all assets at boot, sort them, put them into buckets based on type

safe rose
#

Use DataTables and GameplayTags

#

Plus the Asset Manager Framework, that's about all you really need to know

#

that's UE4-centric

restive eagle
#

titanic games had a decent inventory tut with data tables, but its not very beginner friendly

safe rose
#

@restive eagle Was it any good?

restive eagle
#

havent seen a better one, plus it can be used for almsot everything

#

skills, quests

cloud cobalt
#

There is also the solution of having an internal asset format - think big database object - and creating an editor tool to import from an external, easy-to-version data file.

#

More than one way works.

restive eagle
#

but its just a concept, i already modifed it to a point that even I get lost sometimes ๐Ÿ˜„

safe rose
#

Well

#

soeone already has that

#

anwyay

rocky portal
#

Just use Actors

#

why do people make these overly optimized inventory systems

#

with datatables and data assets

wary wave
#

because otherwise they'd be slow as fuck

rocky portal
#

if all you need is a data driven inventory...it's fine

#

not really.

#

it's exactly the same thing

#

except you're working with pointers to actors instead

wary wave
#

also, why would you use actors in an inventory?

#

that's super overkill

rocky portal
#

how so?

#

the actors already existed

#

you picked them up

#

now you have them in inventory

cloud cobalt
#

Actors are for 3D scene objects with behaviour

rocky portal
#

all you need is a reference to something that already existed

#

yeah..turn them off

wary wave
#

actors have a lot of overhead regardless

cloud cobalt
#

Actors have network replication, logic

wary wave
#

you can't just 'turn them off'

rocky portal
#

surely if it's in your inventory, you will use it at some point

cloud cobalt
#

Completely overkill

rocky portal
#

they already existed in the world

#

thus they are already processing

cloud cobalt
#

That's not how it works

rocky portal
#

yes it is

wary wave
#

they don't need to exist in the world if they're not in use

cloud cobalt
#

Actors are for 3D objects that exist in the world scene.

rocky portal
#

yeah so turn them off

cloud cobalt
#

Most RPG items don't

wary wave
#

an inventory with hundreds of items in it would be pointless

cloud cobalt
#

Just use an UObject

rocky portal
#

RPGs only need simple data driven inventories usually

wary wave
#

you'd have hundreds of actors that don't see use for hours

rocky portal
#

so sure you can use a UObject

cloud cobalt
#

Well yeah

wary wave
#

you don't even need a UObject

cloud cobalt
#

Even a struct is enough

wary wave
#

just a struct with the relevant data in it

#

^

rocky portal
#

structs don't pass through BP by reference

#

they're annoying to work with in UI

cloud cobalt
#

In Helium Rain, items are just ustructs in datassets

rocky portal
#

UI element can reference directly a UObject

cloud cobalt
#

We edit them as assets

#

But they're tiny in memory and have zero overhead

rocky portal
#

and if something changes, then it will automatically update on the UI

wary wave
#

we're also using structs for our inventory; it just holds simple stuff like the class reference

rocky portal
#

my point is most peoples projects in here are not massive enough

wary wave
#

so the object can be recreated when required

rocky portal
#

to need to care about this level of optimization

#

even having 100 "actors" in inventory is not going to slow them down

cloud cobalt
#

That's not even optimization

rocky portal
#

unless they designed it poorly

cloud cobalt
#

That's just doing it right

rocky portal
#

there's no "right" way of doing it

#

it either works and is performant or it's not

cloud cobalt
#

Of course there is

rocky portal
#

You could have Inventory Items that are made up of other actors...u can't make a data asset for that

safe rose
#

oh jeez

cloud cobalt
#

Using actors for an inventory is a ridiculous proposition

rocky portal
#

or dynamic meshes

safe rose
#

Anyway

cloud cobalt
#

Just stop :/

vale osprey
#

@rocky portal you can smash rocks to start a fire or use a lighter

safe rose
#

There ARE situtations where you DO keep your inventory items via Actors

#

Even when not in use

rocky portal
#

data asset driven inventory works if every "AK-47" is idendital

#

and can be defined by data

safe rose
#

Or rather, could/should

rocky portal
#

which is not always the case

safe rose
#

In the case of Object Pooling

rocky portal
#

it's not "Right" or "Wrong"...it depends on the requirements

cloud cobalt
#

Which requirement would require using an actor ? Go ahead.

safe rose
#

I recently did that for a VR game I am working on, due to the Multiplayer component of it all

rocky portal
#

the "easy" way is usually preferred unless there are some extra requirements in terms of performance or something

vale osprey
#

so no need to argue like your solution is the only good solution, people are just pointing out how it can be done differently for a specific reason

rocky portal
#

which most people in here will not have a problem with and just over-engineer their shit to avoid problems that will never happen

safe rose
#

As well as I wanted to see if I over-optimizing early on would be ideal

vale osprey
#

"the "easy" way is usually preferred " - that's just your opinion

cloud cobalt
#

Oh, well, i'll let you guys argue. Dunning Kruger in full force

rocky portal
#

false

#

the best approach is the fastest one that works

cloud cobalt
#

structs, then

rocky portal
#

if it takes an indie a year to design the perfect inventory system

wary wave
#

a year 0_o

rocky portal
#

because they're worried about using Actors and performance

wary wave
#

a struct based inventory system takes a couple of weeks to get working :/

rocky portal
#

when they could have thrown togetner a list of Actors for a simple inventory system and been done in a week

#

I'm exaggerating obviously

cloud cobalt
#

@rocky portal Using actors for an inventory is objectively much harder than using structs.

rocky portal
#

structs only works if your inventory items can be completely defined by data

#

and it's objectively more difficult to work with dynamically in UMG

wary wave
#

but all items can be defined by data?

rocky portal
#

no.

cloud cobalt
#

So what kind of item can't be defined by data

#

Please do tell

rocky portal
#

if you had 100 AK-47's with swappable weapon parts

#

each AK-47 is also defined by which parts it has

#

meshes

cloud cobalt
#

Yes

rocky portal
#

and if the inventory image updated dynamically based on that

cloud cobalt
#

That's basically what my game does

rocky portal
#

ie a realtime image

wary wave
#

that's just simple data

rocky portal
#

no it isn't

cloud cobalt
#

Still structs

vale osprey
#

why the hell would I use an actor if my inventory item has just 2 floats to store? why are you assuming that all inventory items have some 3d mesh in the scene?

rocky portal
#

because the inventory image is realtime

wary wave
#

if it can't be data, how would you save the game?

rocky portal
#

it breaks your whole concept of a struct defining it using a simple .png for inventory image

cloud cobalt
#

The mesh isn't realtime, its render is

rocky portal
#

because the Actor is what the Actor is

#

that AK-47 is itself

cloud cobalt
#

So the mesh is in the structure and you render it

rocky portal
#

and like I said....Structs don't pass by reference in UMG/BP

#

so they're a pain in the ass to do complex inventories with

#

like 2d containers

cloud cobalt
#

sigh

vale osprey
#

yeah if you approach it like that sure

rocky portal
#

unless u want to make all your User widgets in C++

wary wave
#

all of our widgets are in BP, and we're doing just fine thanks

rocky portal
#

or use event dispatchers for every single widget so it knows it needs to update

#

and need hard references between everything

#

do your user widgets require "ticking" at all?

wary wave
#

our UI classes just read directly from our inventory classes

rocky portal
#

because with UObjects they do not

#

what kind of inventory system are we talking?

#

ive only run into this issue with Structs of Arrays of Structs of Arrays of whatevers

#

to make multi-dimensional containers

wary wave
#

RPG style inventory, semi-complex

rocky portal
#

which is easier imo to just use math to treat a 1d array as 2d

wary wave
#

also our game is online

#

(with persistence)

#

we're using structs

cloud cobalt
#

1D or 2D is purely a display problem...

rocky portal
#

false

safe rose
#

@vale osprey You are wrong, you haven't been doing Software Engineering for over 20 years, you suck

wary wave
#

it's literally a display issue

safe rose
#

No one should listen to you

rocky portal
#

false.

safe rose
vale osprey
#

@safe rose ๐Ÿ˜„

rocky portal
#

2d vs 1d affects how you add items

#

boundary check

#

etc...

#

a valid index is not always valid

cloud cobalt
#

@safe rose I only used Unreal Engine for a decade, i'm the worst imposter in the world

wary wave
#

a 4x5 2d array is exactly the same as a 20 element 1d array...

safe rose
#

@cloud cobalt You suck too

cloud cobalt
#

false

safe rose
#

You failure of all things Unreal Engine

cloud cobalt
#

@safe rose Though for what it's worth, you probably suck too

wary wave
#

lol

safe rose
#

(cause you did UDK I assume?)

cloud cobalt
#

(yeah, and UT3 modding before that)

safe rose
#

Oh, I definitely suck

cloud cobalt
#

(good memories)

safe rose
#

But no

#

You are all being silly anyway

vale osprey
#

@rocky portal you had issue with ForLoops and arrays inside of struct references?

safe rose
#

We all know there's a million ways to do something

#

Some are more efficient than others

cloud cobalt
#

Yeah, of course there is. I think there were 4 or 5 suggestions

#

The actor thing was just pretty wild

vale osprey
#

could work for weapons in UT

safe rose
#

Hmmm, I don't know. I still have Actor Manager classes

wary wave
#

UT's weapon's list isn't really an 'inventory system' as most would refer to it though

safe rose
#

Only because UObject Manager classes for me sometimes don't work

vale osprey
#

beyound that, dunno why would you do that - wasting resources for nothing

cloud cobalt
#

If you have < 10 weapons that are unique and full-featured, like say Overwatch, then sure, it makes sense to have them be Actors.

#

That's not what a RPG inventory usually does

wary wave
#

can you imagine storing 100 AK actors, each with a unique render target for UI though?

#

that memory usage

cloud cobalt
#

RPGs usually have hundreds of items that have a small icon, maybe a 3D mesh, some text and properties

#

Unless you really deviate from that, a simple flat struct will do

rocky portal
#

@vale osprey no I did not have issues with forloops...there were issues with structs not being passed by reference in BP/UMG

#

so an "ItemSlot" that had a reference to an Actor

#

if that was changed

#

it would not update in UMG automatically

#

this was easier to accomplish with UObjects

#

with EditInlineNew and Instanced

vale osprey
#

well, did you figure out why?

rocky portal
#

because Structs are passed by copy in BP/UMG

light thunder
#

I'm trying to choose the simplest method to creating a stopwatch.... literally I just want to count the time when an repeating function is fired and then end that timer by another event

cloud cobalt
#

They don't have to

rocky portal
#

when you make a Struct property in a Widget

#

unless you're going to update it every frame

#

it will not update

vale osprey
#

yeah like in for loop so you just change that macro

wary wave
#

just read the struct directly from the owning inventory manager

cloud cobalt
#

^

rocky portal
#

because it is the copy, not the original struct in memory

cloud cobalt
#

Just store a "item id" on the widget

#

And fetch data from the inventory

rocky portal
#

why would I want to update my UI every frame

cloud cobalt
#

Because it updates no matter what

rocky portal
#

no need to

cloud cobalt
#

UE4 updates your UI all the time even if nothing changed

#

Unless you use the retainer widget

safe rose
#

So

cloud cobalt
#

So you didn't gain anything here

rocky portal
#

LOL

safe rose
#

This is how I have my current VR Inventory laid out

rocky portal
#

if your update is DOING STUFF

safe rose
#

And it's not the best, but it worked for me

wary wave
#

our UI is event driven

rocky portal
#

it takes more processing/memory than if it's NOT DOING STUFF

wary wave
#

ยฏ_(ใƒ„)_/ยฏ

rocky portal
#

yes..events are another way around the issue

wary wave
#

core classes slightly modified, though

#

by default they'll be ticking

rocky portal
#

that's fine

cloud cobalt
#

@rocky portal Slate objects update all the time, no matter what. Whether the data is constant or not has zero effect.

rocky portal
#

they can update all they want

#

that's fine

vale osprey
#

it just retival of a value in memory, seriously you are optimizing "that" with using actors for everything?

rocky portal
#

go put a forloop with 10000 math calculations in one of the tick events

#

it will slow down.

vale osprey
#

...

rocky portal
#

here's early inventory work....i am but one guy with a 10 month old baby and full time job so i dont have much time to work on shit

cloud cobalt
#

So instead of passing the struct, pass its identifier, fetch it in the widget update - no time lost, or like 0.1% of the update time lost

#

easy peasy

rocky portal
#

I use UObjects

#

multi-compartment, multi-subcompartment, 2d contents

cloud cobalt
#

But hey, I only have 40,000 lines of C++ for my UI with my 4-year project, what do I know.

rocky portal
#

UCompartment of TArray<USubCompartment> of TArray<UItemSlot> IIRC

#

why wouldy ou even need 40k lines of code for an inventory

cloud cobalt
#

Pro-tip : it's a full shipped game, not an inventory.

rocky portal
#

unless your'e counting literally everything in the "Status screen" as "UI"

#

and bro I'm not shit talking your inventory

#

there are many ways to do it

light thunder
#

I can't use game elapsed time because I have multiple scenarios, so I'd have to make 25 unique variables to record the difference between the current time and the elapsed time

rocky portal
#

I need to add some events to update contents grid on equip

#

but i dont find that super important right now because I want to mess with other stuff

safe rose
#

Many ways to do it

rocky portal
#

but this is all UObject based with Actor references instead of DataAssets or Tables

#

i wanted the inventory to work with literally everything in Unreal

safe rose
#

But, I do plan on moving all my inventory over to DataTables and Asset Manager Framework