#virtual-reality

1 messages ยท Page 99 of 1

wicked oak
#

ue4 came without source code from the launcher up to version 4.7

full junco
#

if they dont release all source code they shouldnt write all source code

wicked oak
#

where they started sending the source code in the launcher version

#

and back on the Rocket beta, we used the editor without editor code

#

nvm just checked, robo recall does come with source code

#

engine

#

odd, this engine branch isnt on github

#

you can only access it from robo recall modkit

#

the pseudo 4.16 branch

full junco
#

so just like they wrote, all source code

wicked oak
#

yup

eternal inlet
#

@dusk vigil yes thanks ๐Ÿ˜ƒ got the name wrong

#

anyway being able to do assymetrical gameplay with one client using splitscreen, would be awsome

ripe bone
#

This was from a game jam I just finished, what do y'all think?

blissful bear
#

Cool man. FleX is a great thing!

dusk vigil
#

It's a bit of a bummer that PS4 uses AMD processors though. I was just thinking of making a game based on Flex stuff but it would cut out the PSVR angle as far as I can understand

wicked oak
#

@dusk vigil psvr is problematic, you need to ve incredibly mindful of performance

#

there is a reason i run at 60 fps on the base ps4

#

the CPU cant handle it at 90 even if i decrease resolution

#

and Sony is even more brutal than oculus at their reviews

#

in VR, one single drop below 55 fps will trigger an alert and make you instantly fail

dusk vigil
#

It's fair enough

wicked oak
#

you are only except from that if you put a LOADING screen

#

its fine to drop fps on loading screens

tired tree
#

@full junco the robo recall window information is done with a new function Epic added specifically to the oculus plugin. It gets the render target of the oculus preview, this feature isn't available for SteamVR even with full source access, they don't provide full access to it.

#

Also yes, we do have "all" source code for robo recall

full junco
#

@tired tree not quite sure what you mean, all the mirror things in the preview window are coming from UE4, not from steamvr

tired tree
#

its in their compositor

#

lemme find it again

#

Also yes it is fairly simple to do two views, one comp one HMD with source access

full junco
#

I looked at most of that steamvr related code recently when adding the adaptive pixel density stuff, and I think theres nothing that special about the preview window

tired tree
#

I was having trouble because I was attempting it via plugin

#

by overriding the scene view

full junco
#

in FSteamVRHMD::RenderTexture_RenderThread() you can in theory let it write anything into the preview window buffer

tired tree
#

FOculusRiftRenderDelegate* UOculusFunctionLibrary::GetMirrorDelegate_RenderThread()

#

yeah thats why I said its easy with full source

#

that was added for their mirror window

full junco
#

well just a few minutes ago you said writing custom stuff into the preview "isn't available for SteamVR even with full source access"

tired tree
#

getting the compositor target

#

doing it through steamvrhmd isn't how epic did it

#

I was saying the same method isn't available

full junco
#

doesnt really matter how they did it in their game

#

and @eternal inlet asked about showing stuff in the preview window and said that you said its not possible for some reason

tired tree
#

no

#

I said its not possible through plugin

#

for steamVR

eternal inlet
#

oh sorry then i may have been misunderstanding that

tired tree
#

its def possible on source build

#

or I guess, recreating part of the steamVR plugin

#

which is really overkill

eternal inlet
#

ok, so my goal was to figure out if it was possible to do without modifying the engine and building it... don't think i mentioned that hehe

tired tree
#

oh I see, I mispoke above John

#

when I said "full source access"

#

my bad

#

I understand the confusion

#

I meant that the required variables are Private: to the module, not that with full engine source that it couldn't be done

#

ooooooooo

#

they unprivated everything in Master

#

took Allar's request

jaunty shell
tired tree
#

hmmmph....but they left steamVRs implementation in the private folder

#

yea..nvm

wicked oak
#

that looks like garbage collection

full junco
#

@wicked oak lol, you always think about garbage collection whenever theres any performance issue

#

garbage collection is super fast and almost never any issue

wicked oak
#

its been for me several times ๐Ÿ˜ฆ

#

allways just random spikes

jaunty shell
#

@wicked oak but our maid only works on tuesdays :/

full junco
#

I have never even seen the garbage collection in the profiler

wicked oak
#

@jaunty shell use the ue4 profiler

#

@full junco on my shooter, a fuckton of stuff gets created and destroyed

#

like all bullets

#

or all fx

#

or enemies

#

and enemies have a bunch of stuff each

#

i improved it a LOT by just pooling all projectiles

#

but when i didnt pool them, there were clear random hitches caused by GC

jaunty shell
#

well setting a good portion of physical objects to be sleeping at start reduced it a bit

full junco
#

@wicked oak destroying the physics state and deregistering components and all that stuff is what takes time on destroy, way more time than garbage collection

wicked oak
#

but thats "constant"

#

like "20 times a second"

#

for the bullets getting destroyed

#

but then the GC ticked and fully destroyed the stuff

#

and i had rng spikes every few seconds

#

of actual GC time of 20 ms or so

#

another huge issue is overlaps

#

damn they are expensive

full junco
#

yeah, they are

wicked oak
#

they even said that on the stream for robo recall XD

#

that they had an object with overlap and too complex collision

tired tree
#

they said they had a blimp that was fully collision primitive surrounded, like the artist took the time to make hundreds of collision primitives around ever nook and cranny so it matched up.

#

for something that isn;t really interactible with in game....

jaunty shell
#

the devil is in the details

#

@wicked oak right got the profiler started

wicked oak
#

you need to save details first

#

command "stat startfile"

#

command "stat stopfile" to stop it

#

so do the start command, do some stuff, then do the stop command

#

it will be on "Project/Saved/Profiling"

#

then you open it with the huge ass profiler

#

and go to "Game Tread"

cobalt relic
#

Also maybe start with "stat unit" to see if it's CPU or GPU ?

wicked oak
#

and see what it does

#

stat unit does odd stuff in vr

#

for example the Render thread in Vive is allways going to be to the vsync

jaunty shell
#

right got the file opened

#

Lots of stuff in here :v

#

26ms of cpu stall

wicked oak
#

the "stall" stuff is the thread doing nothing

#

forget about all of those

#

look at "Tick Time"

#

World Tick Time

#

also the Render thread

#

those 2 are the main CPU stuff. (yes, singlethreaded). For the GPU, there is GPU timing stuff on the right panel

#

just search for "GPU"

full junco
#

@jaunty shell do the profiling in a packaged version of the game

jaunty shell
#

argh

#

I've mostly been using in editor

full junco
#

you can profile in the editor, but I like to prevent any false positives, so its always better to just do it in packaged where you definitely only see the stuff that you will really see in the game

#

without having the editor eat ressources and having all the code inside of #if WITH_EDITOR run

jaunty shell
#

We aren't really using UE4 to ship out apps for now

full junco
#

then what are you using ue4 for?

jaunty shell
#

Internal use for BIM modeling

cobalt relic
#

You're not going to have good performance in editor

#

The UI processing alone is quite heavy, you're probably looking at 3ms in editor

full junco
#

yeah, editor is not meant for giving you good performance, its just good enough for allowing you to develop your game ๐Ÿ˜„

jaunty shell
#

ouch yeah that's a lot

cobalt relic
#

You might get it to decent values by closing everything and going full screen

#

But honestly, might as well work with standalone builds

full junco
#

even if you close everything, an editor build will always run a lot of code thats only run in editor builds

cobalt relic
#

Also, if you ever need to share a build, distributing the editor is a big no, legally speaking

jaunty shell
#

yeah

cobalt relic
#

VR is really hard performance-wise, so it's a no brainer anyway

jaunty shell
#

is there a way to select the maps (and thus the assets to add to the build) you want ?

#

aside from migrating the map to a new project

mighty carbon
#

\o/ my Rift is out for delivery.. Too bad I'll be out of town until next weekend :/

jaunty shell
#

can't do a dirty build too, editor throws an error about a dictionnary element already existing

