Common & Creator Related
Vehicle Related
Avatar Related
Gesture Related
Scene Related
Quest Related
This page lists particularly common functionalities, and describes the best tool for the job with a focus on commonly used terms in other popular virtual worlds.
Use Mecanim, you can animate anything - objects, materials/textures, texture scrolling, skinned animation (including mocap imports). Can be used on any object (Clothing, Gestures, Regions, Vehicles, etc.) See Unity Documentation
Cutscenes: Use either Gestures (built-in), or USequencer (supported paid addon)
Use Mecanim (see above) and one of:
World Space UI Canvas (Unity Feature) -- use to make buttons.
Check Tip Jar for details.
See:
Components/Statue - base NPC component
Music, see:
Components/StreamingBackgroundMusic - for linked MP3/OGG files.
Components/SceneBackgroundMusic - for Shoutcast/streaming music.
SFX and Environmental Audio:
See Unity Manual, all parts work (including Reverb Zones and other audio filters and effects like low/high-pass, distortion, echo, etc.) Audio Sources
Use Shuriken, the Unity3d Particle System
See:
See:
Components/TeleportPad - intraregion teleports with UI
Components/TeleportLocal - intraregion teleports
Components/TeleportWorld - interregion teleports
See:
This is built-in. See Clothing Customisation
Use a UI Canvas (Unity, see documentation). Screen Space or World Space, can be embedded in regions.
You probably don't need these.
See:
This component is used to animate a vendor console when the avatar comes closer.
This component is used to create an animation vendor to preview and by animations /gestures.
This component sets an ATM interface for users to purchase gold in a region.
Add this component to an ATM mesh / NPC statue.
Any user that clicks on it will get the Purchase Gold interface
The audio reactive components listen to the audio in your region (including music streams and audio clips), and can alter and animate objects, materials and lighting within the region in time with the
To set up your scene in Unity for the audio reactive components, you need to first either drag an audio file from your PC into the project window, and then into the hierarchy, or for music streams, you need to (info).
This component can be attached to the 3D object you want to react to the music and then used to transform the 3D object in time to the audio.
You can transform the object within the component, so you can set the object to scale, rotate or move in certain directions.
To add this component to your object, select the object in your hierarchy and under the Inspector window on the right, click on 'Add component'. Search for audio reactive and choose 'Audio Reactive Transform'.
There are different types of bands for the different frequencies in audio. For example, if you want the object to move to only the bass of the audio, you will need to set the band min slider to 0, and the band max to 1. You can play around with the different values until it matches the audio band you want the object to move to.
The BPM Window Limit defines how many seconds to analyse for determining the BPM. So, for example, if you set this to 3, it will listen to the last 3 seconds, if you set it to 10, it will listen to the last 10 seconds.
The limit increase/decrease determines how quickly the values can change. If you have fast paced music and want the object you have to react faster to the audio, you can change the limit increase/decrease to 10,000+ to make the object move very quickly in time to the audio.
These determine how quick the reactions are, so you might want to set these values to your liking.
This sets the mode to BPM or Band.
This will change the objects position when checked. You can set how far the object will move and in which direction on the Z,Y and X axis in time to the audio.
This will change the direction in which the object is rotated when checked. Again, this will set which way the object will rotate on the Z,Y and X axis in time to the audio.
This will change the size/scale of the object when checked. The object can be scaled in any direction on the Z,Y and x axis separately, or you can set the same value in all of the axis's to make the object scale uniformly.
Audio reactive lighting will enable lighting to react to the audio you choose. Audio reactive lighting will work with lights which don't need to be baked, such as spot lights, directional lights and point lights.
To add the audio reactive lighting to your light, click on the light you want to use in your hierarchy, and under the Inspector window, click on 'Add Component'. Search for audio reactive and choose 'Audio Reactive Light'.
There are different types of bands for the different frequencies in audio. For example, if you want the object to move to only the bass of the audio, you will need to set the band min slider to 0, and the band max to 1. You can play around with the different values until it matches the audio band you want the object to move to.
The BPM Window Limit defines how many seconds to analyse for determining the BPM. So, for example, if you set this to 3, it will listen to the last 3 seconds, if you set it to 10, it will listen to the last 10 seconds.
The limit increase/decrease determines how quickly the values can change. If you have fast paced music and want the object you have to react faster to the audio, you can change the limit increase/decrease to 10,000+ to make the object move very quickly in time to the audio.
These determine how quick the reactions are, so you might want to set these values to your liking. When working with lighting, you might want to lower these values so the lighting colors blend quickly together.
For example, setting the min value to 0, and the max value to 0.1, will mean that lights react quickly to the audio and they also blend and change colors faster.
This sets the mode to BPM or Band.
When range is checked, this will change the distance range of the light. For example, set the min range to 1 and max to 5 for a small circle of light.
When this is checked, this will enable the light to blend the min color and max color you have chosen.
This will change the intensity of the light. The lower the values, the dimmer the light will be, and the higher the values are, the brighter the light will be.
Audio reactive animation will enable a 3d object of your choice to move to audio.
This component has a bit more to it than the other audio reactive components, but it is still a simple process to set up.
Click on your object in the hierarchy, and under the Inspector window, click on ‘Add Component’ and search for ‘Audio’ then choose ‘Audio Reactive Animation’.
When this is done, click on ‘Window’ at the top of Unity. On the drop-down menu, choose ‘Animation’. This will add an Animation tab at the bottom of the screen.
Click on ‘Create’ in the animation tab, and when the Explorer opens, save the animation anywhere you want to save it.
Now in the Animations tab, click on ‘Add property’. This will open up a menu with three options; Transform, Mesh Renderer and Box Collider. For audio reactive objects, the best option to choose are Transform and Mesh renderer.
Transform has more options on the drop down menu. To expand Transform, click on the arrow next to Transform. You will see three more options.
This will allow you to change the position of the object along the X,Y and Z axis.
This will scale the object along the X,Y or Z axis, but also let you scale uniformly.
This will rotate the object.
Mesh renderer is used for changing the object’s color or material. When you click on the arrow next to mesh renderer, this will show a lot of options, but they are all related to materials and color.
Choose from either one of the transform options or mesh renderer options, and then click on the ‘+’ sign next to the option.
You can add more than one transform option or mesh renderer option to make the animation more complex.
I have chosen to scale to my object, so I clicked on the plus sign, and two diamond shapes will now show in the animations tab on the timeline. These diamonds are key frames for the animation. The timeline is measured in frames and in seconds.
Click on the key frame at the beginning of the timeline, and you will that it highlights blue. To make sure that the scale values you put in show up in your animations, put the scrubber (red line) over the key frame.
There is another key frame at the end of the timeline. Drag the scrubber to this key frame, and then change the values of scale again. I am changing mine to 2,2,2.
If you want to add more keys, move the scrubber to the position on the timeline where you want to add it, and right click near the scrubber and choose ‘Add Key’.
The more keys you add, the more precise the movements will be.
Here is my finished timeline.
I have just made a very simple scale transition from 1,1,1 at the beginning to 2,2,2 at the end.
To make the animation work with the audio, you now need to click on ‘Window’ at the top of Unity and choose ‘Animator’.
When the Animator window is open, it will look like this, with the name of your object and the animation type in an orange box.
Click on your animation in the orange box. On the left hand side, you will see ‘Layers’ and ‘Parameters’.
Click on Parameters if it isn’t already selected, and then click on the ‘+’ sign underneath.
When menu appears, choose ‘Float’. This will show a ‘New Float’ directly underneath the plus sign.
Rename this float ‘Audio’, exactly as it is shown here, with a capital A.
Now, click on the orange box again, and in the Inspector window, you will see these settings.
You can change the speed of the animation if you want it to be faster or slower, but for this example I am keeping mine on the default of 1.
In the Multiplier setting, click on Parameter next to it, and this should automatically choose ‘Audio’.
The animation is set up to work with the Audio!
Go back down to your Animation tab, and un-check the record button, then click on your Scene tab.
Now you can click on ‘Play’ and see if the Animation is working with the Audio.
You will need to select the band you want the object to react to in the Audio Reactive Animation component in the Inspector window.
You can adjust the settings in the Audio Reactive Animation component until you are happy with the result.
Note: Audio Reactive Material is working in the experimental editor pack
The avatar animation effect is used for choosing the gesture or animation you want to add, plus other settings for the animation.
Add the animation clip here
sets the participant to initiator or receiver
Sets the starting time of the animation
Force sets avatar height to standard
Click on Add Component under the Inspector window, and search for Animate Single Avatar.
You can chose whether the participant is an initiator or receiver.
Drag the animation taken from within your Animation fbx file into the Clip field.
You can use the start time to delay the start of the gesture.
If your gesture involves interaction with fixed position prop (e.g. a door handle) or with precise two person gestures (e.g. shaking hands) you may wish to tick Fix Avatar Height. This will set the user's avatar height to the standard height for avatars in Space.
For details, check how to set up an gesture and create a single animation.
set the start time of audio.
add the audio file here.
Sets the volume of the audio.
You can add audio effects, synchronized with other events in the gesture, using the Audio Effect component.
Click on Add Component under the Inspector window, and search in the search bar for Play Audio.
You can set the trigger time of the audio, for example, if you had chosen a high five animation, you want to trigger the time of the clap sound to the gesture animation. Effect is where you add the sound clip for the animation. Volume is used to set the audio volume.
Sets no of participants
Lets user choose Nominal gender
Lets user choose Nominal gender
Allows you to choose area radius
Lets you enter radius; this needs entry radius checked
Sets animation to be looped.
When you import an animation into Unity you will then add that animation to a game object (there are templates in the Gestures folder in your project).
That game object has scripts added to it, depending on what you are doing with your gesture.
click on Add Component and search for AvatarEffect in the search bar to add animation effects to your avatar.
The settings under this component include:
Participants- This allows to change from 1 to 2 participants
Is Gendered- This allows you to choose whether or not the gesture is gender specific
Nominal Gender- You can choose which gender is nominal, but it will still play with both genders.
Trigger:
Uses Radius: This means the gesture will use a radius of an area
Entry Radius: You can set the entry radius amount for the gesture area
Avatar Effect Camera script will allow you to add a start and an end for your camera.
set camera rail path
Sets camera in relation with avatar
Click on Add Component under the Inspector window, and search for Camera Follow Character in the search bar.
This component has a few settings:
Rail
Type - linear will move the camera straight from start point to end point. Rotation will move around the avatar.
Offsets
The offsets allow you to place the camera in relation to the avatar. Y+ is up. Z+ is forward.
So; X0, Y1, Z2 will put the camera 1 meter above ground, 2 meters in front of the avatar.
Tracking Options
The tracking options will animate the camera in line with the selected bone (Tracking target).
Tracking Target
Start / End Avatar - For two person gestures you can move the camera target from one avatar to the other.
Start - End Target - You can move the camera's focus from one bone to another over the duration of the gesture.
For more info and examples, check here.
drag animation here
name of camera in FBX
Name of the target camera
tweaks orientation of the imported FBX in unity
Tweaks position of the imported FBX in unity
Ignores rotation of FBX
Sets the start of animation
Sets the end time of the animation
You can apply animation from an fbx file to the camera using the Avatar Effect Camera Movement Script.
Click on Add Component under the Inspector window, and search for Camera Follow Path in the search bar.
This component has a few settings:
Legacy Animation Clip
Drag the fbx file containing your animation into the Legacy Animation Clip field. See below for FBX settings.
Child name
The name of the camera in your FBX file
Target name
The name of the camera target in your FBX file
Tweak Axis
Unity's orientation is;
Y+ = Up
Z+ = Forward
If your files export from your animation editor with a different orientation you can align to achieve your desired orientation using the Tweak Axis fields.
Offset / Ignore rotation
Use these if you want to make universaal adjustments the animation in the editor.
Start time / End time
Set the end time to the same as your animation file.
For more info and examples, check here.
You can add colours to your gesture using the Avatar Effect LUT script.
Drag LUT image here
Start time of LUT effect
End time of LUT effect
Click on Add Component Under the Inspector window and search for Color LUT in the search bar.
This has the settings;
LUT Image- This is the image used for the LUT.
Start time- Start time of the image playing along with the gesture.
End time- End time of the image playing along with the gesture.
For more information on how to create the images for the LUT, please go to this page Gestures/FX
set the gender of the NPC
Set the name of the NPC
Sets the outfit of the NPC
Sets the material of NPC skin and outfit
Skips material change for outfit if set to 1
Sets the scale of the NPC
Toggles shadows on/off
Sets the culling distance
Disables culling
Select the animation NPC should Play
Sets random start position for the animation
This component is used to add props or objects to a gesture, for example, you could add in a chair to fall into after a crazy dance animation.
drag the prop here
Spawn time of the prop
DE spawn time of the prop
Set the participant type initiator/receiver
Choose the bone on which the prop attaches to
Click on Add Component under the Inspector window, and search for Create object attach in the search bar.
You can add as many separate props as you want, each with their own attachment points or location, and each with their own start and end times.
Drag the prop itself into the Object field.
Use Start Time and End Time fields to set when your prop spawns and despawns.
For single person gestures leave the Participant field as Initator.
For multi-person gestures you can select the Initiator or Recipient for each prop; so you can have them sit down simultaneously, or have them both drop on the floor.
Use the destination drop down to attach your prop to any bone on the skeleton of the avatar, for example, if you wanted an avatar to be holding a whip, you would attach it to the hand bone.
This is a sub component for Avatar Effect component, to use this, a Avatar Effect component attach to the same object is necessary.
Drag the Initiator animation here
Drag the receiver animation here
Set the distance between avatars
Sets avatar height to standard
Fixes discrepancies in avatar sizes and shapes
Avatar Multi Animation is set up the same as Avatar Effect, but, you will need to set the trigger to 4 under the component settings.
Click on Add Component under the Inspector window, and search for Animate Multiple Avatars in the search bar.
Enable the trigger in the Avatar Effect Script. Set the trigger radius to 4.
Users can initiate a two person gesture inworld with a visible circle around them.
The component has a few settings:
Clip A / Clip B
Drag the animation takes from the fbx files for each of your two characters into these fields.
Clip A will play on the initiator of the gesture. Clip B will play on the guest.
Distance Apart
You can offset the characters here if you have not already defined the offset in via the root nodes of your models in your animation editing tool.
Fix Avatar Heights
If your gesture involves both characters engaging in a very precise interaction, for instance shaking hands, you can align them using Fix Avatar Heights. Gestures played by tall and short avatars may not look correct otherwise.
Start Time
You can delay the initiation of the animations.
IK Targets
You can select one or more nodes on the avatars and impose an IK through the animation to correct for discrepancies in avatar sizes and shapes.
You can get more informations and examples at here.
Using the browser surface script in Unity, you can set up an object to become a media surface to stream content in Space from a URL.
Examples include using a music video URL for a club, and a training video streaming for business purposes.
The browser surface script can only be used for streaming from URLs in the desktop client.
For making a media surface, first make the 3D object you want to use as a screen.
In the inspector window, add the browser surface component to the item you are using for the screen.
This will bring up the browser surface script in the inspector window.
Width
Use to set the width of the screen.
Height
Use to set the height of the screen.
Aspect ratios for width and height:
1920x1080
1024x720
3840x2160 (4K)
Zoom
This sets how far the zoom is on the screen.
URL
Place the URL here for the video you want to stream.
Background Color
This is the background color of the screen, which is defaulted to black.
You can set YouTube videos to play in two different ways, depending on how you want them to be viewed.
You will need to use specific URL addresses for these two different functions.
You can choose to set the video to play defaulted at full screen. To do this, choose the YouTube video you want, and copy the video ID.
The video ID is the last component of the URL.
Then, to make the video default to full-screen, you have to use this URL: https://www.youtube.com/embed/VIDEOID, and replace the VIDEOID part with the actual video ID.
You can choose to set the video to autoplay. To do this, first choose the YouTube video you want to stream,then set the autoplay button to autoplay then copy its' URL by righting clicking on the video.
Copy this URL into the browser script URL space, and then add '?rel=0&autoplay=1' at the end of the URL.
The media surface works well with screen-sharing applications that stream to the browser.
If you want to use screen sharing, you can use join.me or screenleap.com to screen share.
The recommended shader for the screen is a custom shader made by Sine Wave.
Download the file above and drag it into any folder in your Unity project.
Create a new material in your project window by right-clicking and choosing Create>Material in the pop-up menu.
When the new material is in your project window, click on it, and you will see its properties in the inspector window.
On the shader drop-down menu, choose Sine Wave>Emissive Screen.
For the best results, turn the smoothness and metallic sliders down to 0.
When you use media surfaces, you are using them so you and other users can view the streaming content. You will need to set up a couple of things to make viewing the content easier.
The focus camera script is used to create a focus camera. This script needs a target to focus on, and this is where an empty object comes in.
You will need to create a 3D object with a collider attached to it and add the focus camera component to it by choosing the object and clicking on Add Component in the inspector window.
You need to place this 3D object close to your screen but not too close.
Search for focus camera, and add it.
Once it's added, you will see these settings in the focus camera script.
Target Camera Position
The target camera position is where you want the camera to focus on.
Depth of Field
If you check this, depth of field will be used.
To align the camera, first, you need to add a camera to your scene (delete the main camera and add a new one). To do this, right-click in the hierarchy and choose 'Camera'.
Now you want to move and rotate this camera so the screen is shown fully in the preview window. The easiest way to move the camera is to use the transform tool and set the position to 0,0,0, then move it until you are satisified with the view.
Here is an example:
As you can see in the preview, the whole screen is in the camera's view.
With the camera selected, in the inspector window, you will see the transform information. The transform information has a small settings button resembling a cog.
Click on this, and it will open up a menu.
In the menu, choose 'Copy Component'. This will copy the transform values of the camera.
Create an empty game object by right-clicking in the hierarchy and choose 'Create Empty'.
Click on the empty game object in the hierarchy, and go to the transform information in the inspector window.
As before, click on the cog, and in the menu, choose 'Paste Component Values'. This will paste the transform values of the camera to the empty game object.
Doing this will ensure that the same view from the camera is now on the empty game object.
Now that the empty game object has the correct view of the screen, you will need to set that empty game object to be the focal point of the focus camera.
To do this, click on the 3D object with the focus camera script attached. In the inspector window, you will see the focus camera script settings.
Where it says 'Target Camera Position, drag the empty game object from your hierarchy into this box.
It should look like this.
You can choose whether or not to use depth of field.
Choosing to turn on depth of field will blur the areas of the surface which the camera is not immediately focused on.
After you have finished with these settings, you can either add the surface into Space as a virtual good or use it in a region and upload the region.
If you are selling several items in the marketplace, use this component to open the marketplace to your items.
Name or your brand
Tagline for your brand
Drop UI/3d text for your brand
Drop UI/3d tagline text for your brand
Select a category to be displayed
You can attach this component to an NPC or an object, in your region and it will open the Shopping window to your brand name and items can also be selected by category.
Brand Name Enter your brand name or brand name of the creator your wish to display. The shopping window will be filtered by this name.
Tag line You can set a tagline of your brand here.
Brand Text you can set a 3D or WorldUI brand name text by dropping the item here.
TagLine text you can set a 3D or WorldUI Tagline text by dropping the item here.
Category Select category you wish to display. If not category is select, all the items under your brand name will be shown.
This component is used to trigger an event when user click the object with this component.
This can be used to open/close doors, lights and all the things you need to activate with a click.
Click the add sign then drag the item want to activate into the slot, then choose an action you need.
The Network options define whether the action will be synchronized with other users in the region.
If you want to control an object which has already got a network ID(for example, defines in Room Floor component), you should use that ID and pick "Override Network ID" to avoid conflicts.
Here is an example to create an object with Open/Close animations:
The component supports play 2 animation like this, to realize a door open/close by clicking it.
Note: you should untick the Loop Time checkbox for each animation or it will cause problems.
The clothing item setting component is used whenever you want to upload clothing to the sinespace shop.
The clothing item setting component is split into different subcategories. Each sub-category has different settings for the clothing and the uploading of the item.
When you have imported your clothing item into Unity, make sure it is selected, go to the Inspector window, click on ‘Add Component’ and search for Clothing to add the Clothing Item Settings component to your clothing item.
As you can see in the above image, there are four main categories: Item, Customisation, Submission and Review; Under each of these main categories are sub-categories.
Item is where you can change the skeleton of the avatar to match the clothing you are uploading, and you will also see a list of categories to choose from. The list of categories is:
Clothing
Costumes
Skin Material
Tattoos and Makeup
Shapes
Animations and Controllers
Underneath is an explanation for all of these categories and their sub-categories.
There are six sub-categories of clothing settings under the clothing category. These categories are:
Fitting and Slots
Skin and Cloth Deletion
Materials and Patterns
Level of Detail
Automatic Skin Weighting
Feet Settings
At the top of the clothing settings, you can change the type of clothing you are uploading. The types are Rigged Clothing and Attachments.
This is where you choose if your clothing item is a Rigged Clothing or an Attachment.
Rigged clothing - Automatic Skin Wieghting
Attachment - Tick if your item is an attachement. Then select the appropriate bone from "Attach to this bone."
Fitting and slots is where you will find all the settings for the fit of the clothing and the clothing slots.
Layer - This is where you can choose the layer of your clothing. For example, underwear would be under the Underwear layer, and a coat would be under the Baggy and Outerwear layer. If you set your clothing as an Underwear layer, it means other clothing can go over them. If you set your item as baggy and outerwear, it means that other items of clothing can be worn under it. For a guide on layers, please see this layers page.
Fitting Slots - The avatar slots are where the skeleton will be deleted under the clothing. If you have a t-shirt, for example, and don’t want it worn with other items, you will have to check the upper chest, chest and back slots.
This is where you can add deletion zones, and preservation zones, recalculate bounds and also change the settings for deletion and tucking, fitting and obscuration tuning.
Deletion Zone Settings - The deletion zones are used for selecting an area of the avatar which you want to be deleted under clothing. This can be used for certain types of clothing which need a little extra deletion underneath.
Preservation Zone Settings - Preservation zones are used for selecting an area of the avatar which you want to keep under clothing. This is useful if you have clothing with holes in, e.g. a dress with a slit or a corset with a lace-up back.
Skip deletion - Tick to avoid all skin deletion being applied.
Obscuration distance - Compresses the skin under clothing items at hemlines. This allows tight-fitting clothes to squash the avatar slightly where skin emerges from under the cloth.
The default distance is 1 cm. The affected vertices are highlighted in yellow when the item has been prepared.
Red squares indicate skin that will be deleted. Blue indicates skin that will be deleted if more than two adjacent vertices are red. Yellow indicates skin that will be squeezed in line with the Obscuration distance.
Materials is where you can set to keep the material always of the clothing or attachment. If you plan to use the pattern system which allows for color and texture variations, leave the ‘Keep Materials Always’ unticked.
This is where you can add in the high, medium and low LOD objects of the clothing. If you do not add any, we will set it to medium by default.
This is where you will find the settings needed for auto-weighting the clothing.
Automatic Skin Weighting - This will automatically do the skin weighting for you without you having to do anything manually when you press the button. You can also add in a Custom Template here. This custom template is used if you have manually rigged and weighted clothes to a model in 3D software. You will need to drag the model into the Custom Template box.
Advanced Weighting Settings - You can change settings for weighting here for better outcomes manually under the advanced weighting settings.
When the 'Use Heel Settings' is ticked, you can alter the heel and avatar placement. You can check the blend shapes on the character archetypes to precisely line up shoes.
Morph Targets is where you enter the data for the Heel Amount, Arch Offset, and Height Offset.
Here is more information on how to set up shoes with heels.
Prepare/Re-Prepare - Once clicked, this will show the results of the skin deletion and weighting.
This is where you can add the options for a full body replacement costume.
Referenced Prefab - This is where the root template of your costume will be. You will need to drag the costume into the Root Template box. For example, if you have a self-made avatar you want to use in sinespace, you will need to drag this avatar game object into this box.
LOD Variants - This is where you can drag the low and high poly variants of your costume/avatar.
This section should only be used if you are adjusting the skin shader with a custom material. If you are just making a skin, we recommend using the tattoo and makeup system.
This is where you can add tattoos, make up e.t.c as layers.
Enabled - Check this box to enable the layers.
Type - Here you can choose from different types of layers. Overlay will be an overlay layer, Tattoo will be for a tattoo, Make up is for make up, Skin is for a skin overlay layer, and Base Skin layer will replace the original avatar skin.
Blend - You can choose from a range of blend options here such as darken or soft light, they work a bit like layer masks.
Default Tint - This is the default tint of the layer. If you want a black tattoo for example, you can set the default tint to black.
Mask Mode - You have two options here, you can choose Use Albedo Alpha, or Use Albedo Alpha ignoring Albedo.
Albedo - This is where you drag the texture for the albedo.
Metal Smoothness - This is where you drag the texture for the metal smoothness.
Normal - This is where you drag the texture for the normal map
This is where you can paste the shape data from the client to add a shape preset to your clothing.
This is where you add the information from your animation controller.
Animation Overrides - This is where you will state the number of animation overrides, then add the element slot and humanoid animation clip.
Controller - This is where you drag in your animation controller.
This field has been replaced by the new ‘Customisation’ field on the Virtual Good component.
It is recommended to use that customisation field, but this method will also work.
Restrict Customisation - If this is ticked, it will restrict customisation of the clothing from other users/creators.
This is where the final settings for uploading the clothing item are.
Finalise - You can either click on ‘Prepare’ to finalise the settings on the clothing, or you can click on ‘Recalculate Occlusion’ to recalculate the occlusion.
This is where you can see the performance score, which is a quick estimate of the GPU and CPU power required to render the item. You can also change the Type Override to see an estimate of GPU and CPU power for similar items such as shorts, dresses or jackets.
Once all of these settings have been set, you need to add the Virtual Good component to the clothing item to upload to Sinespace.
This describes how to set up day and night on your Sinespace region using the Day Night Cycle Script component.
First you will need a directional light to which to attach the script component. A directional light was included when you created a new scene. If one isn't in the hierarchy panel (maybe you deleted it), you'll need to add one. Go to the menus at the top of the editor window and click Game Object - Light - Directional Light.
You'll need to add the Day Night Circle component (script) to your directional light. You can create a new empty object to attach with this component.
Preview is where you can toggle on and off 'Preview Enabled' to be able to see the lighting for different times of day in your Unity scene. You can drag the Preview Time of Day along to see what different times of day look like. The slider is set to 0 to begin with, this is midnight. 0.5 is midday. You should disable the preview before uploading the region.
By default, the light will be particularly harsh, the cycle will be set to 1440 minutes (a full 24 hr day), and start from mid night. You can modify the duration as you wish. Toggle the "Use local System Clock" on will use your local timestamp instead of using server time.
If you pick "Use Fixed", the time will be locked, you can set the time you want fixed by modify the slider bar of "Fixed Time of Day", the value is from 0 to 1, corresponding the color bar of sun.
Next drag the "Sun light" object into the Sun Light slot. If you create the region by using quick start, then it's the object called "Directional Light" that controls the sun light. You can find the Quick-start region by going to Assets>Sample Art>Quickstart in the Project window.
Fig. 2: How to find quickstart
Fig. 3: Directional Light Settings
If white light is too harsh for you, you can change the color of this by changing the 'Sun Light' color on the Day /Night cycle component, not on the directional light.
You will need to change the 'Flare' setting on the Directional Light so that the flare is set to Sun. You can do this by clicking on the circle next to the Flare box, and choose Sun.
This is to update the reflection probes in the region. The 'Update Cubemap Frequency' number is in seconds, so if you want to update the cubemap frequency every 30 seconds, leave it as it is. This basically changes the amount of light reflection on objects in the region, e.g. at night time you don't want reflective surfaces to reflect too much light.
This is where you drag in the directional light for the 'Sun'. You can set the color of the sunlight here, and also set the Sun Offset Rotation and Sun Rotation Axis. The Sun Offset Rotation and Sun Rotation Axis control the value of the movement of the sun during the day time. If you don't need a custom trail of movement for the sun, just leave it as default.
The Sun Shafts image effect simulates the radial light scattering (also known as the “god ray” effect) that arises when a very bright light source is partly obscured. Here you can change the colors of the sun shafts. You can check the 'Update Sun Shafts' to keep the sun shafts updated when objects are placed in the region.
This will change the ambient light in the region. You can change the sky color, Equator color (This is the horizon area) and ground color.
You can change the colors for fog here and change the fog minimum curve and maximum curve. The fog curves set the minimum distance and maximum distance of fog, which in turn changes the amount of fog at certain times of day. You can click on the fog bar to change the curve between the values of 0 and 1.
If you have water-like things in your scene, you can attach its material to the water material slot, which can make the light affect to the water too. You can change the colors for the water here if you wish.
You can add events like playing music and animations. The events trigger is set to Dawn, Midday, Dusk, and Midnight. You can set this up to notify specific animators as well.
Toggling the 'Use local System Clock' and 'Shader send time of day' together will align your day/night cycle with your real-world local time. The Shader Send Color option will send the colors under the shader bar to the Lighting, meaning the lighting will change to these colors at certain times of day.
This component allows you to turn a vehicle designed using [Edy's Vehicle Physics] in Space. It must be attached to the same object that contains 'Car Control', 'Car Settings' and 'Car Cameras', if any of these components are missing, it will not function.
Note: This component has not been tested in a while; it may have bugs. Please report them if you find them.
This component is used to set an extra camera.
Drag the target Camera here
Enables depth of Field on camera
When combined with other components, it can be used as switching the view from your avatar to this extra camera by a clickable activator.
You can check here for an example of utilisation.
Position Offset (World Coords)
Once an object with this component is active in a region, each user in the region will have this object following him, but it doesn't show to other clients.
The position can be offset with a world-space offset specified compared to the player's Avatar in the Offset field.
This component is used to override the default Gravity of a region/Area
Sets the priority
Set the gravity values for x,y,z axis
Create an empty object add GravityZone component. Add a Box collider with isTrigger checked, edit the constrains of the box collider to set the area size.
Priority Sets the priority of the gravityzone
local Gravity Sets the local gravity for x,y,z axis.
As an example, the default gravity could be Priority = 10, and the axis is (0,-1,0). If you want to make an environment like moon, set the Priority < 10, otherwise Priority > 10.
(0,-1,0) means the direction of Gravity is downward. You can also set to another direction as your wish.
This component is used to create a vendor to sell a single product that you have uploaded to the marketplace.
ID of the product
UI canvas of the Name
Drop the canvas for Silver price
Drop the canvas for Silver price
There is an example in Sample art/vendor folder of the Editor Pack.
Curator ID Id of the product your wish to sell, you can see this ID under virtual goods of your uploaded item.
Canvas Display Set the canvas display for Name, Silver price and Gold price.
Attach this component to set the lens flare distance.
Attach this component to set the light distance.
Animation to play
On-Click Sound
On-Mail Arrive Sound
This is used to create Mail boxes within the scene; specifically objects which when clicked on will open the players Mail window. It will play an animation when new mail has been received, or the player walks into range and has unread mail. This uses the Legacy Animation Component in Unity3D for it's animations (this likely will be updated to Mecanim soon).
This component is used to set music zones in a region.
Sets the name of the music zone.
Set the area of the music zone
Sets the number of clips
Drag the audio clips here
Create an empty GameObject and attach MusicZone component to it.
Name Sets the name for music zone.
Radius Set the radius of the zone/sound to be played within.
Clipsize Set the number of clips to be added.
Element Drag the each clip in one of the element field.
MPEG layer 3
.mp3
Ogg Vorbis
.ogg
Microsoft Wave
.wav
Audio Interchange File Format
.aiff / .aif
Ultimate Soundtracker module
.mod
Impulse Tracker module
.it
Scream Tracker module
.s3m
FastTracker 2 module
.xm
Attach this component to spawn a large number of NPCs in a set locations.
set the number of custom female animations
Drag the animations here
sets the number of custom Male animations
Sets the number custom male outfit IDs
sets the number of female outfit IDs
Max number of NPCs to spawn
Female clips: this sets the number of custom animations you want female NPC to have.
After setting the size drag animation for each in the element field.
Male clips: this sets the number of custom animations you want male NPC to have.
After setting the size drag animation for each in the element field.
Female IDs: this sets the number of custom outfits you want female NPC to have.
After setting the size drag outfit ID for each in the element field.
Male IDs: this sets the number of custom outfits you want Male NPC to have.
After setting the size drag outfit ID for each in the element field.
Player Outfit ID Log in to http://sine.space/ and click the "Outfit" menu button. Create and save the outfit you want for your NPC. You will see when you save your named outfit that a unique number is added at the end.
MAX: this sets the max number of NPCs to spawn
This component lets user set a custom animation for waterbody.
Set the swimming animation
Sets the idle animation
sets the small splash effect
Sets the splash template for bigger splash
sets the sound for splash effect
Add this component to your water, add a box collider to set the area of the water, and check IS Trigger to enabled.
Swim Drag a swimming animation here, this will override avatars default swimming animation.
Swim Idle Changes the idle animation of avatar while he/she is in the area.
Splash template you can drag a splash effect for big and small splashes here.
Splash audio this sets the sound for the splash effect.
This component is used to trigger an event when an avatar walks within the range of the object.
If checked it will ignore owner.
check to set script to client only
Sets the minimum distance for activation
Sets the Max distance for activation
Activates the function when avatar comes within the range.
Deactivates the function when avatar is out of range.
This can be used to open/Close doors. Activate deactivate particle effects. Auto light the interior of a house etc.
Trigger Ignore Owner: If checked this script will ignore owner. i.e not will happen if owner is within the rage.
Trigger client only if checked the effect will only trigger on client side. i.e triggered effect won't be shown to all avatars present in the regions. (better performance in certain cases.)
Distance Set the closest and farthest area of activation. Eg: If min is set to 0 and max to 1. it will activate when any avatar is within 1 meter of the object. If min distance is set to 5 and max to 10, it will only activate when avatar is between 5 and 10 meters of the object.
Events Activate Click the add sign then drag the item to be activated when avatar is within the range here. Then select what function should be activated. Eg: Particle system function select start. You can click on add to add multiple items and select function for each.
Events Deactivate Click the add sign then drag the item to be deactivated when avatar is out of the range here. Then select what function should be activated. Eg: Particle system function select start. You can click on add to add multiple items and select function for each.
Add the Quest Counter Clickable component to counters the user must click on to collect.
Counter ID
Enter an ID of your own creation to the Counter ID field and add the same ID to the Counter ID field of the Counter quest step or the Startable Timed Counter component.
dd the Quest Counter Proximity component to counters the user must be within a certain proximity of in order to collect.
Counter ID
Enter an ID of your own creation to the Counter ID field and add the same ID to the Counter ID field of the Counter quest step or the Startable Timed Counter component.
Trigger Distance
Specify the distance from the object that will trigger a successful collection.
Create an empty game object in your scene, set it to location 0,0,0 and add the quest designer game component to it.
Click the reserve ID button in the inspector to assign a unique id to your quest.
Click to add a step and give the quest a name.
Quest type
Daily-users can play it once every day.
Main-users can play the quest only once.
Side-can only be triggered by another quest.
Activity-users can replay continually.
Quest ID
The quest ID is generated automatically when you click reserve.
Quest Dependency IDs
You can chain quests using dependency ID-Set the size to the number of quests that need to be completed before this quest is available. Then add the individual quest ID of each quest that must already be completed by the user.
This allows you to have multiple quests initiated by the same quest NPC, in series.
Reward ID
Add the curator ID for any virtual good item you have uploaded. You can get this from the virtual goods component attached to the object once it has been submitted, or from the item list in your account at curator.sine.space
This allows you to rez and and derez items in your scene during specified quest steps.
Configurable parameters:
QuestID
MinStep
MaxStep
Attach to other objects (preferably a parent group, if you're updating multiple in a single step)
It enables or disables the object it is on, based on whether the user is inclusively on any step between Min and Max.
Objects can only be seen by the player.
To turn any object in your scene into the Quest NPC, add the Quest NPC component to it. (You might normally make the Quest NPC a humanoid NPC, with the Statue component on it, rendering it as a character, but you can add the Quest NPC component to anything with a collider on it that the user can click to start the quest.)
Once you have added the quest NPC component to an object in your scene, drag that object into the Destination NPC field in the first step of your quest.
Now when a user clicks that object it will allow them to start your quest.
This component, when clicked on will allow the user to change their User name.
You can add this component to an NPC statue to create a renaming NPC in your region.
URL of the shout cast server
port of the shoutcast
Check this to stream music.
Create an empty object in your scene that will be used for your region.
Under the Inspector window, click on Add Component and add an Audio Source.
Add in a suitable audio clip from your Project assets.
Select the output as "Music" (if its left as "None" it may play but at a reduced volume level).
If you want the audio clip to repeat, tick "Loop".
You can also stream music from Shoutcast into your region.
Create an empty object in your scene that will go in your region. Under the Inspector window, click on Add Component. Search in the search bar for Shoutcast Streaming and click on it.
Add in the server and port from Shoutcast and check the box playing to have the music playing in your region after uploading.
Scene save setting lets you upload your scene to Sine Space. Once you have saved remember to remove Main camera from the scene as the region will be using 3rd person camera, which you do not need to add. Not removing main camera will cause region to be stuck at one view.
You need to define where users arrive when they log in to your region; and what direction they are facing. To do this, once your scene is set up, from the top menu in Unity select Game Object / Create Other / Landmark
This will place a new landmark item in your scene. In the Inspector window, set the type to Landing Zone and tick Spawn Point.
The in scene object is a yellow edged transparent plane which you can position anywhere in your scene. The yellow arrow points in the direction your visitors will face when they arrive.
Be careful to position the landing zone slightly above the terrain; if a tall avatar's feet arrive below the terrain they may fall through.
In the top menu in Unity go to Space / Scene Settings.
This will add a Virtual Goods component to your scene. You will see a set of fields in the Inspector.
You can return to this component any time via Space / Scene Settings.
In the Inspector set the Content Type to Region.
Add the name, description and brand identity of your region as you want it to appear in the explore and discovery panels of the Space platform.
You can add slots for as many different languages as you want to.
If you are uploading items that will be sold as virtual goods to other Space users, add the store icons and imagery here and set the prices for Gold and Silver credits.
If you are uploading a region or item that is not for sale, tick the not for sale box. You do not need to add any images or icons if the item is not for sale.
If your region is going to be for sale, allowing other users to buy it as a template they can then customise as a private region for themselves, set it for sale and set your gold and silver prices.
For more infomation on gold and silver currencies;
Choose an appropriate content maturity level;
The creator information should show the details of the legal entity holding the account; whether that is an individual or a company.
The Export Mode defines how your region content is received by your visitors; all at once before they log in, or progressively after they arrive.
Single scene
Single scene delivers the entire region to the user as a single file which downloads before their avatar spawns. For regions with download sizes up to 100 mb, Single scene is likely to be an acceptable download time for your visitors.
Multi bundle
Multi bundle is a form of dynamic loading control. It splits your scene into smaller components that are streamed to the visitor progressively.
The multi bundle algorithm examine every root object in your scene and compares each with every other root object. It then bundles objects where there is more than 40 kbytes of overlap in shared data between them.
You group into root objects has a big factor on how we create bundles; for instance grouping all vegetation or grouping one particular building where users will arrive.
Too many bundles will cause stuttering for the user while they are progressively loading. A reasonable target is 20 – 30 bundles.
Additive scenes
Additive scenes is a Unity utility that allows you to organise a single region into multiple scenes. You can manually split content, creating a root scene containing occlusion, lightmap and navigation data, with additional scenes loading mesh and other content progressively. You will need Unity 5 multi scene tools to manually set this up.
For more information, see;
http://docs.unity3d.com/Manual/MultiSceneEditing.html
Required download
When you are using Multi bundle mode you need to select one item in your scene, usually the terrain, and add a component to it called Manual Loading Control or Dynamic Loading Control. Then tick Required Download. This will ensure that the item is sent to the user before their avatar spawns. Without this there is a risk users will arrive and drop through space before your scene loads above their heads.
Suggested memory
If your guest's device has less memory than this, they will be given a performance warning when entering the region.
The world map allows users to search and browse regions. The Preview Image you supply will be used as a background to preview your region in the World Map. It will also be used as the background while the region itself is loading.
Preview image
The image you provide should be a .jpeg file. A 2:1 aspect ratio is recommended. Because the image is stretched to fit different screens it will distort slightly for some users.
Loading logo
The Loading Logo Image appears on top of the Preview Image and is not stretched, allowing you to present your brand logo or a region specific title without distortion.
The image you supply should be a .png file with 512x256 dimensions. When you import the .png file, ensure the Alpha is Transparency box is ticked;
You can assign a unique sub domain for each of your regions, which you can share with guests who can walk directly into your space from their browser.
In the editor you can reserve your region name.
Once the region is published you can then teleport directly to the staging server version (Creator) or the live public server version (Live).
The platform settings allow you to fine tune your region for each platform you want to publish to.
Space currently supports;
Standalone - Desktop application, PC or Mac
Mobile / tablet - Android or iOS
WebGL - Chrome, Explorer, Firefox and Edge
Console - Sine Wave Entertainment is an accredited developer for Xbox and Playstation. The company is planning to release on these platforms later in 2016 after building a user interface for game controllers.
The default settings are designed to work for most regions.
Scene adjustment
Remove lightmaps / light probes / reflection probes
Removing lightmaps and probes can significantly reduce download speed but will also impact on the runtime performance.
More information;
Lightmaps Light probes Reflection probes
Static bake meshes / colliders
Ticking these boxes will prebake data before export. This improves loading performance but the region download will be bigger.
More information;
Static bake meshes Static bake colliders
Strip occlusion / navigation data
Occlusion data holds information about what areas are visible from other areas; it allows the viewer to make intelligent decisions about optimising a scene, however it can add several mb of size to both runtime memory use; and download size. Keeping it improves performance but can result in higher memory use in big scenes.
Navigation data is used for showing waypoints, and moving NPCs around in a scene; it uses a little bit of extra memory, and can be stripped out if you are under severe memory pressure.
Texture size reduction
Max texture resolution
All textures will be reduced to a maximum of the defined size for each build.
Texture reduction levels
Reduces textures all by a multiple of the original, in line with Max texture reduction above.
So; if your scene contains large textures at 1024x1024 and you set the max texture reduction to 512 those large textures will be reduced by a factor of 4.
If you then set Texture reduction levels to 1, smaller textures in your scene will also be reduced by a factor of 4; so a 512x512 texture, which otherwise would have been unchanged by the Max texture reduction, would also be reduced by 4, to 256x256.
If you set the Texture reduction level to 2 it will multiply the Max texture reduction scale by 2; so in the case above reducing the smaller 512x512 texture by a factor of 8, to 64x64.
Normal reduction levels
This will apply a further multiplicative reduction on normal maps on top of the reduction already applied by the Texture reduction level above.
Texture compression
Allow crunch / Crunch level
Allows JPEG compression to be added to all textures in addition to DXT compression. This will degrade the quality of your images as the compression is lossy; but significantly reduces download filesize. It does not improve runtime memory size except during loading. Crunch level runs from 0 (very lossy) to 100 (lossless).
Compress textures
This applies a further quality reduction, comparable to the quality slider in Photoshop when saving a jpeg file.
True color As 16
Interprets images stored as 'True Color' to 16-bit colors. This applies compression to the colors, without introducing the blurriness / artefacts that DXT compression can introduce; at the expense of being slightly larger. With this ticked, any image with 'True Color' compression, will be packed at 16 instead of 32-bit on this platform.
Audio settings
Force audio to mono
Converts stereo files to mono for that platform.
Audio bitrate
This is a percentage field. So whatever the bitrate of your original files, you can reduce by X% for each of the different platforms you publish to. For instance a set of 128 bitrate original files, left at 100% in the Standalone build can be reduced to 64 in Mobile and WebGL builds by setting this field to 50.
A summary of the objects and scripts in your scene which will notify you of potential issues.
Info
This shows how many objects, root objects and colliders your scene has. It will flag potential performance issues.
Script List
Space currently has a white list of approximately 120 scripts you can deploy in your regions. The script list shows all the scripts in your project, flagging the ones not currently white listed, which will be stripped out when submitted.
You can submit scripts to your account manager for inclusion in the white list. When the platform's SDK is released (scheduled for September 2016) the white list will be maintained in parallel.
Click this button to apply the Region - Platform Settings to the assets in your scene.
Once the automated compression has run you can manually adjust individual files before publishing. You might, for instance, apply 512 as a maximum image size for the WebGL version of your region but then revert one or more specific important textures back to a higher resolution.
Click this button to automatically assign every asset in the scene to one of four draw distance layers, according to their size; larger objects are set to be visible at greater distances.
The draw distance for each user is determined by the quality settings they select inworld;
Default = 20 to 75m Important = 80 to 320m VImportant = 240m to 900m NotImport = Max 30m (60m in Beautiful/Ultra) NotImportLandmark = Max 60m (120m in Beautiful/Ultra)
If you do not apply Sort into layers button everything will be left in default layer.
After applying you can manually review and modify;
Once your scene is ready to submit, click Automatic submission. This will create a zip file containing the region and will send it to the Space servers.
Here the assets will be unpacked and compiled for each of the different platforms you have specified. You will receive three automated emails; confirming the content has been received, has started processing and has been released for you to log in and review.
The seat Improved component is added to any item that you want to enable animation on; specially furniture.
Create an empty Child in the furniture(To be able to move the animation easily). Add component on child and select Seat improved script.
Animation: You can upload the animation you wish to play here.
This is used to set specific animation for male and female avatars.
Animation male : Animation can be specific to Male Avatars only if it is added here.
Animation female : Animation can be specific to Female Avatars only if it is added here.
NPC : NPC can be placed on the furniture by dragging and dropping the Statue(NPC) in the scene here. To read more on how to create an NPC in scene refer to Statue.
To know more about seat improved watch the tutorial shown here
This is a sub component for Slider Vehicle.
For further info, check here.
Using this component(with Slider Physics), you can create a silder-type vehicle(for example, a sledge).
The core parts is same as the Module vehicle so you can check here for thouse value settings.
The slider physics decide how the vehicle moves exactly.
This requires the user to wear a specific clothing item.
Clothing Item ID1/ID2
Allows you to specify for instance one male and one female item.
You can identify the ID of a clothing item from the virtual goods component attached to the gesture once it has been submitted, or from the item list in your account at curator.sine.space
This will require the user to play a specific gesture before the quest moves on.
ItemID
The item ID for a specific gesture you need played for it to succeed. You can get this from the virtual goods component attached to the gesture once it has been submitted, or from the item list in your account at curator.sine.space
Any
Tick this if you want playing any gesture to complete the quest step.
Min Participants
Defines the minimum number of gesture participants required to complete the step. So, for instance, you can set to 2 and tick Any to require the user to do any two person gesture with another user.
This requires the user to have a specific item in their inventory before the quest continues.
They do not need to use the item; they just need to have it in their inventory.
Item ID
Put the ID of the item here. You can identify the ID from the virtual goods component attached to the gesture once it has been submitted, or from the item list in your account at curator.sine.space
This requires the user to visit a specific region for the quest to continue.
Background ID
Put the region ID in this field to specify where the user needs to go.
This requires the user to sit on a specific furniture item.
Target Object
Add the SeatImproved component to any game object in your scene and then drag that game object into the Target Object field. Remember this item can also be animated so you could for instance use this step to fly someone from one part of your region to another.
The step will complete as soon as the user sits so you may want to make the next step not initiate automatically but require the user to click another Quest NPC object to continue, if sitting initiates a sequence that you want to play out before the next step launches.
This requires the user to take a snapshot with the in world snapshot feature.
Number of Snapshots
You can specify the number of snapshots the user needs to take in order to complete the step.
This step will teleport the user to a specific location in the same region as the quest.
Target
Drag any game object in your scene into the target field to teleport the user to that location.
To ensure they do not arrive on top of a tree or similar, it usually makes sense to create an empty game object exactly where you want them to arrive.
Delay
Allows you to add a time delay before the teleportation. A small delay (1 second) is recommended to ensure all actions as part of the prior step have time to complete. A longer delay might for instance be used in conjunction with a specific gesture playing in the prior step.
Startable Timed Counter is a game component you can add to your quest, requiring the user to collect a number of counters inside a specified time frame.
Use this startable in conjunction with objects in the scene that have either the Quest Counter Clickable or Quest Counter Proximity component attached.
Number required
Specify the number of counters the user needs to collect. This can match the total number available in the scene or there can be far more in the scene than the required number, depending on the nature of your game.
Seconds Limited
Define the duration of the round. If the user fails they can reclick the NPC to restart the step.
Counter ID
Add whatever ID you have manually applied to the Counter ID field of the Quest Counter Clickable or Quest Counter Proximity component attached to your counters.
The Statue component is most commonly used for creating NPCs within a scene, it allows you to dress your NPC using any clothing or accessory you can own inworld; both your own virtual goods and any it
set the gender of the NPC
Set the name of the NPC
Sets the outfit of the NPC
Sets the material of NPC skin and outfit
Skips material change for outfit if set to 1
Sets the scale of the NPC
Toggles shadows on/off
Sets the culling distance
Disables culling
Select the animation NPC should Play
Sets random start position for the animation
The Statue component is most commonly used for creating NPCs within a scene, it allows you to dress your NPC using any clothing or accessory you can own inworld; both your own virtual goods and any item you buy or are given by another creator.
Apply the script to an empty capule collider in your scene, or use the NPC template prefab in your Space Editor Pack.
Name NPCs are easily distinguished from real avatars inworld because they do not have hover text showing their names over their heads. However, you can still give your NPC a name in this field, that will appear in quest dialogue steps.
Player Outfit ID For more information how to get the player outfit ID, please see Outfit IDs
Enter just this number in the Player Outfit ID field.
Rendering settings
If you want to apply a material on top of the NPC you can add it here.
You can make your NPCs look like holograms or stone statues etc.
If you want store mannequins that show of a specific item, add the store ID of that item to the "Skip Material Change ID" field.
This will allow you, for instance, to create a silver mannueqin with just the sunglasses you are selling retaining their original materials.
You can get the item ID from the virtual good component attached to it; the ID will appear as soon as the item is submitted.
Scale
You can enlarge your NPC to the status of a giant towering over the scene or shrink it to a sprite. Statues (and avatars in general) will not respect Unity embedded scales on the Transform. This is to prevent them from being scaled when you have them seated on an object which is not 1,1,1.
Disable shadows / Culling distance
You can use the NPC system to deploy crowd scenes; where disabling shadows and optimising draw distance on each NPC will improve performance.
Custom animation
By default your NPC will use the standard Space idle animations.
You can override this here by adding your own animations. See here for details on importing and rigging animations for Space avatars; Single Person Animation
Random animation position
Tick this and the animation will launch at a random point in it's timeline. As above this is useful for any kind of crowd scene where you do not want multiple NPCs doing identical moves in sync on the screen.
No of songs
Enter URL for each song.
Check to randomize the list.
This allows you to stream music in your region from URLs.
Create an empty object in your scene which will be in your region.
Click on the object in the hierarchy and then click on Add Component under the Inspector window. Search for Streaming Background Music.
This will add the component to your object. You will see the component has settings called URLS and Shuffle loading.
If you click on the drop down arrow next to URLS, you will see it has a Size option. If you have 3 URLs of songs you want to add to you region, you would enter the number 3 in this size option, press Enter, and three element boxes will appear. You then add the URLs into these boxes. If you have ten, you would add the number 10 and so on.
Shuffle loading unchecked will play the songs in the order you have added the URLs in the URLs settings, and checking it will shuffle the tracks.
This component is used to override avatar default walk, Run and idle animation in an area of the scene.
Overrides walk animation for male
Overrides the walk animation for female
Overrides run animation for male
Overrides the run animation for female
Overrides the idle animation
Create an empty object, add component search and add Substitute animation Zone.
Add a box Collider to define the area of the zone; check is trigger on the collider.
Drag animations you want to override in this zone into substitute Animation Zone script fields.
Gives Unique name to the item
Attach this component to share the updates with the server.
This will mirror to all client, and the object will appear synced.
For example, if you attach this component to a beach ball with rigid body enabled, everyone in the region will see the ball movement same time.
Drag the destination object here
Teleport Local allows you to set up a teleport from one point within your region to another in your region.
Add an object into your hierarchy to be the starting point for your teleport system. Click on this object in the hierarchy, and click on Add Component. Search for Local Region Teleport in the search bar and click on it to add it to the object.
No need for collider nor trigger : the avatar need to reach the object's "Transform coordinate" to self-activate the teleportation process.
Add another object into your hierarchy to be the end point of your teleport system. Drag this item from your hierarchy into the Destination box under the Teleport Local component.
When you upload your region, the teleport objects will allow you to travel from where you have placed the first teleport to a spot in your region where you have placed the second teleport.
This component brings up a list of possible destinations in the scene, when the user is in range; and allows the user to teleport to any other Teleport Pad within the scene.
Location Name
FX Instance GameObject
Use this component to link large scenes together, allowing the user to access popular locations easily.
The object this component is attached to needs another collider to detect avatar stepping on it/colliding. To do so add component - Box/capsule collider and set the collider to is trigger. If the collider is not set to is trigger it will not let avatar pass through it.
Teleport FX should be a timed particle effect or other object which is instantiated when the user arrives at this pad; at the pads location.
Teleport World allows you to set up a teleport from one of your regions to another.
Name of the destination(This doesn't have to be the regions name)
ID of the destination Region (Must match an existing region id)Usage
Create a portal or an object which you would like to act as world teleport. Add component, search and select "Inter-Region Teleport (TeleportWorld)".
No need for collider nor trigger : the avatar need to reach the object's "Transform coordinate" to self-activate the teleportation process.
Once added, set a Name for destination region. Then click on destination background ID and add your region background ID.
Region background id is show in the Scene setting when you upload a region it is right bellow region URL.
You may also find the Region background id on your Curator page then Items list.
This component is used to create a hole in unity terrain for creating caves/tunnels.
You should make the entry of the collider can cover the whole avatar or it may not be triggered.
Timer is a component which offers a simple time counter, which includes multi-functions to use. By default, it's a increasing timer. If you want a count down type, pick the option for "count down".
Fill the Target time in seconds if you want the timer to stop by certain time. It is necessary if you choose "count down" type.
Now there are 3 format: HHMMSS is stand for hours:minutes:seconds, MMSS means minutes:seconds, and the last is only display seconds.
If you need to display the fraction after seconds, pick "Show fraction" option.
You can add Events here, and trigger them when:
1. Pick the option "Call Event When Timer End", the events will be fired when the timer reaches the Target time(or decrease to 0 from the Target time if count down);
2. Fire the events once in a delay after the timer start if the value here is above zero;
3. Fire the events every certain time by the value set if it is above zero;
All these method can be used together, which means you can trigger the event after a short while for the first time, then repeat it periodically, and trigger it last time when the timer reaches the preset end.
The component offer a default output method, so you can directly drag a game object with Text Component into the slot, the timer will display in that Text Label. But if you want to construct your own way for output, call the function OutputByFormat(), which returns the string of current value of timer.
To start/pause the timer by event, change the bool value of timeRunning, where true start the timer and false pause it.
To stop and reset the timer, call the function of ResetTimer(), it will set the timer back to the initial state you set.
You can create an object with this Tip Jar component for creating charity from other users.
Add the component "Charity(Tip jar)" to the object you want to create as a tip jar. Then you can add room furniture and virtual good component to make it as a furniture, or simply add virtual good component and choose generic type to make it a spawnable object.
The tip jar component is already contained other function necessary like clickable, so normally you don't need to add other components.
Just like the image below is enough:
This component allows you to click on your chosen object in world and upgrade your account.
To add this component, simply choose an object you want as an NPC. This can be an object or an avatar NPC that will be included in your region.
Choose the item in your hierarchy. Under the Inspector Window, click on Add Component. Search for UpgradeAccountNPCBaseInternal in the search bar and click on it to apply it to your object.
This will add the component script to your NPC/object to allow you to click on it in world once you have uploaded the region.
This is the component which uses for respawn a vehicle, as you use your vehicle item in inventory.
VehicleTemplateArray can spawn some random cars(need test!).
If you want to spawn a specfied car, fill its item ID(get it from the Crutor page) in Unique ID slot.
You can also add some sound effect for denied noise and spawn noise.
This is an empty function, please remove or hide the page.
The virtual goods component is added to any item you upload; both for items that you are marking for sale, which will appear in the store, and items you are only uploading for your own use, including your own regions.
The virtual good component has been broken down into sub-categories, making it easier for you to fill in the necessary information.
Here you can find the Type and Category, Audience rating and Customization Capabilities.
Content Type is where you will choose the category for the content, for example, you will need to choose the Clothing content type if you have made an item of clothing.
Category is used to place the item in the right item category. For example, if you have chosen the content type as Clothing, and you have made a jacket, you will need to pick the Item Category as Clothes>Tops>Jackets.
Audience Rating is where you can choose the rating of your item. There are five ratings to choose from; Everyone, Teen, Mature, Adult, Explicit. There are also check boxes here to check if your item contains certain content like violence or adult content.
Customization capabilities allows you to choose the level of inworld customization allowed on your item. You can choose from basic, disallowed, full or source access. When you choose one of these, there is a small description of what customization it allows underneath.
Note: The type Pet is currently locked and is no longer used now. If you want to create a following minion as pet, you can choose generic to set the pet as a spawnable item, and set the category in pet if you want to put it in the shop.
This is where you can add the primary description, optional fields and translation descriptions.
The Primary Description is where you will put detailed information about your item, add a name and add a description of the item you are uploading. Include any special instructions on use, graphic requirements, file size of item etc.
You will also need to add in your brand name.
Optional Fields is not yet showing in the shop. This is an upcoming feature.
Translated Descriptions allows you to add a translation for your item name, description, instructions and release notes. To add a new translation, click on the ‘Add New Translation’ button. You will see a Language sub-header with a drop-down menu next to it. You can pick from the list of languages we have included in our Editor Pack. You can add multiple translations. You will need to add the translation in yourself.
Here is where you can set the price of your item and set limits on promotions.
Pricing has an option set the item ‘Not for Sale’, so if you make an item, but just want to keep it in your inventory for personal use, you can check the ‘Not for Sale’ box.
Price Gold is where you set the price of the item in Gold. Gold is a premium currency. If you want to sell your item for just Gold, and no Silver, please put -1 in the Silver box, and then add your Gold amount to the Gold box.
Price Silver is where you set the price of the item in Silver. Silver is the base currency in Sinespace.
Promotions is where you can allow your item to be used in promotions. Promotions highlighting all items that can be discounted for various sales through the year. If you want your item to be used, check the ‘Allow use in Promotions’ box. You can also set the maximum discount amount in sales; The range is from 0 to 100% off. Your item will only be sold in sales if you check the Allow Use in Promotions box.
Icons is where you can add the item store icon, inventory icon, and your brand icon.
Image Store Icon is the icon used for the item in the sinespace store. You can take pictures of the item outside of Unity and add it here by copying it into your Project window, or you can auto-generate this by clicking on the 'Take Screenshots' button. This will auto-generate the inventory icon as well. Once you have clicked on the ‘Take Screenshots’ button, it might take a bit of time for the images to show up in Icons.
The brand icon is the image you use for your brand. This can also be copied from the Upload Settings in Unity.
To add your brand information to the Upload Settings, click on Space at the top of Unity and then click on Upload Settings. Under Defaults, you can add the Brand Name, add a Brand Icon, add a Copyright Label, and add a Default Inventory Icon.
If you have added all of these, you can then go back to the Icons tab by clicking on your item prefab in the Project.
Click on the Copy button under the Brand Icon heading to copy all of the brand information from the Upload Settings.
You can also add the Brand Icon manually by adding the image to the Project window. You can do this by clicking on Assets at the top of Unity and then click on ‘Add New Asset’. The image will automatically be placed in your Project. You can then drag it from here into the Brand Icon image box. The Brand image must be 140x60px and a .PNG file.
You can also add extra preview images which will be shown in the Shop. Expand the 'Extra Preview Images' at the bottom and add in your images. They need to be 1024x1024.
Creator information is where you put the Developer Name and Copyright. The Developer Name is either the business name or your individual name. For the copyright, add your name or business name after the copyright 2018.
You can also add the copyright information to the Upload settings, so the copyright info can be copied to other components.
Upload is where you add the information for uploading your item.
Status shows whether or not you have already uploaded your item to Curator.
Resume Existing Item allows you to add a resume ID, so if you are re-uploading an item, you can put its’ resume ID here, and it will overwrite the old version. You can find the resume ID of any item by either going to curator.sine.space and finding your item, or, you can find it by clicking on Space at the top of Unity, and click on Items and Status. This will bring up a list of all of the items you have uploaded to Curator, along with their ID on the left-hand side.
You can use Grid to enter a grid ID. This will restrict your item to this specific grid.
Upload Content has the option of Automatic Submission. This will auto submit your item to being uploading to Sinespace.
Once your item is on Curator, it will be reviewed by our team. If it is successful, the item will go live in sinespace.
This allows you to make 'Premium Areas' for users as a bonus for purchasing with real money in the past.
Invert behaviour - block VIP users instead
This component when attached to a collider, will disable the collider if the user is a VIP user (or the opposite if 'Invert' is checked). A VIP user is defined as one who has bought real currency (i.e. Gold) within the last several weeks (the status fades over time).
This component is used to set Voice Enabled area in a scene.
Volumetric fog effect for multiple lights. Point, spot and directional lights are fully supported.
Volumetric shadows
Volumetric light cookies
Volumetric noise implemented as animated 3D texture.
Sample count - number of raymarching samples (trade quality for performance)
Scattering Coef - scattering coefficient controls amount of light that is reflected towards camera. Makes the effect stronger.
Extinction Coef - controls amount of light absorbed or out-scattered with distance. Makes the effect weaker with increasing distance. It also attenuates existing scene color when used with directional lights.
Skybox Extinction Coef - Only affects directional light. It controls how much skybox is affected by Extinction coefficient. This technique ignores small air particles and decreasing particle density with altitude. That often makes skybox too "foggy". Skybox extinction coefficient can help with it.
MieG - controls mie scattering (controls how light is reflected with respect to light's direction)
Height Fog - toggle exponential height fog
Height Fog Scale - scale height fog
Noise - enable volumetric noise
This component is used to get NPCs to wander/move from one location to another.
set the custom starting position of the NPC
Sets the target positon of the NPC
sets the NPC to wander in random direction
Sets the maximum wandering distance
sets the rotation speed of the NPC
Sets the movement speed of the NPC
Refer Statue to see how to create NPC, once created attach wandering NPCs component to move them from one location to another.
Start and Target position: Use this to set NPC to move to a custom location.
Wander: Check this to set the NPC to a wander randomly on are set by max distance.
Move Speed sets the movement speed of the NPC.
Auto Bind To UI If enabled, state machine will automatically attach to Toggles, Buttons,Sliders, and Dropdowns on the same object at runtime.
If you have a slider with a range of like 1 to 10, you can create 10 states called 1, 2, 3, 4, etc and it'll switch between them automatically as you move the slider around.
You can skip numbers too.
If you have 1, 3, 7, 10, then basically 1,2 will use the '1' state, 3,4,5,6 will use the '3' state, 7,8,9 will use the '7' state, and 10 will be itself.
If there's no exact state match, and you are in between numbers, it rounds down to the nearest available state.
You can also call StateMachine.BindUI(object) to bind it to UI elements on some other object, 'auto bind' only works if there's something on the same object.
NetworkedState If enabled, state machine will network its state to all other users in the scene persistently that have the same component name.
NetworkedUnique If enabled, state machines on different objects will not work together even if they have the same component name.
Start State 0 or 1 will be the first state in the list as default. States are 1-based, so 1 is the first state in the list.
Wrap States When reaching the last state, does it wrap back around to first state again (and vice versa).
Exit State On Start Automatically run the Exit Event on all states except the start state when component starts.
Redo States If told to switch to the state it is already in, redo the events anyway.
StateChangeEvent Event that happens every time the state changes, no matter what state it is coming to or from.
Machine States A simple state machine typically consists of a set of states, events that trigger state transitions, and actions that are performed upon entering or leaving a state.
Network Name Networks that share a name will communicate with each other. Minimum of 20 characters network name. You should make this something unique unless you want cross/talk to happen.
A common networking name is to use a DNS format, such as space.sine.mycoolwidget where you have a unique prefix just for you, followed by an application name.
Loopback Does this networking component react to events it sends.
Instanced If enabled, appends this object’s global unique ID to the network name, so that multiple copies of the same object will not cross-talk on the network.
Events A list of events you want this component to react to when sent over the network.
This is the component which uses for respawn a vehicle, as you use your vehicle item in inventory.
This is the component which uses for respawn a vehicle, as you use your vehicle item in inventory.
When you click the Prepare button you will see the materials removed.
To submit a range of items based on a single clothing mesh but with varied materials and textures, follow the steps on the Importing and Uploading Clothing; BUT leave "Keep Material Always" unticked.
Public Exposed Variables These are variables you want to be exposed to edit in edit room.
Component Name The reference name of your script
Script Contents Your code.
Script Your code as a LUA file.
Script Libraries Your code functions in a text file.
Script Libraries 2 Your code functions in an LUA file.
Default Events Should be named functions such as OnUpdate, OnFixedUpdate, etc be handled implicitly?
Reset Behaviour: Whether to reset on scene change or not
Allow Runtime Script Editing: Allows the user to edit this script at runtime. Be aware runtime modified scripts are subject to additional sandboxing on the live environment.
Debugger Attaches the VS Code Debugger, not usable on the live server. Will work in uploads. Beware, allowing debugging will allow _any_user to debug your script. Enabling the debugger will disable infinite loop protection, and maximum execution length aborts.
Await the debugger: Wait for the debugger
Wait for Player: This script will hold execution until the player has arrived in the scene. Scripts which do setup (i.e. procedural content) may want to execute straight away.
Wait For Network: This script will hold execution until the payer has arrived and the scene is connected to the network server.
Max Script Executions Per Tick: The maximum number of script calls that can occur per frame. Use coroutines to run something across multiple frames
Index Indicates how arrays should be indexed. Defaults to Lua Standard (Index from 1).
Load Libraries Sequentially Loads libraries one at a time, which is faster and gives better debug messages, if you use local variables that span across libraries, you cannot use this method.
Resources Here you add resources used by your script (e.i. Materials, audio files, textures, etc)
Events Here you create events that can be accessed (initialised) by your code.
Object References Here you add objects that exist in the scene that you need to access using code.
Rigid Body The rigid body of the vehicle.
Meter The UI text element.
Use Imperial Units What it says.
Animator Use a custom animator( for example an animation moving a speed dials arm)
Animator Float Variable Name A float variable will be fed in, in meters per second.
create a UI Text Component under your vehicle object, and another empty game object with this speedometer component.
Attach the rigidbody of the vehicle and the UI Text component to the slots of the speedometer, you can leave the rest option as it was, or fill it on your own request. Change the position and style of the UI Text as a normal UI element as you wish. And, remember, disabled the Canvas object at the beginning, and activate it by the events function as I present above.
A simple example here, is a meter with blue text in the right-bottom corner:
represents the density of the object that is being simulated, which is used to calculate the volume and mass of the object. This parameter is important for the buoyancy simulation because it determines how much the object will displace the water around it.
represents the number of slices that the object will be divided into along each of its three axes to create a grid of voxels. This grid is used to simulate the buoyancy of the object by calculating the displacement of the voxels in response to the physics simulation. A higher number of slices will result in a more detailed and accurate simulation, but it will also require more computational resources to run.
(mesh colliders only) determines whether or not the generated voxels will be allowed to create concave shapes. Concave shapes can complicate the buoyancy simulation and may require more computational resources to simulate accurately. If IsConcave is set to true, the buoyancy simulation will be more accurate but may be slower to compute.
sets a maximum for the number of voxels used in buoyancy simulation. If the number of voxels in the object exceeds this limit, the script will stop generating additional voxels and will instead use the existing voxels to simulate buoyancy. This is done to prevent the simulation from becoming too computationally expensive and to ensure that it runs smoothly in real-time.
In general, adjusting these parameters requires a trade-off between accuracy and performance, and the optimal values will depend on the specific requirements of the buoyancy simulation and the available computational resources.
defines effective gravity.
is a threshold value that determines the strength of the field that defines the metaballs.
for metaballs refers to a value that is used to generate random noise that is added to the field that defines the metaballs.
when the scene is running, this will show the number of triangles the metaball is using.
Create an empty game object and attach a mesh filter and mesh renderer component.
Then search the project for metaball and drag the metaball script from the project to the game object. ( normal add and search does not work with this component)
This component is used to trigger an event when an avatar walks into a collider set to trigger.
If checked this script will ignore owner. i.e not will happen if owner is within the range.
if checked the effect will only trigger on client side. i.e triggered effect won't be shown to all avatars present in the regions. (better performance in certain cases.)
Events Activate Click the add sign then drag the item to be activated when avatar is within the range here. Then select what function should be activated. Eg: Particle system function select start. You can click on add to add multiple items and select function for each
Events Deactivate Click the add sign then drag the item to be deactivated when avatar is out of the range here. Then select what function should be activated. Eg: Particle system function select start. You can click on add to add multiple items and select function for each.
This can be used to open/Close doors. Activate deactivate particle effects. Auto light the interior of a house etc.
the location the target transform will be moved to.
the rotation the target transform will be moved to.
the transform you want to move.
This component needs to be triggered by another components event, “MoveObject.Fire”.
For example, the image below uses a proximity activator to trigger the event.
Place the sample in the scene and walk into the proximity activator to trigger the move object component.
The Scripting Resources components allow you to attach resources to an object without having the full Scripting Runtime.
The Scripting Resourse components allow you to attach resources to an object without having the full Scripting Runtime. This can be useful when objects are created dynamically at runtime or meant to be interchangeable. Together with the Scripting Resources and Scripting Events components, you can effectively emulate the ability to create custom Unity components on an object with unique behaviors, properties, and resources attached to them.
The component name
The number of event elements
The name of the element that can be used to call the element via code.
The resource itself
Drag a resource object into the Object field