Admin Panel

Prefabs

The SCILL Unity SDK comes with many prefabs that you can use to implement a Personal Challenges and/or Battle Pass UI very quickly.

All classes handle the complete data transfer with the SCILL cloud and will trigger delegation events that other parts of the SCILL Unity SDK listen to. Therefore, you don’t need to connect all the pieces together in the Unity inspector. Just drop the prefabs into your scene, and they will work immediately.

Tip

We provide two different styles as a starting point. Style 1 is a flat, modern style with a layout that can be easily adjusted to your liking. Just replace a couple of “border images” to adept to your type of game.

The best approach for using Style 1 is to increment the camera depth to 1 or above and to load the battle pass scene with SceneManager.LoadScene("Battle Pass", LoadSceneMode.Additive);. This way, the battle pass scene “overlays” your game scene but as the camera has a higher depth than your game camera (make sure it’s value is larger) only the battle pass scene is visible. If user want to go back, just delete the Battle Pass Scenes root node to remove the battle pass UI from the screen.

Style 2 uses RenderTexture for showing the rewards and can be shown as a canvas in your game. No need for loading the scene there.

SCILL Manager

Drop this item into your scene and set your App settings in the inspector to setup SCILL within your Unity project. This GameObject will be set to be persistent using Unitys DontDestroyOnLoad function.

This prefab implements the following scripts:

SCILLManager
Handles generating the Access Token and User ID. You need to override this class to provide your secure access token implementation and user id generation. However, for testing purposes you can just use the prefab as it is.
SCILLBattlePassManager
Loads available battle passes from the SCILL cloud and selects the first battle pass it finds. This SelectedBattlePass will be used in the other scripts as the battle pass to show. Override this class with your own class if you have multiple battle passes or want to implement your own logic of selecting a battle pass.

Battle Pass Canvas

This prefab is complete Canvas with Battle Pass User Interface that will render the SelectedBattlePass of the SCILLBattlePassManager.

This prefab compiles all battle pass related prefabs into one so that you can easly see how to use them.

This prefab uses other prefabs as building blocks for the UI

Battle Pass Level
Renders a single level of the battle pass. It’s available in three different variants (current, completed and locked) and are set as prefabs in the SCILLBattlePassLevels component.

This prefab implements the following scripts:

SCILLBattlePass
Renders UI to show info about the battle pass and provides an unlock button that will offer users to unlock/purchase the battle pass.
SCILLBattlePassLevels
Shows itemsPerPage levels available in the battle pass and will offer UI to paginate through the challenges. It will instantiate Battle Pass Level prefabs which will render UI to select a level and show the available rewards using Reward Icon prefabs.
SCILLBattlePassLevelChallenges
Renders the current active list of challenges linked to the currently active level. Typically you will show this list somewhere else in your UI, for example in your games HUD. You can just Drag & Drop this item in your games HUD as this works independently.

Battle Pass Header

Renders the current level, pagination buttons and the name of the battle pass. It’s used as a building block in the Battle Pass prefab.

Battle Pass Challenges

Drop this prefab into your own Canvas to render the active list of challenges. You don’t need to connect anything, but you must make sure that the SCILL Manager prefab is also dropped and correctly setup in your scene.

Some scripts in this prefab require setting other prefabs as building blocks:

Challenge
A single battle pass challenge with name, and progress slider. It’s instantiated for each active challenge.

This prefab implements the following scripts:

SCILLBattlePassLevelChallenges
Renders the current active list of challenges linked to the currently active level. Typically you will show this list somewhere else in your UI, for example in your games HUD. You can just Drag & Drop this item in your games HUD as this works independently.

Battle Pass Level

Two additional prefab variants are available: Battle Pass Level Current and Battle Pass Level Locked of these prefabs. They implement a single battle pass level and will render the levels number and instantiate Reward Icon prefabs for each reward available in the battle pass level.

Some scripts in this prefab require setting other prefabs as building blocks:

