Skip to content
This repository has been archived by the owner on Jan 22, 2022. It is now read-only.

Add an [Networked(<targets>)] attribute #35

Open
orels1 opened this issue May 26, 2020 · 2 comments
Open

Add an [Networked(<targets>)] attribute #35

orels1 opened this issue May 26, 2020 · 2 comments
Labels
blocked-vrc Blocked due to missing underlying functionality or relying on some underspecified system enhancement New feature or request

Comments

@orels1
Copy link

orels1 commented May 26, 2020

Feature Description:
As a continuation of this it would be nice to have some sort of [Networked] attribute to use in your U# code. This will mean that we can use a C#-like style of invoking events while still keeping them networked, as right now we have to use SendCustomNetworkEvent.

Additional context:
Examples of usage would be

[Networked] // Target implicitly set to All
public void Bonk() {}

[Networked(All)] // Target explicitly set to All
public void Bonk() {}

Since we can define parameters for U# methods, this will also need to check for those and drop an error if you're trying to define a networked method with a parameter. But I think its a fair tradeoff for nicer code style and better refactoring support.

@orels1 orels1 added the enhancement New feature or request label May 26, 2020
@MerlinVR
Copy link
Owner

This is mostly waiting on VRC to better define what they are going to be doing with network events for what targets they'll be able to have, if/how they'll support parameters, how or if network events will be protected from "malicious" events sent by modified clients, etc.

@MerlinVR MerlinVR added the blocked-vrc Blocked due to missing underlying functionality or relying on some underspecified system label May 26, 2020
@owlboy
Copy link

owlboy commented May 26, 2020

how or if network events will be protected from "malicious" events sent by modified clients, etc.

🙏

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
blocked-vrc Blocked due to missing underlying functionality or relying on some underspecified system enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants