EverNewJoy / VictoryPlugin

Rama's Victory BP Plugin
MIT License
867 stars 256 forks source link

SublevelComponent - merging into upstream UE code #33

Closed hach-que closed 7 years ago

hach-que commented 7 years ago

Hi there! I've written a SublevelComponent which allows developers to have dynamic streaming sublevels working in multiplayer.

Previously we tried using the "Load Level Instance" functionality currently in UE, but this doesn't work in multiplayer as the sublevel doesn't get replicated properly. So I worked on a way to get sublevel instances working in multiplayer and this is what I came up with: https://gist.github.com/hach-que/11f2cf003ba61027f2d84fac1f3c8e2b

It's still undergoing testing, but it appears to work in all multiplayer scenarios including Play in Editor and separate processes. I want to get this SublevelComponent merged into the UE4 engine at some point in the future when it's stable enough, because I feel like having level instances in multiplayer is probably useful to a lot of other UE developers.

The SublevelComponent however uses the AddToStreamingLevels and RemoveFromStreamingLevels functions from this BP library in order to get the level instance setup/teardown working as expected. Before I can send a pull request to Epic, I'll need permission from you to actually include these functions in the PR since the engine doesn't currently include them from what I can see.

If it's okay to license these functions for inclusion into the Unreal Engine itself as part of a PR, please let me know.

EverNewJoy commented 7 years ago

"The SublevelComponent however uses the AddToStreamingLevels and RemoveFromStreamingLevels functions from this BP library in order to get the level instance setup/teardown working as expected. Before I can send a pull request to Epic, I'll need permission from you to actually include these functions in the PR since the engine doesn't currently include them from what I can see."

As long as you include a link to this github repo and mention that I, Rama (git @ evernewjoy), am the author of the plugin its fine with me if you endeavor to get your pull request accepted.

I would like to emotionally prepare you in advance that there's a high chance that they will reject a direct integration and tell you to offer your code under their wiki section for "great contributions" that they don't plan on directly integrating with the engine.

I do wish you every success though, so keep me posted on how it goes!

🌈

Rama