Reward Icon
Renders an icon of the reward and shows if the reward is locked or claimed.

This prefab implements the following scripts:

SCILLBattlePassLevel
Shows the progress of the level and handles clicks to trigger previews of the reward using the Reward Preview component.

Challenge

Renders a single battle pass challenge and shows a progress bar and or counter/goal indicator and the name of the challenge. It should be attached to the challengePrefab property of the SCILLBattlePassLevelChallenges script.

SCILLBattlePassChallengeItem
Shows a battle pass challenge and automatically updates the progress in realtime.

Reward Preview

This is used to render SCILLReward assets whenever a level is clicked and a reward with the name set in the Admin Panel is available in a Unity Resources folder.

This prefab implements the following scripts:

SCILLRewardPreview
Loads SCILLReward assets and shows a UI displaying name, description and a 3D model preview of the reward if available.
Warning

The reward preview will instantiate the 3D model preview prefab in a “photo box”. In Style 2 we show you how to render this model into a render texture to be used in the UI: The photo box has a camera as a child that renders into a Unity RenderTexture that is used as the source for a RawImage item in the reward preview prefab. As we don’t want these models in the photo box to show up in the game, you need to do the following:

  1. Create a new Unity layer and name it 3D UI (or whatever you like)
  2. In the hierarchy of the Reward Preview prefab find the Reward Camera GameObject.
  3. Set the Culling Mask setting of that camera to only render 3D UI layers.
  4. In your main games camera, exclude the 3D UI setting from the Culling Mask
  5. Make sure all your prefabs you set in the SCILLReward asset are on the 3D UI layer.

Reward Icon

Is only used as a builing block in the Battle Pass Level prefab and shows an icon of the reward and indicates with small icons if the reward is locked or has been already claimed.

This prefab implements the following scripts:

SCILLBattlePassRewardIcon
Loads SCILLReward assets and shows the icon of the reward.

Personal Challenges Canvas

This prefab is complete Canvas with Personal Challenge List and Personal Challenge Grid.

This prefab compiles all personal challenges related prefabs into one so that you can easly see how to use them.

This prefab uses other prefabs as building blocks for the UI:

Challenge
Renders a single challenge with user interface elements to unlock and activate a challenge. It also shows progress in a progress bar and handles all events. It’s use interface is a list, so it should be used as the challengePrefab in the SCILLPersonalChallenges component.
Category
Renders a category header element that supports expansion and collapsing challenges within that category. Use as the categoryPrefab in the SCILLPersonalChallenges component. This prefab is designed to be used in lists.
Challenge Grid
Renders a single challenge with user interface elements to unlock and activate a challenge. It also shows progress in a progress bar and handles all events. It’s use interface is square item. It should be used as the challengePrefab in the SCILLPersonalChallenges component.
Category Grid
Renders a category header element that supports expansion and collapsing challenges within that category. Use as the categoryPrefab in the SCILLPersonalChallenges component. This prefab is designed to be used in grids.

This prefab implements the following scripts:

SCILLPersonalChallenges
Loads personal challenges for the user defined in the SCILL Manager and instantiates the categoryPrefab and adds that as children. The categories will then add the challenges as instances of the challengePrefab.

Personal Challenges Grid

This prefab renders a grid of SCILLChallengeItem prefabs as children. Use the Category Grid prefabs as an example as a building block for the categories.

This prefab uses other prefabs as building blocks for the UI:

Category Grid
Renders a category header element that supports expansion and collapsing challenges within that category. Use as the categoryPrefab in the SCILLPersonalChallenges component. This prefab is designed to be used in grids.

This prefab implements the following scripts:

SCILLPersonalChallenges
Loads personal challenges for the user defined in the SCILL Manager and instantiates the categoryPrefab and adds that as children. The categories will then add the challenges as instances of the challengePrefab.

Personal Challenges List

This prefab renders a list of SCILLChallengeItem prefabs as children. Use the Category prefabs as an example as a building block for the categories.

