Description
Book SynopsisJump start your Unity game development journey with a detailed review of a complete, professionally built game using Unity, C#, and Visual Studio. Gain invaluable experience with code structure, project structure, centralization of game state data, controlled initialization of script components, AI opponents, multiple input sources, player preferences, a full HUD and menu system, music and sound effects, level/track building, and more.
Author Victor Brusca walks you through the game''s code, scripts, and overall structure, all the while showing you how the code works within the Unity engine to define a complete, refined game. Starting with game specifications, the book covers base classes, basic interaction classes, advanced interaction classes, helper classes, input classes, and abstraction of raw input. Next, you''ll dive into the menu system and see how a full, complete menu and HUD are coded and set up in the project through a detailed review of the code and working exampl
Table of Contents
Chapter 1: Introduction and Getting StartedSub-Topics:Setting Up Your EnvironmentPlaying Hover Racers/Getting ReadyChapter Conclusion
Chapter 2: Game SpecificationsSub-Topics:Model: Car, Track, SensorModel: Car, Boost, Jump, Bounce ModifiersChapter Conclusion
Chapter 3: Base ClassSub-Topics:Class Review TemplateClass Review: BaseScriptStatic/Constants/Read-Only Class Members: BaseScriptClass Fields: BaseScriptPertinent Method Outline/Class Header: BaseScriptSupport Method Details: BaseScriptMainMethod Details: BaseScriptDemonstration: BaseScriptChapter Conclusion
Chapter 4: Interaction ClassesSub-Topics:Class Review: BounceScriptClass Fields: BounceScriptPertinent Method Outline/Class Headers: BounceScriptSupport Method Details: BounceScriptDemonstration: BounceScriptClass Review: Road ScriptClass Fields: RoadScriptPertinent Method Outline/Class Headers: RoadScriptSupport Method Details: RoadScriptMain Method Details: RoadScriptDemonstration: RoadScriptClass Review: WaypointCheckClass Fields: WaypointCheckPertinent Method Outline/Class Headers: WaypointCheckSupport Method Details: WaypointCheckMain Method Details: WaypointCheckDemonstration: WaypointCheckClass Review: TrackHelpScriptPertinent Method Outline/Class Headers: TrackHelpScriptSupport Method Details: TrackHelpScriptMain Method Details: TrackHelpScriptDemonstration: TrackHelpScriptChapter Conclusion
Chapter 5: Advanced Interaction ClassesSub-Topics:Class Review: CollideScriptStatic/Constants/Read-Only Class Members: CollideScriptClass Fields: CollideScriptPertinent Method Outline/Class Headers: CollideScriptSupport Method Details: CollideScriptMain Method Details: CollideScriptDemonstration: CollideScriptClass Review: CarSensorScriptStatic/Constants/Read-Only Class Members: CarSensorScriptClass Fields: CarSensorScriptPertinent Method Outline/Class Headers: CarSensorScriptSupport Method Details: CarSensorScriptMain Method Details: CarSensorScriptDemonstration: CarSensorScriptChapter Conclusion
Chapter 6: Helper ClassesSub-Topics:Class Review: DestroyScriptClass Review: WaterResetScriptPertinent Method Outline/Class Headers: WaterResetScriptSupport Method Details: WaterResetScriptMain Method Details: WaterResetScriptDemonstration: WaterResetScriptClass Review: EngineWhineScriptStatic/Constants/Read-Only Class Members: EngineWhineScriptClass Fields: EngineWhineScriptPertinent Method Outline/Class Headers: EngineWhineScriptMain Method Details: EngineWhineScriptDemonstration: EngineWhineScriptClass Review: LapTimeClass Review: LapTimeManagerStatic/Constants/Read-Only Class Members: LapTimeManagerClass Fields: LapTimeManagerPertinent Method Outline/Class Headers: LapTimeManagerSupport Method Details: LapTimeManagerMain Method Details: LapTimeManagerDemonstration: LapTimeManagerClass Review: PopupMsgTrackerDemonstration: PopupMsgTrackerClass Review: UtilitiesStatic Class Members: UtilitiesDemonstration: UtilitiesClass Review: CameraFollowXzStatic/Constants/Read-Only Class Members: CameraFollowXzClass Fields: CameraFollowXzPertinent Method Outline/Class Headers: CameraFollowXzMain Method Details: CameraFollowXzDemonstration: CameraFollowXzClass Review: WaypointCompareDemonstration: WaypointCompareChapter Conclusion
Chapter 7: Input ClassesSub-Topics:Class Review: CharacterMotorMovementClass Review: CharacterMotorJumpingClass Review: CharacterMotorSlidingClass Review: CharacterMotorClass Fields: CharacterMotorPertinent Method Outline/Class Headers: CharacterMotorSupport Method Details: CharacterMotorMain Method Details: CharacterMotorDemonstration: CharacterMotorClass Review: FPSInputControllerClass Fields: FPSInputControllerPertinent Method Outline/Class Headers: FPSInputControllerMain Methods Details: FPSInputControllerDemonstration: FPSInputControllerClass Review: MouseLookNewEnumerations: MouseLookNewClass Fields: MouseLookNewPertinent Method Outline/Class Headers: MouseLookNewMain Method Details: MouseLookNewDemonstration: MouseLookNewClass Review: GameState (Touch Input Snippet Only)Chapter Conclusion
Chapter 8: Menu System ClassesSub-Topics:Class Review: BasePromptScriptClass Fields: BasePromptScriptPertinent Method Outline/Class Headers: BasePromptScriptSupport Method Details: BasePromptScriptMain Method Details: BasePromptScriptDemonstration: BasePromptScriptClass Review: GamePauseMenuPertinent Method Outline/Class Headers: GamePauseMenuSupport Method Details: GamePauseMenuMain Method Details: GamePauseMenuDemonstration: GamePauseMenuClass Review: GameHelpMenuClass Fields: GameHelpMenuPertinent Method Outline/Class Headers: GameHelpMenuSupport Method Details: GameHelpMenuInput Handler Support Method Details: GameHelpMenuMain Method Details: GameHelpMenuDemonstration:GameHelpMenuRemaining Menu ClassesChapter Conclusion
Chapter 9: Player and Game State Classes Part 1Sub-Topics:Class Review: PlayerInfoClass Review: TrackScriptClass Review: PlayerStateStatic/Constants/Read-Only Class Members: PlayerStateClass Fields: PlayerStatePertinent Method Outline/Class Header: PlayerStateSupport Method Details: PlayerStateMain Method Details: PlayerStateDemonstration: PlayerState
Chapter 10: Player and Game State Classes Part 2Sub-Topics:Class Review: GameStateEnumerations: GameStateStatic/Constant/Read-Only Class Members: GameStateClass Fields: GameStatePertinent Method Outline/Class Headers: GameStateSupport Method Details: GameStateMain Method Details: GameStateDemonstration: GameStateChapter Conclusion
Chapter 11: Making it ProfessionalSub-Topics:Build SettingsGeneric Platform SettingsPC, Mac, and Linux Desktop SettingsUniversal Windows Platform (UWP) SettingsiOS SettingsAndroid SettingsWebGL SettingsInput MappingUI / Menu SystemData PersistenceMemory ManagementSounds and MusicStatic ObjectsTags and LayersAI OpponentsCamerasProject SettingsChapter Conclusion
Chapter 12: Adding a New RacetrackSub-Topics:Track Environment and Cleanup ScriptHover Racers and the GameState ObjectTrack and Waypoint ObjectsJumps, Boosts, Menu Screens, and MoreChapter Conclusion
Chapter 13: ConclusionSub-Topics:AccomplishmentsAcknowledgementsWhere You Go From HereSaying Goodbye