full junco
#

look at how much stuff is only run #if WITH_EDITOR

jaunty shell
#

that's mostly a C++ project right ? We are only using BPs :/

full junco
#

thats engine code ๐Ÿ˜›

jaunty shell
#

oh

full junco
#

it runs no matter if you do your game in BP or C++

mighty carbon
full junco
#

the engine runs a lot of code only of its an editor build

#

everything thats in a #if WITH_EDITOR is completely ignored by the compiler in a non-editor build

#

so without the editor less stuff runs = better performance

jaunty shell
#

Yeah seems logical

#

that's how I used to do things with Unity

mighty carbon
#

@raven halo did you find any discrepancies between your settings and mine ?

jaunty shell
#

@full junco @cobalt relic can't get a build out somehow

tired tree
#

mmm, think they fixed the motion controllers late updates bugging out at high velocity in master

jaunty shell
#

@wicked oak on the topic of profiling these lag spikes, world tick is at 20ms~

#

16ms of garbage collection

wicked oak
#

as foretold

mighty carbon
#

has anyone tried shaking camera in VR (when explosions happen or something like that)? Does it cause discomfort ?

wicked oak
#

world tick is the typical

#

that one is your normal game thread cpu time

#

mine is sub 3 ms on PC

#

but on console its at 6-9

#

depending on the amount of enemies

mighty carbon
#

sounds like garbage collector in UE4 is ... garbage ?!

wicked oak
#

gotta love singletheard game logic

#

no, its ok

#

its fine

jaunty shell
#

heh, 13ms of the GC is CPU stall

wicked oak
#

hmm wtf. CPU stall is normally just the cpu doing nothing

#

maybe waiting for another thread to complete its thing?

jaunty shell
#

yeah its a wait for event stall

#

it sounds an awfull lot like vsync or something

#

the damn is that FFileTransferRunnable on the top too ?

mighty carbon
#

@glossy agate thanks, but even if I activate it when it's not visible, it will probably hitch too, since the act of activation is what creates the hitch as I understand it (although it doesn't hurt to try activating it when hidden, then unhiding it; or toggle visibility)

#

@full junco monoscopic doesn't work for my project. It crashes when my main level is done streaming, right before it's shown. I tried repro crash in a blank project and I couldn't. So, no fancy mobile VR rendering for me until either Oculus figures out what's up, or until I start a new project.

raven halo
#

@mighty carbon yes! You had smooth frame rate off. But it's not making any difference on mobile. At least I haven't noticed. And regarding the vertical tearing it's still there. I just send the project to oculus so that they can help me find the bug.

mighty carbon
#

aye, cool

wicked oak
#

@jaunty shell check the "worker threads"

#

im pretty sure that whats happening there, is that the main thread stops to wait for the parallel GC to do its thing

#

and then resume

mighty carbon
#

@tired tree would you happen to know why I get performance drop when particle system gets activated? (and then performance bounces back to normal)

jaunty shell
#

@wicked oak FBuildAsyncWorker ?

wicked oak
#

there are different ones

#

those worker threads do extra stuff.

#

it does look like your issue is GC indeed

jaunty shell
#

searching for worker only returns 3 of them

wicked oak
#

it stops the world, the threads start deleting stuff, and then it continues

#

PoolThread N

#

those are also worker threads

#

and the TaskGraph threads too

jaunty shell
#

yeah checks out for the PoolThreads

wicked oak
#

you will probably see that they have some GC stuff on them

#

and the "stall"

jaunty shell
#

yep

wicked oak
#

wich is just the threads doing nothing

#

what are you doing in your game?

#

to make the GC be faster, you need to avoid creation/destruction of objects often

jaunty shell
#

only instanciating stuff on start

#

entity managers and such

#

I do have a lot of physical entities, but I set them to be sleeping on spawn

#

other than that almost every light is static

#

the only thing I could see affect performance would be a TV asset playing a video

#

by using the mediaplayer

#

nah that's not the TV it doesn't really affect cpu or gpu frametime

full junco
#

@mighty carbon why do you tell me about that monoscopic rendering stuff makes your project crash?

mighty carbon
#

because I scrolled up and saw your posts from last night

full junco
#

@jaunty shell doesnt sound like you have anything that would cause the garbage collector do to stuff

mighty carbon
#

about mono making it into 4.16 as non-experimental

jaunty shell
#

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

full junco
#

my point was that they improved it a lot so that its no longer experimental and that will likely have fixed the issues you had with it @mighty carbon

mighty carbon
#

well, I guess I'll wait and see what happens when 4.16 is out ๐Ÿ˜ƒ

tired tree
#

Epic seems like it is back in full swing post GDC and robo recall

#

a lot of changes being made to core systems

full junco
#

@tired tree what for example do you mean now?

jaunty shell
#

oh well, I'll tackle out these problems next week, have a good WE everyone !

wicked oak
#

well, GDC/roborecall uses lots of "experimental" tech

#

Niagara for that car things, improvements for robo recall, the VR editor, all that kind of stuff

#

wich they showed at GDC

#

now, for 4.16 and 4.17, that stuff is getting stabilized and added to normal ue4

tired tree
#

@full junco the character movement component for one, getting a lot of changes

wicked oak
#

changes coming from the Odin branch (robo recall)

#

i guess to improve the robot movement and the like

#

its great for my case

full junco
#

dont be so sure if its great ๐Ÿ˜›

#

every major change in some stuff will add many new bugs

wicked oak
#

my use case its very similar to robo recall

#

after all im also a wave shooters with a bunch of enemies around

full junco
#

and if these bugs affect you then you might have to wait a long time before its usable again

tired tree
#

major changes to movement are also hell for me to refactor

#

but yeah, they are touching the networking with the movement component, its been left alone mostly for a few versions now

wicked oak
#

maybe for Paragon stuff?

#

paragon is networked after all

#

and UT

full junco
#

epic is doing a lot of fortnite stuff currently

wicked oak
#

oh, really?

#

is it ever going to get released?

full junco
#

thats why they improved the distance field stuff so much

tired tree
#

each character movement can set its own update rate now via a function, before it was universally set inside one, now its overridable

#

you could change it before, but required overriding a major logic function

#

now it is its own sub function

mighty carbon
#

anything new for AI ?

full junco
#

I think some nav link stuff was recently changed

#

they seem to be really happy with AI stuff in UE4, they love that EQS stuff

tired tree
#

they changed a ton of AI code in ...i think 4.14

#

since then its been cleanup for the most part

#

don't really pay attention to it unless it touches pathfollowing though

eternal inlet
#

that's the logic i used to set the cable position

#

the "Grapple Target Actor" i get from a linetrace

#

as shown here:

#

hope that can get you going with it

blissful bear
#

@eternal inlet Thank you very much for taking the time to share this. I'm going to have fun with cables this weekend... Your vid looked so much fun I just got to try something similar out. ๐Ÿ˜ƒ

eternal inlet
#

๐Ÿ˜ƒ great to hear, and it is tons of fun

tired tree
#

jonas you still using constraints to a physics object that you grip?

#

or doing the logic manually now?

eternal inlet
#

im in the process of bugfixing now... there are a ton of bugs still

#

constraints

#

i figured that since my climbing logic use an actor to hold on to

tired tree
#

thats prob easier to achieve than what I was playing with

eternal inlet
#

i might as well just spawn one and grab on to that

tired tree
#

you want the code for boosting in the swing direction on the simulating component?

eternal inlet
#

hmm, could be interresting to look at for sure

tired tree
#

ie: down/up swing additional force

eternal inlet
#

yeah, i havent found a solution for that yet

tired tree
#

i'll pm it to you

eternal inlet
#

cool man

tired tree
#

not sure i'm going to bother finishing my fully manual version, but that part could be useful for you

eternal inlet
#

i'll pm you too if you wanna play around with mine

#

could be you could fix my horrible bugs ๐Ÿ˜„

mighty carbon
#

what I don't get is why Void's HMDs are so massive

real needle
#

@mighty carbon Here's a bit of news: They're DK2's covered in "proprietary" covers

#

Yup, still doing the Ghostbusters experience. DK2s for sure.

mighty carbon
#

I see

#

I think we are at the point where software hasn't caught up with hardware

#

I was testing my app last night, and then went into Home to see what's out there for Gear VR.. Didn't really see anything worth buying ๐Ÿ˜ฆ

#

(price isn't an issue at this point)

glossy agate
#

That just means there's an opp to make the market still. Do it

mighty carbon
#

well, the article makes a good point - VR isn't at the point where anyone can pick it up and use it

#

just like gaming back in the days was only for a relatively small group of people

#

when you can just put HMD and gloves on and get into VR (no wires, no setup), then desktop VR will start making its ways into people's houses

#

IMO

wicked oak
#

nope

#

you can already do that

#

its about cost

#

and just that

glossy agate
#

Yeah, but even right now there is about 1.5m vr market. Too small for huge publishers but big enough for a good small Indy team. A great app should get 5% market share, so $10 a sale will get you a great return for a couple people working 1-1.5 years on it

wicked oak
#

now that ill be able to release in PSVR, the ratio of games to customers is insane

#

there arent that many games

#

and really not many shooters

#

not a single one with locomotion like mine

#

most are completely static

glossy agate
#

Exactly, another 700k people for the one man team

#

With a unique sales prop for the playform

#

Platform*

mighty carbon
#

it's not about cost

#

well, a bit maybe

#

but wires and shit is a turn off

wicked oak
#

and thats all about cost

#

you wouldnt care if the rift was 50 dollars

#

its just that is 600 dollars, and vive 700

#

and then, even at that price, you still gotta buy the games and deal with all the hassle of a gen 1 product

#

why do you think psvr has outsold both rift and vive 2 times

glossy agate
#

Waiting for all the super mainstream add on stuff will just make you super late to the market while early developers already grabbed the whale base of super enthusiasts.

wicked oak
#

becouse its cheaper, and its so EASY

#

put it on the ps4

#

works

#

no drivers, no updates, no software, nothing

#

put it on the ps4 and you already have a "cinema screen" with the ps4 screen

#

then you just launch the game as usual

#

there are 4 variables in this stuff (how i see it)

#

money, ease of use, tech, and marketing

#

vive and rift are high money, low ease of use, very good tech, fine marketing (but still kind of unknown mainstream)

#

PSVR is mid money, really easy to use, meh tech, good marketing (better than the rift, but not super huge)

mighty carbon
#

look, I know people who don't game and they are not going to f#ck with PC and all the wires and all that

wicked oak
#

Cardboard is 0 money, incredibly easy to use, bad tech, no marketing(not even needed)

#

gearVR is low money (but needs the phone), incredibly easy to use, alright tech, and good marketing

glossy agate
#

Yeah when I tell people about the vr shit I'm working on and show them a pic they still ask where you put the cell phone into the vive haha.

mighty carbon
#

Gear VR is where VR needs to be..

wicked oak
#

yup, funny enough, cardboard and gearVR are much more known than the real stuff

mighty carbon
#

as far as ease of use

wicked oak
#

then you have PSVR (as you can find it in every game store)

#

and then, oculus and vive

#

the average joe is plain retarded

#

messing with wires and having to install a software is too hard

mighty carbon
#

again, you are talking about gamers

wicked oak
#

and lets not talk about finding a vr ready pc

mighty carbon
#

there are more non-gamers in the world who would shell out money for VR

wicked oak
#

those arent interested on the tethered experiences

#

or roomscale

mighty carbon
#

those are minority

wicked oak
#

thats why i think the headsets that can be a huge hit are the standalone units

#

standalone rift with positional tracking, something like the leap motion, and all in 1 unit

#

oh, that thing would go HUUUUUGE

mighty carbon
#

unless you buy a box, an HMD, bring it home, turn it on, put it on, and you are in VR

wicked oak
#

not that much for games

mighty carbon
#

no, wires, no wall/ceiling drilling, no setup

wicked oak
#

but for casuals

#

yeah

#

that would be a huge hit in companies

#

and the whole virtual presence/metaverse/social stuff

mighty carbon
#

who said anything about games? My parents / grandparents / in-laws wouldn't want to play anything

wicked oak
#

and this inside out headsets could do AR

#

shitty AR, but AR

#

i would total go on the screen with one of those on LMAO

#

and look like the ultimate tech-weirdo

mighty carbon
#

they would, however, want to visit destinations or different time periods, or communicate with other relatives around the country / world

glossy agate
#

Casuals are kind of a market I would avoid though. You need the hardcore crowd especially on mobile where ftp makes 30% income off of 1% of users.

wicked oak
#

at least something like hololens is a bit more like glasses

#

just imagine the inside out rift, that is huge

#

and you walking around with that XD

#

another thing i see happening is contracts like with phones

#

Vive is going that way

mighty carbon
#

the way I see it, I would rather delve into a good fictional world with more passive experience than play a game in VR

wicked oak
#

they are offering that subscription and vive payment systems

#

btw, fuck viveport

#

40% to vive???

#

wtf are they smoking

mighty carbon
#

(imagine Netflix of VR where you get to be in the scene and occasionally do things)

glossy agate
#

But have you tried onward? That shit is so fun

mighty carbon
#

meh, I don't even play CoD games

#

I don't like mil-sim stuff, unless it has some sci-fi or fantasy or horror stuff mixed in

glossy agate
#

This is more like rainbow6 siege. Takes teamwork and tactical strategy.

wicked oak
#

Insurgency

mighty carbon
#

yeah, it doesn't tickle my fancy

glossy agate
#

Oh yeah if your not a fan of the genra than you probably wouldn't like it

#

It's all hardcore mode with no respawn

#

It has the most rabid vr fan base though

#

I watch them to see what vr players want

wicked oak
#

oh god the smooth locomotion crowd

mighty carbon
#

yeah, that too

glossy agate
#

The crowd that spends $60 on a vr gun stock

#

Noobtube

mighty carbon
#

I can't stand FPS locomotion in VR

#

I might be able to deal with move forward only type of movement, where I move forward smoothly where I look

#

like, press a button on controller and player begins moving where user looks

glossy agate
#

That how mine works, but you move fast

mighty carbon
#

no side step, no diagonal movement

glossy agate
#

Boat throttle version though where speed is set by controller pitch

mighty carbon
#

side step would be you literally moving in the room

#

I'll finally get to try various things the week after next week and I'll see how I feel about locomotions and motion controls ๐Ÿ˜ƒ

glossy agate
#

Yeah! You get yours really soon right?

mighty carbon
#

already got it, but I am not coming home until next weekend.

#

and I still need to order 3rd sensor

#

and probably extension cords

#

or I might just do front facing VR for now

#

(and I don't have room for room scale anyway)

#

btw, how much content do you feel a game need to have to go for Early Access ?

glossy agate
#

For a game game probably an hour for $7 For a sandbox or arcade type game probably 3 or 4 good mechanics, and see if people latch on

#

Got a few people with 8+ hours on just my demo with 3 similar levels just different layout

mighty carbon
#

$7 ? You kidding?

#

why so cheap ?

glossy agate
#

Standard $7.99 to $19.99 seems to be the rate for the smaller games. Serious Sam is $29 but 39 after the sale is over so you will be competing with that

mighty carbon
#

well, Serious Sam is an ancient game

glossy agate
#

Pavlov vr went with $10 and launch sale at $5 for the first week. Currently sitting at 12-13k users

#

Onward is $24 sitting at over 40k users but they were first to market

mighty carbon
#

They have trimmed Dishonored 2 for free (3 missions; ~20Gb install before unpacking) on Steam. So might as well don't make games because it's impossible to compete with free AAA lite edition of Dishonored 2 that offers 4+ hours of gameplay, right? ๐Ÿ˜ƒ

glossy agate
#

Yeah, vr had a hungry crowd, but still shy about spending lots on an unknown game. Gotta have a good marketing strategy to get the needed impressions

mighty carbon
#

there was some indie game that went for $80 for Early Access.

#

Planetary Annihilation or something like that.. Was quite a buzz around it. Haven't heard about it for several years after it launched.

#

it's kinda hard to foresee what happens and how to price your game.. Seems like a gamble to me.

glossy agate
#

That's a risky move. For MP you have to have a ton of buzz and/or low price to get enough people in so you will have matches.

#

Most vr mp games fail because the servers die fast like hover junkers

#

Need at least 10k and a decent discord community to keep it going. Even the Arizona sunshine multiplayer is nearly dead. I have to invite people to play most of the time

mighty carbon
#

don't make MP game ๐Ÿ˜‰

#

make it SP (with MP framework)

glossy agate
#

But when they hit, they really hit hard.

mighty carbon
#

they rarely hit

#

even for AAA

glossy agate
#

Yeah, that's what az did

#

Yeah I avoided it on my first game due to the risk for all that work

mighty carbon
#

most recent example is Doom - SP was a blast, MP was only good for some (and most of MP crowd weren't even hardcore Doom fans)

glossy agate
#

Yeah, I played like 2 matches and quit on doom

mighty carbon
#

I am not a big fan of MP in general

#

I wouldn't mind meeting people in MP when I play MP as SP.. So I just run into them and either we do something or we part ways. I'd still prefer going solo and maybe get help with certain quest or something.

glossy agate
#

Yeah thats how I am planning my next game. Single player with drop in coop for non private games. If it gets popular I can have king of the hill pvp for like 8-10 people

mighty carbon
#

@glossy agate got anything to show already ?

glossy agate
#

Yeah, demo is on Steam. Final is released mid to late may. Called Trance VR

#

have nearly 1000 downloads so far. No real sickness reports, but just a few wet mouth reports

#

I actually I think I showed it to you a while back

mighty carbon
#

so, let's ban VR before it's too late? ๐Ÿ˜›

#

these f#ucking ethics people... no cloning, no genetic engineering and now they got to VR

glossy agate
#

Just make mass shooting simulator and have them write articles to promote it for you. Like GTA, hatred, and carmageddon did haha. This is America! Where controversy pays waaaay better than ethics

mighty carbon
#

well, not sure about that nowadays

glossy agate
#

Made in ue4. They pulled it off steam for a bit but let it back on because freedom of speech

mighty carbon
#

yeah

#

that's not VR though and it wasn't FPS either

#

and it wasn't made in US

glossy agate
#

Yeah, all the marketing hype was just controversy. Probably would have sold a tiny bit without the hate.

#

And I am in no way suggesting anyone make a VR mass murder simulator to be clear haha

mighty carbon
#

๐Ÿ˜„

spiral zephyr
#

can you imagine the tilt brush/soundstage crossover? Lot of creative freedom there..

fleet veldt
#

anyone have experience with the stereoscopic 360 video plugin? is there a guide handy on setting that up?

blissful bear
fleet veldt
#

@blissful bear cool i will. I'm also on 4.15 hope i can get it to work XD

blissful bear
#

I hope you can too! It seems perfect for sharing your hardwork with as many people as possible. I'd forgotten about it until your post.

glossy agate
#

@fleet veldt if you search it on the forums there are some tips too. I set up everything in the level bp and used a string of console commands to fire off the settings via key press. Took about 4 days to render 1 minute though so I let it run while I was on vacation.

fleet veldt
#

@blissful bear @glossy agate thanks both. I was just now able to do a simple 360 screencapture based on the docs. HOLY cow 4 days for 1 minute of scene. ouch

sturdy coral
#

@full junco where does the steam audio plugin live in master? I see the synthesis stuff but not it

glossy agate
fleet veldt
#

@glossy agate what was the resolution of the render output by the plugin?

glossy agate
#

its 2 renders per frame, one for each eye. I set it to 2048 width, and the end result when put together is 2048*2048. It was on my old machine, so my may new machine can probably render a bit faster.

#

If stuff is moving in your level though you have to lock the frames, or it will look like its moving in highspeed because rendering takes like a minute per frame or more haha. Hopefully its a little more optimized now

full junco
#

@sturdy coral I haven't looked at where that plugin is, I only saw that commits that added or modified steam audio stuff

mighty carbon
#

ah, 360 degree panoramas - I'll need that eventually

fleet veldt
#

so how does this work considering your speraated pair of eyes/cameras have to rotate as you spin 360. my guess is that it renders left and right vertical column of pixels as if your "eyes" are facing it for the next pixel column rotate the eyes/camera a fraction of a degree and do it again until the entire image is done. anyone know for sure? (talking about stereo pano renders)

real needle
#

@full junco Destructibles are fundamentally broken. Changing vars has different effects every time and the workflow is terrible. They perform well but I'm not sure if I want to deal with all of these issues going forward.

full junco
#

hm, yeah

real needle
#

Is there a somewhat documented workflow of generating voxels out of 3dmodels?

full junco
#

for what?

real needle
#

Well, eventually I'd like to use it in engine, but I'm pretty sure that'd be step 2

full junco
#

the engine is voxelizing meshes when its generating collision

fleet veldt
#

@glossy agate wow, yeah after my testing it's taking 40 seconds to generate 4k left and right eye images for each frame of the cinematic. 97 second cinematic * 60fps = 5820 frames * 40 seconds = 232800 total seconds = 64 hours 40 minutes to render ๐Ÿ˜ฆ

#

and then you still have to have something composite and render all those still frames into a video

glossy agate
#

Haha yeah it's pretty brutal for time. Luckily putting them together is fast. When you import frame 0 into after effects it pulls in the whole stack automatically so you just set left eye on top, right eye on the bottom half of a square canvas and render. Google has a free injector to turn it into a panoramic for yt.

#

Check out the other panoramic on the marketplace though. I never tried it but I heard it's waaaay faster. Not sure if it's stereo thiugh

mighty carbon
#

4k is too much

glossy agate
#

Also render at 24 or 30 fps. 60 might be overkill for stills.

mighty carbon
#

interestingly enough, there are no docs about video specs for PC platform

simple cypress
#

Anyone knows if the Microsoft VR Headset has controllers and/or Is compatible with Oculus/Vive controllers ?

mighty carbon
#

they haven't announced if it will have controllers, but HMD itself won't be compatible with Touch

simple cypress
#

Thx @mighty carbon

mighty carbon
#

wtf, how about 3D TVs and 3D monitors?

simple cypress
#

Patents are going to be the end of everything

robust orbit
#

no kidding

mighty carbon
#

oh man, I begin not liking UE4 with passion :/

#

I gutted my project where there is nothing in it, bare bones - still crashes in the same spot with monoscopic renderer

fleet veldt
#

you deleted saved/intermediate/builds folders?

real needle
#

also redirectors, and last resort is to rebuild the project

full junco
#

why is there no "subtractive" material blend mode...

#

just the opposite of "additive"

#

I would have hoped that using a negative value in additive would do the same, but nope

#

ok, its easy to do that with the modulate blend mode I think ๐Ÿ˜„

#

but modulate has 2 instructions more...

#

and who wants to waste 2 instructions in a material

full junco
#

@fresh laurel what source is released?

fresh laurel
#

@full junco PSVR Bridge aparently

#

It is under GPL but yeah

rare violet
#

Anyone know how I can get my motion controllers to not be subject to rotation of HMD? I am just moving a mesh inside of my character for both HMD and controllers...each getting data from where they should, each working, but the cotnrollers seem to rotate with my hmd movement as if they were childed to them

#

nvm lol, had use controller rotation on the character defaults =X

wicked oak
#

morpheus bridge? but that thing is outdated

#

i couldnt get it to work

#

and i think that thing needs a ps4 devkit to do the tracker calculation

simple cypress
#

The whole thing is in c ๐Ÿ˜‚

#

It's not c++ , it's c

wicked oak
#

i know of a "HMD server"

#

but that thing was for ooooold sdks

#

we are at sdk 4.5 now

#

with that one, you are connected to the devkit, the headset is connected to the devkit, and the devkit gives you the image

simple cypress
#

@wicked oak So it's probably not usable for the current commercial PSVR ?

wicked oak
#

i have no idea

simple cypress
#

okies

#

I love that it's in c thou, never did any c

wicked oak
#

problem with C is that is just a step above assembly

#

it has no abstractions, its direct

#

good C is very elegant, but C itself is hella dangerous

#

at least with "C with classes" C++ you can still use RAII and things like that

#

in C you need to call all the "createX(myX)" and "destroyX(myX)" alongside the malloc and stuff

simple cypress
#

Yes it's for advanced users which i'm not

#

Also, perhaps it's because that precise component was an embedded system for a very precise use

#

So they used C only because of that

wicked oak
#

most likely

cobalt relic
#

C is still the reference langage in embedded systems

#

You see more and more C++ but it was common in even recent years to not even have C++ support on some microcontrollers

#

And you have a large pool of skilled engineers who only write C

wicked oak
#

yup

#

now with LLVM is getting better

#

plenty of microntrollers with w llvm backend or a way to modify a existing llvm backend to run that microcontroller

#

i know a guy who is writing for a gameboy advance on c++17 with clang XD

#

and it isnt half bad

cobalt relic
#

Even rather modern software like Git is 100% C, because the main author (Torvalds) hates C++. You'd think it would be a hip trendy Rust thing.

wicked oak
#

Git was made before rust exists. And rust is honestly not really finished yet for really serious production stuff

#

and yeah, Torval hates C++

simple cypress
#

the only thing I personally don't like with UE4 cpp are the "large" compile times compared to Unity

#

and the very random compiler errors

#

for instance right now, I stopped working on my project since two days because of that

#

I can't work on it because I'm fixing "errors"

#

sure, it's because I lack experience, but it's hard to learn about that

cobalt relic
#

What you really dislike is that C++ is a hard language

simple cypress
#

Personally not because I only use it very superficially

cobalt relic
#

That doesn't really matter

#

C++ is a low-level language, it doesn't try to clever stuff

#

It's a dumb tool

simple cypress
#

heh, It's the dependency system that bothers me

#

and the compile delays

cobalt relic
#

That's UE4 - C++ doesn't have a concept of dependency system

simple cypress
#

@cobalt relic For instance at the moment, I'm using the RuntimeMeshComponent

cobalt relic
#

It's 100% outside the language really, comletely up to the developer

simple cypress
#

It was working perfectly, and now the compiler refuses to see some of it's classes

#

While this plug-in compiles and works perfectly by default

cobalt relic
#

Let me fix that : And now your code has issues that you are having trouble to fix

simple cypress
#

I've had this error a dozen times, The only thing I could do was moving the classes to different random files

cobalt relic
#

Stop blaming the compiler

#

The compiler doesn't have bugs

simple cypress
#

Yes it does

cobalt relic
#

It doesn't

full junco
#

it's not the compiler, it's ue4s build system that has the bugs

cobalt relic
#

It's not even that

#

He's having include issues

full junco
#

often stuff is magically fixed again after deleting all intermediate and other folders

simple cypress
#

It's very hard to detect those issues

#

it's so undocumented that i'm hardly at fault

#

there's not even warnings for __ sake

cobalt relic
#

They can't be warnings

#

You seem to think that the compiler is being mean

simple cypress
#

No i don't

cobalt relic
#

The compiler is unable to compile - it didn't decide not to

#

Because the code is wrong

simple cypress
#

I'm saying the compiler ( or UHT/UBT ) obey to rules that are opaque and not documented

#

therefore I can't do what it needs to work properly

#

therefore It's the same as a bug

cobalt relic
#

Include the correct headers and it will work, most of the time

simple cypress
#

@cobalt relic " most of the time " is not an answer , it doesn't work for me ๐Ÿ˜ฉ

cobalt relic
#

If it doesn't work for you, it's because you fucked up - so we can help with that if you start asking actual questions instead of blaming the tool

simple cypress
#

what do you think, that i'm going to accept one year of my work failing for no known reason " because the compiler is always right " ?

#

@cobalt relic It doesn't tells me where and what I fucked up

cobalt relic
#

It doesn't because itn can't by design of the language

#

It has no way of telling you that

simple cypress
#

It compiles fine, and then the minute after, it doesn't

full junco
#

it always tells you roughly what the issue is

cobalt relic
#

You're asking for a fully different language

#

Share the code and errors and people will help

#

It's not black magic

simple cypress
#

@cobalt relic no I'm not, please stop implying i'm saying things while i'm not saying them

full junco
#

sometimes it is black magic, because there are bugs in UBT

simple cypress
#

thanks by advance, and I appreciate your skills and expertise @cobalt relic

#

and yes @full junco by compiler I should mean UBT or UHT

#

@cobalt relic and I W.O.U.L.D share the code , but I cannot

#

I wish i could, I really do

cobalt relic
#

Give us the 5 lines around where an error is and change the names

#

That's enough

simple cypress
#

To me, It's just not supposed to work like that... working on something with no errors, a sudden crash with no given cause, and you have to handle all your code to a third party that tells you " don't do this and that it's bad "

cobalt relic
#

Welcome to C++

simple cypress
#

@cobalt relic Okay I'll try to do that

cobalt relic
#

C++ is a low-level language it's one stop above machine code

simple cypress
#

@cobalt relic UHT is not though, it's full of reflection and in C#

cobalt relic
#

Yes, but UHT is not the one who fails here

full junco
#

it likely is UHT or UBT

simple cypress
#

I think it is :S ( sorry @cobalt relic )

cobalt relic
#

It likely is the code

full junco
#

no @cobalt relic

simple cypress
#

@cobalt relic My code DID provoke the error, sure; but The reason ""why"" it did, is opaque and hidden

#

That's my grief ^

cobalt relic
#

You will always have opaque and hidden answers from a C++ compiler

full junco
#

but the issue is likely not the compiler but UHT or UBT

simple cypress
#

@cobalt relic So i will always need to depend to someone else to tell me what the opaque c++ gods want ?

#

You think i'm going to accept that ? ๐Ÿ˜„

cobalt relic
#

No, you need to learn the intricate finer points of the language

full junco
#

if UHT fails to include the correct header then dont blame low level C++ for that

cobalt relic
#

You're going to spend years doing it

#

Welcome to C++

#

@full junco I would gladly accept that it's an UHT bug once I see the code and fail to provide an answer

simple cypress
#

@cobalt relic Thanks for the welcome and I appreciate that, but those answers are a bit too "hidden"

cobalt relic
#

Not a second before that

simple cypress
#

Sure ^

full junco
#

@cobalt relic its just 500% more likely that its a UHT/UBT related thing

simple cypress
#

If it's failing, it can be proven somehow

#

@cobalt relic and for the record, I have backups of all the projects with the failing errors, so that will be possible eventually

full junco
#

I am also using the RMC and I know the RMC also seems to have some issues with UHT/UBT, for example it breaks hot reload

simple cypress
#

It's not the compiler yes, UHT or UBT

cobalt relic
#

So what's that code like ?

#

Let's stop talking about how it's UHT's fault

#

Or UBT or Epic or the Moon

full junco
#

Mars

simple cypress
#

@full junco It's very precisely UHT/UBT as far as I'm concerned, and ok let's stop talking about that

#

The code is RuntimeMeshComponent embedded into an actor that never moves from the scene

cobalt relic
#

What's the error ?

simple cypress
#

the actor updated RMC to draw polygons

#

the error is an RMC class not being recognized

cobalt relic
#

I don't need to know what your code is doing

#

What's the error text ?

simple cypress
#

@cobalt relic just saying because you asked " So what's that code like ? "

cobalt relic
#

I don't see code

#

I don't see compiler messages

#

Code that doesn't compile is grammar

simple cypress
#

@cobalt relic I'm in the process of moving things around atm, but I will give you compiler messages yes

cobalt relic
#

Not architecture

simple cypress
#

@cobalt relic I understand you require the very precise errors/messages

cobalt relic
#

Yeah a copypaste with names edited out so that your employer doesn't sue you out to oblivion ๐Ÿ˜‰

simple cypress
#

Sorry I meant i'll show them to you later on

#

๐Ÿคฆ sorry

cobalt relic
#

Yeah yeah that's fine

simple cypress
#

@full junco " if UHT fails to include the correct header then dont blame low level C++ for that " Yes that's not what I want to do

cobalt relic
#

Including headers is not exactly what UHT does though

#

It's what your .cpp does

#

UHT deals with generated headers

simple cypress
#

@cobalt relic I should take some time to understand the whole UE4 precompiler stuff Indeed

#

the only thing i comprehend is " The code is valid c++ side, maybe not elegant/done right, but valid, and The compiler refuses to recognize some classes/structs "

#

so It probably comes from UHT / UBT because it's responsible for giving the final .cpp/.h files to the compiler

cobalt relic
#

UHT generates code

#

Then the compiler compiles it

#

If it fails, it means the code is wrong - maybe because the parts that UHT generated are wrong, maybe because yours is wrong

simple cypress
#

@cobalt relic I vaguely remember someone mentioning UHT works in a non-determinist way, and that's what causes the crash

cobalt relic
#

If it works, it doesn't mean the code is correct

#

Because of the way dependencies work

simple cypress
#

It's finishing to bind classes to a unit before another one, and that's why it crashes or something

#

@cobalt relic But in this case, shouldn't there be written rules in the doc about what to do ? or even UHT warning ?

cobalt relic
#

UHT isn't supposed to check your code

#

That's not what it does

simple cypress
#

Oh, lucky us then

cobalt relic
#

And it would be a murch larger task that what it does do

simple cypress
#

Okay

#

@cobalt relic I think it the whole process could be monitored, we could see where are the errors

#

just even some log windows with "adding this class, needing this class, haven't found this class "

cobalt relic
#

Output window in VS, read the first error, understand it, fix it

simple cypress
#

just more transparency

cobalt relic
#

No but that's just not nhow it works

#

There is no "adding this class"

#

It's way more low-level than that

simple cypress
#

@cobalt relic adding more transparency to a process doesnt costs anything tho

cobalt relic
#

What you're describing has no link to reality

simple cypress
#

@cobalt relic I was talking of UHT/UBT by the way

cobalt relic
#

You want to know how it reallyworks ?

simple cypress
#

So I can fix my code yes

#

OR, I don't want it to crash, but I understand that's more difficult

cobalt relic
#

The process goes that way : for each .cpp file, the compiler tries to build it (.h are ignored)

#

Your .cpp usually does include headers, they are copypasted into your cpp

#

Like plainly copypasted without question or process

#

Then the compiler parses the ~5 million line result (still for each cpp)

simple cypress
#

@cobalt relic question pls

cobalt relic
#

At that point if one include was missing it fails to recognize some class

simple cypress
#

for every.cpp file, It will paste the whole engine ?

cobalt relic
#

if you include Engine.h, yes

simple cypress
#

ok

cobalt relic
#

If you include what you actually use, no, but that's only since 4.15

simple cypress
#

they did a nice thing there

cobalt relic
#

Now one reason your code might work at some point, then not, is that sometimes, your header includes other project headers

simple cypress
#

@cobalt relic " Now one reason your code might work at some point, then not"

#

it's Exactly as you said

#

happens with RuntimeMeshComponent

#

( a component that has..... a lot of complexity )

cobalt relic
#

It has probably no correlation to what it does

#

Build is about grammar

simple cypress
#

yes

cobalt relic
#

It doesn't care one shred about what it does

#

Now the issues with headers including other headers is that the headers are merged at build time, kind of

#

You can't have duplicate headers, and the order of inclusion is important (dependencies)

#

Now C++ doesn't do any dependency so if you have class A, class B depending on A, you need to include A first

#

If you include B first, it breaks

#

And that's very much by design : it's meant to be a dumb tool, not a clever one

simple cypress
#

@cobalt relic cannot there be something that monitors this process or copypasting and merging .h files ? and seeing the completed.cpp file ?

#

so that would permit to re-order the dependencies in a better way, we would SEE why it's bad and how to fix it

cobalt relic
#

It probably exists in some compilers but it's probably not easy to get that with UE4

#

But here's my point

#

It shouldn't be necessary

simple cypress
#

assumptions

cobalt relic
#

No, really

simple cypress
#

with RuntimeMeshComponent, it's necessary tho

cobalt relic
#

Let me give you a piece of fun fact

simple cypress
#

and I've no idea if RMC actually needs to be that complex

cobalt relic
#

it doesn't, and it probably isn't

#

Listening ?

simple cypress
#

sure, I'm listening

cobalt relic
#

If you have a class A and a class B, and class A has a pointer to B, and B a pointer to A

#

How do you do the includes ?

simple cypress
#

with forward declaration ? and including the .h file in the B .cpp file ?

cobalt relic
#

Yeah, forward declaration of A in B.h, fwd of B in A.h , and both includes in both cpps

#

So you see that you don't really need to have depth in includes

#

Because your header shouyld be super simple

simple cypress
#

Indeed, but that doesn't works in this precise case

cobalt relic
#

WHy not ?

simple cypress
#

and In this case, it stops working randomly

#

not because of the dumb copy pasting tool you're talking about

cobalt relic
#

Well, what happens exactly ?

simple cypress
#

probably because of UHT , and i'll try to dig into Engine/Source/Programs/UnrealBuildTool

#

@cobalt relic What happens is, all the includes/forward declarations are done, and then

#

In RuntimeMeshComponent, that has compiled well manytimes before

#

suddenly, when compiling

#

the output windows says EUpdateFrequency isn't valid, for instance

cobalt relic
#

So that's in RuntimeMeshComponent.h or something ?

simple cypress
#

yes EUPdateFrquency is from RuntimeMeshComponent

#

So as to fix this, I have to move EUPdateFrquency to it's separate .h file

#

But then , that happens agains for various classes

cobalt relic
#

No you don't

simple cypress
#

Okay what do I do then

cobalt relic
#

Well, where is EUPdateFrquency actually declared ?

simple cypress
#

@cobalt relic moving it to another .h file DID fix the error though

#

@cobalt relic In RuntimeMeshCore.h where there's many declarations

#

of various structures/classes from the component

cobalt relic
#

So did you try including RuntimeMeshCore.h just before including RuntimeMeshComponent.h in your .cpp ?

simple cypress
#

no because I assumed RMC was allright and didn't need modifications

#

but I will

cobalt relic
#

it doesn't

#

You shouldn't ever edit engine heades to fix your build

simple cypress
#

It's not an engine header it's a plug-in header tho

cobalt relic
#

Same

simple cypress
#

Ok, but It's user-made, not engine-made; I noted I shouldn't do that

cobalt relic
#

Well you can, sometimes you should, but the reasonable assumption when you are not super-experienced is that maybe you did a mistake

simple cypress
#

Indeed, but the reason why I don't assume I've made a mistake

#

Is because RMC was compiling well before, and then I changed a variable not related to RMC somewhere

#

and then RMC crashed, for no reason

#

that's why I assume that

sturdy coral
#

@fleet veldt I'm modifying the oculus low latency update on the controllers to use most recent data like steam VR instead of predicted future position.. no idea why they were doing it that way on the controllers

cobalt relic
#

Crashing has no impact on whether it's building or not

#

It can't have

simple cypress
#

crashed isn't the right word , sorry

#

and then RMC spawned those compile errors, for no reason
that's why I assume that

sturdy coral
#

@fleet veldt so when low-latency is on it will be newer data than tick at tick time (what you get without low-latency), but it won't try to predict into the future which causes all the jitter

cobalt relic
#

But like I said to you 2 days ago @simple cypress - I regularly have the exact same issue you have, though with other classes, and I'm very much aware of what happens. It's annoying, it's kind of painfuln but it's definitely not an engine bug or compiler bug - it's messed up headers on your side

simple cypress
#

It was like

cobalt relic
#

And I'm not sying headers are simple

simple cypress
#

@cobalt relic Okay but the issue I have is that it's difficult to grasp "how" to do headers right , and there's no tools to locate problematic includes

#

And the way the error happens is just plain unacceptable

#

i was fixing my Widget interface

#

when the mesh component spawned compile errors ffs

cobalt relic
#

I recommend you don't use C++ then because that's the way the language is

#

UE4 is entirely unrelated to that

simple cypress
#

bullshit ๐Ÿ˜„

cobalt relic
#

Well I do write C++ for a living

simple cypress
#

I understand and I'm happy for you, I understand you have skills

#

but ,

#

Bullshit ๐Ÿ˜„

#

and now I must resume fixing my things

cobalt relic
#

What's bullshit ? That C++ gives you hard to parse errors ?

wicked oak
#

the errors depend on the compiler

#

clang and GCC are faaaar better

simple cypress
#

@cobalt relic first, It's not C++ It's UHT/UBT , UnrealBuildtool or something

cobalt relic
#

It's not

wicked oak
#

clang/gcc "Definition not found for function void stuff()"

#

visual C++; LNK43215: Symbol ASDFAWER@stuff@Void___ not found

cobalt relic
#

The output you are looking at is not coming out of UHT

#

It's coming from MSVC

simple cypress
#

@cobalt relic Okay so I'm gonna blame MSVC in this case ( I understand it's a "dumb copy pasting tool" so I shouldn't blame it because of that )

#

The bullshit is :

#

I'm working on my widget code, for hours

#

Things are compiling ok for weeks

#

and suddenly, RuntimeMeshComponent.cpp says " EEUpdateFrequency" isn't valid

#

then i have to move things around desperately, withtout ANY CLUE of what the fuck happens

cobalt relic
#

And I just gave you the fix

wicked oak
#

that has happened to me. Its just that the includes arent properly added

cobalt relic
#

^

wicked oak
#

due to how the system "merges" cpp files, this stuff is not the same every time

cobalt relic
#

It's 100% your code and it's 100% something that happens every day in C++

#

That's not bullshit

wicked oak
#

im with @cobalt relic , its has happened to me

#

you need to find where "EEUpdateFrequency" is defined, and #include it

simple cypress
#

@cobalt relic @wicked oak But how do I know what .h file to move FFS ? there's dozens of them in my files

cobalt relic
#

You look for the missing stuff

wicked oak
#

go to definition

cobalt relic
#

See where it's declared

#

Include it

wicked oak
#

ipart of visual studio

cobalt relic
#

Go to next error

wicked oak
#

alternatively, search for the thing in the whole solution

simple cypress
#

@cobalt relic @wicked oak I'm in the process of moving things around, so it's difficult to be precise

cobalt relic
#

That's how you write C++ - it's not a bug, it's the way the language is, and if you want to argue that it sucks, I will fully agree that C++ sucks for dependencies

wicked oak
#

becouse it does

simple cypress
#

I did fix this error several times, but it keeps reappearing

cobalt relic
#

I mean I'm 100% convinced that C++ sucks for lots of things

wicked oak
#

thats couse you werent correct at the start

cobalt relic
wicked oak
#

and unreal unity build just happened to let your stuff work

simple cypress
#

What kills me is the " random" aspect of it

wicked oak
#

its an easy error to fix

#

just include the file where its defined

#

on the .cpp

cobalt relic
#

@simple cypress The reason it worked before is that the header was included by soimeone else

#

And that is random

wicked oak
#

@simple cypress whats the name of the type

#

EEUpdateFrequency ?

simple cypress
#

@wicked oak It's not bugging now because I moved it to RMC_UpdateFrquency.h and I included it

#

so it's fixed, but there's other errors now

wicked oak
#

oh god dont do that

#

do not mess with engine files or generated files

simple cypress
#

It's not an engine file , it's a plug-in file

wicked oak
#

uhmm

simple cypress
#

It's in my game folder

wicked oak
#

you need to add the plugin to include modules

cobalt relic
#

@wicked oak It's not bugging now because I moved it to RMC_UpdateFrquency.h and I included it
^ this is NOT the fix

#

And you should undo that

simple cypress
#

Source/ProjectName/RuntimeMeshComponent/RMC_Core/RMC_Updatefrequency.h

wicked oak
#

Public Depencency is the one i think

#

btw this lets me access morpheus files (and its a plugin)

cobalt relic
#

That's not his issue @wicked oak - He was able to build it

#

The issue is plainly the RuntimeMeshCore.h thing

simple cypress
#

Currently I have another issue

wicked oak
#

put the plugin in the engine itself

#

instead of the project

#

ive been able to include engine plugins easily

cobalt relic
#

BTW @simple cypress did you update RuntimeMeshComponent ?

wicked oak
#

might be related, but im not sure

simple cypress
#

@wicked oak no because I need to modify It

#

because It doesn't do what i want ( and it's fine, I'll modify it )

#

@cobalt relic all the time ! everytime there's a new version

cobalt relic
#

It's been fixed there and then

#

Your issue

#

So that you don't need to include the other .h first

#

You can just update and I'm confident it will be resolvd

#

OR do what I suggested

#

Unless you work on 4.14 or less ?

simple cypress
#

@cobalt relic I have the latest rmc , and 4.15 atm

cobalt relic
#

Well I doubt it

#

Well maybe but not with the error you gave me

simple cypress
#

@cobalt relic It's difficult for me to give up-to-date errors

#

It's stupid isn't it ?

cobalt relic
#

Because the header you're having can't happen in the latest

#

RuntimeMeshCore.h is included inside RuntimeMeshComponent.h

#

No amount of UHT can break that

simple cypress
cobalt relic
#

"the error you're having" sorry

simple cypress
#

@cobalt relic Excuse me to ask you that, but " No amount of UHT can break that " are you familiiar with UHT code ?

#

Because I'd love to ask you a bunch of questions about it some other time

cobalt relic
#

I'm familiar with the way the language works, I have never once in three years needed to learn anything about UHT or UBT

#

It just works

#

Anyway, can't help without more info but

  • Get the latest again and make sure you overwrite your changes in that plugin
  • Try a full rebuild again
  • Check here for help
simple cypress
#

@cobalt relic I did burn a cd with the latest version yesterday

#

and full rebuilds, deleting intermediate etc, never ever changed anything

#

I'm continuing to move my code, Thank you a whole lot for the help

#

Next time I'l try to stop what i'm doing to collect meaningful error pastes

cobalt relic
#

For what it's worth I feel for you, I really know what this feels like to have something break for no reason, and that happens to me sometimes, including in UE

#

Not trying to be a dick, just explaining what can or can't happen

#

It's complicated enough without starting with an idea of what is broken

simple cypress
#

@cobalt relic

#

Yeah indeed, won't talk about that too much, these are different conversation topics

raven halo
#

@mighty carbon

#

have you seen this?

#

looks pretty nice for gearvr! ๐Ÿ˜„

#

and those lights have bloom! XD

mighty carbon
#

Well, if it was made in Unity, it could have bloom

#

Haven't seen it though

#

Also kinda disappointed with UE4 in regards to Gear VR

raven halo
#

have you seen Epic's last twitch stream? they were showing performance improvements to bloom. Where they could turn off as many kernels as they want. So setting each individual kernel intensity to 0 now turns off that pass

#

totally agree on that statement

mighty carbon
#

I mean, I had a bare scene yesterday and still get crash with monoscopic

raven halo
#

:/

mighty carbon
#

There is absolutely nothing there to cause crash

#

But according to Epic engine is not at fault

raven halo
#

It's like you need to not use those features and let them mature. on the other hand, if nobody tests them...

mighty carbon
#

And since mono is out of experimental and is in master, then this issue will never be fixed

#

Right, that puzzles me too

#

Oh well, I wasn't planning on using multiview or mono to begin with, so I guess I should just wrap my project as planned

raven halo
#

in my experience Epic will announce features too soon. Like the ASTC thing. They announce ASTC texture compression support. Then you find out they are only compressing 8bit textures, and are not implementing any of the other features. But you don't find this out by reading documentation, but by noticing fishy things in the cooked content.

mighty carbon
#

I have a feeling it's just 2 of us working with UE4 for Gear VR and reporting bugs. Doesn't look encouraging to Epic ๐Ÿ˜’

sturdy coral
#

@motosep did you get a backtrace for the crash?

mighty carbon
#

I can't

#

It doesn't crash in pie, but only on Gear VR

raven halo
#

@mighty carbon I'm always thinking there might be more people, but they might be posting in the private UDN forum. I think that still exists.

sturdy coral
#

@mighty carbon gear doesn't have a way to save off a backtrace?

mighty carbon
#

Not that I know of

sturdy coral
#

you could also try remotely attaching a debugger

raven halo
#

you can do the good old "startfile" command or whatever it's called. but in terms of gpu.. they broke gpu profiling some versions ago

mighty carbon
#

How?

raven halo
#

4.15 supposedly fixes it, but it's still broken in my experience

mighty carbon
#

Stat startfile won't work, unless I add some delay to keep the game from streaming main level before I enter cmd

sturdy coral
#

@mighty carbon startfile is just for profiling, not debugging, right?

#

or are you guys talking about something else

raven halo
#

oh right, for debugging there is nothing afaik

sturdy coral
#

there has to be a way

#

they wouldn't have been able to develop all the android support without debugging

raven halo
#

I haven't looked too much into it I gotta say, so don't take my word for it

mighty carbon
#

I have no idea how to debug UE4 on Android

#

There is a debugger for native code

sturdy coral
#

@mighty carbon does it put a dump file into the Saved/Logs folder like on windows?

mighty carbon
#

The whole point of using UE4 or Unity is that the dev of the engines takes care of this crap

sturdy coral
#

@mighty carbon every app has crashes, you have to be able to debug them especially to take user crash reports and figure out what is goin on

mighty carbon
#

Unity does at least. That's why Oculus uses it for Gear VR

#

Well, maybe UE4 just doesn't have a way yet

sturdy coral
#

can you check if there is a Saved/Logs folder on android?

mighty carbon
#

Now that Epic makes Android game, maybe they'll have something to make life of mobile devs easier

sturdy coral
#

I would be shocked if there is no way to do it

#

otherwise it would have been a huge feat of engineering for epic to develop all their android stuff

#

there has to be a way

mighty carbon
#

I see log file in UE4Game folder

sturdy coral
#

but if you can get a dump file with a backtrace you may be able to figure out an easy bug or point us to somewhere to look, a lot of times it will just be a null pointer or something that is easy to see right away

mighty carbon
#

But I have no idea if and where Android logs are saved

sturdy coral
#

on windows when you get a crash it leaves a .dmp file in the logs folder

#

\MyProjectName\MyProjectName\Saved\Logs

#

see if there is something like that

mighty carbon
#

Yeah, that's what I found

#

Afk right now, so I can't download and look into those

#

I'll do some Google-foo after breakfast and see what I can dig up

sturdy coral
#

when you are back ask around on #mobile too, if you can get the backtrace where it crashed I can look into it a bit just for obvious things

#

I've had to debug a ton of engine stuff with modifications I've done

#

but I have no experience with android/gear

mighty carbon
#

Aye, thanks

mighty carbon
#

alright, nothing useful in the logs

#

which I did and it shows nothing useful either

sturdy coral
#

@mighty carbon yeah logs aren't likely to help, you need the dump to get the backtrace, or a way to attach a debugger

#

but you should still look again for a crash dump, it goes into a subdirectory of the log folder. on windows the path looks like: Saved\Logs\UE4CC-Windows-A978C95C46C937EFBA547985B9029B18

mighty carbon
#

right, there is nothing like that

#

btw, all that page refers to is logcat stuff

#

not actual debugging as you do on PC with backtrace and whatnot

lament bay
#

Anyone have links to the latest resources on UI for VR? A google search returns all kinds of outdated stuff... I know they're must be some best practices that work well because roborecall has a great UI haha

mighty carbon
#

logcat

sturdy coral
#

@mighty carbon yeah but if you use that connection to run a shell the second link tells you how to attach a debugger

mighty carbon
#

WARNING: Failed to find jdb on your path, defaulting to --nowait
ERROR: Could not find AndroidManifest.xml in current directory or a parent directory.
Launch this script from inside a project, or use --project=<path>.

#

when I run it, that's what I get

#

I have no idea where that manifest is on the phone

#

and there is no manifest file until cooking stage

raven halo
#

@mighty carbon check it out! This is one of the things I'm using OpenGL 3 for:

mighty carbon
#

@raven halo niiiceee! Is that Gear VR controller ?

raven halo
#

Yes!

#

You move in the direction of the controller

#

And you use the trigger to fly and the touchpad to brake

mighty carbon
#

was it easy to set up in UE4 ? (the controller)

#

@sturdy coral it's not possible to debug Gear VR apps with gdb using Epic's UE4. Apparently only Oculus branches have that capacity :/

raven halo
#

yes, it was simple! ๐Ÿ˜„

simple cypress
#

Also, No google daydream outside the US ...

#

So it's impossible to make launch titles for daydream if you're not friends with some google marketer

#

Not everyone is as classy and efficient as Epic apparently

opal bobcat
#

just got a mergevr thingy

simple cypress
#

So just for the record, I do not give a damn about daydream, I'd rather wait for the popular knock-off that will have the actual userbase

#

As far as i'm concerned, they can keep their prototype

#

It won't matter in a couple of years anyway, there will be many HMDs and controllers for desktop/mobile

raven halo
#

@simple cypress I think it's available in the UK and Germany

#

I had to ask my sister who was on vacation in Germany to bring me 2 daydreams over to Spain

#

It's been impossible for us to get in touch with Google though

simple cypress
#

@Norman3D#4990 Perhaps I shouldn't complain about this, but It makes me mad

#

temporarily of course : )

wicked oak
#

you spanish @raven halo ?

raven halo
#

I don't quite understand the strategy of daydream at the moment

wicked oak
#

didnt know that

raven halo
#

yes

#

I have a german sounding name though

#

because I'm in fact half german

full junco
#

@raven halo if Google doesn't want to give you stuff, just develop for other platforms ๐Ÿ˜ƒ

raven halo
#

but I like to believe I'm more Spanish ๐Ÿ˜›

wicked oak
#

and no one has nationality on the internet, unless you say what country you are from

#

@raven halo what city? if you are in madrid i might have seen you around

raven halo
#

@full junco I don't now if they don't want to give me stuff, I can't even get in touch with them

#

Madrid, yeah

wicked oak
#

and becouse every country can deploy a international game

raven halo
#

<-(afk)

wicked oak
#

unless you are in north korea or something

simple cypress
#

I don't want to pay 500$ of import for a damn sea mask and a wiimote

wicked oak
#

spain has plenty of small mobile studios

#

that are paid nothing, and are kind of desesperate

#

want cheap gamedev? come here

#

the reason i do indie games on my own is becouse they pay me nothing around my city

mighty carbon
#

where are you, @simple cypress ?

#

(geographically)

simple cypress
#

@mighty carbon I'm not in Spain but I'm in Europe

mighty carbon
#

it doesn't say "we don't ship Internationally" so they just might

simple cypress
#

@mighty carbon It's available if I go to the Amazon page of my country

#

actually it's 89$ + 50$ for the shipping but that's fine

#

Sheeps are adorable

mighty carbon
#

so, where does $500 figure come from ?