This prefab uses other prefabs as building blocks for the UI:

Category
Renders a category header element that supports expansion and collapsing challenges within that category. Use as the categoryPrefab in the SCILLPersonalChallenges component. This prefab is designed to be used in lists.

This prefab implements the following scripts:

SCILLPersonalChallenges
Loads personal challenges for the user defined in the SCILL Manager and instantiates the categoryPrefab and adds that as children. The categories will then add the challenges as instances of the challengePrefab.

Category

This is the building block used as a prefab in the Personal Challenges List. It renders the name of the category and UI to expand and collapse the challenges linked to this category.

This prefab uses other prefabs as building blocks for the UI:

Challenge
Renders a single challenge with user interface elements to unlock and activate a challenge. It also shows progress in a progress bar and handles all events.

This prefab implements the following scripts:

SCILLCategoryItem
Renders a category and adds or deletes prefabs set in the challengePrefab property and adds them as children. This prefab has a VerticalLayout attached that will add Challenge prefabs.

Category Grid

This is the building block used as a prefab in the Personal Challenges Grid. It renders the name of the category and UI to expand and collapse the challenges linked to this category.

This prefab uses other prefabs as building blocks for the UI:

Challenge Grid
Renders a single challenge with user interface elements to unlock and activate a challenge. It also shows progress in a progress bar and handles all events.

This prefab implements the following scripts:

SCILLCategoryItem
Renders a category and adds or deletes prefabs set in the challengePrefab property and adds them as children. This prefab has a VerticalLayout attached that will add Challenge prefabs.

Challenge

A building block used to render a challenge item as a list. It should be used as the challengePrefab setting in the SCILLCategoryItem.

This prefab implements the following scripts:

SCILLChallengeItem
Renders a challenge and provides user interface to unlock, activate and claim challenges. It’s user interface is designed to be added as child of a VerticalLayout group so that they form a list.

Challenge Grid

A building block used to render a challenge item as a grid. It should be used as the challengePrefab setting in the SCILLCategoryItem.

This prefab implements the following scripts:

SCILLChallengeItem
Renders a challenge and provides user interface to unlock, activate and claim challenges. It’s user interface is designed to be added as child of a GridLayout group so that they form a grid.

Leaderboard Canvas

This prefab is complete Canvas with a fully functional leaderboard. This is basically just a Canvas that contains the Leaderboard prefab.

Leaderboard

Creates an infinite scrolling leaderboard UI with regular updates. In uses building blocks for the ranking items and offers various options for customization.

This prefab implements the following scripts:

SCILLLeaderboard
Loads leaderboard rankings instantiates the prefabs for the rankings and adds them as children.

The prefab already contains the hierarchy required for the leaderboard and also uses a ScollRect for the infinite scrolling functionality.

Just drop it inside a Canvas and set the Leaderboard Id which you copy in the Admin Panel for the leaderboard you created there.

This prefab uses other prefabs as building blocks for the UI:

Ranking
This is the prefab used for the rankings in the leaderboard. It contains username, avatar image, rank and score items.
Ranking User
A prefab variant of Ranking that has different color to highlight the users ranking.
Ranking Basic
A prefab variant of Ranking that has different color and is used for all rankings that are not related to the user and are not in the top ranks.

Ranking

A building block used to render a ranking item in a leaderboard.

This prefab implements the following scripts:

SCILLLeaderboardRankingItem
Renders a ranking item.

Ranking User

A building block used to render a ranking item in a leaderboard for the user. It has highlighted color to help the user figuring out his position in the leaderboard quickly.

This prefab implements the following scripts:

SCILLLeaderboardRankingItem
Renders a ranking item.

Ranking Basic

A building block used to render a ranking item in a leaderboard for the user. It has basic color and can be used for all default rankings.

This prefab implements the following scripts:

SCILLLeaderboardRankingItem
Renders a ranking item.