Search Unity

[RELEASED] Remote Variable Call - Directly Sync Variables Over the Network

Discussion in 'Assets and Asset Store' started by akauper, Apr 9, 2014.

  1. akauper

    akauper

    Joined:
    Jun 16, 2013
    Posts:
    7
    Hello everyone!

    Remote Variable Call(RVC) is now available on the Unity Asset Store

    I created Remote Variable Call while networking my own game because I was unsatisfied with the capacity of the default RPC method.

    RVC expands on RPC in two ways:
    1) It allows you to directly sync a variable over the network with a single line of code -- no need for a recipient [RPC] tagged method.
    2) It supports a wide variety of data types, including Array, Color, Color32, Vector2, Vector4, DateTime, and any custom class tagged with the [System.Serializable] attribute.

    How to use:
    1) Attach a NetworkView to your GameObject .
    2) Add the [RVC] attribute infront of any variable you wish to send.
    3) Call networkView.RVC(RPCMode/NetworkPlayer, variables) with the appropriate syntax(see example image) from within any script attached to the GameObject.
    The included variables will then be automatically synced over the Network. No other methods/functions are required!

    Included Methods:
    networkView.RVC() - Syncs any number of specific variables over the network
    networkView.RVCAll() - Sync all variables tagged with the [RVC] attribute within the calling script
    networkView.RMC() - Identical to RPC(), but allows for a larger number of data types to be sent.

    Example:
    $RVC Example Final.png

    Demonstration Video



    I hope you enjoy it!
    Please e-mail me with any question, concerns, or comments.

    Adam Kauper
    akauper@gmail.com
     
    Last edited: Apr 9, 2014
  2. Bennykru

    Bennykru

    Joined:
    Apr 9, 2014
    Posts:
    1
    Sounds cool.

    A few questions,
    Whats the speed like? (compared to an RPC)
    Can I serialize a class with embedded classes as variables?
    Is there a free version?
     
  3. akauper

    akauper

    Joined:
    Jun 16, 2013
    Posts:
    7
    Bennykru,

    The processing speed is almost identical to a regular RPC; ~1ms slower.
    The networking speed and the amount of data sent depends entirely on the data sent. Because RVC is capable of sending much larger Data Types (arrays and custom classes) they can take longer to send.

    Currently RVC does not support nested classes. That is, a class which contains a class type variable inside it cannot be sent.

    There is no free version of RVC at the moment.

    Thanks so much for the interest!

    --Adam