Local Multiplayer Custom Render depth

I searched but found nothing similar.

I am running a custom render depth post process material.

For some reason it only works for the other player controllers’ screens other than player 0.

Any particular reason why this is happening?

I am not sure why this is happening.

Here is a screen shot of what is happening.

When Player 0 interacts with the door, i set the render depth via a custom event, but it doesn’t show in that players screen, only in the player 1/2/3 screens. Not for player 0 in any scenario.

Why is custom depth render not being rendered for player 0 but only for other players?

This is on local multiplayer.


Quick guess… Get-Active-Camera → Set-Post-Process-Settings for Player-0 is set to something else, overriding whatever its set to for the other 3 players or vice versa (overriding the Level / Map PP). Overall though, I don’t know how well Custom-Depth rendering will work in Split-Screen. As you can change PP per window / pane. But you can’t toggle Custom-Depth on an actor uniquely, its a global change / effect iirc… So if you just need to toggle it on / off for certain players it should work. But if you want different actors to see different outlines or FX on top of different actors in each of the split-screen windows, I’m not so sure that will work… :wink:

Thanks for responding, can you elaborate a bit more. No i am not trying to give the same object different render depth indexes. all the objects will have teh same render depth index. I just want to show the outline on a per player/screen basis.

“So if you just need to toggle it on / off for certain players it should work.”

This part. how do i make it work?

All the players are using the same “base” character and “thirdpersoncontroller” in BP, so i am not sure where the setting for just Player0 would be…

I just want the stencil to be visible for player 0 when player 0 interacts, and just show for player 1 when player 1 interacts. i dont want ghost stencils appear when the player doesn’t interact…


The answer is actually above if you look closely. Its similar to the widgets thread before (uniquely linking players to certain window panes by using Get-Player-Controller 0,1,2,3 → Create-Widget-Owner). Each pane has its own PP set-up using the node Get-Active-Camera → Post-Process-Settings. Clear? If not, go and watch a few tutorials, until you see how Epic have structured this (as there’s a bit of voodoo to it). But the trick is this. You keep two PP vars, one ‘clean’ and one for ‘custom depth’ and just toggle between them… BTW: You need to clone the Map / Level PP settings into the 2 vars first, so that everything matches visually.:wink:

I need to wrap my head around that. let me reread that a few times LOL i think i get it. but i have to sort it out in my head lol

So basically when i want to show the custom depth i swap the PP settings which utilizes the outline material asset. and when done, switch back to the pp setting without using the custom depth setting?

Now my question is, what will stop the other players from seeing the outlined items, if it just so happens that they are both activating the same pp setting at the same time?

it still doesn’t help figure out why right now the player 0 character still cant see the PP effect of the outline whilst using the same PP setting as Player 1 but player 1 sees it…

i might be dense… maybe my lack of sleep is kicking in HA

Don’t blame ya! Things like PP-Per-Camera above, or Split-Screen UI-Widget-Panes, or using Parameter-Collections to mod / blend materials (transparency FX), plus RenderToTexture / SceneCaptureCam tricks, feel quite hacky (bolted-on) or outside the normal flow of everything else in the editor tbh. So look for a working project to take apart, or watch tutorials until you have an ‘aha’ moment.:wink: @CoquiGames

Gotcha. I also just did a quick test, i set up 3 players, and now the player 0 and player 1 DONT see the PP effect, but player 2 does… hmmm. yea i need the aha moment. sadly not much is out there for custom depth and multiplayer… Thanks for your time and help!!

Yeah, haven’t seen any projects / tutorials / docs that put this altogether in one place for split-screen / local-multiplayer (if one even exists). So you have to scrounge about and guess at things hunting for clues. Whereas there are a lot of resources for online-multiplayer at least (whether you want to argue they’re complete or incomplete they do at least exist). Whereas split-screen gets largely forgotten about. @CoquiGames

Well its not 1992 so I guess no one plays games without internet any longer haha

There’s still devs making online-multiplayer games with local split-screen co-op though. :wink:

I just tried it in a split-screen environment and it seems to work fine.

Scenario 1 (outline around objects):
It’s set as a post-process material on the player camera, activating it based on overlap with an object, visible on both player cameras.

Scenario 2 (black outline around everything):
It’s set as a post-process material in the post process volume that’s in the level, visible on both again.

Yea that “working fine” is the problem. I DONT want it to show on both players at the same time… I Already have the custom depth rendering correctly. except its happening globally. and also NOT showing in the player 0…

That’s kinda where I am going with this one LOL

Sure, that part works. But…

What if you want to see an outline on object A on Player0’s cam but not Player1’s cam

…And at the same time…

What if you want to see an outline on object B on Player1’s cam but not Player0’s cam? :wink:

Right, I apparently misunderstood then. That too can be done…

Testing solution (I am aware that it can be refined to work without event tick, but ok):
-on the character, get the camera, create a new bool, call a node called Post Process Blend Weight and connect a select node into it and put it on tick (for now)
-meanwhile on the object that has the outline, where it gets enabled also enable the bool

It’s technically still there, but has 0.0 value unless the overlap changes it to 1.0 for that specific character and the camera component that is uses. This also affects other things in the camera post process (but not the one that’s in the level)
Alternative would be to make it distance based in the material itself. But yeah ideal would be to enable it just for the one player. In any case, those suggestions were on top of my head, time for coffee.

See thats the thing that is confusing me.

I am already am doing it that way. I am even changing the PP effect blend weight on the character, but it only shows on the LAST created player. UE4 Source bug? maybe. Ill post a video showing what i am doing in a sec…

I was pondering if its a replication issue, but cant be, since it is only happening on the LAST created player from the spawn loop… if it was a replication issue they ALL would be seeing it…